texlive[66873] Master/texmf-dist: polyglossia (17apr23)

commits+karl at tug.org commits+karl at tug.org
Mon Apr 17 22:01:30 CEST 2023


Revision: 66873
          http://tug.org/svn/texlive?view=revision&revision=66873
Author:   karl
Date:     2023-04-17 22:01:29 +0200 (Mon, 17 Apr 2023)
Log Message:
-----------
polyglossia (17apr23)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/polyglossia/README.md
    trunk/Master/texmf-dist/doc/latex/polyglossia/example-arabic.pdf
    trunk/Master/texmf-dist/doc/latex/polyglossia/example-arabic.tex
    trunk/Master/texmf-dist/doc/latex/polyglossia/example-chinese.pdf
    trunk/Master/texmf-dist/doc/latex/polyglossia/example-japanese.pdf
    trunk/Master/texmf-dist/doc/latex/polyglossia/example-korean.pdf
    trunk/Master/texmf-dist/doc/latex/polyglossia/example-thai.pdf
    trunk/Master/texmf-dist/doc/latex/polyglossia/examples.pdf
    trunk/Master/texmf-dist/doc/latex/polyglossia/polyglossia.pdf
    trunk/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex
    trunk/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-acadien.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-aeb.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-af.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-afb.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-afrikaans.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-am.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-american.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-apd.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-IQ.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-JO.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-LB.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-MR.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-PS.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-SY.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-YE.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-arq.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ary.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-arz.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ast.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-australian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-austrian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ayl.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasa.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-be-tarask.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-be.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-belarusian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bg.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bn.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bo.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bosnian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-br.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-british.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bs.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ca.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-canadian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-canadien.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-chinese.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Arab.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Latn.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-cop.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-cy.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-cz.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-da.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1901.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1996.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1901.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1996.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1901.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1996.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1901.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1996.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1901.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1996.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1901.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1996.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-dsb.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-dv.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-el-monoton.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-el-polyton.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-el.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-AU.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-CA.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-GB.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-NZ.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-US.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-eo.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-es-ES.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-es-MX.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-es.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-et.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-eu.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fa.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fi.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CH.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-FR.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-friulian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fur.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ga.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-gaelic.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-gd.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-georgian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-germanb.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-gl.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-grc.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-he.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hi.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hr.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hsb.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hu.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hungarian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hy.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ia.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-id.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-is.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-it.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ja.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-japanese.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ka.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-khmer.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-km.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Arab.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Latn.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kn.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ko.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Arab.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Latn.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ku.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kurdish.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kurmanji.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-classic.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-ecclesia.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-medieval.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-la.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latex.lde
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latinclassic.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latinecclesiastic.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latinmedieval.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lo.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lowersorbian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lt.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lv.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-macedonian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-malay.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mk.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ml.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mn.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mongolian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mr.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-naustrian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nb.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-newzealand.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ngerman.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nko.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-norwegian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nswissgerman.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-pa.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-polutonikogreek.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-portuguese.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-punjabi.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-sami.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-serbianc.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-slovene.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-sorbian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-spanishmx.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-swissgerman.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-uppersorbian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-CN.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-TW.ldf
    trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-french.lua
    trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-korean.lua
    trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-latin.lua
    trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-punct.lua
    trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-sanskrit.lua
    trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-tibt.lua
    trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua
    trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty

Modified: trunk/Master/texmf-dist/doc/latex/polyglossia/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/polyglossia/README.md	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/doc/latex/polyglossia/README.md	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-# THE POLYGLOSSIA PACKAGE v1.60
+# THE POLYGLOSSIA PACKAGE v1.61
 ## Multilingual typesetting with XeLaTeX and LuaLaTeX
 
 This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX.

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

Modified: trunk/Master/texmf-dist/doc/latex/polyglossia/example-arabic.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/polyglossia/example-arabic.tex	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/doc/latex/polyglossia/example-arabic.tex	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,10 @@
+% !TeX TS-program = xelatex
 \documentclass[a4paper]{book}%
 \usepackage[no-math]{fontspec}
 \usepackage{xltxtra,url,amsmath}
 \setmainfont{Linux Libertine O}
 \defaultfontfeatures{Scale=MatchLowercase}
-\newfontfamily\arabicfont[Script=Arabic]{Amiri}%
+\newfontfamily\arabicfont[Script=Arabic]{Amiri}
 \newfontfamily\arabicfonttt[Script=Arabic,Scale=.75]{DejaVu Sans Mono}
 \newfontfamily\farsifont[Script=Arabic,Scale=1.1,WordSpace=2]{IranNastaliq}
 \let\XeTeX\undefined

Modified: trunk/Master/texmf-dist/doc/latex/polyglossia/example-chinese.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/polyglossia/example-japanese.pdf
===================================================================
(Binary files differ)

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

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

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

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

Modified: trunk/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex	2023-04-17 20:01:29 UTC (rev 66873)
@@ -2323,8 +2323,8 @@
             with ¦numerals=cyrillic-trad¦ ¦\mongoliannumeral{19}¦ results in \textrussian[numerals=cyrillic-trad]{\russiannumeral{19}},\\
             with ¦numerals=cyrillic-alph¦ ¦\mongoliannumeral{19}¦ results in \textrussian[numerals=cyrillic-alph]{\russiannumeral{19}}.
     
-    \item \Cmd\punjabinumeral produces Punjabi numbering, depending on the ¦numerals¦ option in the Punjabi language selection, this
-           is either Gurmukhi or Arabic (Western).
+    \item \Cmd\punjabinumeral produces Punjabi numbering, depending on the setting of the ¦numerals¦ option in the Punjabi language
+           selection, this is either Gurmukhi or Arabic (Western).
 	
 	\item \Cmd\russiannumeral produces Russian numbering, with uppercased variant (for alphanumerical variant) via \Cmd\Russiannumeral.
 	        Depending on the ¦numerals¦ option in the Russian language selection, this is either Arabic digit or Cyrillic
@@ -2447,12 +2447,44 @@
 (\ie \charifavailable{1E9E}{SS}), else it prints the substitution digraph SS.
 
 
-\section{Accessing language information}
+\section{Accessing language information}\label{sec:langinfo}
 
-The following is specifically relevant to package authors who need information about the languages in use.
-In order to get such information, \pkg{polyglossia} provides the following macros:
+The following is specifically relevant to package authors who need information about the languages in use
+and the details of the respective locale.
+In order to get such information, the recommended way is to use the \Cmd{\BCPdata\marg{type}}\new{1.61}
+command to get (parts of) the BCP-47 language tag. This command is used by the \LaTeX\ kernel as of 6/2023,
+and the syntax is standardized at least between \pkg{babel} and \pkg{polyglossia}.
 
+\cmd\BCPdata\ supports the following \marg{type} arguments:
 \begin{itemize}
+	\item \xpgoption{language} The language subtag (\eg \texttt{de})
+	\item \xpgoption{region} The region subtag (\eg \texttt{AT})
+	\item \xpgoption{script} The script subtag (\eg \texttt{Latn})
+	\item \xpgoption{variant} The variant subtag (\eg \texttt{1901} for German old spelling)
+	\item \xpgoption{extension.t} The subtag indicating transformation between languages or scripts
+	      (\eg \texttt{ja} as in \texttt{en-t-ja}: English transformed to Japanese)
+	\item \xpgoption{extension.u} The subtag indicating additional locale information (\eg \texttt{nu-latn} as in \texttt{ar-u-nu-latn}:
+	      Arabic with Latin Numbering)
+	\item \xpgoption{extension.x} The private usespace subtag (\eg \texttt{classic} as in \texttt{la-x-classic} for classic Latin)
+	\item \xpgoption{casing} is a special semantic value which returns whatever is considered suitable
+	           for casing commands such as \cmd\MakeUppercase. In many cases, this is identical to \texttt{language} but
+	           it could also be something more specific such as \texttt{el-x-iota} or \texttt{ckb-Latn} if this is
+	           needed for proper casing. Note that this information is retrieved by the \LaTeX\ kernel for casing as
+	           of 06/2023.
+	\item \xpgoption{tag} returns the registered full tag (identical to \cmd\languageid\ below). This however omits
+	       certain subtags if these are considered obvious (\eg for German, only \texttt{de-DE} is returned, although
+	       script [\texttt{Latn}] and variant [\texttt{1996}] are defined as well).
+\end{itemize}
+If a subtag is not defined for a given language, an empty string is returned.
+
+The values above return information for the language currently in use. If you need to access information for the 
+main language of the document, prepend \xpgoption{main.} to the respective argument (\eg \xpgoption{main.language}). This works
+for all supported arguments.
+
+Next to \cmd\BCPdata, \pkg{polyglossia} provides the following legacy macros which are partly unique to \pkg{polyglossia},
+partly re-implementations of legacy \pkg{babel} commands:
+
+\begin{itemize}
 	\item \Cmd\languagename\ stores the currently active (polyglossia) language name.
 	\item \Cmd\mainlanguagename\ stores the (polyglossia) language name of the main document language.
 	\item \Cmd\languagevariant\ stores the language variant if set. The macro is empty if no variant has been set.
@@ -2498,6 +2530,23 @@
 \section{Revision history}
 
 \bgroup\footnotesize
+\subsection*{1.61 (2023/04/16)}
+
+\subsubsection*{Bug fixes}
+\begin{itemize}
+	\item Properly reset fonts on change to Latin-script other language (\TXI{580})
+	\item Turn ¦^¦ shorthand off in aux file for Latin (\TXI{582})
+	\item Fix stacking of nested languages and resulting bug in TOC language assignment (\TXI{585})
+	\item Fix ¦\greeknumeral{6}¦ (\TXI{587})
+	\item Fix (re)setting of scripts in inline language commands.
+\end{itemize}
+
+\subsubsection*{New features}
+\begin{itemize}
+	\item Introduce \cmd\BCPdata, a standardized way to gather localization information
+	(see sec.~\ref{sec:langinfo}).
+\end{itemize}
+
 \subsection*{1.60 (2023/02/11)}
 
 \subsubsection*{Bug fixes}

Modified: trunk/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx	2023-04-17 20:01:29 UTC (rev 66873)
@@ -8,7 +8,7 @@
 \iffalse
 %</internal>
 %<*README>
-# THE POLYGLOSSIA PACKAGE v1.60
+# THE POLYGLOSSIA PACKAGE v1.61
 ## Multilingual typesetting with XeLaTeX and LuaLaTeX
 
 This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX.
@@ -2712,8 +2712,8 @@
 %             with ¦numerals=cyrillic-trad¦ ¦\mongoliannumeral{19}¦ results in \textrussian[numerals=cyrillic-trad]{\russiannumeral{19}},\\
 %             with ¦numerals=cyrillic-alph¦ ¦\mongoliannumeral{19}¦ results in \textrussian[numerals=cyrillic-alph]{\russiannumeral{19}}.
 %     
-%     \item \Cmd\punjabinumeral produces Punjabi numbering, depending on the ¦numerals¦ option in the Punjabi language selection, this
-%            is either Gurmukhi or Arabic (Western).
+%     \item \Cmd\punjabinumeral produces Punjabi numbering, depending on the setting of the ¦numerals¦ option in the Punjabi language
+%            selection, this is either Gurmukhi or Arabic (Western).
 % 	
 % 	\item \Cmd\russiannumeral produces Russian numbering, with uppercased variant (for alphanumerical variant) via \Cmd\Russiannumeral.
 % 	        Depending on the ¦numerals¦ option in the Russian language selection, this is either Arabic digit or Cyrillic
@@ -2836,12 +2836,44 @@
 % (\ie \charifavailable{1E9E}{SS}), else it prints the substitution digraph SS.
 % 
 % 
-% \section{Accessing language information}
+% \section{Accessing language information}\label{sec:langinfo}
 % 
-% The following is specifically relevant to package authors who need information about the languages in use.
-% In order to get such information, \pkg{polyglossia} provides the following macros:
+% The following is specifically relevant to package authors who need information about the languages in use
+% and the details of the respective locale.
+% In order to get such information, the recommended way is to use the \Cmd{\BCPdata\marg{type}}\new{1.61}
+% command to get (parts of) the BCP-47 language tag. This command is used by the \LaTeX\ kernel as of 6/2023,
+% and the syntax is standardized at least between \pkg{babel} and \pkg{polyglossia}.
 % 
+% \cmd\BCPdata\ supports the following \marg{type} arguments:
 % \begin{itemize}
+% 	\item \xpgoption{language} The language subtag (\eg \texttt{de})
+% 	\item \xpgoption{region} The region subtag (\eg \texttt{AT})
+% 	\item \xpgoption{script} The script subtag (\eg \texttt{Latn})
+% 	\item \xpgoption{variant} The variant subtag (\eg \texttt{1901} for German old spelling)
+% 	\item \xpgoption{extension.t} The subtag indicating transformation between languages or scripts
+% 	      (\eg \texttt{ja} as in \texttt{en-t-ja}: English transformed to Japanese)
+% 	\item \xpgoption{extension.u} The subtag indicating additional locale information (\eg \texttt{nu-latn} as in \texttt{ar-u-nu-latn}:
+% 	      Arabic with Latin Numbering)
+% 	\item \xpgoption{extension.x} The private usespace subtag (\eg \texttt{classic} as in \texttt{la-x-classic} for classic Latin)
+% 	\item \xpgoption{casing} is a special semantic value which returns whatever is considered suitable
+% 	           for casing commands such as \cmd\MakeUppercase. In many cases, this is identical to \texttt{language} but
+% 	           it could also be something more specific such as \texttt{el-x-iota} or \texttt{ckb-Latn} if this is
+% 	           needed for proper casing. Note that this information is retrieved by the \LaTeX\ kernel for casing as
+% 	           of 06/2023.
+% 	\item \xpgoption{tag} returns the registered full tag (identical to \cmd\languageid\ below). This however omits
+% 	       certain subtags if these are considered obvious (\eg for German, only \texttt{de-DE} is returned, although
+% 	       script [\texttt{Latn}] and variant [\texttt{1996}] are defined as well).
+% \end{itemize}
+% If a subtag is not defined for a given language, an empty string is returned.
+% 
+% The values above return information for the language currently in use. If you need to access information for the 
+% main language of the document, prepend \xpgoption{main.} to the respective argument (\eg \xpgoption{main.language}). This works
+% for all supported arguments.
+% 
+% Next to \cmd\BCPdata, \pkg{polyglossia} provides the following legacy macros which are partly unique to \pkg{polyglossia},
+% partly re-implementations of legacy \pkg{babel} commands:
+% 
+% \begin{itemize}
 % 	\item \Cmd\languagename\ stores the currently active (polyglossia) language name.
 % 	\item \Cmd\mainlanguagename\ stores the (polyglossia) language name of the main document language.
 % 	\item \Cmd\languagevariant\ stores the language variant if set. The macro is empty if no variant has been set.
@@ -2887,6 +2919,23 @@
 % \section{Revision history}
 % 
 % \bgroup\footnotesize
+% \subsection*{1.61 (2023/04/16)}
+% 
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% 	\item Properly reset fonts on change to Latin-script other language (\TXI{580})
+% 	\item Turn ¦^¦ shorthand off in aux file for Latin (\TXI{582})
+% 	\item Fix stacking of nested languages and resulting bug in TOC language assignment (\TXI{585})
+% 	\item Fix ¦\greeknumeral{6}¦ (\TXI{587})
+% 	\item Fix (re)setting of scripts in inline language commands.
+% \end{itemize}
+% 
+% \subsubsection*{New features}
+% \begin{itemize}
+% 	\item Introduce \cmd\BCPdata, a standardized way to gather localization information
+% 	(see sec.~\ref{sec:langinfo}).
+% \end{itemize}
+% 
 % \subsection*{1.60 (2023/02/11)}
 % 
 % \subsubsection*{Bug fixes}
@@ -3837,7 +3886,7 @@
 % \subsection{polyglossia.sty}
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{polyglossia}[2023/02/11 v1.60
+\ProvidesPackage{polyglossia}[2023/04/16 v1.61
   Modern multilingual typesetting with XeLaTeX and LuaLaTeX]
 \RequirePackage{etoolbox}
 \RequirePackage{makecmds}
@@ -4291,6 +4340,62 @@
        .value_required:n = true,
     #1 / bcp47
        .initial:n = {},
+    % the BCP-47 language tag
+    #1 / bcp47-language
+       .code:n = {\prop_gput:Nnn{\polyglossia at langsetup}{#1/bcp47-language}{##1}},
+    #1 / bcp47-language
+       .value_required:n = true,
+    #1 / bcp47-language
+       .initial:n = {},
+    % the BCP-47 region tag
+    #1 / bcp47-region
+       .code:n = {\prop_gput:Nnn{\polyglossia at langsetup}{#1/bcp47-region}{##1}},
+    #1 / bcp47-region
+       .value_required:n = false,
+    #1 / bcp47-region
+       .initial:n = {},
+    % the BCP-47 script tag
+    #1 / bcp47-script
+       .code:n = {\prop_gput:Nnn{\polyglossia at langsetup}{#1/bcp47-script}{##1}},
+    #1 / bcp47-script
+       .value_required:n = true,
+    #1 / bcp47-script
+       .initial:n = {},
+    % the BCP-47 variant tag
+    #1 / bcp47-variant
+       .code:n = {\prop_gput:Nnn{\polyglossia at langsetup}{#1/bcp47-variant}{##1}},
+    #1 / bcp47-variant
+       .value_required:n = false,
+    #1 / bcp47-variant
+       .initial:n = {},
+    % the BCP-47 extension-t tag
+    #1 / bcp47-extension-t
+       .code:n = {\prop_gput:Nnn{\polyglossia at langsetup}{#1/bcp47-extension-t}{##1}},
+    #1 / bcp47-extension-t
+       .value_required:n = false,
+    #1 / bcp47-extension-t
+       .initial:n = {},
+    % the BCP-47 extension-u tag
+    #1 / bcp47-extension-u
+       .code:n = {\prop_gput:Nnn{\polyglossia at langsetup}{#1/bcp47-extension-u}{##1}},
+    #1 / bcp47-extension-u
+       .value_required:n = false,
+    #1 / bcp47-extension-u
+       .initial:n = {},
+    % the BCP-47 extension-x tag
+    #1 / bcp47-extension-x
+       .code:n = {\prop_gput:Nnn{\polyglossia at langsetup}{#1/bcp47-extension-x}{##1}},
+    #1 / bcp47-extension-x
+       .value_required:n = false,
+    #1 / bcp47-extension-x
+       .initial:n = {},
+    % the BCP-47 casing alias
+    #1 / bcp47-casing
+       .code:n = {\prop_gput:Nnn{\polyglossia at langsetup}{#1/bcp47-casing}{##1}},
+    #1 / bcp47-casing
+       .value_required:n = false,
+    #1 / bcp47-casing
+       .initial:n = {},
     % hyphennames
     #1 / hyphennames
     .code:n = {
@@ -5362,6 +5467,61 @@
         \xpg at error{Invalid~ \string\mainlanguageid\space argument:~ #1}
       }
 }
+% Kernel command to access to BCP-47 data.
+% Shared interface with babel.
+% We support:
+% * language (e.g., de)
+% * region (e.g., AT)
+% * script (e.g., Latn)
+% * variant (e.g., 1901)
+% * extension-t (transformation, e.g., en-t-ja)
+% * extension-u (additional locale information, e.g., ar-u-nu-latn)
+% * extension-x (e.g., classic for la-x-classic)
+% * casing (whatever is suitable for \MakeUppercase and friends,
+%           usually alias to language but could also be something
+%           like el-x-iota or ckb-Latn)
+% * tag (the registered full tag)
+% and main.* variants thereof
+% See https://github.com/latex3/latex2e/issues/1035
+\DeclareExpandableDocumentCommand \BCPdata {m}
+{
+    \tl_set:Nn \l_tmpa_tl {#1}
+    % Check whether we have main.*
+    \str_if_in:nnTF {#1} { main. }
+        {
+          % split main.var and strip main.
+          \seq_set_split:Nnx \l_tmpa_seq {.} \l_tmpa_tl
+          \seq_get_right:NN \l_tmpa_seq \l_tmpa_tl
+          \str_set_eq:NN \l_tmpa_str \mainlanguagename
+        }
+        {
+          \str_set_eq:NN \l_tmpa_str \languagename
+        }
+    % return value for argument or error
+    \str_case_e:nnF { \l_tmpa_tl }
+      {
+        {language}     { \prop_item:Ne \polyglossia at langsetup { \l_tmpa_str / bcp47-language } }
+        {region}       { \prop_item:Ne \polyglossia at langsetup { \l_tmpa_str / bcp47-region } }
+        {script}       { \prop_item:Ne \polyglossia at langsetup { \l_tmpa_str / bcp47-script } }
+        {variant}      { \prop_item:Ne \polyglossia at langsetup { \l_tmpa_str / bcp47-variant } }
+        {extension.t}  { \prop_item:Ne \polyglossia at langsetup { \l_tmpa_str / bcp47extension-t } }
+        {extension.u}  { \prop_item:Ne \polyglossia at langsetup { \l_tmpa_str / bcp47-extension-u } }
+        {extension.x}  { \prop_item:Ne \polyglossia at langsetup { \l_tmpa_str / bcp47-extension-x } }
+        {tag}          { \prop_item:Ne \polyglossia at langsetup { \l_tmpa_str / bcp47 } }
+        {casing}       {  % For casing, we fall back to language if bcp47-casing is not explicitly set
+                          \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \polyglossia at langsetup { \l_tmpa_str / bcp47-casing } }
+                          \str_if_empty:NTF \tmpcasing
+                                           { \prop_item:Ne \polyglossia at langsetup { \l_tmpa_str / bcp47-language } }
+                                           { \tmpcasing }
+                       }
+      }
+      {
+        \xpg at error{Invalid~ \string\BCPdata\space argument:~ #1}
+      }
+}
+
+
+
 % main babel name
 \cs_new_nopar:Npn \mainlanguagename {}
 \cs_new_nopar:Npn \mainbabelname {}
@@ -5763,6 +5923,9 @@
 }
 \cs_generate_variant:Nn \__xpg_textlanguage:nnn {een}
 
+% Track whether we are in an inline lang (\text...) switch
+\bool_new:N \__xpg_inline_lang
+
 % use by \text<lang> and \textlang. Equivalent to \foreignlanguage,
 % except that dates are localized.
 % #1: option
@@ -5777,6 +5940,7 @@
   }
   {
     \group_begin:
+      \bool_set_true:N \__xpg_inline_lang
       \xpg at otherlanguage[#1]{#3}%
       \csuse{date#3}%
       % This is a hook for external packages which want to access variants
@@ -5784,8 +5948,8 @@
       \cs_if_exist_use:c{date at bbl@\babelname}%
       \polyglossia at lang@settextdirection:nn{#3}{#4}%
     \group_end:
-    % Reset the language's/script's font families
-    \str_if_eq:eeTF{\prop_item:Nn{\polyglossia at langsetup}{#3/lcscript}}{latin}{}{\resetfontlatin}%
+    % Reset the language's/script's font families if the embedding script is latin
+    \str_if_eq:eeTF{\prop_item:Ne{\polyglossia at langsetup}{\languagename/lcscript}}{latin}{\resetfontlatin}{}%
   }
 }
 \cs_generate_variant:Nn \__xpg_textlanguage:nnnn {nnen}
@@ -6231,13 +6395,15 @@
   }%
   \polyglossia at set@language at name[#1]{#2}%
   % Set the language's/script's font families
-  \str_if_eq:eeTF{\prop_item:Nn{\polyglossia at langsetup}{#2/lcscript}} {latin}
+  \str_if_eq:eeT{\prop_item:Nn{\polyglossia at langsetup}{#2/lcscript}} {latin}
   {
     \resetfontlatin
   }
-  {
-    \xpg at set@normalfont{#2}
-  }%
+  \bool_if:NF \__xpg_inline_lang
+  { % This for non-inline font switches
+    % in case a \<lang>font is defined
+    \xpg at set@normalfont{#2}%
+  }
   \xpg at select@fontfamily{#2}%
   \__xpg_use_or_warn:c{#2 at language}%
   \cs_if_exist_use:c{#2 at numbers}%
@@ -6257,9 +6423,11 @@
 
 \cs_new:Nn \polyglossia at stack@language:nn
 {
-  \clist_push:Nn \l_xpg_lang_stack {#1:#2}
+  \clist_gpush:Nn \l_xpg_lang_stack {#1:#2}
 }
 
+\cs_generate_variant:Nn \polyglossia at stack@language:nn {nx}
+
 \cs_generate_variant:Nn \seq_set_split:Nnn {Nnx}
 
 \cs_new:Nn \polyglossia at unstack@language:n
@@ -6270,8 +6438,11 @@
      \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
+     % and re-set stored language's keys
      \tl_if_empty:NTF \l_tmpb_tl {\cs_if_exist_use:c{#1}{\l_tmpc_tl}}
-                                 {\cs_if_exist_use:c{#1}[\l_tmpb_tl]{\l_tmpc_tl}}
+                                 {\exp_args:Nne \setkeys{\l_tmpc_tl}{\l_tmpb_tl}
+                                  \cs_if_exist_use:c{#1}[\l_tmpb_tl]{\l_tmpc_tl}
+                                 }
   }
   {}
 }
@@ -6278,14 +6449,14 @@
 
 \renewenvironment{otherlanguage}[2][]
 {%
-  % Get real current options (incl. defaults)
+  % Get real current (pre-switch) options (incl. defaults)
   \clist_clear_new:N \l_xpg_current_options
-  \prop_map_inline:cn {xpg at current@options@#2}
+  \prop_map_inline:cn {xpg at current@options@\languagename}
   {
       \clist_put_right:Nn \l_xpg_current_options {##1=##2}
   }
-  % Store current options and language on stack
-  \polyglossia at stack@language:nn{\clist_use:Nn \l_xpg_current_options {,}}{#2}%
+  % Store current (pre-switch) options and language on stack
+  \polyglossia at stack@language:nx{\clist_use:Nn \l_xpg_current_options {,}}{\languagename}%
   \selectlanguage[#1]{#2}%
 }
 {%
@@ -7180,7 +7351,7 @@
 %    \begin{macrocode}
 --
 -- polyglossia-punct.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
 --
 
 require('polyglossia-punct')
@@ -7247,7 +7418,7 @@
 %    \begin{macrocode}
 --
 -- polyglossia-korean.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
 --
 
 local glyph_id = node.id"glyph"
@@ -7865,7 +8036,7 @@
 %    \begin{macrocode}
 --
 -- polyglossia-latin.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
 --
 
 require('polyglossia-punct')
@@ -7920,7 +8091,7 @@
 %    \begin{macrocode}
 --
 -- polyglossia-punct.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
 --
 
 require('polyglossia') -- just in case...
@@ -8288,7 +8459,7 @@
 %    \begin{macrocode}
 --
 -- polyglossia-sanskrit.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
 --
 
 require('polyglossia-punct')
@@ -8338,7 +8509,7 @@
 %    \begin{macrocode}
 --
 -- polyglossia-tibt.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
 --
 
 require('polyglossia') -- just in case...
@@ -8441,7 +8612,7 @@
 %    \begin{macrocode}
 --
 -- polyglossia.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
 --
 
 local module_name = "polyglossia"
@@ -9800,11 +9971,15 @@
 % 
 % \subsection{gloss-latex.lde}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
-\ProvidesLanguageDefinitionExtension{gloss-latex}{2023/02/11}{v1.60}{polyglossia: module for default language}
+\ProvidesLanguageDefinitionExtension{gloss-latex}{2023/04/16}{v1.61}{polyglossia: module for default language}
 
 \PolyglossiaSetup{latex}{
+  bcp47=en-US,
+  bcp47-language=en,
+  bcp47-region=US,
+  bcp47-script=Latn,
   hyphennames={english},
   hyphenmins={2,3},
   langtag=ENG,
@@ -9846,7 +10021,7 @@
 % 
 % \subsection{gloss-acadien.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-acadien.ldf}[polyglossia: module for Canadian (Acadian) French]
 
@@ -9863,7 +10038,7 @@
 % 
 % \subsection{gloss-aeb.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-aeb.ldf}[polyglossia: module for aeb (Arabic)]
 
@@ -9880,7 +10055,7 @@
 % 
 % \subsection{gloss-af.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-af.ldf}[polyglossia: module for af (Afrikaans)]
 
@@ -9897,7 +10072,7 @@
 % 
 % \subsection{gloss-afb.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-afb.ldf}[polyglossia: module for afb (Arabic)]
 
@@ -9914,12 +10089,14 @@
 % 
 % \subsection{gloss-afrikaans.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-afrikaans.ldf}[polyglossia: module for Afrikaans]
 
 \PolyglossiaSetup{afrikaans}{
   bcp47=af,
+  bcp47-language=af,
+  bcp47-script=Latn,
   hyphennames={afrikaans,dutch},
   hyphenmins={2,2},
   langtag=AFK,
@@ -10017,12 +10194,14 @@
 % 
 % \subsection{gloss-albanian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-albanian.ldf}[polyglossia: module for Albanian]
 
 \PolyglossiaSetup{albanian}{
   bcp47=sq,
+  bcp47-language=sq,
+  bcp47-script=Latn,
   hyphennames={albanian},
   langtag=SQI,
   hyphenmins={2,2},
@@ -10072,7 +10251,7 @@
 % 
 % \subsection{gloss-am.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-am.ldf}[polyglossia: module for am (Amharic)]
 
@@ -10089,7 +10268,7 @@
 % 
 % \subsection{gloss-american.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-american.ldf}[polyglossia: module for American English]
 
@@ -10106,11 +10285,13 @@
 % 
 % \subsection{gloss-amharic.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-amharic.ldf}[polyglossia: module for Amharic]
 \PolyglossiaSetup{amharic}{
   bcp47=am,
+  bcp47-language=am,
+  bcp47-script=Ethi,
   script=Ethiopic,
   scripttag=ethi,
   langtag=AMH,
@@ -10324,7 +10505,7 @@
 % 
 % \subsection{gloss-apd.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-apd.ldf}[polyglossia: module for apd (Arabic)]
 
@@ -10341,7 +10522,7 @@
 % 
 % \subsection{gloss-ar-IQ.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ar-IQ.ldf}[polyglossia: module for ar-IQ (Arabic)]
 
@@ -10349,6 +10530,8 @@
 
 \xpg at load@master at language{arabic}
 
+\SetLanguageKeys{arabic}{bcp47=ar-IQ,bcp47-language=ar,bcp47-region=IQ}%
+
 %    \end{macrocode}
 % \iffalse
 %</gloss-ar-IQ.ldf>
@@ -10358,7 +10541,7 @@
 % 
 % \subsection{gloss-ar-JO.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ar-JO.ldf}[polyglossia: module for ar-JO (Arabic)]
 
@@ -10366,6 +10549,8 @@
 
 \xpg at load@master at language{arabic}
 
+\SetLanguageKeys{arabic}{bcp47=ar-JO,bcp47-language=ar,bcp47-region=JO}%
+
 %    \end{macrocode}
 % \iffalse
 %</gloss-ar-JO.ldf>
@@ -10375,7 +10560,7 @@
 % 
 % \subsection{gloss-ar-LB.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ar-LB.ldf}[polyglossia: module for ar-LB (Arabic)]
 
@@ -10383,6 +10568,8 @@
 
 \xpg at load@master at language{arabic}
 
+\SetLanguageKeys{arabic}{bcp47=ar-LB,bcp47-language=ar,bcp47-region=LB}%
+
 %    \end{macrocode}
 % \iffalse
 %</gloss-ar-LB.ldf>
@@ -10392,7 +10579,7 @@
 % 
 % \subsection{gloss-ar-MR.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ar-MR.ldf}[polyglossia: module for ar-MR (Arabic)]
 
@@ -10400,6 +10587,8 @@
 
 \xpg at load@master at language{arabic}
 
+\SetLanguageKeys{arabic}{bcp47=ar-MR,bcp47-language=ar,bcp47-region=MR}%
+
 %    \end{macrocode}
 % \iffalse
 %</gloss-ar-MR.ldf>
@@ -10409,7 +10598,7 @@
 % 
 % \subsection{gloss-ar-PS.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ar-PS.ldf}[polyglossia: module for ar-PS (Arabic)]
 
@@ -10417,6 +10606,8 @@
 
 \xpg at load@master at language{arabic}
 
+\SetLanguageKeys{arabic}{bcp47=ar-PS,bcp47-language=ar,bcp47-region=PS}%
+
 %    \end{macrocode}
 % \iffalse
 %</gloss-ar-PS.ldf>
@@ -10426,7 +10617,7 @@
 % 
 % \subsection{gloss-ar-SY.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ar-SY.ldf}[polyglossia: module for ar-SY (Arabic)]
 
@@ -10434,6 +10625,8 @@
 
 \xpg at load@master at language{arabic}
 
+\SetLanguageKeys{arabic}{bcp47=ar-SY,bcp47-language=ar,bcp47-region=SY}%
+
 %    \end{macrocode}
 % \iffalse
 %</gloss-ar-SY.ldf>
@@ -10443,7 +10636,7 @@
 % 
 % \subsection{gloss-ar-YE.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ar-YE.ldf}[polyglossia: module for ar-YE (Arabic)]
 
@@ -10451,6 +10644,8 @@
 
 \xpg at load@master at language{arabic}
 
+\SetLanguageKeys{arabic}{bcp47=ar-YE,bcp47-language=ar,bcp47-region=YE}%
+
 %    \end{macrocode}
 % \iffalse
 %</gloss-ar-YE.ldf>
@@ -10460,7 +10655,7 @@
 % 
 % \subsection{gloss-ar.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ar.ldf}[polyglossia: module for ar (Arabic)]
 
@@ -10477,7 +10672,7 @@
 % 
 % \subsection{gloss-arabic.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-arabic.ldf}[polyglossia: module for Arabic]
 \RequireBidi
@@ -10486,6 +10681,9 @@
 
 \PolyglossiaSetup{arabic}{
   bcp47=ar,
+  bcp47-language=ar,
+  bcp47-script=Arab,
+  bcp47-region=YE,
   script=Arabic,
   direction=RL,
   langtag=ARA,
@@ -10536,20 +10734,45 @@
     \abjad at jim@notailfalse
   \fi}
 
-\def\tmp at morocco{morocco}
-\def\tmp at algeria{algeria}
-\define at key{arabic}{locale}[default]{%
-  \def\@tmpa{#1}%
-  \ifx\@tmpa\tmp at morocco%
-    \eastern at numeralsfalse%
-    \SetLanguageKeys{arabic}{bcp47=ary}%
-  \else
-    \ifx\@tmpa\tmp at algeria%
+\define at choicekey*+{arabic}{locale}[\xpg at val\xpg at nr]{default,mashriq,libya,algeria,tunisia,morocco,mauritania}[default]{%
+   \ifcase\xpg at nr\relax
+      % default:
+      \eastern at numeralstrue%
+      \SetLanguageKeys{arabic}{bcp47=ar-YE,bcp47-language=ar}%
+      \xpg at info{Option: arabic, locale=default}%
+   \or
+      % mashriq:
+      \eastern at numeralstrue%
+      \SetLanguageKeys{arabic}{bcp47=ar-IQ,bcp47-language=ar}%
+      \xpg at info{Option: arabic, locale=mashriq}%
+   \or
+      % libya:
+      \eastern at numeralstrue%
+      \SetLanguageKeys{arabic}{bcp47=ayl,bcp47-language=ar,bcp47-region=LY}%
+      \xpg at info{Option: arabic, locale=libya}%
+   \or
+      % algeria:
       \eastern at numeralsfalse%
-      \SetLanguageKeys{arabic}{bcp47=arq}%
-    \fi%
-  \fi%
-  \gdef\@@arabic at month{\@arabic at month{#1}}}
+      \SetLanguageKeys{arabic}{bcp47=arq,bcp47-language=ar,bcp47-region=DZ,bcp47-extension-u=nu-latn}%
+      \xpg at info{Option: arabic, locale=algeria}%
+   \or
+      % tunisia:
+      \eastern at numeralsfalse%
+      \SetLanguageKeys{arabic}{bcp47=aeb,bcp47-language=ar,bcp47-region=TN,bcp47-extension-u=nu-latn}%
+      \xpg at info{Option: arabic, locale=tunisia}%
+   \or
+      % morocco:
+      \eastern at numeralsfalse%
+      \SetLanguageKeys{arabic}{bcp47=ary,bcp47-language=ar,bcp47-region=MA,bcp47-extension-u=nu-latn}%
+      \xpg at info{Option: arabic, locale=morocco}%
+   \or
+      % mauritania:
+      \eastern at numeralstrue%
+      \SetLanguageKeys{arabic}{bcp47=ar-MR,bcp47-language=ar,bcp47-region=MR}%
+      \xpg at info{Option: arabic, locale=mauritania}%
+   \fi
+   \gdef\@@arabic at month{\@arabic at month{#1}}
+ }{\xpg at warning{Unknown Arabic locale `#1'}}
 
 \newif\if at hijrical
 \def\tmp at hijri{hijri}
@@ -10747,12 +10970,15 @@
 % 
 % \subsection{gloss-armenian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-armenian.ldf}[polyglossia: module for Armenian]
 
 \PolyglossiaSetup{armenian}{
   bcp47=hy,
+  bcp47-language=hy,
+  bcp47-script=Armn,
+  bcp47-region=AM,
   script=Armenian,
   scripttag=armn,
   langtag=HYE,
@@ -10781,7 +11007,13 @@
 \newif\if at armenian@numerals
 \@armenian at numeralsfalse
 \define at key{armenian}{numerals}[armenian]{%
-  \ifstrequal{#1}{arabic}{\@armenian at numeralsfalse}{\@armenian at numeralstrue}%
+  \ifstrequal{#1}{arabic}{%
+     \@armenian at numeralsfalse%
+     \SetLanguageKeys{armenian}{bcp47-extension-u=nu-latn}%
+   }{%
+     \@armenian at numeralstrue%
+     \SetLanguageKeys{armenian}{bcp47-extension-u={}}%
+   }%
 }
 
 % Register default options
@@ -10934,7 +11166,7 @@
 % 
 % \subsection{gloss-arq.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-arq.ldf}[polyglossia: module for arq (Arabic)]
 
@@ -10951,7 +11183,7 @@
 % 
 % \subsection{gloss-ary.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ary.ldf}[polyglossia: module for ary (Arabic)]
 
@@ -10968,7 +11200,7 @@
 % 
 % \subsection{gloss-arz.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-arz.ldf}[polyglossia: module for arz (Arabic)]
 
@@ -10985,7 +11217,7 @@
 % 
 % \subsection{gloss-ast.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ast.ldf}[polyglossia: module for ast (Asturian)]
 
@@ -11002,7 +11234,7 @@
 % 
 % \subsection{gloss-asturian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 % Translated by Xuacu <xuacusk8 at gmail dot com>
 % Contributed by Kevin Godby <godbyk at gmail dot com>
@@ -11010,6 +11242,8 @@
 \ProvidesFile{gloss-asturian.ldf}[polyglossia: module for Asturian]
 \PolyglossiaSetup{asturian}{
   bcp47=ast,
+  bcp47-language=ast,
+  bcp47-script=Latn,
   hyphennames={asturian,catalan},
   hyphenmins={2,2},
   langtag=AST,
@@ -11060,7 +11294,7 @@
 % 
 % \subsection{gloss-australian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-australian.ldf}[polyglossia: module for Australian English]
 
@@ -11077,7 +11311,7 @@
 % 
 % \subsection{gloss-austrian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-austrian.ldf}[polyglossia: module for Austrian German (old spelling)]
 
@@ -11094,7 +11328,7 @@
 % 
 % \subsection{gloss-ayl.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ayl.ldf}[polyglossia: module for ayl (Arabic)]
 
@@ -11111,7 +11345,7 @@
 % 
 % \subsection{gloss-bahasa.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-bahasa.ldf}[polyglossia: module for Bahasa Indonesia]
 
@@ -11128,7 +11362,7 @@
 % 
 % \subsection{gloss-bahasai.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-bahasai.ldf}[polyglossia: module for Bahasa Indonesia]
 
@@ -11146,7 +11380,7 @@
 % 
 % \subsection{gloss-bahasam.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-bahasam.ldf}[polyglossia: module for Bahasa Melayu]
 
@@ -11164,11 +11398,14 @@
 % 
 % \subsection{gloss-basque.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-basque.ldf}[polyglossia: module for Basque]
 \PolyglossiaSetup{basque}{
   bcp47=eu,
+  bcp47-language=eu,
+  bcp47-region=ES,
+  bcp47-script=Latn,
   hyphennames={basque},
   hyphenmins={2,2},
   langtag=EUQ,
@@ -11219,7 +11456,7 @@
 % 
 % \subsection{gloss-be-tarask.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-be-tarask.ldf}[polyglossia: module for be-tarask (Belarusian)]
 
@@ -11236,7 +11473,7 @@
 % 
 % \subsection{gloss-be.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-be.ldf}[polyglossia: module for be (Belarusian)]
 
@@ -11253,7 +11490,7 @@
 % 
 % \subsection{gloss-belarusian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-belarusian.ldf}[polyglossia: module for Belarusian]
 
@@ -11261,6 +11498,10 @@
 
 \PolyglossiaSetup{belarusian}{
   bcp47=be,
+  bcp47-language=be,
+  bcp47-region=BY,
+  bcp47-variant=1959acad,
+  bcp47-script=Cyrl,
   script=Cyrillic,
   scripttag=cyrl,
   langtag=BEL,
@@ -11281,15 +11522,15 @@
    \ifcase\xpg at nr\relax
       % modern:
       \def\belarusian at spelling{modern}%
-      \SetLanguageKeys{belarusian}{bcp47=be}%
+      \SetLanguageKeys{belarusian}{bcp47=be,bcp47-variant=1959acad}%
    \or
       % classic:
       \def\belarusian at spelling{tarask}%
-      \SetLanguageKeys{belarusian}{bcp47=be-tarask}%
+      \SetLanguageKeys{belarusian}{bcp47=be-tarask,bcp47-variant=tarask}%
    \or
       % tarask:
       \def\belarusian at spelling{tarask}%
-      \SetLanguageKeys{belarusian}{bcp47=be-tarask}%
+      \SetLanguageKeys{belarusian}{bcp47=be-tarask,bcp47-variant=tarask}%
    \fi
 }{\xpg at warning{Unknown Belarusian spelling `#1'}}
 
@@ -11577,7 +11818,7 @@
 % 
 % \subsection{gloss-bengali.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 % Translations provided by সাজেদুর রহিম জোয়ারদার <toshazed at gmail.com>
 % TODO implement Bengali calendar
@@ -11589,6 +11830,8 @@
 
 \PolyglossiaSetup{bengali}{
   bcp47=bn,
+  bcp47-language=bn,
+  bcp47-script=Beng,
   script=Bengali,
   scripttag=beng,
   langtag=BEN,
@@ -11716,7 +11959,7 @@
 % 
 % \subsection{gloss-bg.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-bg.ldf}[polyglossia: module for bg (Bulgarian)]
 
@@ -11733,7 +11976,7 @@
 % 
 % \subsection{gloss-bn.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-bn.ldf}[polyglossia: module for bn (Bengali)]
 
@@ -11750,7 +11993,7 @@
 % 
 % \subsection{gloss-bo.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-bo.ldf}[polyglossia: module for bo (Tibetan)]
 
@@ -11767,12 +12010,16 @@
 % 
 % \subsection{gloss-bosnian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-bosnian.ldf}[polyglossia: module for Bosnian]
 
 \PolyglossiaSetup{bosnian}{
   bcp47=bs,
+  bcp47-language=bs,
+  bcp47-region=BA,
+  bcp47-script=Latn,
+  bcp47-casing=bs-Latn,
   langtag=BOS,
   hyphennames={bosnian,croatian},
   hyphenmins={2,2}, % adapted from gloss-croatian
@@ -11827,7 +12074,7 @@
 % 
 % \subsection{gloss-br.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-br.ldf}[polyglossia: module for br (Breton)]
 
@@ -11844,7 +12091,7 @@
 % 
 % \subsection{gloss-brazil.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-brazil.ldf}[polyglossia: module for Brazilian Portuguese]
 
@@ -11863,11 +12110,14 @@
 % 
 % \subsection{gloss-breton.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-breton.ldf}[polyglossia: module for Breton]
 \PolyglossiaSetup{breton}{
   bcp47=br,
+  bcp47-language=br,
+  bcp47-region=FR,
+  bcp47-script=Latn,
   hyphennames={breton},
   hyphenmins={2,2},
   langtag=BRE,
@@ -11968,7 +12218,7 @@
 % 
 % \subsection{gloss-british.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-british.ldf}[polyglossia: module for British English]
 
@@ -11985,7 +12235,7 @@
 % 
 % \subsection{gloss-bs.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-bs.ldf}[polyglossia: module for bs (Bosnian)]
 
@@ -12002,11 +12252,14 @@
 % 
 % \subsection{gloss-bulgarian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-bulgarian.ldf}[polyglossia: module for Bulgarian]
 \PolyglossiaSetup{bulgarian}{
   bcp47=bg,
+  bcp47-language=bg,
+  bcp47-region=BG,
+  bcp47-script=Cyrl,
   script=Cyrillic,
   scripttag=cyrl,
   langtag=BGR,
@@ -12101,7 +12354,7 @@
 % 
 % \subsection{gloss-ca.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ca.ldf}[polyglossia: module for ca (Catalan)]
 
@@ -12118,7 +12371,7 @@
 % 
 % \subsection{gloss-canadian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-canadian.ldf}[polyglossia: module for Canadian English]
 
@@ -12135,7 +12388,7 @@
 % 
 % \subsection{gloss-canadien.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-canadien.ldf}[polyglossia: module for Canadian French]
 
@@ -12152,11 +12405,13 @@
 % 
 % \subsection{gloss-catalan.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-catalan.ldf}[polyglossia: module for Catalan]
 \PolyglossiaSetup{catalan}{
   bcp47=ca,
+  bcp47-language=ca,
+  bcp47-script=Latn,
   hyphennames={catalan},
   hyphenmins={2,2},
   langtag=CAT,
@@ -12319,12 +12574,15 @@
 % 
 % \subsection{gloss-chinese.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-chinese.ldf}[polyglossia: module for Chinese]
 
 \PolyglossiaSetup{chinese}{
     bcp47=zh,
+    bcp47-language=zh,
+    bcp47-region=CN,
+    bcp47-script=Hans,
     script=CJK,
     scripttag=hani,
     language=Chinese,
@@ -12346,8 +12604,11 @@
 \newif\ifchinese at numerals
 \define at key{chinese}{numerals}[arabic]{%
    \ifstrequal{#1}{chinese}%
-      {\chinese at numeralstrue}%
-      {\chinese at numeralsfalse}%
+      {\chinese at numeralstrue%
+       \SetLanguageKeys{chinese}{bcp47-extension-u=nu-hant}%
+      }{\chinese at numeralsfalse%
+       \SetLanguageKeys{chinese}{bcp47-extension-u=nu-latn}%
+      }%
 }
 
 
@@ -12355,22 +12616,22 @@
    \ifcase\xpg at nr\relax
       % cn:
       \chinese at traditionalfalse
-      \SetLanguageKeys{chinese}{bcp47=zh-CN}%
+      \SetLanguageKeys{chinese}{bcp47=zh-CN,bcp47-language=zh,bcp47-region=CN,bcp47-script=Hans}%
       \xpg at info{Option: Chinese, variant=simplified}%
    \or
       % simplified:
       \chinese at traditionalfalse
-      \SetLanguageKeys{chinese}{bcp47=zh-CN}%
+      \SetLanguageKeys{chinese}{bcp47=zh-CN,bcp47-language=zh,bcp47-region=CN,bcp47-script=Hans}%
       \xpg at info{Option: Chinese, variant=simplified}%
    \or
       % tw:
       \chinese at traditionaltrue
-      \SetLanguageKeys{chinese}{bcp47=zh-TW}%
+      \SetLanguageKeys{chinese}{bcp47=zh-TW,bcp47-language=zh,bcp47-region=TW,bcp47-script=Hant}%
       \xpg at info{Option: Chinese, variant=traditional}%
    \or
       % traditional:
       \chinese at traditionaltrue
-      \SetLanguageKeys{chinese}{bcp47=zh-TW}%
+      \SetLanguageKeys{chinese}{bcp47=zh-TW,bcp47-language=zh,bcp47-region=TW,bcp47-script=Hant}%
       \xpg at info{Option: Chinese, variant=traditional}%
    \fi
 }{\xpg at warning{Unknown Chinese variant `#1'}}
@@ -12603,7 +12864,7 @@
 % 
 % \subsection{gloss-ckb-Arab.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ckb-Arab.ldf}[polyglossia: module for ckb-Arab (Kurdish)]
 
@@ -12620,7 +12881,7 @@
 % 
 % \subsection{gloss-ckb-Latn.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ckb-Latn.ldf}[polyglossia: module for ckb-Latn (Kurdish)]
 
@@ -12637,7 +12898,7 @@
 % 
 % \subsection{gloss-ckb.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ckb.ldf}[polyglossia: module for ckb (Kurdish)]
 
@@ -12654,7 +12915,7 @@
 % 
 % \subsection{gloss-cop.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-cop.ldf}[polyglossia: module for cop (Coptic)]
 
@@ -12671,11 +12932,14 @@
 % 
 % \subsection{gloss-coptic.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-coptic.ldf}[polyglossia: module for Coptic]
 \PolyglossiaSetup{coptic}{
   bcp47=cop,
+  bcp47-language=cop,
+  bcp47-region=CN,
+  bcp47-script=Copt,
   script=Coptic,
   scripttag=copt,
   langtag=COP,
@@ -12724,11 +12988,13 @@
 % 
 % \subsection{gloss-croatian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-croatian.ldf}[polyglossia: module for Croatian]
 \PolyglossiaSetup{croatian}{
   bcp47=hr,
+  bcp47-language=hr,
+  bcp47-script=Latn,
   langtag=HRV,
   hyphennames={croatian},
   hyphenmins={2,2}, % aligned with https://ctan.org/pkg/hrhyph patterns and http://lebesgue.math.hr/~nenad/Diplomski/Maja_Ribaric_2011.pdf
@@ -12997,7 +13263,7 @@
 % 
 % \subsection{gloss-cy.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-cy.ldf}[polyglossia: module for cy (Welsh)]
 
@@ -13014,7 +13280,7 @@
 % 
 % \subsection{gloss-cz.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-cz.ldf}[polyglossia: module for cz (Czech)]
 
@@ -13031,12 +13297,15 @@
 % 
 % \subsection{gloss-czech.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-czech.ldf}[polyglossia: module for Czech]
 
 \PolyglossiaSetup{czech}{
   bcp47=cz,
+  bcp47-language=cz,
+  bcp47-region=CZ,
+  bcp47-script=Latn,
   hyphennames={czech},
   hyphenmins={2,2},
   langtag=CSY,
@@ -13287,7 +13556,7 @@
 % 
 % \subsection{gloss-da.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-da.ldf}[polyglossia: module for da (Danish)]
 
@@ -13304,11 +13573,13 @@
 % 
 % \subsection{gloss-danish.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-danish.ldf}[polyglossia: module for Danish]
 \PolyglossiaSetup{danish}{
   bcp47=da,
+  bcp47-language=da,
+  bcp47-script=Latn,
   hyphennames={danish},
   hyphenmins={2,3},
   langtag=DAN,
@@ -13359,7 +13630,7 @@
 % 
 % \subsection{gloss-de-AT-1901.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-AT-1901.ldf}[polyglossia: module for de-AT-1901 (Austrian German, old spelling)]
 
@@ -13376,7 +13647,7 @@
 % 
 % \subsection{gloss-de-AT-1996.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-AT-1996.ldf}[polyglossia: module for de-AT-1996 (Austrian German)]
 
@@ -13393,7 +13664,7 @@
 % 
 % \subsection{gloss-de-AT.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-AT.ldf}[polyglossia: module for de-AT (Austrian German)]
 
@@ -13410,7 +13681,7 @@
 % 
 % \subsection{gloss-de-CH-1901.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-CH-1901.ldf}[polyglossia: module for de-CH-1901 (Swiss German, old spelling)]
 
@@ -13427,7 +13698,7 @@
 % 
 % \subsection{gloss-de-CH-1996.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-CH-1996.ldf}[polyglossia: module for de-CH-1996 (Swiss German)]
 
@@ -13444,7 +13715,7 @@
 % 
 % \subsection{gloss-de-CH.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-CH.ldf}[polyglossia: module for de-CH (Swiss German)]
 
@@ -13461,7 +13732,7 @@
 % 
 % \subsection{gloss-de-DE-1901.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-DE-1901.ldf}[polyglossia: module for de-DE-1901 (Germany's German, old spelling)]
 
@@ -13478,7 +13749,7 @@
 % 
 % \subsection{gloss-de-DE-1996.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-DE-1996.ldf}[polyglossia: module for de-DE-1996 (Germany's German)]
 
@@ -13495,7 +13766,7 @@
 % 
 % \subsection{gloss-de-DE.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-DE.ldf}[polyglossia: module for de-DE (Germany's German)]
 
@@ -13512,7 +13783,7 @@
 % 
 % \subsection{gloss-de-Latf-AT-1901.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-AT-1901-Latf.ldf}[polyglossia: module for de-AT-1901-Latf (Austrian German, old spelling)]
 
@@ -13529,7 +13800,7 @@
 % 
 % \subsection{gloss-de-Latf-AT-1996.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-AT-1996-Latf.ldf}[polyglossia: module for de-AT-1996-Latf (Austrian German)]
 
@@ -13546,7 +13817,7 @@
 % 
 % \subsection{gloss-de-Latf-AT.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-AT-Latf.ldf}[polyglossia: module for de-AT-Latf (Austrian German)]
 
@@ -13563,7 +13834,7 @@
 % 
 % \subsection{gloss-de-Latf-CH-1901.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-CH-1901-Latf.ldf}[polyglossia: module for de-CH-1901-Latf (Swiss German, old spelling)]
 
@@ -13580,7 +13851,7 @@
 % 
 % \subsection{gloss-de-Latf-CH-1996.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-CH-1996-Latf.ldf}[polyglossia: module for de-CH-1996-Latf (Swiss German)]
 
@@ -13597,7 +13868,7 @@
 % 
 % \subsection{gloss-de-Latf-CH.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-CH-Latf.ldf}[polyglossia: module for de-CH-Latf (Swiss German)]
 
@@ -13614,7 +13885,7 @@
 % 
 % \subsection{gloss-de-Latf-DE-1901.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-DE-1901-Latf.ldf}[polyglossia: module for de-DE-1901-Latf (Germany's German, old spelling)]
 
@@ -13631,7 +13902,7 @@
 % 
 % \subsection{gloss-de-Latf-DE-1996.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-DE-1996-Latf.ldf}[polyglossia: module for de-DE-1996-Latf (Germany's German)]
 
@@ -13648,7 +13919,7 @@
 % 
 % \subsection{gloss-de-Latf-DE.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-DE-Latf.ldf}[polyglossia: module for de-DE-Latf (Germany's German)]
 
@@ -13665,7 +13936,7 @@
 % 
 % \subsection{gloss-de-Latf.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-Latf.ldf}[polyglossia: module for de-Latf (German)]
 
@@ -13682,7 +13953,7 @@
 % 
 % \subsection{gloss-de.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de.ldf}[polyglossia: module for de (German)]
 
@@ -13699,7 +13970,7 @@
 % 
 % \subsection{gloss-divehi.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-divehi.ldf}[polyglossia: module for Divehi]
 
@@ -13706,6 +13977,8 @@
 \RequireBidi
 \PolyglossiaSetup{divehi}{
   bcp47=dv,
+  bcp47-language=dv,
+  bcp47-script=Thaa,
   script=Thaana,
   scripttag=thaa,
   langtag=DIV,% TODO Support DHV as well?
@@ -13764,7 +14037,7 @@
 % 
 % \subsection{gloss-dsb.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-dsb.ldf}[polyglossia: module for dsb (Sorbian)]
 
@@ -13781,11 +14054,13 @@
 % 
 % \subsection{gloss-dutch.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-dutch.ldf}[polyglossia: module for Dutch]
 \PolyglossiaSetup{dutch}{
   bcp47=nl,
+  bcp47-language=nl,
+  bcp47-script=Latn,
   hyphennames={dutch},
   hyphenmins={2,2},
   langtag=NLD,
@@ -13884,7 +14159,7 @@
 % 
 % \subsection{gloss-dv.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-dv.ldf}[polyglossia: module for dv (Divehi)]
 
@@ -13901,7 +14176,7 @@
 % 
 % \subsection{gloss-el-monoton.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-el-monoton.ldf}[polyglossia: module for el-monoton (Greek)]
 
@@ -13918,7 +14193,7 @@
 % 
 % \subsection{gloss-el-polyton.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-el-polyton.ldf}[polyglossia: module for el-polyton (Greek)]
 
@@ -13935,7 +14210,7 @@
 % 
 % \subsection{gloss-el.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-el.ldf}[polyglossia: module for el (Greek)]
 
@@ -13952,7 +14227,7 @@
 % 
 % \subsection{gloss-en-AU.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-en-AU.ldf}[polyglossia: module for en-AU (Australian English)]
 
@@ -13969,7 +14244,7 @@
 % 
 % \subsection{gloss-en-CA.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-en-CA.ldf}[polyglossia: module for en-CA (Canadan English)]
 
@@ -13986,7 +14261,7 @@
 % 
 % \subsection{gloss-en-GB.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-en-GB.ldf}[polyglossia: module for en-GB (British English)]
 
@@ -14003,7 +14278,7 @@
 % 
 % \subsection{gloss-en-NZ.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-en-NZ.ldf}[polyglossia: module for en-NZ (Newzealand English)]
 
@@ -14020,7 +14295,7 @@
 % 
 % \subsection{gloss-en-US.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-en-US.ldf}[polyglossia: module for en-US (American English)]
 
@@ -14037,7 +14312,7 @@
 % 
 % \subsection{gloss-en.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-en.ldf}[polyglossia: module for en (English)]
 
@@ -14054,12 +14329,15 @@
 % 
 % \subsection{gloss-english.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-english.ldf}[polyglossia: module for English]
 
 \PolyglossiaSetup{english}{
   bcp47=en-US,
+  bcp47-language=en,
+  bcp47-region=US,
+  bcp47-script=Latn,
   hyphennames={english,american,usenglish,USenglish},
   hyphenmins={2,3},
   langtag=ENG,
@@ -14103,7 +14381,7 @@
       \british at hyphentrue
       \british at dateformattrue
       \english at ordinalmonthdaytrue
-      \SetLanguageKeys{english}{babelname=british,bcp47=en-GB}%
+      \SetLanguageKeys{english}{babelname=british,bcp47=en-GB,bcp47-language=en,bcp47-region=GB}%
       \xpg at info{Option: English, variant=british}%
    \or
       % british:
@@ -14110,7 +14388,7 @@
       \british at hyphentrue
       \british at dateformattrue
       \english at ordinalmonthdaytrue
-      \SetLanguageKeys{english}{babelname=british,bcp47=en-GB}%
+      \SetLanguageKeys{english}{babelname=british,bcp47=en-GB,bcp47-language=en,bcp47-region=GB}%
       \xpg at info{Option: english variant=british}%
    \or
       % us:
@@ -14117,7 +14395,7 @@
       \british at hyphenfalse
       \british at dateformatfalse
       \english at ordinalmonthdayfalse
-      \SetLanguageKeys{english}{babelname=american,bcp47=en-US}%
+      \SetLanguageKeys{english}{babelname=american,bcp47=en-US,bcp47-language=en,bcp47-region=US}%
       \xpg at info{Option: English, variant=american}%
    \or
       % american:
@@ -14124,7 +14402,7 @@
       \british at hyphenfalse
       \british at dateformatfalse
       \english at ordinalmonthdayfalse
-      \SetLanguageKeys{english}{babelname=american,bcp47=en-US}%
+      \SetLanguageKeys{english}{babelname=american,bcp47=en-US,bcp47-language=en,bcp47-region=US}%
       \xpg at info{Option: English, variant=american}%
    \or
       % usmax:
@@ -14131,7 +14409,7 @@
       \british at hyphenfalse
       \british at dateformatfalse
       \english at ordinalmonthdayfalse
-      \SetLanguageKeys{english}{babelname=american,bcp47=en-US}%
+      \SetLanguageKeys{english}{babelname=american,bcp47=en-US,bcp47-language=en,bcp47-region=US}%
       \xpg at info{Option: english variant=american (with additional patterns)}%
       \xpg at ifdefined{usenglishmax}{}%
          {\xpg at warning{No hyphenation patterns were loaded for "US English Max"\MessageBreak
@@ -14146,7 +14424,7 @@
       \british at hyphentrue
       \british at dateformattrue
       \english at ordinalmonthdayfalse
-      \SetLanguageKeys{english}{babelname=australian,bcp47=en-AU}%
+      \SetLanguageKeys{english}{babelname=australian,bcp47=en-AU,bcp47-language=en,bcp47-region=AU}%
       \xpg at info{Option: English, variant=australian}%
       \adddialect\l at australian\l at english%
    \or
@@ -14156,7 +14434,7 @@
       \british at hyphentrue
       \british at dateformattrue
       \english at ordinalmonthdayfalse
-      \SetLanguageKeys{english}{babelname=newzealand,bcp47=en-NZ}%
+      \SetLanguageKeys{english}{babelname=newzealand,bcp47=en-NZ,bcp47-language=en,bcp47-region=NZ}%
       \xpg at info{Option: English, variant=newzealand}%
       \adddialect\l at newzealand\l at english%
    \or
@@ -14165,7 +14443,7 @@
       \british at hyphenfalse
       \british at dateformatfalse
       \english at ordinalmonthdayfalse
-      \SetLanguageKeys{english}{babelname=canadian,bcp47=en-CA}%
+      \SetLanguageKeys{english}{babelname=canadian,bcp47=en-CA,bcp47-language=en,bcp47-region=CA}%
       \xpg at info{Option: English, variant=american}%
       \adddialect\l at canadian\l at english%
    \fi
@@ -14262,7 +14540,7 @@
 % 
 % \subsection{gloss-eo.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-eo.ldf}[polyglossia: module for eo (Esperanto)]
 
@@ -14279,7 +14557,7 @@
 % 
 % \subsection{gloss-es-ES.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-es-ES.ldf}[polyglossia: module for es-ES (Spain's Spanish)]
 
@@ -14296,7 +14574,7 @@
 % 
 % \subsection{gloss-es-MX.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-es-MX.ldf}[polyglossia: module for es-MX (Mexican Spanish)]
 
@@ -14313,7 +14591,7 @@
 % 
 % \subsection{gloss-es.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-es.ldf}[polyglossia: module for es (Spanish)]
 
@@ -14330,11 +14608,13 @@
 % 
 % \subsection{gloss-esperanto.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-esperanto.ldf}[polyglossia: module for Esperanto]
 \PolyglossiaSetup{esperanto}{
   bcp47=eo,
+  bcp47-language=eo,
+  bcp47-script=Latn,
   hyphennames={esperanto},
   hyphenmins={2,2},
   langtag=NTO,
@@ -14408,11 +14688,14 @@
 % 
 % \subsection{gloss-estonian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-estonian.ldf}[polyglossia: module for Estonian]
 \PolyglossiaSetup{estonian}{
   bcp47=et,
+  bcp47-language=et,
+  bcp47-region=EE,
+  bcp47-script=Latn,
   hyphennames={estonian},
   hyphenmins={2,2},
   langtag=ETI,
@@ -14462,7 +14745,7 @@
 % 
 % \subsection{gloss-et.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-et.ldf}[polyglossia: module for et (Estonian)]
 
@@ -14479,7 +14762,7 @@
 % 
 % \subsection{gloss-eu.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-eu.ldf}[polyglossia: module for eu (Basque)]
 
@@ -14496,7 +14779,7 @@
 % 
 % \subsection{gloss-fa.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-fa.ldf}[polyglossia: module for fa (Persian)]
 
@@ -14513,7 +14796,7 @@
 % 
 % \subsection{gloss-farsi.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-farsi.ldf}[polyglossia: module for Farsi]
 
@@ -14531,7 +14814,7 @@
 % 
 % \subsection{gloss-fi.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-fi.ldf}[polyglossia: module for fi (Finnish)]
 
@@ -14548,11 +14831,14 @@
 % 
 % \subsection{gloss-finnish.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-finnish.ldf}[polyglossia: module for Finnish]
 \PolyglossiaSetup{finnish}{
   bcp47=fi,
+  bcp47-language=fi,
+  bcp47-region=FI,
+  bcp47-script=Latn,
   hyphennames={finnish},
   hyphenmins={2,2},
   langtag=FIN,
@@ -14665,7 +14951,7 @@
 % 
 % \subsection{gloss-fr-CA.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-fr-CA.ldf}[polyglossia: module for fr-CA (Canadian French)]
 
@@ -14682,7 +14968,7 @@
 % 
 % \subsection{gloss-fr-CH.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-fr-CH.ldf}[polyglossia: module for fr-CH (Swiss French)]
 
@@ -14699,7 +14985,7 @@
 % 
 % \subsection{gloss-fr-FR.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-fr-FR.ldf}[polyglossia: module for fr-FR (France's French)]
 
@@ -14716,7 +15002,7 @@
 % 
 % \subsection{gloss-fr.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-fr.ldf}[polyglossia: module for fr (French)]
 
@@ -14733,12 +15019,15 @@
 % 
 % \subsection{gloss-french.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-french.ldf}[polyglossia: module for French]
 
 \PolyglossiaSetup{french}{%
   bcp47=fr-FR,
+  bcp47-language=fr,
+  bcp47-region=FR,
+  bcp47-script=Latn,
   language=French,
   script=Latin,
   langtag=FRA,
@@ -14763,12 +15052,12 @@
    \ifcase\xpg at nr\relax
       % french:
       \def\french at variant{french}%
-      \SetLanguageKeys{french}{babelname=french,bcp47=fr-FR}%
+      \SetLanguageKeys{french}{babelname=french,bcp47=fr-FR,bcp47-language=fr,bcp47-region=FR}%
       \french at thincolonspacefalse
    \or
       % canadian:
       \def\french at variant{canadien}%
-      \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA}%
+      \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA,bcp47-language=fr,bcp47-region=CA}%
       \xpg at ifdefined{canadien}{}%
       {\xpg at warning{No hyphenation patterns were loaded for "French (Canada)"\MessageBreak
         I will use the standard patterns for French instead}%
@@ -14777,7 +15066,7 @@
    \or
       % acadian:
       \def\french at variant{acadian}%
-      \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA}%
+      \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA,bcp47-language=fr,bcp47-region=CA}%
       \xpg at ifdefined{acadian}{}%
       {\xpg at warning{No hyphenation patterns were loaded for "French (Canada)"\MessageBreak
         I will use the standard patterns for French instead}%
@@ -14786,7 +15075,7 @@
    \or
       % swiss:
       \def\french at variant{swissfrench}%
-      \SetLanguageKeys{french}{babelname=french,bcp47=fr-CH}%
+      \SetLanguageKeys{french}{babelname=french,bcp47=fr-CH,bcp47-language=fr,bcp47-region=CH}%
       \adddialect\l at swissfrench\l at french\relax%
       \french at thincolonspacetrue
    \fi
@@ -15255,7 +15544,7 @@
 % 
 % \subsection{gloss-friulan.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-friulan.ldf}[polyglossia: module for Friulian]
 
@@ -15272,12 +15561,14 @@
 % 
 % \subsection{gloss-friulian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-friulian.ldf}[polyglossia: module for Friulian]
 
 \PolyglossiaSetup{friulian}{%
   bcp47=fur,
+  bcp47-language=fur,
+  bcp47-script=Latn,
   language=Friulian,
   babelname=friulan,
   hyphennames={friulan,furlan},
@@ -15356,7 +15647,7 @@
 % 
 % \subsection{gloss-fur.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-fur.ldf}[polyglossia: module for fur (Friulian)]
 
@@ -15373,7 +15664,7 @@
 % 
 % \subsection{gloss-ga.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ga.ldf}[polyglossia: module for ga (Gaelic)]
 
@@ -15390,12 +15681,14 @@
 % 
 % \subsection{gloss-gaelic.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-gaelic.ldf}[polyglossia: module for Gaelic]
 
 \PolyglossiaSetup{gaelic}{
   bcp47=ga,
+  bcp47-language=ga,
+  bcp47-script=Latn,
   language=Irish,
   babelname=irish,
   hyphennames={irish},
@@ -15416,12 +15709,12 @@
    \ifcase\xpg at nr\relax
       % irish:
       \gdef\gaelic at variant{irish}%
-      \SetLanguageKeys{gaelic}{language=Irish,langtag=IRI,babelname=irish,bcp47=ga}%
+      \SetLanguageKeys{gaelic}{language=Irish,langtag=IRI,babelname=irish,bcp47=ga,bcp47-language=ga}%
       \xpg at fontsetup@latin{gaelic}%
    \or
       % scottish:
       \gdef\gaelic at variant{scottish}%
-      \SetLanguageKeys{gaelic}{language=Gaelic,langtag=GAE,babelname=scottish,bcp47=gd}%
+      \SetLanguageKeys{gaelic}{language=Gaelic,langtag=GAE,babelname=scottish,bcp47=gd,bcp47-language=gd}%
       \xpg at fontsetup@latin{gaelic}%
    \fi
    \xpg at info{Option: gaelic, variant=\xpg at val}%
@@ -15518,11 +15811,14 @@
 % 
 % \subsection{gloss-galician.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-galician.ldf}[polyglossia: module for Galician]
 \PolyglossiaSetup{galician}{
   bcp47=gl,
+  bcp47-language=gl,
+  bcp47-region=ES,
+  bcp47-script=Latn,
   hyphennames={galician},
   hyphenmins={2,2},
   langtag=GAL,
@@ -15572,7 +15868,7 @@
 % 
 % \subsection{gloss-gd.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-gd.ldf}[polyglossia: module for gd (Gaelic)]
 
@@ -15589,12 +15885,14 @@
 % 
 % \subsection{gloss-georgian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-georgian.ldf}[polyglossia: module for Georgian]
 
 \PolyglossiaSetup{georgian}{
   bcp47=ka,
+  bcp47-language=ka,
+  bcp47-script=Geor,
   script=Georgian,
   scripttag=geor,
   langtag=KAT,
@@ -15609,8 +15907,12 @@
 \newif\ifgeorgian at numerals
 \define at key{georgian}{numerals}[arabic]{%
    \ifstrequal{#1}{georgian}%
-      {\georgian at numeralstrue}%
-      {\georgian at numeralsfalse}%
+      {\georgian at numeralstrue%
+       \SetLanguageKeys{georgian}{bcp47-extension-u=nu-geor}%
+      }%
+      {\georgian at numeralsfalse%
+       \SetLanguageKeys{georgian}{bcp47-extension-u=nu-latn}%
+      }%
 }
 
 \define at boolkey{georgian}[georgian@]{babelshorthands}[true]{}
@@ -15831,12 +16133,16 @@
 % 
 % \subsection{gloss-german.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-german.ldf}[polyglossia: module for German]
 
 \PolyglossiaSetup{german}{
   bcp47=de-DE,
+  bcp47-language=de,
+  bcp47-region=DE,
+  bcp47-variant=1996,
+  bcp47-script=Latn,
   hyphenmins={2,2},
   frenchspacing=true,
   fontsetup=true,
@@ -15926,43 +16232,43 @@
   \if at german@oldspelling
      \if at swiss@locale
          \if at german@blackletter
-           \SetLanguageKeys{german}{babelname=swissgerman,bcp47=de-Latf-CH-1901}%
+           \SetLanguageKeys{german}{babelname=swissgerman,bcp47=de-Latf-CH-1901,bcp47-language=de,bcp47-region=CH,bcp47-variant=1901,bcp47-script=Latf}%
          \else
-           \SetLanguageKeys{german}{babelname=swissgerman,bcp47=de-CH-1901}%
+           \SetLanguageKeys{german}{babelname=swissgerman,bcp47=de-CH-1901,bcp47-language=de,bcp47-region=CH,bcp47-variant=1901,bcp47-script=Latn}%
          \fi
      \else
      \if at austrian@locale
          \if at german@blackletter
-            \SetLanguageKeys{german}{babelname=austrian,bcp47=de-Latf-AT-1901}%
+            \SetLanguageKeys{german}{babelname=austrian,bcp47=de-Latf-AT-1901,bcp47-language=de,bcp47-region=AT,bcp47-variant=1901,bcp47-script=Latf}%
          \else
-            \SetLanguageKeys{german}{babelname=austrian,bcp47=de-AT-1901}%
+            \SetLanguageKeys{german}{babelname=austrian,bcp47=de-AT-1901,bcp47-language=de,bcp47-region=AT,bcp47-variant=1901,bcp47-script=Latn}%
          \fi
      \else
          \if at german@blackletter
-            \SetLanguageKeys{german}{babelname=german,bcp47=de-Latf-DE-1901}%
+            \SetLanguageKeys{german}{babelname=german,bcp47=de-Latf-DE-1901,bcp47-script=Latf,bcp47-language=de,bcp47-region=DE,bcp47-variant=1901,bcp47-script=Latf}%
          \else
-            \SetLanguageKeys{german}{babelname=german,bcp47=de-DE-1901}%
+            \SetLanguageKeys{german}{babelname=german,bcp47=de-DE-1901,bcp47-language=de,bcp47-region=DE,bcp47-variant=1901,bcp47-script=Latn}%
          \fi
      \fi\fi
   \else
      \if at swiss@locale
          \if at german@blackletter
-           \SetLanguageKeys{german}{babelname=nswissgerman,bcp47=de-Latf-CH}%
+           \SetLanguageKeys{german}{babelname=nswissgerman,bcp47=de-Latf-CH,bcp47-language=de,bcp47-region=CH,bcp47-variant=1996,bcp47-script=Latf}%
          \else
-           \SetLanguageKeys{german}{babelname=nswissgerman,bcp47=de-CH}%
+           \SetLanguageKeys{german}{babelname=nswissgerman,bcp47=de-CH,bcp47-language=de,bcp47-region=CH,bcp47-variant=1996,bcp47-script=Latn}%
          \fi
      \else
      \if at austrian@locale
          \if at german@blackletter
-           \SetLanguageKeys{german}{babelname=naustrian,bcp47=de-Latf-AT}%
+           \SetLanguageKeys{german}{babelname=naustrian,bcp47=de-Latf-AT,bcp47-language=de,bcp47-region=AT,bcp47-variant=1996,bcp47-script=Latf}%
          \else
-           \SetLanguageKeys{german}{babelname=naustrian,bcp47=de-AT}%
+           \SetLanguageKeys{german}{babelname=naustrian,bcp47=de-AT,bcp47-language=de,bcp47-region=AT,bcp47-variant=1996,bcp47-script=Latn}%
          \fi
      \else
          \if at german@blackletter
-           \SetLanguageKeys{german}{babelname=ngerman,bcp47=de-Latf-DE}%
+           \SetLanguageKeys{german}{babelname=ngerman,bcp47=de-Latf-DE,bcp47-language=de,bcp47-region=DE,bcp47-variant=1996,bcp47-script=Latf}%
          \else
-           \SetLanguageKeys{german}{babelname=ngerman,bcp47=de-DE}%
+           \SetLanguageKeys{german}{babelname=ngerman,bcp47=de-DE,bcp47-language=de,bcp47-region=DE,bcp47-variant=1996,bcp47-script=Latn}%
          \fi
      \fi\fi
   \fi
@@ -16165,7 +16471,7 @@
 % 
 % \subsection{gloss-germanb.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-germanb.ldf}[polyglossia: module for German (old spelling)]
 
@@ -16182,7 +16488,7 @@
 % 
 % \subsection{gloss-gl.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-gl.ldf}[polyglossia: module for gl (Galician)]
 
@@ -16199,7 +16505,7 @@
 % 
 % \subsection{gloss-grc.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-grc.ldf}[polyglossia: module for grc (Greek)]
 
@@ -16216,12 +16522,16 @@
 % 
 % \subsection{gloss-greek.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-greek.ldf}[polyglossia: module for Greek]
 
 \PolyglossiaSetup{greek}{
   bcp47=el-monoton,
+  bcp47-language=el,
+  bcp47-variant=monoton,
+  bcp47-script=Grek,
+  bcp47-extension-u=nu-grek,
   script=Greek,
   scripttag=grek,
   langtag=ELL,
@@ -16275,7 +16585,7 @@
     \def\greek at variant{polygreek}%
     \def\captionsgreek{\polygreekcaptions}%
     \def\dategreek{\datepolygreek}%
-    \SetLanguageKeys{greek}{babelname=polutonikogreek,bcp47=el-polyton}%
+    \SetLanguageKeys{greek}{babelname=polutonikogreek,bcp47=el-polyton,bcp47-language=el,bcp47-variant=polyton}%
     \xpg at info{Option: Polytonic Greek}%
   \else
     \ifx\@tmpa\tmp at ancient
@@ -16286,7 +16596,7 @@
       \def\greek at variant{ancientgreek}%
       \def\captionsgreek{\ancientgreekcaptions}%
       \def\dategreek{\dateancientgreek}%
-      \SetLanguageKeys{greek}{babelname=greek,bcp47=grc}%
+      \SetLanguageKeys{greek}{babelname=greek,bcp47=grc,bcp47-language=grc,bcp47-variant={}}%
       \xpg at info{Option: Ancient Greek}%
     \else %monotonic
       \xpg at ifdefined{monogreek}{}%
@@ -16296,7 +16606,7 @@
       \def\greek at variant{monogreek}% monotonic
       \def\captionsgreek{\monogreekcaptions}%
       \def\dategreek{\datemonogreek}%
-      \SetLanguageKeys{greek}{babelname=greek,bcp47=el-monoton}%
+      \SetLanguageKeys{greek}{babelname=greek,bcp47=el-monoton,bcp47-language=el,bcp47-variant=polyton}%
       \xpg at info{Option: Monotonic Greek}%
     \fi
   \fi}
@@ -16308,7 +16618,12 @@
 
 \newif\if at greek@numerals
 \define at key{greek}{numerals}[greek]{%
-  \ifstrequal{#1}{arabic}{\@greek at numeralsfalse}{\@greek at numeralstrue}%
+  \ifstrequal{#1}{arabic}{%
+   \@greek at numeralsfalse%
+    \SetLanguageKeys{greek}{bcp47-extension-u=nu-latn}%
+   }{\@greek at numeralstrue%
+    \SetLanguageKeys{greek}{bcp47-extension-u=nu-grek}%
+   }%
 }
 
 \define at boolkey{greek}{attic}[true]{\xpg at warning{Greek option `attic' is no longer required.}}
@@ -16530,7 +16845,7 @@
 \let\greeknumeral=\greeknumber
 \let\Greeknumeral=\Greeknumber
 \def\gr at num@i#1{%
-  \ifcase#1\or α\or β\or γ\or δ\or ε\or Ϛ\or ζ\or η\or θ\fi
+  \ifcase#1\or α\or β\or γ\or δ\or ε\or ϛ\or ζ\or η\or θ\fi
   \ifnum#1=\z@\else\anw at true\fi\anw at print}
 \def\gr at num@ii#1{%
   \ifcase#1\or ι\or κ\or λ\or μ\or ν\or ξ\or ο\or π\or ϟ\fi
@@ -16550,7 +16865,7 @@
   ͵\ifcase#1\or ρ\or σ\or τ\or υ\or φ\or χ\or ψ\or ω\or ϡ\fi
   \gr at num@v}
 \def\gr at Num@i#1{%
-  \ifcase#1 \or Α\or Β\or Γ\or Δ\or Ε\or \MakeUppercase{Ϛ}\or Ζ\or Η\or θ\fi
+  \ifcase#1 \or Α\or Β\or Γ\or Δ\or Ε\or Ϛ\or Ζ\or Η\or θ\fi
   \ifnum#1=\z@\else\anw at true\fi\anw at print}
 \def\gr at Num@ii#1{%
   \ifcase#1 \or Ι\or Κ\or Λ\or Μ\or Ν\or Ξ\or Ο\or Π\or \MakeUppercase{ϟ}\fi
@@ -16636,7 +16951,7 @@
 % 
 % \subsection{gloss-he.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-he.ldf}[polyglossia: module for he (Hebrew)]
 
@@ -16653,7 +16968,7 @@
 % 
 % \subsection{gloss-hebrew.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-hebrew.ldf}[polyglossia: module for Hebrew]
 
@@ -16662,6 +16977,9 @@
 
 \PolyglossiaSetup{hebrew}{
   bcp47=he,
+  bcp47-language=hr,
+  bcp47-region=HE,
+  bcp47-script=Hebr,
   script=Hebrew,
   direction=RL,
   scripttag=hebr,
@@ -16698,9 +17016,11 @@
    \ifcase\xpg at nr\relax
       % hebrew:
       \@hebrew at numeralstrue%
+      \SetLanguageKeys{hebrew}{bcp47-extension-u=nu-hebr}%
    \or
       % arabic:
       \@hebrew at numeralsfalse%
+      \SetLanguageKeys{hebrew}{bcp47-extension-u=nu-latn}%
    \fi
    \xpg at info{Option: Hebrew, numerals=\xpg at val}%
 }{\xpg at warning{Unknown Hebrew numerals value `#1'}}
@@ -16834,7 +17154,7 @@
 % 
 % \subsection{gloss-hi.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-hi.ldf}[polyglossia: module for hi (Hindi)]
 
@@ -16851,7 +17171,7 @@
 % 
 % \subsection{gloss-hindi.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 % UTF-8 strings kindly provided by Zdenĕk Wagner, 10-03-2008
 % with corrections and additional contributions by Anshuman Pandey
@@ -16862,6 +17182,8 @@
 \RequirePackage{devanagaridigits}
 \PolyglossiaSetup{hindi}{
   bcp47=hi,
+  bcp47-language=hi,
+  bcp47-script=Deva,
   script=Devanagari,
   scripttag=deva,
   langtag=HIN,
@@ -16895,9 +17217,11 @@
    \ifcase\xpg at nr\relax
       % Devanagari:
       \hindi at devanagari@numeralstrue%
+      \SetLanguageKeys{hindi}{bcp47-extension-u=nu-deva}%
    \or
       % Western:
       \hindi at devanagari@numeralsfalse%
+      \SetLanguageKeys{hindi}{bcp47-extension-u=nu-latn}%
    \fi
    \xpg at info{Option: Hindi, numerals=\xpg at val}%
 }{\xpg at warning{Unknown Hindi numeral `#1'}}
@@ -16978,7 +17302,7 @@
 % 
 % \subsection{gloss-hr.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-hr.ldf}[polyglossia: module for hr (Croatian)]
 
@@ -16995,7 +17319,7 @@
 % 
 % \subsection{gloss-hsb.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-hsb.ldf}[polyglossia: module for hsb (Higher Sorbian)]
 
@@ -17012,7 +17336,7 @@
 % 
 % \subsection{gloss-hu.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-hu.ldf}[polyglossia: module for hu (Hungarian)]
 
@@ -17029,12 +17353,15 @@
 % 
 % \subsection{gloss-hungarian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-hungarian.ldf}[polyglossia: module for Hungarian]
 
 \PolyglossiaSetup{hungarian}{
   bcp47=hu,
+  bcp47-language=hu,
+  bcp47-region=HU,
+  bcp47-script=Latn,
   babelname=magyar,
   hyphennames={hungarian,magyar},
   langtag=HUN,
@@ -17425,7 +17752,7 @@
 % 
 % \subsection{gloss-hy.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-hy.ldf}[polyglossia: module for hy (Armenian)]
 
@@ -17442,7 +17769,7 @@
 % 
 % \subsection{gloss-ia.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ia.ldf}[polyglossia: module for ia (Interlingua)]
 
@@ -17459,11 +17786,13 @@
 % 
 % \subsection{gloss-icelandic.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-icelandic.ldf}[polyglossia: module for Icelandic]
 \PolyglossiaSetup{icelandic}{
   bcp47=is,
+  bcp47-language=is,
+  bcp47-script=Latn,
   hyphennames={icelandic},
   hyphenmins={2,2},
   langtag=ISL,
@@ -17515,7 +17844,7 @@
 % 
 % \subsection{gloss-id.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-id.ldf}[polyglossia: module for id (Malay)]
 
@@ -17532,11 +17861,13 @@
 % 
 % \subsection{gloss-interlingua.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-interlingua.ldf}[polyglossia: module for Interlingua]
 \PolyglossiaSetup{interlingua}{
   bcp47=ia,
+  bcp47-language=ia,
+  bcp47-script=Latn,
   hyphennames={interlingua},
   hyphenmins={2,2},
   langtag=INA,
@@ -17588,7 +17919,7 @@
 % 
 % \subsection{gloss-irish.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-irish.ldf}[polyglossia: module for Irish]
 
@@ -17606,7 +17937,7 @@
 % 
 % \subsection{gloss-is.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-is.ldf}[polyglossia: module for is (Icelandic)]
 
@@ -17623,7 +17954,7 @@
 % 
 % \subsection{gloss-it.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-it.ldf}[polyglossia: module for it (Italian)]
 
@@ -17641,11 +17972,14 @@
 % \subsection{gloss-italian.ldf}
 %    \begin{macrocode}
 % !TEX encoding = UTF-8 Unicode
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-italian.ldf}[polyglossia: module for Italian]
 \PolyglossiaSetup{italian}{
   bcp47=it,
+  bcp47-language=it,
+  bcp47-region=IT,
+  bcp47-script=Latn,
   hyphennames={italian},
   hyphenmins={2,2},
   langtag=ITA,
@@ -17790,7 +18124,7 @@
 % 
 % \subsection{gloss-ja.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ja.ldf}[polyglossia: module for ja (Japanese)]
 
@@ -17807,12 +18141,15 @@
 % 
 % \subsection{gloss-japanese.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-japanese.ldf}[polyglossia: module for Japanese]
 
 \PolyglossiaSetup{japanese}{
 	bcp47=ja,
+	bcp47-language=ja,
+	bcp47-region=JP,
+	bcp47-script=Hrkt,
 	script=CJK,
 	language=Japanese,
 	langtag=JAN,
@@ -18042,7 +18379,7 @@
 % 
 % \subsection{gloss-ka.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ka.ldf}[polyglossia: module for ka (Georgian)]
 
@@ -18060,7 +18397,7 @@
 % \subsection{gloss-kannada.ldf}
 %    \begin{macrocode}
 %% gloss-kannada.ldf
-%% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+%% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %%
 %% Copyright 2011 Aravinda VK <hallimanearavind AT gmail.com>,
 %%                Shankar Prasad <prasad.mvs AT gmail.com>,
@@ -18083,6 +18420,9 @@
 
 \PolyglossiaSetup{kannada}{
   bcp47=kn,
+  bcp47-language=kn,
+  bcp47-region=IN,
+  bcp47-script=Knda,
   script=Kannada,
   scripttag=knda,
   langtag=KAN,
@@ -18180,11 +18520,14 @@
 % 
 % \subsection{gloss-khmer.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-khmer.ldf}[polyglossia: module for Khmer]
 \PolyglossiaSetup{khmer}{
   bcp47=km,
+  bcp47-language=km,
+  bcp47-region=KH,
+  bcp47-script=Khmr,
   script=Khmer,%
   scripttag=khmr,%
   langtag=KHM,%
@@ -18196,8 +18539,13 @@
 \def\tmp at khmer{khmer}
 \define at key{khmer}{numerals}[arabic]{%
   \def\@tmpa{#1}%
-  \ifx\@tmpa\tmp at khmer\@khmer at numeralstrue%
-  \else\@khmer at numeralsfalse\fi%
+  \ifx\@tmpa\tmp at khmer%
+    \@khmer at numeralstrue%
+    \SetLanguageKeys{khmer}{bcp47-extension-u=nu-khmr}%
+  \else%
+    \@khmer at numeralsfalse%
+    \SetLanguageKeys{khmer}{bcp47-extension-u=nu-latn}%
+   \fi%
 }
 \setkeys{khmer}{numerals}
 \def\captionskhmer{%
@@ -18349,7 +18697,7 @@
 % 
 % \subsection{gloss-km.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-km.ldf}[polyglossia: module for km (Khmer)]
 
@@ -18366,7 +18714,7 @@
 % 
 % \subsection{gloss-kmr-Arab.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-kmr-Arab.ldf}[polyglossia: module for kmr-Arab (Kurdish)]
 
@@ -18383,7 +18731,7 @@
 % 
 % \subsection{gloss-kmr-Latn.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-kmr-Latn.ldf}[polyglossia: module for kmr-Latn (Kurdish)]
 
@@ -18400,7 +18748,7 @@
 % 
 % \subsection{gloss-kmr.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-kmr.ldf}[polyglossia: module for kmr (Kurdish)]
 
@@ -18417,7 +18765,7 @@
 % 
 % \subsection{gloss-kn.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-kn.ldf}[polyglossia: module for kn (Kannada)]
 
@@ -18434,7 +18782,7 @@
 % 
 % \subsection{gloss-ko.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ko.ldf}[polyglossia: module for ko (Korean)]
 
@@ -18451,19 +18799,21 @@
 % 
 % \subsection{gloss-korean.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-korean.ldf}[polyglossia: module for Korean]
 
 \PolyglossiaSetup{korean}{
   bcp47=ko,
-    script=Hangul,
-    scripttag=hang,
-    language=Korean,
-    langtag=KOR,
-    hyphennames={nohyphenation},
-    frenchspacing=true,
-    fontsetup=true
+  bcp47-language=ko,
+  bcp47-script=Kore,
+  script=Hangul,
+  scripttag=hang,
+  language=Korean,
+  langtag=KOR,
+  hyphennames={nohyphenation},
+  frenchspacing=true,
+  fontsetup=true
 }
 
 % BCP-47 compliant aliases
@@ -18929,7 +19279,7 @@
 % 
 % \subsection{gloss-ku-Arab.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ku-Arab.ldf}[polyglossia: module for ku-Arab (Kurdish)]
 
@@ -18946,7 +19296,7 @@
 % 
 % \subsection{gloss-ku-Latn.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ku-Latn.ldf}[polyglossia: module for ku-Latn (Kurdish)]
 
@@ -18963,7 +19313,7 @@
 % 
 % \subsection{gloss-ku.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ku.ldf}[polyglossia: module for ku (Kurdish)]
 
@@ -18980,7 +19330,7 @@
 % 
 % \subsection{gloss-kurdish.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 % Created on September 1, 2019
 % Last updated on May 17, 2020
@@ -18995,6 +19345,9 @@
 
 \PolyglossiaSetup{kurdish}{
   bcp47=ckb,
+  bcp47-language=ckb,
+  bcp47-script=Arab,
+  bcp47-casing=ckb-Arab,
   script=Arabic,
   direction=RL,
   scripttag=arab,
@@ -19061,9 +19414,9 @@
      \@western at numeralstrue%
      \if at kurdish@kurmanji
          \def\kurdish at pattern{kurmanji}%
-         \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurmanji,bcp47=kmr-Latn}%
+         \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurmanji,bcp47=kmr-Latn,bcp47-language=kmr,bcp47-script=Latn,bcp47-casing=kmr-Latn}%
      \else
-         \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurdish,bcp47=ckb-Arab}%
+         \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurdish,bcp47=ckb-Arab,bcp47-language=ckb,bcp47-script=Arab,bcp47-casing=ckb-Arab}%
      \fi
      \def\kurdish at script{latin}
      \xpg at fontsetup@latin{kurdish}%
@@ -19071,20 +19424,20 @@
      \if at kurdish@arabic% Arabic explicitly set
         \if at kurdish@kurmanji
             \if at force@western at numerals\else\@western at numeralsfalse\fi%
-            \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurmanji,bcp47=kmr-Arab}%
+            \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurmanji,bcp47=kmr-Arab,bcp47-language=kmr,bcp47-script=Arab,bcp47-casing=kmr-Arab}%
             \def\kurdish at script{arabic}%
         \else
-            \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish,bcp47=ckb-Arab}%
+            \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish,bcp47=ckb-Arab,bcp47-language=ckb,bcp47-script=Arab,bcp47-casing=ckb-Arab}%
         \fi
         \xpg at fontsetup@nonlatin{kurdish}%
      \else% sorani=Arabic, kurmanji=Latin
         \if at kurdish@kurmanji
             \@western at numeralstrue%
-            \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurmanji,bcp47=kmr-Latn}%
+            \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurmanji,bcp47=kmr-Latn,bcp47-language=kmr,bcp47-script=Latn,bcp47-casing=kmr-Latn}%
             \xpg at fontsetup@latin{kurdish}%
             \def\kurdish at script{latin}
         \else
-            \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish,bcp47=ckb-Arab}%
+            \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish,bcp47=ckb-Arab,bcp47-language=ckb,bcp47-script=Arab,bcp47-casing=ckb-Arab}%
             \xpg at fontsetup@nonlatin{kurdish}%
         \fi
      \fi
@@ -19386,7 +19739,7 @@
 % 
 % \subsection{gloss-kurmanji.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-kurmanji.ldf}[polyglossia: module for Kurmanji Kurdish]
 
@@ -19403,7 +19756,7 @@
 % 
 % \subsection{gloss-la-x-classic.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-la-xclassic.ldf}[polyglossia: module for la-xclassic (Latin)]
 
@@ -19420,7 +19773,7 @@
 % 
 % \subsection{gloss-la-x-ecclesia.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-la-xecclesiastic.ldf}[polyglossia: module for la-xecclesiastic (Latin)]
 
@@ -19437,7 +19790,7 @@
 % 
 % \subsection{gloss-la-x-medieval.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-la-xmedieval.ldf}[polyglossia: module for la-xmedieval (Latin)]
 
@@ -19454,7 +19807,7 @@
 % 
 % \subsection{gloss-la.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-la.ldf}[polyglossia: module for la (Latin)]
 
@@ -19471,12 +19824,14 @@
 % 
 % \subsection{gloss-lao.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-lao.ldf}[polyglossia: module for Lao]
 
 \PolyglossiaSetup{lao}{
   bcp47=lo,
+  bcp47-language=lo,
+  bcp47-script=Laoo,
   script=Lao,
   scripttag=lao,
   langtag=LAO,
@@ -19580,7 +19935,7 @@
 % 
 % \subsection{gloss-latin.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-latin.ldf}[polyglossia: module for Latin]
 
@@ -19589,6 +19944,8 @@
 \PolyglossiaSetup {latin}
   {
     bcp47 = la,
+    bcp47-language = la,
+    bcp47-script = Latn,
     hyphenmins = {2,2},
     frenchspacing = true,
     fontsetup = true,
@@ -19976,7 +20333,7 @@
     \bool_set_true:N \l_polyglossia_latin_capitalize_month_bool
     \bool_set_false:N \l_polyglossia_latin_punctuation_spacing_bool
     \str_set:Nn \l_polyglossia_latin_variant_str {classic}
-    \SetLanguageKeys {latin} { babelname = classiclatin, bcp47 = la-x-classic }
+    \SetLanguageKeys {latin} { babelname = classiclatin, bcp47 = la-x-classic, bcp47-extension-x = classic }
     \polyglossia_latin_set_patterns:n {classiclatin}
   }
 
@@ -19988,7 +20345,7 @@
     \bool_set_true:N \l_polyglossia_latin_capitalize_month_bool
     \bool_set_false:N \l_polyglossia_latin_punctuation_spacing_bool
     \str_set:Nn \l_polyglossia_latin_variant_str {medieval}
-    \SetLanguageKeys {latin} { babelname = medievallatin, bcp47 = la-x-medieval }
+    \SetLanguageKeys {latin} { babelname = medievallatin, bcp47 = la-x-medieval, bcp47-extension-x = medieval }
     \polyglossia_latin_use_modern_patterns:
   }
 
@@ -20012,7 +20369,7 @@
     \bool_set_false:N \l_polyglossia_latin_capitalize_month_bool
     \bool_set_true:N \l_polyglossia_latin_punctuation_spacing_bool
     \str_set:Nn \l_polyglossia_latin_variant_str {ecclesiastic}
-    \SetLanguageKeys {latin} { babelname = ecclesiasticlatin, bcp47 = la-x-ecclesia }
+    \SetLanguageKeys {latin} { babelname = ecclesiasticlatin, bcp47 = la-x-ecclesia, bcp47-extension-x = ecclesia }
     \polyglossia_latin_use_modern_patterns:
   }
 
@@ -20214,7 +20571,12 @@
 % (in case Latin is used as a secondary language, see #394). We have to
 % turn it off if Latin is not the main language.
 
-\protected at write \@auxout { } { \shorthandoff {=} } % for the aux file
+% For the aux file:
+\protected at write \@auxout { }
+  {
+    \shorthandoff {=}
+    \shorthandoff* {^} % #582
+  }
 
 \AtBeginDocument
   {
@@ -20688,7 +21050,7 @@
 % 
 % \subsection{gloss-latinclassic.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-latinclassic.ldf}[polyglossia: module for classic Latin]
 
@@ -20705,7 +21067,7 @@
 % 
 % \subsection{gloss-latinecclesiastic.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-latinecclesiastic.ldf}[polyglossia: module for ecclesiastic Latin]
 
@@ -20722,7 +21084,7 @@
 % 
 % \subsection{gloss-latinmedieval.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-latinmedieval.ldf}[polyglossia: module for medieval Latin]
 
@@ -20739,11 +21101,14 @@
 % 
 % \subsection{gloss-latvian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-latvian.ldf}[polyglossia: module for Latvian]
 \PolyglossiaSetup{latvian}{
   bcp47=lv,
+  bcp47-language=lv,
+  bcp47-region=LV,
+  bcp47-script=Latn,
   hyphennames={latvian},
   hyphenmins={2,2},
   langtag=LVI,
@@ -20794,7 +21159,7 @@
 % 
 % \subsection{gloss-lithuanian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 % Translated by Paulius Sladkevičius <komsas at gmail.com>
 
@@ -20801,6 +21166,9 @@
 \ProvidesFile{gloss-lithuanian.ldf}[polyglossia: module for Lithuanian]
 \PolyglossiaSetup{lithuanian}{
   bcp47=lt,
+  bcp47-language=lt,
+  bcp47-region=LT,
+  bcp47-script=Latn,
   hyphennames={lithuanian},
   hyphenmins={2,2},
   langtag=LTH,
@@ -20873,7 +21241,7 @@
 % 
 % \subsection{gloss-lo.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-lo.ldf}[polyglossia: module for lo (Lao)]
 
@@ -20890,7 +21258,7 @@
 % 
 % \subsection{gloss-lowersorbian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-lowersorbian.ldf}[polyglossia: module for Lower Sorbian]
 
@@ -20907,7 +21275,7 @@
 % 
 % \subsection{gloss-lsorbian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-lsorbian.ldf}[polyglossia: module for Lower Sorbian]
 
@@ -20925,7 +21293,7 @@
 % 
 % \subsection{gloss-lt.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-lt.ldf}[polyglossia: module for lt (Lithuanian)]
 
@@ -20942,7 +21310,7 @@
 % 
 % \subsection{gloss-lv.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-lv.ldf}[polyglossia: module for lv (Latvian)]
 
@@ -20959,11 +21327,13 @@
 % 
 % \subsection{gloss-macedonian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-macedonian.ldf}[polyglossia: module for Macedonian]
 \PolyglossiaSetup{macedonian}{
   bcp47=mk,
+  bcp47-language=mk,
+  bcp47-script=Cyrl,
   script=Cyrillic,
   scripttag=cyrl,
   langtag=MKD,
@@ -21056,7 +21426,7 @@
 % 
 % \subsection{gloss-magyar.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-magyar.ldf}[polyglossia: module for Hungarian (Magyar)]
 
@@ -21073,7 +21443,7 @@
 % 
 % \subsection{gloss-malay.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-malay.ldf}[polyglossia: module for Malay]
 
@@ -21081,6 +21451,8 @@
 
 \PolyglossiaSetup{malay}{%
   bcp47=id,
+  bcp47-language=id,
+  bcp47-script=Latn,
   language=Malay,
   langtag=MLY,
   hyphennames={malay,melayu,bahasam,bahasai,indonesian,indon,bahasa},
@@ -21113,7 +21485,7 @@
       \malay at melayutrue
    \fi
    \ifmalay at melayu
-      \SetLanguageKeys{malay}{language=Malay,langtag=MLY,babelname=bahasam,bcp47=zsm}%
+      \SetLanguageKeys{malay}{language=Malay,langtag=MLY,babelname=bahasam,bcp47=zsm,bcp47-language=zsm}%
       \xpg at fontsetup@latin{malay}%
       % Check if \l at malay is defined. If not, try to set it to some variety
       % (specific order as in the csv list below), or null language if everything fails
@@ -21131,7 +21503,7 @@
         }%
       }%
    \else
-      \SetLanguageKeys{malay}{language=Indonesian,langtag=IND,babelname=bahasa,bcp47=id}%
+      \SetLanguageKeys{malay}{language=Indonesian,langtag=IND,babelname=bahasa,bcp47=id,bcp47-language=id}%
       \xpg at fontsetup@latin{malay}%
       % Check if \l at indonesian is defined. If not, try to set it to some variety
       % (specific order as in the csv list below), or null language if everything fails
@@ -21270,7 +21642,7 @@
 % 
 % \subsection{gloss-malayalam.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-malayalam.ldf}[polyglossia: module for Malayalam]
 
@@ -21278,6 +21650,8 @@
 
 \PolyglossiaSetup{malayalam}{
   bcp47=ml,
+  bcp47-language=ml,
+  bcp47-script=Mlym,
   script=Malayalam,
   scripttag=mlym,
   langtag=MAL, %FIXME there is also MLR for "Malayalam Reformed"
@@ -21338,7 +21712,7 @@
 % 
 % \subsection{gloss-marathi.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 % Translations provided by Abhijit Navale <abhi_navale at live.in>
 % Ordinals (1-100) added by Niranjan Tambe <niranjanvikastambe at gmail.com> on 14th December, 2019
@@ -21350,6 +21724,8 @@
 
 \PolyglossiaSetup{marathi}{
   bcp47=mr,
+  bcp47-language=mr,
+  bcp47-script=Deva,
   script=Devanagari,
   scripttag=deva,
   langtag=MAR,
@@ -21370,9 +21746,11 @@
    \ifcase\xpg at nr\relax
       % Western:
       \marathi at devanagari@numeralsfalse%
+      \SetLanguageKeys{marathi}{bcp47-extension-u=nu-latn}%
    \or
       % Devanagari:
       \marathi at devanagari@numeralstrue%
+      \SetLanguageKeys{marathi}{bcp47-extension-u=nu-deva}%
    \fi
    \xpg at info{Option: Marathi, numerals=\xpg at val}%
 }{\xpg at warning{Unknown Marathi numerals value `#1'}}
@@ -21484,7 +21862,7 @@
 % 
 % \subsection{gloss-mk.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-mk.ldf}[polyglossia: module for mk (Macedonian)]
 
@@ -21501,7 +21879,7 @@
 % 
 % \subsection{gloss-ml.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ml.ldf}[polyglossia: module for ml (Malayalam)]
 
@@ -21518,7 +21896,7 @@
 % 
 % \subsection{gloss-mn.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-mn.ldf}[polyglossia: module for mn (Mongolian)]
 
@@ -21535,7 +21913,7 @@
 % 
 % \subsection{gloss-mongolian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-mongolian.ldf}[polyglossia: module for Mongolian]
 
@@ -21543,6 +21921,8 @@
 
 \PolyglossiaSetup{mongolian}{
   bcp47=mn,
+  bcp47-language=mn,
+  bcp47-script=Cyrl,
   script=Cyrillic,
   scripttag=cyrl,
   langtag=MNG,
@@ -21772,7 +22152,7 @@
 % 
 % \subsection{gloss-mr.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-mr.ldf}[polyglossia: module for mr (Marathi)]
 
@@ -21789,7 +22169,7 @@
 % 
 % \subsection{gloss-naustrian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-naustrian.ldf}[polyglossia: module for Austrian German (current spelling)]
 
@@ -21806,7 +22186,7 @@
 % 
 % \subsection{gloss-nb.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-nb.ldf}[polyglossia: module for nb (Norwegian)]
 
@@ -21823,7 +22203,7 @@
 % 
 % \subsection{gloss-newzealand.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-newzealand.ldf}[polyglossia: module for Newzealand English]
 
@@ -21840,7 +22220,7 @@
 % 
 % \subsection{gloss-ngerman.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ngerman.ldf}[polyglossia: module for German (current spelling)]
 
@@ -21857,11 +22237,13 @@
 % 
 % \subsection{gloss-nko.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-nko.ldf}[Polyglossia: module for N’Ko]
 \PolyglossiaSetup{nko}{%
   bcp47=nko,
+  bcp47-language=nko,
+  bcp47-script=Nkoo,
   script=N'ko,
   scripttag=nko~,
   langtag=NKO,
@@ -21953,7 +22335,7 @@
 % 
 % \subsection{gloss-norsk.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-norsk.ldf}[polyglossia: module for Norwegian (Bokmal)]
 
@@ -21971,11 +22353,13 @@
 % 
 % \subsection{gloss-norwegian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-norwegian.ldf}[polyglossia: module for Norwegian]
 \PolyglossiaSetup{norwegian}{
   bcp47=nn,
+  bcp47-language=nn,
+  bcp47-script=Latn,
   hyphennames={nynorsk},
   langtag=NYN,
   hyphenmins={2,2},
@@ -21995,12 +22379,12 @@
    \ifcase\xpg at nr\relax
       % nynorsk:
       \def\norwegian at variant{nynorsk}%
-      \SetLanguageKeys{norwegian}{langtag=NYN,babelname=nynorsk,bcp47=nn}%
+      \SetLanguageKeys{norwegian}{langtag=NYN,babelname=nynorsk,bcp47=nn,bcp47-language=nn}%
       \xpg at fontsetup@latin{norwegian}%
    \or
       % bokmal:
       \def\norwegian at variant{norsk}%
-      \SetLanguageKeys{norwegian}{langtag=NOR,babelname=norsk,bcp47=nb}%
+      \SetLanguageKeys{norwegian}{langtag=NOR,babelname=norsk,bcp47=nb,bcp47-language=nb}%
       \xpg at fontsetup@latin{norwegian}%
    \fi
    \xpg at info{Option: norwegian, variant=\xpg at val}%
@@ -22096,7 +22480,7 @@
 % 
 % \subsection{gloss-nswissgerman.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-nswissgerman.ldf}[polyglossia: module for Swiss German (current spelling)]
 
@@ -22113,7 +22497,7 @@
 % 
 % \subsection{gloss-nynorsk.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-nynorsk.ldf}[polyglossia: module for Norwegian (Nynorsk)]
 
@@ -22131,7 +22515,7 @@
 % 
 % \subsection{gloss-occitan.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 %%
 %% This is file `gloss-occitan.ldf',
@@ -22154,6 +22538,8 @@
 
 \PolyglossiaSetup{occitan}{
   bcp47=oc,
+  bcp47-language=oc,
+  bcp47-script=Latn,
   hyphennames={occitan},
   langtag=OCI,
   hyphenmins={2,2},
@@ -22308,7 +22694,7 @@
 % 
 % \subsection{gloss-pa.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-pa.ldf}[polyglossia: module for pa (Punjabi)]
 
@@ -22325,7 +22711,7 @@
 % 
 % \subsection{gloss-persian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-persian.ldf}[polyglossia: module for Persian]
 
@@ -22335,6 +22721,8 @@
 \RequirePackage{hijrical}
 \PolyglossiaSetup{persian}{
   bcp47=fa,
+  bcp47-language=fa,
+  bcp47-script=Arab,
   babelname=farsi,
   script=Arabic,
   direction=RL,
@@ -22355,8 +22743,12 @@
 \def\tmp at western{western}
 \define at key{persian}{numerals}[eastern]{%
   \def\@tmpa{#1}%
-  \ifx\@tmpa\tmp at western\@western at numeralstrue\else%
+  \ifx\@tmpa\tmp at western%
+     \@western at numeralstrue%
+    \SetLanguageKeys{persian}{bcp47-extension-u=nu-latn}%
+  \else%
     \@western at numeralsfalse%
+    \SetLanguageKeys{persian}{bcp47-extension-u=nu-arab}%
   \fi}
 
 %this is needed for \abjad in arabicnumbers.sty
@@ -22475,12 +22867,14 @@
 % \subsection{gloss-piedmontese.ldf}
 %    \begin{macrocode}
 % !TEX encoding = UTF-8 Unicode
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-piedmontese.ldf}[2013/02/12 v1.0 polyglossia: module for Piedmontese]
 \makeatletter
 \PolyglossiaSetup{piedmontese}{
   bcp47=pms,
+  bcp47-language=pms,
+  bcp47-script=Latn,
   hyphennames={piedmontese},
   hyphenmins={2,2},
   langtag=PMS,
@@ -22603,12 +22997,14 @@
 % 
 % \subsection{gloss-polish.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-polish.ldf}[polyglossia: module for Polish]
 
 \PolyglossiaSetup{polish}{
   bcp47=pl,
+  bcp47-language=pl,
+  bcp47-script=Latn,
   hyphennames={polish},
   hyphenmins={2,2},
   langtag=PLK,
@@ -22859,7 +23255,7 @@
 % 
 % \subsection{gloss-polutonikogreek.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-polutonikogreek.ldf}[polyglossia: module for polytonic Greek]
 
@@ -22876,7 +23272,7 @@
 % 
 % \subsection{gloss-portuges.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-portuges.ldf}[polyglossia: module for Portuguese]
 
@@ -22896,12 +23292,15 @@
 % 
 % \subsection{gloss-portuguese.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-portuguese.ldf}[polyglossia: module for Portuguese]
 
 \PolyglossiaSetup{portuguese}{
   bcp47=pt-PT,
+  bcp47-language=pt,
+  bcp47-region=PT,
+  bcp47-script=Latn,
   babelname=portuges,
   hyphennames={portuges,portuguese},
   hyphenmins={2,3},
@@ -22927,11 +23326,11 @@
    \ifcase\xpg at nr\relax
       % portuguese:
       \def\portuguese at variant{portuges}%
-      \SetLanguageKeys{portuguese}{babelname=portuges,bcp47=pt-PT}%
+      \SetLanguageKeys{portuguese}{babelname=portuges,bcp47=pt-PT,bcp47-language=pt,bcp47-region=PT}%
    \or
       % brazilian:
       \def\portuguese at variant{brazil}%
-      \SetLanguageKeys{portuguese}{babelname=brazil,bcp47=pt-BR}%
+      \SetLanguageKeys{portuguese}{babelname=brazil,bcp47=pt-BR,bcp47-language=pt,bcp47-region=BR}%
       % There are no specific brazil patterns
       \adddialect\l at brazil\l at portuges\relax%
    \fi
@@ -23123,7 +23522,7 @@
 % 
 % \subsection{gloss-punjabi.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 % UTF-8 strings kindly provided by 
 % Arvinder Singh Kang, <17-11-2022>
@@ -23134,6 +23533,8 @@
 \RequirePackage{gurmukhidigits}
 \PolyglossiaSetup{punjabi}{
   bcp47=pa,
+  bcp47-language=pa,
+  bcp47-script=Guru,
   script=Gurmukhi,
   scripttag=gur,
   langtag=pan,
@@ -23157,9 +23558,11 @@
    \ifcase\xpg at nr\relax
       % Gurmukhi:
       \punjabi at gurmukhi@numeralstrue%
+      \SetLanguageKeys{punjabi}{bcp47-extension-u=nu-guru}%
    \or
       % Western:
       \punjabi at gurmukhi@numeralsfalse%
+      \SetLanguageKeys{punjabi}{bcp47-extension-u=nu-latn}%
    \fi
    \xpg at info{Option: Punjabi, numerals=\xpg at val}%
 }{\xpg at warning{Unknown Punjabi numeral `#1'}}
@@ -23239,12 +23642,14 @@
 % 
 % \subsection{gloss-romanian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-romanian.ldf}[polyglossia: module for Romanian]
 
 \PolyglossiaSetup{romanian}{
   bcp47=ro,
+  bcp47-language=ro,
+  bcp47-script=Latn,
   hyphennames={romanian},
   hyphenmins={2,2},
   langtag=ROM,
@@ -23296,12 +23701,14 @@
 % 
 % \subsection{gloss-romansh.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-romansh.ldf}[polyglossia: module for Romansh]
 \makeatletter
 \PolyglossiaSetup{romansh}{%
   bcp47=rm,
+  bcp47-language=rm,
+  bcp47-script=Latn,
   hyphennames={romansh},
   hyphenmins={2,2},
   langtag=RMS,
@@ -23352,7 +23759,7 @@
 % 
 % \subsection{gloss-russian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-russian.ldf}[polyglossia: module for Russian]
 
@@ -23360,6 +23767,9 @@
 
 \PolyglossiaSetup{russian}{
   bcp47=ru,
+  bcp47-language=ru,
+  bcp47-variant=luna1918,
+  bcp47-script=Cyrl,
   script=Cyrillic,
   scripttag=cyrl,
   langtag=RUS,
@@ -23380,8 +23790,8 @@
 \newif\if at russian@modern
 \define at key{russian}{spelling}[modern]{%
   \ifstrequal{#1}{old}%
-    {\@russian at modernfalse\SetLanguageKeys{russian}{bcp47=ru-petr1708}}%
-    {\@russian at moderntrue\SetLanguageKeys{russian}{bcp47=ru}}%
+    {\@russian at modernfalse\SetLanguageKeys{russian}{bcp47=ru-petr1708,bcp47-variant=petr1708}}%
+    {\@russian at moderntrue\SetLanguageKeys{russian}{bcp47=ru,bcp47-variant=luna1918}}%
 }
 
 \def\captionsrussian{%
@@ -23399,18 +23809,22 @@
       % arabic:
       \cyrillic at numeralsfalse%
       \cyrillic at asbuk@numeralsfalse%
+      \SetLanguageKeys{russian}{bcp47-extension-u=nu-latn}%
    \or
       % cyrillic:
       \cyrillic at numeralstrue%
       \cyrillic at asbuk@numeralsfalse%
+      \SetLanguageKeys{russian}{bcp47-extension-u=nu-cyrl}%
    \or
       % cyrillic-trad:
       \cyrillic at numeralstrue%
       \cyrillic at asbuk@numeralsfalse%
+      \SetLanguageKeys{russian}{bcp47-extension-u=nu-cyrl}%
    \or
       % cyrillic-alph:
       \cyrillic at numeralstrue%
       \cyrillic at asbuk@numeralstrue%
+      \SetLanguageKeys{russian}{bcp47-extension-u=nu-cyrl}%
    \fi
    \xpg at info{Option: Russian, numerals=\xpg at val}%
 }{\xpg at warning{Unknown Russian numerals value `#1'}}
@@ -23744,12 +24158,14 @@
 % 
 % \subsection{gloss-sami.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-sami.ldf}[polyglossia: module for Sami]
 
 \PolyglossiaSetup{sami}{
   bcp47=se,
+  bcp47-language=se,
+  bcp47-script=Latn,
   babelname=samin,
   hyphennames={samin},
   hyphenmins={2,2},
@@ -23846,7 +24262,7 @@
 % 
 % \subsection{gloss-samin.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-samin.ldf}[polyglossia: module for Northern Sami]
 
@@ -23864,7 +24280,7 @@
 % 
 % \subsection{gloss-sanskrit.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-sanskrit.ldf}[polyglossia: module for Sanskrit]
 
@@ -23872,6 +24288,9 @@
 
 \PolyglossiaSetup{sanskrit}{
   bcp47=sa-Deva,
+  bcp47-language=sa,
+  bcp47-script=Deva,
+  bcp47-casing=sa-Deva,
   langtag=SAN,
   hyphennames={sanskrit,prakrit},
   hyphenmins={1,3},
@@ -23900,25 +24319,25 @@
 \define at key{sanskrit}{script}[Devanagari]{\setkeys{sanskrit}{Script=#1}}
 
 \def\fontsetup at sanskrit@Devanagari{%
-  \SetLanguageKeys{sanskrit}{scripttag=deva,script=Devanagari,bcp47=sa-Deva}
+  \SetLanguageKeys{sanskrit}{scripttag=deva,script=Devanagari,bcp47=sa-Deva,bcp47-language=sa,bcp47-script=Deva,bcp47-casing=sa-Deva}
   \xpg at fontsetup@nonlatin{sanskrit}}
 \def\fontsetup at sanskrit@Gujarati{%
-  \SetLanguageKeys{sanskrit}{scripttag=gujr,script=Gujarati,bcp47=sa-Gujr}
+  \SetLanguageKeys{sanskrit}{scripttag=gujr,script=Gujarati,bcp47=sa-Gujr,bcp47-language=sa,bcp47-script=Gujr,bcp47-casing=sa-Gujr}
   \xpg at fontsetup@nonlatin{sanskrit}}
 \def\fontsetup at sanskrit@Malayalam{%
-  \SetLanguageKeys{sanskrit}{scripttag=mlym,script=Malayalam,bcp47=sa-Mlym}
+  \SetLanguageKeys{sanskrit}{scripttag=mlym,script=Malayalam,bcp47=sa-Mlym,bcp47-language=sa,bcp47-script=Mlym,bcp47-casing=sa-Mlym}
   \xpg at fontsetup@nonlatin{sanskrit}}
 \def\fontsetup at sanskrit@Bengali{%
-  \SetLanguageKeys{sanskrit}{scripttag=beng,script=Bengali,bcp47=sa-Beng}
+  \SetLanguageKeys{sanskrit}{scripttag=beng,script=Bengali,bcp47=sa-Beng,bcp47-language=sa,bcp47-script=Beng,bcp47-casing=sa-Beng}
   \xpg at fontsetup@nonlatin{sanskrit}}
 \def\fontsetup at sanskrit@Kannada{%
-  \SetLanguageKeys{sanskrit}{scripttag=knda,script=Kannada,bcp47=sa-Knda}
+  \SetLanguageKeys{sanskrit}{scripttag=knda,script=Kannada,bcp47=sa-Knda,bcp47-language=sa,bcp47-script=Knda,bcp47-casing=sa-Knda}
   \xpg at fontsetup@nonlatin{sanskrit}}
 \def\fontsetup at sanskrit@Telugu{%
-  \SetLanguageKeys{sanskrit}{scripttag=telu,script=Telugu,bcp47=sa-Relu}
+  \SetLanguageKeys{sanskrit}{scripttag=telu,script=Telugu,bcp47=sa-Relu,bcp47-language=sa,bcp47-script=Relu,bcp47-casing=sa-Relu}
   \xpg at fontsetup@nonlatin{sanskrit}}
 \def\fontsetup at sanskrit@Latin{%
-  \SetLanguageKeys{sanskrit}{scripttag=latn,script=Latin,bcp47=sa-Latn}
+  \SetLanguageKeys{sanskrit}{scripttag=latn,script=Latin,bcp47=sa-Latn,bcp47-language=sa,bcp47-script=Latn,bcp47-casing=sa-Latn}
   \xpg at fontsetup@latin{sanskrit}}
 
 
@@ -23928,9 +24347,11 @@
    \ifcase\xpg at nr\relax
       % Devanagari:
       \sanskrit at devanagari@numeralstrue%
+      \SetLanguageKeys{sanskrit}{bcp47-extension-u=nu-deva}%
    \or
       % Western:
       \sanskrit at devanagari@numeralsfalse%
+      \SetLanguageKeys{sanskrit}{bcp47-extension-u=nu-latn}%
    \fi
    \xpg at info{Option: Sanskrit, numerals=\xpg at val}%
 }{\xpg at warning{Unknown Sanskrit numeral `#1'}}
@@ -24018,7 +24439,7 @@
 % 
 % \subsection{gloss-scottish.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-scottish.ldf}[polyglossia: module for Scottish Gaelic]
 
@@ -24036,7 +24457,7 @@
 % 
 % \subsection{gloss-serbian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-serbian.ldf}[polyglossia: module for Serbian]
 %TODO split into gloss-serbiancyr.ldf and gloss-serbianlat.ldf
@@ -24048,6 +24469,9 @@
 
 \PolyglossiaSetup{serbian}{
   bcp47=sr-Latn,
+  bcp47-language=sr,
+  bcp47-script=Latn,
+  bcp47-casing=sr-Latn,
   langtag=SRB,
   hyphennames={serbian},
   hyphenmins={2,2},
@@ -24077,12 +24501,12 @@
    \ifcase\xpg at nr\relax
       % cyrillic:
       \@serbian at cyrtrue
-      \SetLanguageKeys{serbian}{scripttag=cyrl,script=Cyrillic,babelname=serbianc,bcp47=sr-Cyrl}
+      \SetLanguageKeys{serbian}{scripttag=cyrl,script=Cyrillic,babelname=serbianc,bcp47=sr-Cyrl,bcp47-language=sr,bcp47-script=Cyrl,bcp47-casing=sr-Cyrl}
       \xpg at fontsetup@nonlatin{serbian}%
    \or
       % latin:
       \@serbian at cyrfalse
-      \SetLanguageKeys{serbian}{scripttag=latn,script=Latin,babelname=serbian,bcp47=sr-Latn}
+      \SetLanguageKeys{serbian}{scripttag=latn,script=Latin,babelname=serbian,bcp47=sr-Latn,bcp47-language=sr,bcp47-script=Latn,bcp47-casing=sr-Latn}
       \xpg at fontsetup@latin{serbian}%
       %TODO \def\serbian at language{\language=\l at serbianlat}%
       % or should we use Croatian patterns as a fallback for the time being???
@@ -24099,18 +24523,22 @@
       % arabic:
       \cyrillic at numeralsfalse%
       \cyrillic at asbuk@numeralsfalse%
+      \SetLanguageKeys{serbian}{bcp47-extension-u=nu-latn}%
    \or
       % cyrillic:
       \cyrillic at numeralstrue%
       \cyrillic at asbuk@numeralsfalse%
+      \SetLanguageKeys{serbian}{bcp47-extension-u=nu-cyrl}%
    \or
       % cyrillic-trad:
       \cyrillic at numeralstrue%
       \cyrillic at asbuk@numeralsfalse%
+      \SetLanguageKeys{serbian}{bcp47-extension-u=nu-cyrl}%
    \or
       % cyrillic-alph:
       \cyrillic at numeralstrue%
       \cyrillic at asbuk@numeralstrue%
+      \SetLanguageKeys{serbian}{bcp47-extension-u=nu-cyrl}%
    \fi
    \xpg at info{Option: Serbian, numerals=\xpg at val}%
 }{\xpg at warning{Unknown Serbian numerals value `#1'}}
@@ -24344,7 +24772,7 @@
 % 
 % \subsection{gloss-serbianc.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-serbianc.ldf}[polyglossia: module for Serbian (cyrillic)]
 
@@ -24361,12 +24789,14 @@
 % 
 % \subsection{gloss-slovak.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-slovak.ldf}[polyglossia: module for Slovak]
 
 \PolyglossiaSetup{slovak}{
   bcp47=sk,
+  bcp47-language=sk,
+  bcp47-script=Latn,
   hyphennames={slovak},
   hyphenmins={2,2},
   langtag=SKY,
@@ -24625,7 +25055,7 @@
 % 
 % \subsection{gloss-slovene.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-slovene.ldf}[polyglossia: module for Slovenian]
 
@@ -24642,12 +25072,14 @@
 % 
 % \subsection{gloss-slovenian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-slovenian.ldf}[polyglossia: module for Slovenian]
 
 \PolyglossiaSetup{slovenian}{
   bcp47=sl,
+  bcp47-language=sl,
+  bcp47-script=Latn,
   hyphennames={slovenian,slovene},
   babelname=slovene,
   hyphenmins={2,2},
@@ -24732,12 +25164,14 @@
 % 
 % \subsection{gloss-sorbian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-sorbian.ldf}[polyglossia: module for Sorbian]
 
 \PolyglossiaSetup{sorbian}{
   bcp47=hsb,
+  bcp47-language=hsb,
+  bcp47-script=Latn,
   language=Upper Sorbian,
   babelname=uppersorbian,
   hyphennames={usorbian,uppersorbian},
@@ -24762,7 +25196,7 @@
    \ifcase\xpg at nr\relax
       % upper:
       \def\sorbian at variant{usorbian}%
-      \SetLanguageKeys{sorbian}{language=Upper Sorbian,langtag=USB,babelname=uppersorbian,bcp47=hsb}%
+      \SetLanguageKeys{sorbian}{language=Upper Sorbian,langtag=USB,babelname=uppersorbian,bcp47=hsb,bcp47-language=hsb}%
       \xpg at fontsetup@latin{sorbian}%
       % Check if \l at usorbian is defined. If not, try to set it to some variety
       % (specific order as in the csv list below), or null language if everything fails
@@ -24782,7 +25216,7 @@
    \or
       % lower:
       \def\sorbian at variant{lsorbian}%
-      \SetLanguageKeys{sorbian}{language=Lower Sorbian,langtag=LSB,babelname=lowersorbian,bcp47=dsb}%
+      \SetLanguageKeys{sorbian}{language=Lower Sorbian,langtag=LSB,babelname=lowersorbian,bcp47=dsb,bcp47-language=dsb}%
       \xpg at fontsetup@latin{sorbian}%
       % Check if \l at lsorbian is defined. If not, try to set it to some variety
       % (specific order as in the csv list below), or null language if everything fails
@@ -24921,12 +25355,15 @@
 % 
 % \subsection{gloss-spanish.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-spanish.ldf}[polyglossia: module for Spanish]
 
 \PolyglossiaSetup{spanish}{
   bcp47=es-ES,
+  bcp47-language=es,
+  bcp47-region=ES,
+  bcp47-script=Latn,
   hyphennames={spanish},
   hyphenmins={2,2},
   totalhyphenmin=5,
@@ -24951,11 +25388,11 @@
    \ifcase\xpg at nr\relax
       % spanish:
       \@spanish at mexicofalse%
-      \SetLanguageKeys{spanish}{babelname=spanish,bcp47=es-ES}%
+      \SetLanguageKeys{spanish}{babelname=spanish,bcp47=es-ES,bcp47-region=ES}%
    \or
       % mexican:
       \@spanish at mexicotrue%
-      \SetLanguageKeys{spanish}{babelname=spanishmx,bcp47=es-MX}%
+      \SetLanguageKeys{spanish}{babelname=spanishmx,bcp47=es-MX,bcp47-region=MX}%
    \fi
    \xpg at info{Option: spanish, variant=\xpg at val}%
 }{\xpg at warning{Unknown spanish variant `#1'}}
@@ -25158,7 +25595,7 @@
 % 
 % \subsection{gloss-spanishmx.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-spanishmx.ldf}[polyglossia: module for Mexican Spanish]
 
@@ -25175,12 +25612,14 @@
 % 
 % \subsection{gloss-swedish.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-swedish.ldf}[polyglossia: module for Swedish]
 
 \PolyglossiaSetup{swedish}{
   bcp47=sv,
+  bcp47-language=sv,
+  bcp47-script=Latn,
   hyphennames={swedish},
   hyphenmins={2,2},
   langtag=SVE,
@@ -25238,7 +25677,7 @@
 % 
 % \subsection{gloss-swissgerman.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-swissgerman.ldf}[polyglossia: module for Swiss German (old spelling)]
 
@@ -25255,7 +25694,7 @@
 % 
 % \subsection{gloss-syriac.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-syriac.ldf}[polyglossia: module for Syriac]
 
@@ -25264,6 +25703,8 @@
 
 \PolyglossiaSetup{syriac}{
   bcp47=syr,
+  bcp47-language=syr,
+  bcp47-script=Syrc,
   script=Syriac,
   scripttag=syrc,
   langtag=SYR,
@@ -25288,9 +25729,11 @@
 	  \let\syriacnumber\abjadsyriac
 	\else
 	  \ifx\@tmpa\tmp at eastern
-      \@eastern at numeralstrue
+              \@eastern at numeralstrue
+              \SetLanguageKeys{syriac}{bcp47-extension-u=nu-syrc}%
 	  \else
-      \@eastern at numeralsfalse
+              \@eastern at numeralsfalse
+              \SetLanguageKeys{syriac}{bcp47-extension-u=nu-latn}%
  	  \fi
   \fi}
 
@@ -25441,7 +25884,7 @@
 % 
 % \subsection{gloss-tamil.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-tamil.ldf}[polyglossia: module for Tamil]
 
@@ -25449,6 +25892,8 @@
 
 \PolyglossiaSetup{tamil}{
   bcp47=ta,
+  bcp47-language=ta,
+  bcp47-script=Taml,
   script=Tamil,
   scripttag=taml,
   langtag=TAM,
@@ -25509,7 +25954,7 @@
 % 
 % \subsection{gloss-telugu.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-telugu.ldf}[polyglossia: module for Telugu]
 
@@ -25517,6 +25962,8 @@
 
 \PolyglossiaSetup{telugu}{
   bcp47=te,
+  bcp47-language=te,
+  bcp47-script=Telu,
   script=Telugu,
   scripttag=telu,
   langtag=TEL,
@@ -25580,7 +26027,7 @@
 % 
 % \subsection{gloss-thai.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-thai.ldf}[polyglossia: module for Thai]
 %% This is partly based on thai-latex for Babel:
@@ -25594,6 +26041,8 @@
 %%%%
 \PolyglossiaSetup{thai}{
   bcp47=th,
+  bcp47-language=th,
+  bcp47-script=Thai,
   script=Thai,
   scripttag=thai,
   langtag=THA,
@@ -25611,8 +26060,13 @@
 \def\tmp at thai{thai}
 \define at key{thai}{numerals}[arabic]{%
 	\def\@tmpa{#1}%
-	\ifx\@tmpa\tmp at thai\@thai at numeralstrue\else
-	  \@thai at numeralsfalse\fi
+	\ifx\@tmpa\tmp at thai
+	  \@thai at numeralstrue%
+          \SetLanguageKeys{thai}{bcp47-extension-u=nu-thai}%
+	\else
+	  \@thai at numeralsfalse%
+          \SetLanguageKeys{thai}{bcp47-extension-u=nu-latn}%
+	\fi
 }
 
 % Register default options
@@ -25731,7 +26185,7 @@
 % 
 % \subsection{gloss-tibetan.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-tibetan.ldf}[polyglossia: module for Tibetan]
 %% Copyright 2013 Elie Roux
@@ -25742,6 +26196,8 @@
 
 \PolyglossiaSetup{tibetan}{
   bcp47=bo,
+  bcp47-language=bo,
+  bcp47-script=Tibt,
   script=Tibetan,
   scripttag=tibt,
   langtag=TIB,
@@ -25758,9 +26214,12 @@
 \def\tmp at tibetan{tibetan}
 \define at key{tibetan}{numerals}[tibetan]{%
 	\def\@tmpa{#1}%
-	\ifx\@tmpa\tmp at tibetan\@tibetan at numeralstrue%
+	\ifx\@tmpa\tmp at tibetan
+	   \@tibetan at numeralstrue%
+           \SetLanguageKeys{tibetan}{bcp47-extension-u=nu-tibt}%
 	\else
 	  \@tibetan at numeralsfalse%
+           \SetLanguageKeys{tibetan}{bcp47-extension-u=nu-latn}%
 	\fi%
 }
 
@@ -25952,12 +26411,14 @@
 % 
 % \subsection{gloss-turkish.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-turkish.ldf}[polyglossia: module for Turkish]
 \RequirePackage{hijrical}
 \PolyglossiaSetup{turkish}{
   bcp47=tr,
+  bcp47-language=tr,
+  bcp47-script=Latn,
   hyphennames={turkish},
   hyphenmins={2,2},
   langtag=TRK,
@@ -26068,12 +26529,14 @@
 % 
 % \subsection{gloss-turkmen.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-turkmen.ldf}[polyglossia: module for Turkmen]
 %% Translations provided by Nazar Annagurban <nazartm at gmail dot com>
 \PolyglossiaSetup{turkmen}{
   bcp47=tk,
+  bcp47-language=tk,
+  bcp47-script=Latn,
   hyphennames={turkmen},
   hyphenmins={2,2},
   langtag=TKM,
@@ -26124,7 +26587,7 @@
 % 
 % \subsection{gloss-ug.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ug.ldf}[polyglossia: module for ug (Uyghur)]
 % BCP 47 tag for Uyghur
@@ -26140,7 +26603,7 @@
 % 
 % \subsection{gloss-ukrainian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ukrainian.ldf}[polyglossia: module for Ukrainian]
 % Strings taken from Babel
@@ -26150,6 +26613,8 @@
 
 \PolyglossiaSetup{ukrainian}{%
   bcp47=uk,
+  bcp47-language=uk,
+  bcp47-script=Cyrl,
   script=Cyrillic,
   scripttag=cyrl,
   langtag=UKR,
@@ -26171,18 +26636,22 @@
       % arabic:
       \cyrillic at numeralsfalse%
       \cyrillic at asbuk@numeralsfalse%
+      \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-latn}%
    \or
       % cyrillic:
       \cyrillic at numeralstrue%
       \cyrillic at asbuk@numeralsfalse%
+      \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-cyrl}%
    \or
       % cyrillic-trad:
       \cyrillic at numeralstrue%
       \cyrillic at asbuk@numeralsfalse%
+      \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-cyrl}%
    \or
       % cyrillic-alph:
       \cyrillic at numeralstrue%
       \cyrillic at asbuk@numeralstrue%
+      \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-cyrl}%
    \fi
    \xpg at info{Option: Ukrainian, numerals=\xpg at val}%
 }{\xpg at warning{Unknown Ukrainian numerals value `#1'}}
@@ -26433,7 +26902,7 @@
 % 
 % \subsection{gloss-uppersorbian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-uppersorbian.ldf}[polyglossia: module for Upper Sorbian]
 
@@ -26450,7 +26919,7 @@
 % 
 % \subsection{gloss-urdu.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 %%% Adapted from a file contributed by Kamal Abdali
 \ProvidesFile{gloss-urdu.ldf}[polyglossia: module for Urdu]
@@ -26461,6 +26930,8 @@
 
 \PolyglossiaSetup{urdu}{
   bcp47=ur,
+  bcp47-language=ur,
+  bcp47-script=Arab,
   script=Arabic,
   direction=RL,
   scripttag=arab,
@@ -26478,8 +26949,12 @@
 \def\tmp at western{western}
 \define at key{urdu}{numerals}[eastern]{%
 	\def\@tmpa{#1}%
-	\ifx\@tmpa\tmp at western\@western at numeralstrue%
-	  \else\@western at numeralsfalse%
+	\ifx\@tmpa\tmp at western
+	  \@western at numeralstrue%
+          \SetLanguageKeys{urdu}{bcp47-extension-u=nu-latn}%
+	\else
+	  \@western at numeralsfalse%
+          \SetLanguageKeys{urdu}{bcp47-extension-u=nu-arab}%
 	\fi}
 
 %% TODO USE boolkey instead !!!
@@ -26606,7 +27081,7 @@
 % 
 % \subsection{gloss-usorbian.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-usorbian.ldf}[polyglossia: module for Upper Sorbian]
 
@@ -26624,7 +27099,7 @@
 % 
 % \subsection{gloss-uyghur.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-uyghur.ldf}[polyglossia: module for Uyghur]
 %% Translations provided by Osman Tursun (Github Account: neouyghur)
@@ -26632,6 +27107,8 @@
 \RequireBidi
 \PolyglossiaSetup{uyghur}{
   bcp47=ug,
+  bcp47-language=ug,
+  bcp47-script=Arab,
   script=Arabic,
   direction=RL,
   scripttag=arab,
@@ -27063,7 +27540,7 @@
 % 
 % \subsection{gloss-vietnamese.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-vietnamese.ldf}[polyglossia: module for Vietnamese]
 %% Strings contributed by Daniel Owens < dhowens . pmbx . net >
@@ -27070,6 +27547,8 @@
 
 \PolyglossiaSetup{vietnamese}{
   bcp47=vi,
+  bcp47-language=vi,
+  bcp47-script=Latn,
   hyphennames={nohyphenation},
   hyphenmins={2,2},
   langtag=VIT,
@@ -27120,12 +27599,14 @@
 % 
 % \subsection{gloss-welsh.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-welsh.ldf}[polyglossia: module for Welsh]
 
 \PolyglossiaSetup{welsh}{
   bcp47=cy,
+  bcp47-language=cy,
+  bcp47-script=Latn,
   hyphennames={welsh},
   hyphenmins={2,3},
   langtag=WEL,
@@ -27218,7 +27699,7 @@
 % 
 % \subsection{gloss-zh-CN.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-zh-CN.ldf}[polyglossia: module for zh-CN (Chinese)]
 
@@ -27235,7 +27716,7 @@
 % 
 % \subsection{gloss-zh-TW.ldf}
 %    \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-zh-TW.ldf}[polyglossia: module for zh-TW (Chinese)]
 
@@ -27404,7 +27885,7 @@
 %    \begin{macrocode}
 --
 -- polyglossia-punct.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
 --
 
 require('polyglossia-punct')
@@ -27471,7 +27952,7 @@
 %    \begin{macrocode}
 --
 -- polyglossia-korean.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
 --
 
 local glyph_id = node.id"glyph"
@@ -28089,7 +28570,7 @@
 %    \begin{macrocode}
 --
 -- polyglossia-latin.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
 --
 
 require('polyglossia-punct')
@@ -28144,7 +28625,7 @@
 %    \begin{macrocode}
 --
 -- polyglossia-punct.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
 --
 
 require('polyglossia') -- just in case...
@@ -28512,7 +28993,7 @@
 %    \begin{macrocode}
 --
 -- polyglossia-sanskrit.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
 --
 
 require('polyglossia-punct')
@@ -28562,7 +29043,7 @@
 %    \begin{macrocode}
 --
 -- polyglossia-tibt.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
 --
 
 require('polyglossia') -- just in case...
@@ -28665,7 +29146,7 @@
 %    \begin{macrocode}
 --
 -- polyglossia.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
 --
 
 local module_name = "polyglossia"
@@ -29011,12 +29492,13 @@
 \end{document}
 %</examples.tex>
 %<*example-arabic.tex>
+% !TeX TS-program = xelatex
 \documentclass[a4paper]{book}%
 \usepackage[no-math]{fontspec}
 \usepackage{xltxtra,url,amsmath}
 \setmainfont{Linux Libertine O}
 \defaultfontfeatures{Scale=MatchLowercase}
-\newfontfamily\arabicfont[Script=Arabic]{Amiri}%
+\newfontfamily\arabicfont[Script=Arabic]{Amiri}
 \newfontfamily\arabicfonttt[Script=Arabic,Scale=.75]{DejaVu Sans Mono}
 \newfontfamily\farsifont[Script=Arabic,Scale=1.1,WordSpace=2]{IranNastaliq}
 \let\XeTeX\undefined

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-acadien.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-acadien.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-acadien.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-acadien.ldf}[polyglossia: module for Canadian (Acadian) French]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-aeb.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-aeb.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-aeb.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-aeb.ldf}[polyglossia: module for aeb (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-af.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-af.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-af.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-af.ldf}[polyglossia: module for af (Afrikaans)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-afb.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-afb.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-afb.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-afb.ldf}[polyglossia: module for afb (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-afrikaans.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-afrikaans.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-afrikaans.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-afrikaans.ldf}[polyglossia: module for Afrikaans]
 
 \PolyglossiaSetup{afrikaans}{
   bcp47=af,
+  bcp47-language=af,
+  bcp47-script=Latn,
   hyphennames={afrikaans,dutch},
   hyphenmins={2,2},
   langtag=AFK,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-albanian.ldf}[polyglossia: module for Albanian]
 
 \PolyglossiaSetup{albanian}{
   bcp47=sq,
+  bcp47-language=sq,
+  bcp47-script=Latn,
   hyphennames={albanian},
   langtag=SQI,
   hyphenmins={2,2},

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-am.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-am.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-am.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-am.ldf}[polyglossia: module for am (Amharic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-american.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-american.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-american.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-american.ldf}[polyglossia: module for American English]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,8 +1,10 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-amharic.ldf}[polyglossia: module for Amharic]
 \PolyglossiaSetup{amharic}{
   bcp47=am,
+  bcp47-language=am,
+  bcp47-script=Ethi,
   script=Ethiopic,
   scripttag=ethi,
   langtag=AMH,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-apd.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-apd.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-apd.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-apd.ldf}[polyglossia: module for apd (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-IQ.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-IQ.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-IQ.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ar-IQ.ldf}[polyglossia: module for ar-IQ (Arabic)]
 
@@ -6,4 +6,6 @@
 
 \xpg at load@master at language{arabic}
 
+\SetLanguageKeys{arabic}{bcp47=ar-IQ,bcp47-language=ar,bcp47-region=IQ}%
+
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-JO.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-JO.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-JO.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ar-JO.ldf}[polyglossia: module for ar-JO (Arabic)]
 
@@ -6,4 +6,6 @@
 
 \xpg at load@master at language{arabic}
 
+\SetLanguageKeys{arabic}{bcp47=ar-JO,bcp47-language=ar,bcp47-region=JO}%
+
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-LB.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-LB.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-LB.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ar-LB.ldf}[polyglossia: module for ar-LB (Arabic)]
 
@@ -6,4 +6,6 @@
 
 \xpg at load@master at language{arabic}
 
+\SetLanguageKeys{arabic}{bcp47=ar-LB,bcp47-language=ar,bcp47-region=LB}%
+
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-MR.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-MR.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-MR.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ar-MR.ldf}[polyglossia: module for ar-MR (Arabic)]
 
@@ -6,4 +6,6 @@
 
 \xpg at load@master at language{arabic}
 
+\SetLanguageKeys{arabic}{bcp47=ar-MR,bcp47-language=ar,bcp47-region=MR}%
+
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-PS.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-PS.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-PS.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ar-PS.ldf}[polyglossia: module for ar-PS (Arabic)]
 
@@ -6,4 +6,6 @@
 
 \xpg at load@master at language{arabic}
 
+\SetLanguageKeys{arabic}{bcp47=ar-PS,bcp47-language=ar,bcp47-region=PS}%
+
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-SY.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-SY.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-SY.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ar-SY.ldf}[polyglossia: module for ar-SY (Arabic)]
 
@@ -6,4 +6,6 @@
 
 \xpg at load@master at language{arabic}
 
+\SetLanguageKeys{arabic}{bcp47=ar-SY,bcp47-language=ar,bcp47-region=SY}%
+
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-YE.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-YE.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-YE.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ar-YE.ldf}[polyglossia: module for ar-YE (Arabic)]
 
@@ -6,4 +6,6 @@
 
 \xpg at load@master at language{arabic}
 
+\SetLanguageKeys{arabic}{bcp47=ar-YE,bcp47-language=ar,bcp47-region=YE}%
+
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ar.ldf}[polyglossia: module for ar (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-arabic.ldf}[polyglossia: module for Arabic]
 \RequireBidi
@@ -7,6 +7,9 @@
 
 \PolyglossiaSetup{arabic}{
   bcp47=ar,
+  bcp47-language=ar,
+  bcp47-script=Arab,
+  bcp47-region=YE,
   script=Arabic,
   direction=RL,
   langtag=ARA,
@@ -57,20 +60,45 @@
     \abjad at jim@notailfalse
   \fi}
 
-\def\tmp at morocco{morocco}
-\def\tmp at algeria{algeria}
-\define at key{arabic}{locale}[default]{%
-  \def\@tmpa{#1}%
-  \ifx\@tmpa\tmp at morocco%
-    \eastern at numeralsfalse%
-    \SetLanguageKeys{arabic}{bcp47=ary}%
-  \else
-    \ifx\@tmpa\tmp at algeria%
+\define at choicekey*+{arabic}{locale}[\xpg at val\xpg at nr]{default,mashriq,libya,algeria,tunisia,morocco,mauritania}[default]{%
+   \ifcase\xpg at nr\relax
+      % default:
+      \eastern at numeralstrue%
+      \SetLanguageKeys{arabic}{bcp47=ar-YE,bcp47-language=ar}%
+      \xpg at info{Option: arabic, locale=default}%
+   \or
+      % mashriq:
+      \eastern at numeralstrue%
+      \SetLanguageKeys{arabic}{bcp47=ar-IQ,bcp47-language=ar}%
+      \xpg at info{Option: arabic, locale=mashriq}%
+   \or
+      % libya:
+      \eastern at numeralstrue%
+      \SetLanguageKeys{arabic}{bcp47=ayl,bcp47-language=ar,bcp47-region=LY}%
+      \xpg at info{Option: arabic, locale=libya}%
+   \or
+      % algeria:
       \eastern at numeralsfalse%
-      \SetLanguageKeys{arabic}{bcp47=arq}%
-    \fi%
-  \fi%
-  \gdef\@@arabic at month{\@arabic at month{#1}}}
+      \SetLanguageKeys{arabic}{bcp47=arq,bcp47-language=ar,bcp47-region=DZ,bcp47-extension-u=nu-latn}%
+      \xpg at info{Option: arabic, locale=algeria}%
+   \or
+      % tunisia:
+      \eastern at numeralsfalse%
+      \SetLanguageKeys{arabic}{bcp47=aeb,bcp47-language=ar,bcp47-region=TN,bcp47-extension-u=nu-latn}%
+      \xpg at info{Option: arabic, locale=tunisia}%
+   \or
+      % morocco:
+      \eastern at numeralsfalse%
+      \SetLanguageKeys{arabic}{bcp47=ary,bcp47-language=ar,bcp47-region=MA,bcp47-extension-u=nu-latn}%
+      \xpg at info{Option: arabic, locale=morocco}%
+   \or
+      % mauritania:
+      \eastern at numeralstrue%
+      \SetLanguageKeys{arabic}{bcp47=ar-MR,bcp47-language=ar,bcp47-region=MR}%
+      \xpg at info{Option: arabic, locale=mauritania}%
+   \fi
+   \gdef\@@arabic at month{\@arabic at month{#1}}
+ }{\xpg at warning{Unknown Arabic locale `#1'}}
 
 \newif\if at hijrical
 \def\tmp at hijri{hijri}

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,12 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-armenian.ldf}[polyglossia: module for Armenian]
 
 \PolyglossiaSetup{armenian}{
   bcp47=hy,
+  bcp47-language=hy,
+  bcp47-script=Armn,
+  bcp47-region=AM,
   script=Armenian,
   scripttag=armn,
   langtag=HYE,
@@ -32,7 +35,13 @@
 \newif\if at armenian@numerals
 \@armenian at numeralsfalse
 \define at key{armenian}{numerals}[armenian]{%
-  \ifstrequal{#1}{arabic}{\@armenian at numeralsfalse}{\@armenian at numeralstrue}%
+  \ifstrequal{#1}{arabic}{%
+     \@armenian at numeralsfalse%
+     \SetLanguageKeys{armenian}{bcp47-extension-u=nu-latn}%
+   }{%
+     \@armenian at numeralstrue%
+     \SetLanguageKeys{armenian}{bcp47-extension-u={}}%
+   }%
 }
 
 % Register default options

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-arq.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-arq.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-arq.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-arq.ldf}[polyglossia: module for arq (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ary.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ary.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ary.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ary.ldf}[polyglossia: module for ary (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-arz.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-arz.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-arz.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-arz.ldf}[polyglossia: module for arz (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ast.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ast.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ast.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ast.ldf}[polyglossia: module for ast (Asturian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 % Translated by Xuacu <xuacusk8 at gmail dot com>
 % Contributed by Kevin Godby <godbyk at gmail dot com>
@@ -6,6 +6,8 @@
 \ProvidesFile{gloss-asturian.ldf}[polyglossia: module for Asturian]
 \PolyglossiaSetup{asturian}{
   bcp47=ast,
+  bcp47-language=ast,
+  bcp47-script=Latn,
   hyphennames={asturian,catalan},
   hyphenmins={2,2},
   langtag=AST,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-australian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-australian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-australian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-australian.ldf}[polyglossia: module for Australian English]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-austrian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-austrian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-austrian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-austrian.ldf}[polyglossia: module for Austrian German (old spelling)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ayl.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ayl.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ayl.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ayl.ldf}[polyglossia: module for ayl (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasa.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasa.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasa.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-bahasa.ldf}[polyglossia: module for Bahasa Indonesia]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-bahasai.ldf}[polyglossia: module for Bahasa Indonesia]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-bahasam.ldf}[polyglossia: module for Bahasa Melayu]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,8 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-basque.ldf}[polyglossia: module for Basque]
 \PolyglossiaSetup{basque}{
   bcp47=eu,
+  bcp47-language=eu,
+  bcp47-region=ES,
+  bcp47-script=Latn,
   hyphennames={basque},
   hyphenmins={2,2},
   langtag=EUQ,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-be-tarask.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-be-tarask.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-be-tarask.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-be-tarask.ldf}[polyglossia: module for be-tarask (Belarusian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-be.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-be.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-be.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-be.ldf}[polyglossia: module for be (Belarusian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-belarusian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-belarusian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-belarusian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-belarusian.ldf}[polyglossia: module for Belarusian]
 
@@ -6,6 +6,10 @@
 
 \PolyglossiaSetup{belarusian}{
   bcp47=be,
+  bcp47-language=be,
+  bcp47-region=BY,
+  bcp47-variant=1959acad,
+  bcp47-script=Cyrl,
   script=Cyrillic,
   scripttag=cyrl,
   langtag=BEL,
@@ -26,15 +30,15 @@
    \ifcase\xpg at nr\relax
       % modern:
       \def\belarusian at spelling{modern}%
-      \SetLanguageKeys{belarusian}{bcp47=be}%
+      \SetLanguageKeys{belarusian}{bcp47=be,bcp47-variant=1959acad}%
    \or
       % classic:
       \def\belarusian at spelling{tarask}%
-      \SetLanguageKeys{belarusian}{bcp47=be-tarask}%
+      \SetLanguageKeys{belarusian}{bcp47=be-tarask,bcp47-variant=tarask}%
    \or
       % tarask:
       \def\belarusian at spelling{tarask}%
-      \SetLanguageKeys{belarusian}{bcp47=be-tarask}%
+      \SetLanguageKeys{belarusian}{bcp47=be-tarask,bcp47-variant=tarask}%
    \fi
 }{\xpg at warning{Unknown Belarusian spelling `#1'}}
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 % Translations provided by সাজেদুর রহিম জোয়ারদার <toshazed at gmail.com>
 % TODO implement Bengali calendar
@@ -10,6 +10,8 @@
 
 \PolyglossiaSetup{bengali}{
   bcp47=bn,
+  bcp47-language=bn,
+  bcp47-script=Beng,
   script=Bengali,
   scripttag=beng,
   langtag=BEN,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bg.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bg.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bg.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-bg.ldf}[polyglossia: module for bg (Bulgarian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bn.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bn.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bn.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-bn.ldf}[polyglossia: module for bn (Bengali)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bo.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bo.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bo.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-bo.ldf}[polyglossia: module for bo (Tibetan)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bosnian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bosnian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bosnian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,13 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-bosnian.ldf}[polyglossia: module for Bosnian]
 
 \PolyglossiaSetup{bosnian}{
   bcp47=bs,
+  bcp47-language=bs,
+  bcp47-region=BA,
+  bcp47-script=Latn,
+  bcp47-casing=bs-Latn,
   langtag=BOS,
   hyphennames={bosnian,croatian},
   hyphenmins={2,2}, % adapted from gloss-croatian

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-br.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-br.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-br.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-br.ldf}[polyglossia: module for br (Breton)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-brazil.ldf}[polyglossia: module for Brazilian Portuguese]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,8 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-breton.ldf}[polyglossia: module for Breton]
 \PolyglossiaSetup{breton}{
   bcp47=br,
+  bcp47-language=br,
+  bcp47-region=FR,
+  bcp47-script=Latn,
   hyphennames={breton},
   hyphenmins={2,2},
   langtag=BRE,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-british.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-british.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-british.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-british.ldf}[polyglossia: module for British English]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bs.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bs.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bs.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-bs.ldf}[polyglossia: module for bs (Bosnian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,8 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-bulgarian.ldf}[polyglossia: module for Bulgarian]
 \PolyglossiaSetup{bulgarian}{
   bcp47=bg,
+  bcp47-language=bg,
+  bcp47-region=BG,
+  bcp47-script=Cyrl,
   script=Cyrillic,
   scripttag=cyrl,
   langtag=BGR,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ca.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ca.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ca.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ca.ldf}[polyglossia: module for ca (Catalan)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-canadian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-canadian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-canadian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-canadian.ldf}[polyglossia: module for Canadian English]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-canadien.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-canadien.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-canadien.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-canadien.ldf}[polyglossia: module for Canadian French]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,8 +1,10 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-catalan.ldf}[polyglossia: module for Catalan]
 \PolyglossiaSetup{catalan}{
   bcp47=ca,
+  bcp47-language=ca,
+  bcp47-script=Latn,
   hyphennames={catalan},
   hyphenmins={2,2},
   langtag=CAT,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-chinese.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-chinese.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-chinese.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,12 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-chinese.ldf}[polyglossia: module for Chinese]
 
 \PolyglossiaSetup{chinese}{
     bcp47=zh,
+    bcp47-language=zh,
+    bcp47-region=CN,
+    bcp47-script=Hans,
     script=CJK,
     scripttag=hani,
     language=Chinese,
@@ -25,8 +28,11 @@
 \newif\ifchinese at numerals
 \define at key{chinese}{numerals}[arabic]{%
    \ifstrequal{#1}{chinese}%
-      {\chinese at numeralstrue}%
-      {\chinese at numeralsfalse}%
+      {\chinese at numeralstrue%
+       \SetLanguageKeys{chinese}{bcp47-extension-u=nu-hant}%
+      }{\chinese at numeralsfalse%
+       \SetLanguageKeys{chinese}{bcp47-extension-u=nu-latn}%
+      }%
 }
 
 
@@ -34,22 +40,22 @@
    \ifcase\xpg at nr\relax
       % cn:
       \chinese at traditionalfalse
-      \SetLanguageKeys{chinese}{bcp47=zh-CN}%
+      \SetLanguageKeys{chinese}{bcp47=zh-CN,bcp47-language=zh,bcp47-region=CN,bcp47-script=Hans}%
       \xpg at info{Option: Chinese, variant=simplified}%
    \or
       % simplified:
       \chinese at traditionalfalse
-      \SetLanguageKeys{chinese}{bcp47=zh-CN}%
+      \SetLanguageKeys{chinese}{bcp47=zh-CN,bcp47-language=zh,bcp47-region=CN,bcp47-script=Hans}%
       \xpg at info{Option: Chinese, variant=simplified}%
    \or
       % tw:
       \chinese at traditionaltrue
-      \SetLanguageKeys{chinese}{bcp47=zh-TW}%
+      \SetLanguageKeys{chinese}{bcp47=zh-TW,bcp47-language=zh,bcp47-region=TW,bcp47-script=Hant}%
       \xpg at info{Option: Chinese, variant=traditional}%
    \or
       % traditional:
       \chinese at traditionaltrue
-      \SetLanguageKeys{chinese}{bcp47=zh-TW}%
+      \SetLanguageKeys{chinese}{bcp47=zh-TW,bcp47-language=zh,bcp47-region=TW,bcp47-script=Hant}%
       \xpg at info{Option: Chinese, variant=traditional}%
    \fi
 }{\xpg at warning{Unknown Chinese variant `#1'}}

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Arab.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Arab.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Arab.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ckb-Arab.ldf}[polyglossia: module for ckb-Arab (Kurdish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Latn.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Latn.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Latn.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ckb-Latn.ldf}[polyglossia: module for ckb-Latn (Kurdish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ckb.ldf}[polyglossia: module for ckb (Kurdish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-cop.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-cop.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-cop.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-cop.ldf}[polyglossia: module for cop (Coptic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,8 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-coptic.ldf}[polyglossia: module for Coptic]
 \PolyglossiaSetup{coptic}{
   bcp47=cop,
+  bcp47-language=cop,
+  bcp47-region=CN,
+  bcp47-script=Copt,
   script=Coptic,
   scripttag=copt,
   langtag=COP,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,8 +1,10 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-croatian.ldf}[polyglossia: module for Croatian]
 \PolyglossiaSetup{croatian}{
   bcp47=hr,
+  bcp47-language=hr,
+  bcp47-script=Latn,
   langtag=HRV,
   hyphennames={croatian},
   hyphenmins={2,2}, % aligned with https://ctan.org/pkg/hrhyph patterns and http://lebesgue.math.hr/~nenad/Diplomski/Maja_Ribaric_2011.pdf

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-cy.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-cy.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-cy.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-cy.ldf}[polyglossia: module for cy (Welsh)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-cz.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-cz.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-cz.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-cz.ldf}[polyglossia: module for cz (Czech)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,12 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-czech.ldf}[polyglossia: module for Czech]
 
 \PolyglossiaSetup{czech}{
   bcp47=cz,
+  bcp47-language=cz,
+  bcp47-region=CZ,
+  bcp47-script=Latn,
   hyphennames={czech},
   hyphenmins={2,2},
   langtag=CSY,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-da.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-da.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-da.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-da.ldf}[polyglossia: module for da (Danish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,8 +1,10 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-danish.ldf}[polyglossia: module for Danish]
 \PolyglossiaSetup{danish}{
   bcp47=da,
+  bcp47-language=da,
+  bcp47-script=Latn,
   hyphennames={danish},
   hyphenmins={2,3},
   langtag=DAN,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1901.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1901.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1901.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-AT-1901.ldf}[polyglossia: module for de-AT-1901 (Austrian German, old spelling)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1996.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1996.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1996.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-AT-1996.ldf}[polyglossia: module for de-AT-1996 (Austrian German)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-AT.ldf}[polyglossia: module for de-AT (Austrian German)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1901.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1901.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1901.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-CH-1901.ldf}[polyglossia: module for de-CH-1901 (Swiss German, old spelling)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1996.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1996.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1996.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-CH-1996.ldf}[polyglossia: module for de-CH-1996 (Swiss German)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-CH.ldf}[polyglossia: module for de-CH (Swiss German)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1901.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1901.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1901.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-DE-1901.ldf}[polyglossia: module for de-DE-1901 (Germany's German, old spelling)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1996.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1996.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1996.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-DE-1996.ldf}[polyglossia: module for de-DE-1996 (Germany's German)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-DE.ldf}[polyglossia: module for de-DE (Germany's German)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1901.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1901.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1901.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-AT-1901-Latf.ldf}[polyglossia: module for de-AT-1901-Latf (Austrian German, old spelling)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1996.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1996.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1996.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-AT-1996-Latf.ldf}[polyglossia: module for de-AT-1996-Latf (Austrian German)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-AT-Latf.ldf}[polyglossia: module for de-AT-Latf (Austrian German)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1901.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1901.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1901.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-CH-1901-Latf.ldf}[polyglossia: module for de-CH-1901-Latf (Swiss German, old spelling)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1996.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1996.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1996.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-CH-1996-Latf.ldf}[polyglossia: module for de-CH-1996-Latf (Swiss German)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-CH-Latf.ldf}[polyglossia: module for de-CH-Latf (Swiss German)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1901.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1901.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1901.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-DE-1901-Latf.ldf}[polyglossia: module for de-DE-1901-Latf (Germany's German, old spelling)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1996.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1996.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1996.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-DE-1996-Latf.ldf}[polyglossia: module for de-DE-1996-Latf (Germany's German)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-DE-Latf.ldf}[polyglossia: module for de-DE-Latf (Germany's German)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de-Latf.ldf}[polyglossia: module for de-Latf (German)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-de.ldf}[polyglossia: module for de (German)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-divehi.ldf}[polyglossia: module for Divehi]
 
@@ -5,6 +5,8 @@
 \RequireBidi
 \PolyglossiaSetup{divehi}{
   bcp47=dv,
+  bcp47-language=dv,
+  bcp47-script=Thaa,
   script=Thaana,
   scripttag=thaa,
   langtag=DIV,% TODO Support DHV as well?

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-dsb.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-dsb.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-dsb.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-dsb.ldf}[polyglossia: module for dsb (Sorbian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,8 +1,10 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-dutch.ldf}[polyglossia: module for Dutch]
 \PolyglossiaSetup{dutch}{
   bcp47=nl,
+  bcp47-language=nl,
+  bcp47-script=Latn,
   hyphennames={dutch},
   hyphenmins={2,2},
   langtag=NLD,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-dv.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-dv.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-dv.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-dv.ldf}[polyglossia: module for dv (Divehi)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-el-monoton.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-el-monoton.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-el-monoton.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-el-monoton.ldf}[polyglossia: module for el-monoton (Greek)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-el-polyton.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-el-polyton.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-el-polyton.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-el-polyton.ldf}[polyglossia: module for el-polyton (Greek)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-el.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-el.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-el.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-el.ldf}[polyglossia: module for el (Greek)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-AU.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-AU.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-AU.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-en-AU.ldf}[polyglossia: module for en-AU (Australian English)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-CA.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-CA.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-CA.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-en-CA.ldf}[polyglossia: module for en-CA (Canadan English)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-GB.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-GB.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-GB.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-en-GB.ldf}[polyglossia: module for en-GB (British English)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-NZ.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-NZ.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-NZ.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-en-NZ.ldf}[polyglossia: module for en-NZ (Newzealand English)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-US.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-US.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-US.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-en-US.ldf}[polyglossia: module for en-US (American English)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-en.ldf}[polyglossia: module for en (English)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,12 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-english.ldf}[polyglossia: module for English]
 
 \PolyglossiaSetup{english}{
   bcp47=en-US,
+  bcp47-language=en,
+  bcp47-region=US,
+  bcp47-script=Latn,
   hyphennames={english,american,usenglish,USenglish},
   hyphenmins={2,3},
   langtag=ENG,
@@ -47,7 +50,7 @@
       \british at hyphentrue
       \british at dateformattrue
       \english at ordinalmonthdaytrue
-      \SetLanguageKeys{english}{babelname=british,bcp47=en-GB}%
+      \SetLanguageKeys{english}{babelname=british,bcp47=en-GB,bcp47-language=en,bcp47-region=GB}%
       \xpg at info{Option: English, variant=british}%
    \or
       % british:
@@ -54,7 +57,7 @@
       \british at hyphentrue
       \british at dateformattrue
       \english at ordinalmonthdaytrue
-      \SetLanguageKeys{english}{babelname=british,bcp47=en-GB}%
+      \SetLanguageKeys{english}{babelname=british,bcp47=en-GB,bcp47-language=en,bcp47-region=GB}%
       \xpg at info{Option: english variant=british}%
    \or
       % us:
@@ -61,7 +64,7 @@
       \british at hyphenfalse
       \british at dateformatfalse
       \english at ordinalmonthdayfalse
-      \SetLanguageKeys{english}{babelname=american,bcp47=en-US}%
+      \SetLanguageKeys{english}{babelname=american,bcp47=en-US,bcp47-language=en,bcp47-region=US}%
       \xpg at info{Option: English, variant=american}%
    \or
       % american:
@@ -68,7 +71,7 @@
       \british at hyphenfalse
       \british at dateformatfalse
       \english at ordinalmonthdayfalse
-      \SetLanguageKeys{english}{babelname=american,bcp47=en-US}%
+      \SetLanguageKeys{english}{babelname=american,bcp47=en-US,bcp47-language=en,bcp47-region=US}%
       \xpg at info{Option: English, variant=american}%
    \or
       % usmax:
@@ -75,7 +78,7 @@
       \british at hyphenfalse
       \british at dateformatfalse
       \english at ordinalmonthdayfalse
-      \SetLanguageKeys{english}{babelname=american,bcp47=en-US}%
+      \SetLanguageKeys{english}{babelname=american,bcp47=en-US,bcp47-language=en,bcp47-region=US}%
       \xpg at info{Option: english variant=american (with additional patterns)}%
       \xpg at ifdefined{usenglishmax}{}%
          {\xpg at warning{No hyphenation patterns were loaded for "US English Max"\MessageBreak
@@ -90,7 +93,7 @@
       \british at hyphentrue
       \british at dateformattrue
       \english at ordinalmonthdayfalse
-      \SetLanguageKeys{english}{babelname=australian,bcp47=en-AU}%
+      \SetLanguageKeys{english}{babelname=australian,bcp47=en-AU,bcp47-language=en,bcp47-region=AU}%
       \xpg at info{Option: English, variant=australian}%
       \adddialect\l at australian\l at english%
    \or
@@ -100,7 +103,7 @@
       \british at hyphentrue
       \british at dateformattrue
       \english at ordinalmonthdayfalse
-      \SetLanguageKeys{english}{babelname=newzealand,bcp47=en-NZ}%
+      \SetLanguageKeys{english}{babelname=newzealand,bcp47=en-NZ,bcp47-language=en,bcp47-region=NZ}%
       \xpg at info{Option: English, variant=newzealand}%
       \adddialect\l at newzealand\l at english%
    \or
@@ -109,7 +112,7 @@
       \british at hyphenfalse
       \british at dateformatfalse
       \english at ordinalmonthdayfalse
-      \SetLanguageKeys{english}{babelname=canadian,bcp47=en-CA}%
+      \SetLanguageKeys{english}{babelname=canadian,bcp47=en-CA,bcp47-language=en,bcp47-region=CA}%
       \xpg at info{Option: English, variant=american}%
       \adddialect\l at canadian\l at english%
    \fi

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-eo.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-eo.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-eo.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-eo.ldf}[polyglossia: module for eo (Esperanto)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-es-ES.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-es-ES.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-es-ES.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-es-ES.ldf}[polyglossia: module for es-ES (Spain's Spanish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-es-MX.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-es-MX.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-es-MX.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-es-MX.ldf}[polyglossia: module for es-MX (Mexican Spanish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-es.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-es.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-es.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-es.ldf}[polyglossia: module for es (Spanish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,8 +1,10 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-esperanto.ldf}[polyglossia: module for Esperanto]
 \PolyglossiaSetup{esperanto}{
   bcp47=eo,
+  bcp47-language=eo,
+  bcp47-script=Latn,
   hyphennames={esperanto},
   hyphenmins={2,2},
   langtag=NTO,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,8 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-estonian.ldf}[polyglossia: module for Estonian]
 \PolyglossiaSetup{estonian}{
   bcp47=et,
+  bcp47-language=et,
+  bcp47-region=EE,
+  bcp47-script=Latn,
   hyphennames={estonian},
   hyphenmins={2,2},
   langtag=ETI,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-et.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-et.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-et.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-et.ldf}[polyglossia: module for et (Estonian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-eu.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-eu.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-eu.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-eu.ldf}[polyglossia: module for eu (Basque)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fa.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fa.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fa.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-fa.ldf}[polyglossia: module for fa (Persian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-farsi.ldf}[polyglossia: module for Farsi]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fi.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fi.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fi.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-fi.ldf}[polyglossia: module for fi (Finnish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,8 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-finnish.ldf}[polyglossia: module for Finnish]
 \PolyglossiaSetup{finnish}{
   bcp47=fi,
+  bcp47-language=fi,
+  bcp47-region=FI,
+  bcp47-script=Latn,
   hyphennames={finnish},
   hyphenmins={2,2},
   langtag=FIN,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-fr-CA.ldf}[polyglossia: module for fr-CA (Canadian French)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CH.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CH.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CH.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-fr-CH.ldf}[polyglossia: module for fr-CH (Swiss French)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-FR.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-FR.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-FR.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-fr-FR.ldf}[polyglossia: module for fr-FR (France's French)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-fr.ldf}[polyglossia: module for fr (French)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,12 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-french.ldf}[polyglossia: module for French]
 
 \PolyglossiaSetup{french}{%
   bcp47=fr-FR,
+  bcp47-language=fr,
+  bcp47-region=FR,
+  bcp47-script=Latn,
   language=French,
   script=Latin,
   langtag=FRA,
@@ -28,12 +31,12 @@
    \ifcase\xpg at nr\relax
       % french:
       \def\french at variant{french}%
-      \SetLanguageKeys{french}{babelname=french,bcp47=fr-FR}%
+      \SetLanguageKeys{french}{babelname=french,bcp47=fr-FR,bcp47-language=fr,bcp47-region=FR}%
       \french at thincolonspacefalse
    \or
       % canadian:
       \def\french at variant{canadien}%
-      \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA}%
+      \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA,bcp47-language=fr,bcp47-region=CA}%
       \xpg at ifdefined{canadien}{}%
       {\xpg at warning{No hyphenation patterns were loaded for "French (Canada)"\MessageBreak
         I will use the standard patterns for French instead}%
@@ -42,7 +45,7 @@
    \or
       % acadian:
       \def\french at variant{acadian}%
-      \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA}%
+      \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA,bcp47-language=fr,bcp47-region=CA}%
       \xpg at ifdefined{acadian}{}%
       {\xpg at warning{No hyphenation patterns were loaded for "French (Canada)"\MessageBreak
         I will use the standard patterns for French instead}%
@@ -51,7 +54,7 @@
    \or
       % swiss:
       \def\french at variant{swissfrench}%
-      \SetLanguageKeys{french}{babelname=french,bcp47=fr-CH}%
+      \SetLanguageKeys{french}{babelname=french,bcp47=fr-CH,bcp47-language=fr,bcp47-region=CH}%
       \adddialect\l at swissfrench\l at french\relax%
       \french at thincolonspacetrue
    \fi

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-friulan.ldf}[polyglossia: module for Friulian]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-friulian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-friulian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-friulian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-friulian.ldf}[polyglossia: module for Friulian]
 
 \PolyglossiaSetup{friulian}{%
   bcp47=fur,
+  bcp47-language=fur,
+  bcp47-script=Latn,
   language=Friulian,
   babelname=friulan,
   hyphennames={friulan,furlan},

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fur.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fur.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fur.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-fur.ldf}[polyglossia: module for fur (Friulian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ga.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ga.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ga.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ga.ldf}[polyglossia: module for ga (Gaelic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-gaelic.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-gaelic.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-gaelic.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-gaelic.ldf}[polyglossia: module for Gaelic]
 
 \PolyglossiaSetup{gaelic}{
   bcp47=ga,
+  bcp47-language=ga,
+  bcp47-script=Latn,
   language=Irish,
   babelname=irish,
   hyphennames={irish},
@@ -24,12 +26,12 @@
    \ifcase\xpg at nr\relax
       % irish:
       \gdef\gaelic at variant{irish}%
-      \SetLanguageKeys{gaelic}{language=Irish,langtag=IRI,babelname=irish,bcp47=ga}%
+      \SetLanguageKeys{gaelic}{language=Irish,langtag=IRI,babelname=irish,bcp47=ga,bcp47-language=ga}%
       \xpg at fontsetup@latin{gaelic}%
    \or
       % scottish:
       \gdef\gaelic at variant{scottish}%
-      \SetLanguageKeys{gaelic}{language=Gaelic,langtag=GAE,babelname=scottish,bcp47=gd}%
+      \SetLanguageKeys{gaelic}{language=Gaelic,langtag=GAE,babelname=scottish,bcp47=gd,bcp47-language=gd}%
       \xpg at fontsetup@latin{gaelic}%
    \fi
    \xpg at info{Option: gaelic, variant=\xpg at val}%

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,8 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-galician.ldf}[polyglossia: module for Galician]
 \PolyglossiaSetup{galician}{
   bcp47=gl,
+  bcp47-language=gl,
+  bcp47-region=ES,
+  bcp47-script=Latn,
   hyphennames={galician},
   hyphenmins={2,2},
   langtag=GAL,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-gd.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-gd.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-gd.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-gd.ldf}[polyglossia: module for gd (Gaelic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-georgian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-georgian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-georgian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-georgian.ldf}[polyglossia: module for Georgian]
 
 \PolyglossiaSetup{georgian}{
   bcp47=ka,
+  bcp47-language=ka,
+  bcp47-script=Geor,
   script=Georgian,
   scripttag=geor,
   langtag=KAT,
@@ -18,8 +20,12 @@
 \newif\ifgeorgian at numerals
 \define at key{georgian}{numerals}[arabic]{%
    \ifstrequal{#1}{georgian}%
-      {\georgian at numeralstrue}%
-      {\georgian at numeralsfalse}%
+      {\georgian at numeralstrue%
+       \SetLanguageKeys{georgian}{bcp47-extension-u=nu-geor}%
+      }%
+      {\georgian at numeralsfalse%
+       \SetLanguageKeys{georgian}{bcp47-extension-u=nu-latn}%
+      }%
 }
 
 \define at boolkey{georgian}[georgian@]{babelshorthands}[true]{}

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,13 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-german.ldf}[polyglossia: module for German]
 
 \PolyglossiaSetup{german}{
   bcp47=de-DE,
+  bcp47-language=de,
+  bcp47-region=DE,
+  bcp47-variant=1996,
+  bcp47-script=Latn,
   hyphenmins={2,2},
   frenchspacing=true,
   fontsetup=true,
@@ -93,43 +97,43 @@
   \if at german@oldspelling
      \if at swiss@locale
          \if at german@blackletter
-           \SetLanguageKeys{german}{babelname=swissgerman,bcp47=de-Latf-CH-1901}%
+           \SetLanguageKeys{german}{babelname=swissgerman,bcp47=de-Latf-CH-1901,bcp47-language=de,bcp47-region=CH,bcp47-variant=1901,bcp47-script=Latf}%
          \else
-           \SetLanguageKeys{german}{babelname=swissgerman,bcp47=de-CH-1901}%
+           \SetLanguageKeys{german}{babelname=swissgerman,bcp47=de-CH-1901,bcp47-language=de,bcp47-region=CH,bcp47-variant=1901,bcp47-script=Latn}%
          \fi
      \else
      \if at austrian@locale
          \if at german@blackletter
-            \SetLanguageKeys{german}{babelname=austrian,bcp47=de-Latf-AT-1901}%
+            \SetLanguageKeys{german}{babelname=austrian,bcp47=de-Latf-AT-1901,bcp47-language=de,bcp47-region=AT,bcp47-variant=1901,bcp47-script=Latf}%
          \else
-            \SetLanguageKeys{german}{babelname=austrian,bcp47=de-AT-1901}%
+            \SetLanguageKeys{german}{babelname=austrian,bcp47=de-AT-1901,bcp47-language=de,bcp47-region=AT,bcp47-variant=1901,bcp47-script=Latn}%
          \fi
      \else
          \if at german@blackletter
-            \SetLanguageKeys{german}{babelname=german,bcp47=de-Latf-DE-1901}%
+            \SetLanguageKeys{german}{babelname=german,bcp47=de-Latf-DE-1901,bcp47-script=Latf,bcp47-language=de,bcp47-region=DE,bcp47-variant=1901,bcp47-script=Latf}%
          \else
-            \SetLanguageKeys{german}{babelname=german,bcp47=de-DE-1901}%
+            \SetLanguageKeys{german}{babelname=german,bcp47=de-DE-1901,bcp47-language=de,bcp47-region=DE,bcp47-variant=1901,bcp47-script=Latn}%
          \fi
      \fi\fi
   \else
      \if at swiss@locale
          \if at german@blackletter
-           \SetLanguageKeys{german}{babelname=nswissgerman,bcp47=de-Latf-CH}%
+           \SetLanguageKeys{german}{babelname=nswissgerman,bcp47=de-Latf-CH,bcp47-language=de,bcp47-region=CH,bcp47-variant=1996,bcp47-script=Latf}%
          \else
-           \SetLanguageKeys{german}{babelname=nswissgerman,bcp47=de-CH}%
+           \SetLanguageKeys{german}{babelname=nswissgerman,bcp47=de-CH,bcp47-language=de,bcp47-region=CH,bcp47-variant=1996,bcp47-script=Latn}%
          \fi
      \else
      \if at austrian@locale
          \if at german@blackletter
-           \SetLanguageKeys{german}{babelname=naustrian,bcp47=de-Latf-AT}%
+           \SetLanguageKeys{german}{babelname=naustrian,bcp47=de-Latf-AT,bcp47-language=de,bcp47-region=AT,bcp47-variant=1996,bcp47-script=Latf}%
          \else
-           \SetLanguageKeys{german}{babelname=naustrian,bcp47=de-AT}%
+           \SetLanguageKeys{german}{babelname=naustrian,bcp47=de-AT,bcp47-language=de,bcp47-region=AT,bcp47-variant=1996,bcp47-script=Latn}%
          \fi
      \else
          \if at german@blackletter
-           \SetLanguageKeys{german}{babelname=ngerman,bcp47=de-Latf-DE}%
+           \SetLanguageKeys{german}{babelname=ngerman,bcp47=de-Latf-DE,bcp47-language=de,bcp47-region=DE,bcp47-variant=1996,bcp47-script=Latf}%
          \else
-           \SetLanguageKeys{german}{babelname=ngerman,bcp47=de-DE}%
+           \SetLanguageKeys{german}{babelname=ngerman,bcp47=de-DE,bcp47-language=de,bcp47-region=DE,bcp47-variant=1996,bcp47-script=Latn}%
          \fi
      \fi\fi
   \fi

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-germanb.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-germanb.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-germanb.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-germanb.ldf}[polyglossia: module for German (old spelling)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-gl.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-gl.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-gl.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-gl.ldf}[polyglossia: module for gl (Galician)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-grc.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-grc.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-grc.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-grc.ldf}[polyglossia: module for grc (Greek)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,13 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-greek.ldf}[polyglossia: module for Greek]
 
 \PolyglossiaSetup{greek}{
   bcp47=el-monoton,
+  bcp47-language=el,
+  bcp47-variant=monoton,
+  bcp47-script=Grek,
+  bcp47-extension-u=nu-grek,
   script=Greek,
   scripttag=grek,
   langtag=ELL,
@@ -57,7 +61,7 @@
     \def\greek at variant{polygreek}%
     \def\captionsgreek{\polygreekcaptions}%
     \def\dategreek{\datepolygreek}%
-    \SetLanguageKeys{greek}{babelname=polutonikogreek,bcp47=el-polyton}%
+    \SetLanguageKeys{greek}{babelname=polutonikogreek,bcp47=el-polyton,bcp47-language=el,bcp47-variant=polyton}%
     \xpg at info{Option: Polytonic Greek}%
   \else
     \ifx\@tmpa\tmp at ancient
@@ -68,7 +72,7 @@
       \def\greek at variant{ancientgreek}%
       \def\captionsgreek{\ancientgreekcaptions}%
       \def\dategreek{\dateancientgreek}%
-      \SetLanguageKeys{greek}{babelname=greek,bcp47=grc}%
+      \SetLanguageKeys{greek}{babelname=greek,bcp47=grc,bcp47-language=grc,bcp47-variant={}}%
       \xpg at info{Option: Ancient Greek}%
     \else %monotonic
       \xpg at ifdefined{monogreek}{}%
@@ -78,7 +82,7 @@
       \def\greek at variant{monogreek}% monotonic
       \def\captionsgreek{\monogreekcaptions}%
       \def\dategreek{\datemonogreek}%
-      \SetLanguageKeys{greek}{babelname=greek,bcp47=el-monoton}%
+      \SetLanguageKeys{greek}{babelname=greek,bcp47=el-monoton,bcp47-language=el,bcp47-variant=polyton}%
       \xpg at info{Option: Monotonic Greek}%
     \fi
   \fi}
@@ -90,7 +94,12 @@
 
 \newif\if at greek@numerals
 \define at key{greek}{numerals}[greek]{%
-  \ifstrequal{#1}{arabic}{\@greek at numeralsfalse}{\@greek at numeralstrue}%
+  \ifstrequal{#1}{arabic}{%
+   \@greek at numeralsfalse%
+    \SetLanguageKeys{greek}{bcp47-extension-u=nu-latn}%
+   }{\@greek at numeralstrue%
+    \SetLanguageKeys{greek}{bcp47-extension-u=nu-grek}%
+   }%
 }
 
 \define at boolkey{greek}{attic}[true]{\xpg at warning{Greek option `attic' is no longer required.}}
@@ -312,7 +321,7 @@
 \let\greeknumeral=\greeknumber
 \let\Greeknumeral=\Greeknumber
 \def\gr at num@i#1{%
-  \ifcase#1\or α\or β\or γ\or δ\or ε\or Ϛ\or ζ\or η\or θ\fi
+  \ifcase#1\or α\or β\or γ\or δ\or ε\or ϛ\or ζ\or η\or θ\fi
   \ifnum#1=\z@\else\anw at true\fi\anw at print}
 \def\gr at num@ii#1{%
   \ifcase#1\or ι\or κ\or λ\or μ\or ν\or ξ\or ο\or π\or ϟ\fi
@@ -332,7 +341,7 @@
   ͵\ifcase#1\or ρ\or σ\or τ\or υ\or φ\or χ\or ψ\or ω\or ϡ\fi
   \gr at num@v}
 \def\gr at Num@i#1{%
-  \ifcase#1 \or Α\or Β\or Γ\or Δ\or Ε\or \MakeUppercase{Ϛ}\or Ζ\or Η\or θ\fi
+  \ifcase#1 \or Α\or Β\or Γ\or Δ\or Ε\or Ϛ\or Ζ\or Η\or θ\fi
   \ifnum#1=\z@\else\anw at true\fi\anw at print}
 \def\gr at Num@ii#1{%
   \ifcase#1 \or Ι\or Κ\or Λ\or Μ\or Ν\or Ξ\or Ο\or Π\or \MakeUppercase{ϟ}\fi

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-he.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-he.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-he.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-he.ldf}[polyglossia: module for he (Hebrew)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-hebrew.ldf}[polyglossia: module for Hebrew]
 
@@ -7,6 +7,9 @@
 
 \PolyglossiaSetup{hebrew}{
   bcp47=he,
+  bcp47-language=hr,
+  bcp47-region=HE,
+  bcp47-script=Hebr,
   script=Hebrew,
   direction=RL,
   scripttag=hebr,
@@ -43,9 +46,11 @@
    \ifcase\xpg at nr\relax
       % hebrew:
       \@hebrew at numeralstrue%
+      \SetLanguageKeys{hebrew}{bcp47-extension-u=nu-hebr}%
    \or
       % arabic:
       \@hebrew at numeralsfalse%
+      \SetLanguageKeys{hebrew}{bcp47-extension-u=nu-latn}%
    \fi
    \xpg at info{Option: Hebrew, numerals=\xpg at val}%
 }{\xpg at warning{Unknown Hebrew numerals value `#1'}}

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hi.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hi.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hi.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-hi.ldf}[polyglossia: module for hi (Hindi)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 % UTF-8 strings kindly provided by Zdenĕk Wagner, 10-03-2008
 % with corrections and additional contributions by Anshuman Pandey
@@ -9,6 +9,8 @@
 \RequirePackage{devanagaridigits}
 \PolyglossiaSetup{hindi}{
   bcp47=hi,
+  bcp47-language=hi,
+  bcp47-script=Deva,
   script=Devanagari,
   scripttag=deva,
   langtag=HIN,
@@ -42,9 +44,11 @@
    \ifcase\xpg at nr\relax
       % Devanagari:
       \hindi at devanagari@numeralstrue%
+      \SetLanguageKeys{hindi}{bcp47-extension-u=nu-deva}%
    \or
       % Western:
       \hindi at devanagari@numeralsfalse%
+      \SetLanguageKeys{hindi}{bcp47-extension-u=nu-latn}%
    \fi
    \xpg at info{Option: Hindi, numerals=\xpg at val}%
 }{\xpg at warning{Unknown Hindi numeral `#1'}}

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hr.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hr.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hr.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-hr.ldf}[polyglossia: module for hr (Croatian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hsb.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hsb.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hsb.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-hsb.ldf}[polyglossia: module for hsb (Higher Sorbian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hu.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hu.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hu.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-hu.ldf}[polyglossia: module for hu (Hungarian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hungarian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hungarian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hungarian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,12 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-hungarian.ldf}[polyglossia: module for Hungarian]
 
 \PolyglossiaSetup{hungarian}{
   bcp47=hu,
+  bcp47-language=hu,
+  bcp47-region=HU,
+  bcp47-script=Latn,
   babelname=magyar,
   hyphennames={hungarian,magyar},
   langtag=HUN,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hy.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hy.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hy.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-hy.ldf}[polyglossia: module for hy (Armenian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ia.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ia.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ia.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ia.ldf}[polyglossia: module for ia (Interlingua)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,8 +1,10 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-icelandic.ldf}[polyglossia: module for Icelandic]
 \PolyglossiaSetup{icelandic}{
   bcp47=is,
+  bcp47-language=is,
+  bcp47-script=Latn,
   hyphennames={icelandic},
   hyphenmins={2,2},
   langtag=ISL,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-id.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-id.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-id.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-id.ldf}[polyglossia: module for id (Malay)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,8 +1,10 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-interlingua.ldf}[polyglossia: module for Interlingua]
 \PolyglossiaSetup{interlingua}{
   bcp47=ia,
+  bcp47-language=ia,
+  bcp47-script=Latn,
   hyphennames={interlingua},
   hyphenmins={2,2},
   langtag=INA,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-irish.ldf}[polyglossia: module for Irish]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-is.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-is.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-is.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-is.ldf}[polyglossia: module for is (Icelandic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-it.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-it.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-it.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-it.ldf}[polyglossia: module for it (Italian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,12 @@
 % !TEX encoding = UTF-8 Unicode
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-italian.ldf}[polyglossia: module for Italian]
 \PolyglossiaSetup{italian}{
   bcp47=it,
+  bcp47-language=it,
+  bcp47-region=IT,
+  bcp47-script=Latn,
   hyphennames={italian},
   hyphenmins={2,2},
   langtag=ITA,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ja.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ja.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ja.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ja.ldf}[polyglossia: module for ja (Japanese)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-japanese.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-japanese.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-japanese.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,12 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-japanese.ldf}[polyglossia: module for Japanese]
 
 \PolyglossiaSetup{japanese}{
 	bcp47=ja,
+	bcp47-language=ja,
+	bcp47-region=JP,
+	bcp47-script=Hrkt,
 	script=CJK,
 	language=Japanese,
 	langtag=JAN,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ka.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ka.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ka.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ka.ldf}[polyglossia: module for ka (Georgian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,5 +1,5 @@
 %% gloss-kannada.ldf
-%% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+%% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %%
 %% Copyright 2011 Aravinda VK <hallimanearavind AT gmail.com>,
 %%                Shankar Prasad <prasad.mvs AT gmail.com>,
@@ -22,6 +22,9 @@
 
 \PolyglossiaSetup{kannada}{
   bcp47=kn,
+  bcp47-language=kn,
+  bcp47-region=IN,
+  bcp47-script=Knda,
   script=Kannada,
   scripttag=knda,
   langtag=KAN,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-khmer.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-khmer.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-khmer.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,8 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-khmer.ldf}[polyglossia: module for Khmer]
 \PolyglossiaSetup{khmer}{
   bcp47=km,
+  bcp47-language=km,
+  bcp47-region=KH,
+  bcp47-script=Khmr,
   script=Khmer,%
   scripttag=khmr,%
   langtag=KHM,%
@@ -14,8 +17,13 @@
 \def\tmp at khmer{khmer}
 \define at key{khmer}{numerals}[arabic]{%
   \def\@tmpa{#1}%
-  \ifx\@tmpa\tmp at khmer\@khmer at numeralstrue%
-  \else\@khmer at numeralsfalse\fi%
+  \ifx\@tmpa\tmp at khmer%
+    \@khmer at numeralstrue%
+    \SetLanguageKeys{khmer}{bcp47-extension-u=nu-khmr}%
+  \else%
+    \@khmer at numeralsfalse%
+    \SetLanguageKeys{khmer}{bcp47-extension-u=nu-latn}%
+   \fi%
 }
 \setkeys{khmer}{numerals}
 \def\captionskhmer{%

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-km.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-km.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-km.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-km.ldf}[polyglossia: module for km (Khmer)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Arab.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Arab.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Arab.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-kmr-Arab.ldf}[polyglossia: module for kmr-Arab (Kurdish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Latn.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Latn.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Latn.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-kmr-Latn.ldf}[polyglossia: module for kmr-Latn (Kurdish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-kmr.ldf}[polyglossia: module for kmr (Kurdish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kn.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kn.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kn.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-kn.ldf}[polyglossia: module for kn (Kannada)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ko.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ko.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ko.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ko.ldf}[polyglossia: module for ko (Korean)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,16 +1,18 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-korean.ldf}[polyglossia: module for Korean]
 
 \PolyglossiaSetup{korean}{
   bcp47=ko,
-    script=Hangul,
-    scripttag=hang,
-    language=Korean,
-    langtag=KOR,
-    hyphennames={nohyphenation},
-    frenchspacing=true,
-    fontsetup=true
+  bcp47-language=ko,
+  bcp47-script=Kore,
+  script=Hangul,
+  scripttag=hang,
+  language=Korean,
+  langtag=KOR,
+  hyphennames={nohyphenation},
+  frenchspacing=true,
+  fontsetup=true
 }
 
 % BCP-47 compliant aliases

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Arab.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Arab.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Arab.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ku-Arab.ldf}[polyglossia: module for ku-Arab (Kurdish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Latn.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Latn.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Latn.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ku-Latn.ldf}[polyglossia: module for ku-Latn (Kurdish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ku.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ku.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ku.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ku.ldf}[polyglossia: module for ku (Kurdish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kurdish.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kurdish.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kurdish.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 % Created on September 1, 2019
 % Last updated on May 17, 2020
@@ -13,6 +13,9 @@
 
 \PolyglossiaSetup{kurdish}{
   bcp47=ckb,
+  bcp47-language=ckb,
+  bcp47-script=Arab,
+  bcp47-casing=ckb-Arab,
   script=Arabic,
   direction=RL,
   scripttag=arab,
@@ -79,9 +82,9 @@
      \@western at numeralstrue%
      \if at kurdish@kurmanji
          \def\kurdish at pattern{kurmanji}%
-         \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurmanji,bcp47=kmr-Latn}%
+         \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurmanji,bcp47=kmr-Latn,bcp47-language=kmr,bcp47-script=Latn,bcp47-casing=kmr-Latn}%
      \else
-         \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurdish,bcp47=ckb-Arab}%
+         \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurdish,bcp47=ckb-Arab,bcp47-language=ckb,bcp47-script=Arab,bcp47-casing=ckb-Arab}%
      \fi
      \def\kurdish at script{latin}
      \xpg at fontsetup@latin{kurdish}%
@@ -89,20 +92,20 @@
      \if at kurdish@arabic% Arabic explicitly set
         \if at kurdish@kurmanji
             \if at force@western at numerals\else\@western at numeralsfalse\fi%
-            \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurmanji,bcp47=kmr-Arab}%
+            \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurmanji,bcp47=kmr-Arab,bcp47-language=kmr,bcp47-script=Arab,bcp47-casing=kmr-Arab}%
             \def\kurdish at script{arabic}%
         \else
-            \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish,bcp47=ckb-Arab}%
+            \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish,bcp47=ckb-Arab,bcp47-language=ckb,bcp47-script=Arab,bcp47-casing=ckb-Arab}%
         \fi
         \xpg at fontsetup@nonlatin{kurdish}%
      \else% sorani=Arabic, kurmanji=Latin
         \if at kurdish@kurmanji
             \@western at numeralstrue%
-            \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurmanji,bcp47=kmr-Latn}%
+            \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurmanji,bcp47=kmr-Latn,bcp47-language=kmr,bcp47-script=Latn,bcp47-casing=kmr-Latn}%
             \xpg at fontsetup@latin{kurdish}%
             \def\kurdish at script{latin}
         \else
-            \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish,bcp47=ckb-Arab}%
+            \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish,bcp47=ckb-Arab,bcp47-language=ckb,bcp47-script=Arab,bcp47-casing=ckb-Arab}%
             \xpg at fontsetup@nonlatin{kurdish}%
         \fi
      \fi

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kurmanji.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kurmanji.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kurmanji.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-kurmanji.ldf}[polyglossia: module for Kurmanji Kurdish]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-classic.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-classic.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-classic.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-la-xclassic.ldf}[polyglossia: module for la-xclassic (Latin)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-ecclesia.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-ecclesia.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-ecclesia.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-la-xecclesiastic.ldf}[polyglossia: module for la-xecclesiastic (Latin)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-medieval.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-medieval.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-medieval.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-la-xmedieval.ldf}[polyglossia: module for la-xmedieval (Latin)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-la.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-la.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-la.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-la.ldf}[polyglossia: module for la (Latin)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-lao.ldf}[polyglossia: module for Lao]
 
 \PolyglossiaSetup{lao}{
   bcp47=lo,
+  bcp47-language=lo,
+  bcp47-script=Laoo,
   script=Lao,
   scripttag=lao,
   langtag=LAO,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latex.lde
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latex.lde	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latex.lde	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,8 +1,12 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
-\ProvidesLanguageDefinitionExtension{gloss-latex}{2023/02/11}{v1.60}{polyglossia: module for default language}
+\ProvidesLanguageDefinitionExtension{gloss-latex}{2023/04/16}{v1.61}{polyglossia: module for default language}
 
 \PolyglossiaSetup{latex}{
+  bcp47=en-US,
+  bcp47-language=en,
+  bcp47-region=US,
+  bcp47-script=Latn,
   hyphennames={english},
   hyphenmins={2,3},
   langtag=ENG,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-latin.ldf}[polyglossia: module for Latin]
 
@@ -7,6 +7,8 @@
 \PolyglossiaSetup {latin}
   {
     bcp47 = la,
+    bcp47-language = la,
+    bcp47-script = Latn,
     hyphenmins = {2,2},
     frenchspacing = true,
     fontsetup = true,
@@ -394,7 +396,7 @@
     \bool_set_true:N \l_polyglossia_latin_capitalize_month_bool
     \bool_set_false:N \l_polyglossia_latin_punctuation_spacing_bool
     \str_set:Nn \l_polyglossia_latin_variant_str {classic}
-    \SetLanguageKeys {latin} { babelname = classiclatin, bcp47 = la-x-classic }
+    \SetLanguageKeys {latin} { babelname = classiclatin, bcp47 = la-x-classic, bcp47-extension-x = classic }
     \polyglossia_latin_set_patterns:n {classiclatin}
   }
 
@@ -406,7 +408,7 @@
     \bool_set_true:N \l_polyglossia_latin_capitalize_month_bool
     \bool_set_false:N \l_polyglossia_latin_punctuation_spacing_bool
     \str_set:Nn \l_polyglossia_latin_variant_str {medieval}
-    \SetLanguageKeys {latin} { babelname = medievallatin, bcp47 = la-x-medieval }
+    \SetLanguageKeys {latin} { babelname = medievallatin, bcp47 = la-x-medieval, bcp47-extension-x = medieval }
     \polyglossia_latin_use_modern_patterns:
   }
 
@@ -430,7 +432,7 @@
     \bool_set_false:N \l_polyglossia_latin_capitalize_month_bool
     \bool_set_true:N \l_polyglossia_latin_punctuation_spacing_bool
     \str_set:Nn \l_polyglossia_latin_variant_str {ecclesiastic}
-    \SetLanguageKeys {latin} { babelname = ecclesiasticlatin, bcp47 = la-x-ecclesia }
+    \SetLanguageKeys {latin} { babelname = ecclesiasticlatin, bcp47 = la-x-ecclesia, bcp47-extension-x = ecclesia }
     \polyglossia_latin_use_modern_patterns:
   }
 
@@ -632,7 +634,12 @@
 % (in case Latin is used as a secondary language, see #394). We have to
 % turn it off if Latin is not the main language.
 
-\protected at write \@auxout { } { \shorthandoff {=} } % for the aux file
+% For the aux file:
+\protected at write \@auxout { }
+  {
+    \shorthandoff {=}
+    \shorthandoff* {^} % #582
+  }
 
 \AtBeginDocument
   {

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latinclassic.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latinclassic.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latinclassic.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-latinclassic.ldf}[polyglossia: module for classic Latin]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latinecclesiastic.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latinecclesiastic.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latinecclesiastic.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-latinecclesiastic.ldf}[polyglossia: module for ecclesiastic Latin]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latinmedieval.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latinmedieval.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latinmedieval.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-latinmedieval.ldf}[polyglossia: module for medieval Latin]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,8 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-latvian.ldf}[polyglossia: module for Latvian]
 \PolyglossiaSetup{latvian}{
   bcp47=lv,
+  bcp47-language=lv,
+  bcp47-region=LV,
+  bcp47-script=Latn,
   hyphennames={latvian},
   hyphenmins={2,2},
   langtag=LVI,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 % Translated by Paulius Sladkevičius <komsas at gmail.com>
 
@@ -5,6 +5,9 @@
 \ProvidesFile{gloss-lithuanian.ldf}[polyglossia: module for Lithuanian]
 \PolyglossiaSetup{lithuanian}{
   bcp47=lt,
+  bcp47-language=lt,
+  bcp47-region=LT,
+  bcp47-script=Latn,
   hyphennames={lithuanian},
   hyphenmins={2,2},
   langtag=LTH,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lo.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lo.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lo.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-lo.ldf}[polyglossia: module for lo (Lao)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lowersorbian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lowersorbian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lowersorbian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-lowersorbian.ldf}[polyglossia: module for Lower Sorbian]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-lsorbian.ldf}[polyglossia: module for Lower Sorbian]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lt.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lt.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lt.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-lt.ldf}[polyglossia: module for lt (Lithuanian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lv.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lv.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lv.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-lv.ldf}[polyglossia: module for lv (Latvian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-macedonian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-macedonian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-macedonian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,8 +1,10 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-macedonian.ldf}[polyglossia: module for Macedonian]
 \PolyglossiaSetup{macedonian}{
   bcp47=mk,
+  bcp47-language=mk,
+  bcp47-script=Cyrl,
   script=Cyrillic,
   scripttag=cyrl,
   langtag=MKD,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-magyar.ldf}[polyglossia: module for Hungarian (Magyar)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-malay.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-malay.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-malay.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-malay.ldf}[polyglossia: module for Malay]
 
@@ -6,6 +6,8 @@
 
 \PolyglossiaSetup{malay}{%
   bcp47=id,
+  bcp47-language=id,
+  bcp47-script=Latn,
   language=Malay,
   langtag=MLY,
   hyphennames={malay,melayu,bahasam,bahasai,indonesian,indon,bahasa},
@@ -38,7 +40,7 @@
       \malay at melayutrue
    \fi
    \ifmalay at melayu
-      \SetLanguageKeys{malay}{language=Malay,langtag=MLY,babelname=bahasam,bcp47=zsm}%
+      \SetLanguageKeys{malay}{language=Malay,langtag=MLY,babelname=bahasam,bcp47=zsm,bcp47-language=zsm}%
       \xpg at fontsetup@latin{malay}%
       % Check if \l at malay is defined. If not, try to set it to some variety
       % (specific order as in the csv list below), or null language if everything fails
@@ -56,7 +58,7 @@
         }%
       }%
    \else
-      \SetLanguageKeys{malay}{language=Indonesian,langtag=IND,babelname=bahasa,bcp47=id}%
+      \SetLanguageKeys{malay}{language=Indonesian,langtag=IND,babelname=bahasa,bcp47=id,bcp47-language=id}%
       \xpg at fontsetup@latin{malay}%
       % Check if \l at indonesian is defined. If not, try to set it to some variety
       % (specific order as in the csv list below), or null language if everything fails

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-malayalam.ldf}[polyglossia: module for Malayalam]
 
@@ -6,6 +6,8 @@
 
 \PolyglossiaSetup{malayalam}{
   bcp47=ml,
+  bcp47-language=ml,
+  bcp47-script=Mlym,
   script=Malayalam,
   scripttag=mlym,
   langtag=MAL, %FIXME there is also MLR for "Malayalam Reformed"

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 % Translations provided by Abhijit Navale <abhi_navale at live.in>
 % Ordinals (1-100) added by Niranjan Tambe <niranjanvikastambe at gmail.com> on 14th December, 2019
@@ -10,6 +10,8 @@
 
 \PolyglossiaSetup{marathi}{
   bcp47=mr,
+  bcp47-language=mr,
+  bcp47-script=Deva,
   script=Devanagari,
   scripttag=deva,
   langtag=MAR,
@@ -30,9 +32,11 @@
    \ifcase\xpg at nr\relax
       % Western:
       \marathi at devanagari@numeralsfalse%
+      \SetLanguageKeys{marathi}{bcp47-extension-u=nu-latn}%
    \or
       % Devanagari:
       \marathi at devanagari@numeralstrue%
+      \SetLanguageKeys{marathi}{bcp47-extension-u=nu-deva}%
    \fi
    \xpg at info{Option: Marathi, numerals=\xpg at val}%
 }{\xpg at warning{Unknown Marathi numerals value `#1'}}

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mk.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mk.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mk.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-mk.ldf}[polyglossia: module for mk (Macedonian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ml.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ml.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ml.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ml.ldf}[polyglossia: module for ml (Malayalam)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mn.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mn.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mn.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-mn.ldf}[polyglossia: module for mn (Mongolian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mongolian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mongolian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mongolian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-mongolian.ldf}[polyglossia: module for Mongolian]
 
@@ -6,6 +6,8 @@
 
 \PolyglossiaSetup{mongolian}{
   bcp47=mn,
+  bcp47-language=mn,
+  bcp47-script=Cyrl,
   script=Cyrillic,
   scripttag=cyrl,
   langtag=MNG,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mr.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mr.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mr.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-mr.ldf}[polyglossia: module for mr (Marathi)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-naustrian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-naustrian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-naustrian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-naustrian.ldf}[polyglossia: module for Austrian German (current spelling)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nb.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nb.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nb.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-nb.ldf}[polyglossia: module for nb (Norwegian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-newzealand.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-newzealand.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-newzealand.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-newzealand.ldf}[polyglossia: module for Newzealand English]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ngerman.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ngerman.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ngerman.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ngerman.ldf}[polyglossia: module for German (current spelling)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nko.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nko.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nko.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,8 +1,10 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-nko.ldf}[Polyglossia: module for N’Ko]
 \PolyglossiaSetup{nko}{%
   bcp47=nko,
+  bcp47-language=nko,
+  bcp47-script=Nkoo,
   script=N'ko,
   scripttag=nko~,
   langtag=NKO,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-norsk.ldf}[polyglossia: module for Norwegian (Bokmal)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-norwegian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-norwegian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-norwegian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,8 +1,10 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-norwegian.ldf}[polyglossia: module for Norwegian]
 \PolyglossiaSetup{norwegian}{
   bcp47=nn,
+  bcp47-language=nn,
+  bcp47-script=Latn,
   hyphennames={nynorsk},
   langtag=NYN,
   hyphenmins={2,2},
@@ -22,12 +24,12 @@
    \ifcase\xpg at nr\relax
       % nynorsk:
       \def\norwegian at variant{nynorsk}%
-      \SetLanguageKeys{norwegian}{langtag=NYN,babelname=nynorsk,bcp47=nn}%
+      \SetLanguageKeys{norwegian}{langtag=NYN,babelname=nynorsk,bcp47=nn,bcp47-language=nn}%
       \xpg at fontsetup@latin{norwegian}%
    \or
       % bokmal:
       \def\norwegian at variant{norsk}%
-      \SetLanguageKeys{norwegian}{langtag=NOR,babelname=norsk,bcp47=nb}%
+      \SetLanguageKeys{norwegian}{langtag=NOR,babelname=norsk,bcp47=nb,bcp47-language=nb}%
       \xpg at fontsetup@latin{norwegian}%
    \fi
    \xpg at info{Option: norwegian, variant=\xpg at val}%

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nswissgerman.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nswissgerman.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nswissgerman.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-nswissgerman.ldf}[polyglossia: module for Swiss German (current spelling)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-nynorsk.ldf}[polyglossia: module for Norwegian (Nynorsk)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 %%
 %% This is file `gloss-occitan.ldf',
@@ -21,6 +21,8 @@
 
 \PolyglossiaSetup{occitan}{
   bcp47=oc,
+  bcp47-language=oc,
+  bcp47-script=Latn,
   hyphennames={occitan},
   langtag=OCI,
   hyphenmins={2,2},

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-pa.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-pa.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-pa.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-pa.ldf}[polyglossia: module for pa (Punjabi)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-persian.ldf}[polyglossia: module for Persian]
 
@@ -8,6 +8,8 @@
 \RequirePackage{hijrical}
 \PolyglossiaSetup{persian}{
   bcp47=fa,
+  bcp47-language=fa,
+  bcp47-script=Arab,
   babelname=farsi,
   script=Arabic,
   direction=RL,
@@ -28,8 +30,12 @@
 \def\tmp at western{western}
 \define at key{persian}{numerals}[eastern]{%
   \def\@tmpa{#1}%
-  \ifx\@tmpa\tmp at western\@western at numeralstrue\else%
+  \ifx\@tmpa\tmp at western%
+     \@western at numeralstrue%
+    \SetLanguageKeys{persian}{bcp47-extension-u=nu-latn}%
+  \else%
     \@western at numeralsfalse%
+    \SetLanguageKeys{persian}{bcp47-extension-u=nu-arab}%
   \fi}
 
 %this is needed for \abjad in arabicnumbers.sty

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,10 +1,12 @@
 % !TEX encoding = UTF-8 Unicode
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-piedmontese.ldf}[2013/02/12 v1.0 polyglossia: module for Piedmontese]
 \makeatletter
 \PolyglossiaSetup{piedmontese}{
   bcp47=pms,
+  bcp47-language=pms,
+  bcp47-script=Latn,
   hyphennames={piedmontese},
   hyphenmins={2,2},
   langtag=PMS,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-polish.ldf}[polyglossia: module for Polish]
 
 \PolyglossiaSetup{polish}{
   bcp47=pl,
+  bcp47-language=pl,
+  bcp47-script=Latn,
   hyphennames={polish},
   hyphenmins={2,2},
   langtag=PLK,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-polutonikogreek.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-polutonikogreek.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-polutonikogreek.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-polutonikogreek.ldf}[polyglossia: module for polytonic Greek]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-portuges.ldf}[polyglossia: module for Portuguese]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-portuguese.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-portuguese.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-portuguese.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,12 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-portuguese.ldf}[polyglossia: module for Portuguese]
 
 \PolyglossiaSetup{portuguese}{
   bcp47=pt-PT,
+  bcp47-language=pt,
+  bcp47-region=PT,
+  bcp47-script=Latn,
   babelname=portuges,
   hyphennames={portuges,portuguese},
   hyphenmins={2,3},
@@ -29,11 +32,11 @@
    \ifcase\xpg at nr\relax
       % portuguese:
       \def\portuguese at variant{portuges}%
-      \SetLanguageKeys{portuguese}{babelname=portuges,bcp47=pt-PT}%
+      \SetLanguageKeys{portuguese}{babelname=portuges,bcp47=pt-PT,bcp47-language=pt,bcp47-region=PT}%
    \or
       % brazilian:
       \def\portuguese at variant{brazil}%
-      \SetLanguageKeys{portuguese}{babelname=brazil,bcp47=pt-BR}%
+      \SetLanguageKeys{portuguese}{babelname=brazil,bcp47=pt-BR,bcp47-language=pt,bcp47-region=BR}%
       % There are no specific brazil patterns
       \adddialect\l at brazil\l at portuges\relax%
    \fi

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-punjabi.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-punjabi.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-punjabi.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 % UTF-8 strings kindly provided by 
 % Arvinder Singh Kang, <17-11-2022>
@@ -9,6 +9,8 @@
 \RequirePackage{gurmukhidigits}
 \PolyglossiaSetup{punjabi}{
   bcp47=pa,
+  bcp47-language=pa,
+  bcp47-script=Guru,
   script=Gurmukhi,
   scripttag=gur,
   langtag=pan,
@@ -32,9 +34,11 @@
    \ifcase\xpg at nr\relax
       % Gurmukhi:
       \punjabi at gurmukhi@numeralstrue%
+      \SetLanguageKeys{punjabi}{bcp47-extension-u=nu-guru}%
    \or
       % Western:
       \punjabi at gurmukhi@numeralsfalse%
+      \SetLanguageKeys{punjabi}{bcp47-extension-u=nu-latn}%
    \fi
    \xpg at info{Option: Punjabi, numerals=\xpg at val}%
 }{\xpg at warning{Unknown Punjabi numeral `#1'}}

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-romanian.ldf}[polyglossia: module for Romanian]
 
 \PolyglossiaSetup{romanian}{
   bcp47=ro,
+  bcp47-language=ro,
+  bcp47-script=Latn,
   hyphennames={romanian},
   hyphenmins={2,2},
   langtag=ROM,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-romansh.ldf}[polyglossia: module for Romansh]
 \makeatletter
 \PolyglossiaSetup{romansh}{%
   bcp47=rm,
+  bcp47-language=rm,
+  bcp47-script=Latn,
   hyphennames={romansh},
   hyphenmins={2,2},
   langtag=RMS,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-russian.ldf}[polyglossia: module for Russian]
 
@@ -6,6 +6,9 @@
 
 \PolyglossiaSetup{russian}{
   bcp47=ru,
+  bcp47-language=ru,
+  bcp47-variant=luna1918,
+  bcp47-script=Cyrl,
   script=Cyrillic,
   scripttag=cyrl,
   langtag=RUS,
@@ -26,8 +29,8 @@
 \newif\if at russian@modern
 \define at key{russian}{spelling}[modern]{%
   \ifstrequal{#1}{old}%
-    {\@russian at modernfalse\SetLanguageKeys{russian}{bcp47=ru-petr1708}}%
-    {\@russian at moderntrue\SetLanguageKeys{russian}{bcp47=ru}}%
+    {\@russian at modernfalse\SetLanguageKeys{russian}{bcp47=ru-petr1708,bcp47-variant=petr1708}}%
+    {\@russian at moderntrue\SetLanguageKeys{russian}{bcp47=ru,bcp47-variant=luna1918}}%
 }
 
 \def\captionsrussian{%
@@ -45,18 +48,22 @@
       % arabic:
       \cyrillic at numeralsfalse%
       \cyrillic at asbuk@numeralsfalse%
+      \SetLanguageKeys{russian}{bcp47-extension-u=nu-latn}%
    \or
       % cyrillic:
       \cyrillic at numeralstrue%
       \cyrillic at asbuk@numeralsfalse%
+      \SetLanguageKeys{russian}{bcp47-extension-u=nu-cyrl}%
    \or
       % cyrillic-trad:
       \cyrillic at numeralstrue%
       \cyrillic at asbuk@numeralsfalse%
+      \SetLanguageKeys{russian}{bcp47-extension-u=nu-cyrl}%
    \or
       % cyrillic-alph:
       \cyrillic at numeralstrue%
       \cyrillic at asbuk@numeralstrue%
+      \SetLanguageKeys{russian}{bcp47-extension-u=nu-cyrl}%
    \fi
    \xpg at info{Option: Russian, numerals=\xpg at val}%
 }{\xpg at warning{Unknown Russian numerals value `#1'}}

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-sami.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-sami.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-sami.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-sami.ldf}[polyglossia: module for Sami]
 
 \PolyglossiaSetup{sami}{
   bcp47=se,
+  bcp47-language=se,
+  bcp47-script=Latn,
   babelname=samin,
   hyphennames={samin},
   hyphenmins={2,2},

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-samin.ldf}[polyglossia: module for Northern Sami]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-sanskrit.ldf}[polyglossia: module for Sanskrit]
 
@@ -6,6 +6,9 @@
 
 \PolyglossiaSetup{sanskrit}{
   bcp47=sa-Deva,
+  bcp47-language=sa,
+  bcp47-script=Deva,
+  bcp47-casing=sa-Deva,
   langtag=SAN,
   hyphennames={sanskrit,prakrit},
   hyphenmins={1,3},
@@ -34,25 +37,25 @@
 \define at key{sanskrit}{script}[Devanagari]{\setkeys{sanskrit}{Script=#1}}
 
 \def\fontsetup at sanskrit@Devanagari{%
-  \SetLanguageKeys{sanskrit}{scripttag=deva,script=Devanagari,bcp47=sa-Deva}
+  \SetLanguageKeys{sanskrit}{scripttag=deva,script=Devanagari,bcp47=sa-Deva,bcp47-language=sa,bcp47-script=Deva,bcp47-casing=sa-Deva}
   \xpg at fontsetup@nonlatin{sanskrit}}
 \def\fontsetup at sanskrit@Gujarati{%
-  \SetLanguageKeys{sanskrit}{scripttag=gujr,script=Gujarati,bcp47=sa-Gujr}
+  \SetLanguageKeys{sanskrit}{scripttag=gujr,script=Gujarati,bcp47=sa-Gujr,bcp47-language=sa,bcp47-script=Gujr,bcp47-casing=sa-Gujr}
   \xpg at fontsetup@nonlatin{sanskrit}}
 \def\fontsetup at sanskrit@Malayalam{%
-  \SetLanguageKeys{sanskrit}{scripttag=mlym,script=Malayalam,bcp47=sa-Mlym}
+  \SetLanguageKeys{sanskrit}{scripttag=mlym,script=Malayalam,bcp47=sa-Mlym,bcp47-language=sa,bcp47-script=Mlym,bcp47-casing=sa-Mlym}
   \xpg at fontsetup@nonlatin{sanskrit}}
 \def\fontsetup at sanskrit@Bengali{%
-  \SetLanguageKeys{sanskrit}{scripttag=beng,script=Bengali,bcp47=sa-Beng}
+  \SetLanguageKeys{sanskrit}{scripttag=beng,script=Bengali,bcp47=sa-Beng,bcp47-language=sa,bcp47-script=Beng,bcp47-casing=sa-Beng}
   \xpg at fontsetup@nonlatin{sanskrit}}
 \def\fontsetup at sanskrit@Kannada{%
-  \SetLanguageKeys{sanskrit}{scripttag=knda,script=Kannada,bcp47=sa-Knda}
+  \SetLanguageKeys{sanskrit}{scripttag=knda,script=Kannada,bcp47=sa-Knda,bcp47-language=sa,bcp47-script=Knda,bcp47-casing=sa-Knda}
   \xpg at fontsetup@nonlatin{sanskrit}}
 \def\fontsetup at sanskrit@Telugu{%
-  \SetLanguageKeys{sanskrit}{scripttag=telu,script=Telugu,bcp47=sa-Relu}
+  \SetLanguageKeys{sanskrit}{scripttag=telu,script=Telugu,bcp47=sa-Relu,bcp47-language=sa,bcp47-script=Relu,bcp47-casing=sa-Relu}
   \xpg at fontsetup@nonlatin{sanskrit}}
 \def\fontsetup at sanskrit@Latin{%
-  \SetLanguageKeys{sanskrit}{scripttag=latn,script=Latin,bcp47=sa-Latn}
+  \SetLanguageKeys{sanskrit}{scripttag=latn,script=Latin,bcp47=sa-Latn,bcp47-language=sa,bcp47-script=Latn,bcp47-casing=sa-Latn}
   \xpg at fontsetup@latin{sanskrit}}
 
 
@@ -62,9 +65,11 @@
    \ifcase\xpg at nr\relax
       % Devanagari:
       \sanskrit at devanagari@numeralstrue%
+      \SetLanguageKeys{sanskrit}{bcp47-extension-u=nu-deva}%
    \or
       % Western:
       \sanskrit at devanagari@numeralsfalse%
+      \SetLanguageKeys{sanskrit}{bcp47-extension-u=nu-latn}%
    \fi
    \xpg at info{Option: Sanskrit, numerals=\xpg at val}%
 }{\xpg at warning{Unknown Sanskrit numeral `#1'}}

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-scottish.ldf}[polyglossia: module for Scottish Gaelic]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-serbian.ldf}[polyglossia: module for Serbian]
 %TODO split into gloss-serbiancyr.ldf and gloss-serbianlat.ldf
@@ -10,6 +10,9 @@
 
 \PolyglossiaSetup{serbian}{
   bcp47=sr-Latn,
+  bcp47-language=sr,
+  bcp47-script=Latn,
+  bcp47-casing=sr-Latn,
   langtag=SRB,
   hyphennames={serbian},
   hyphenmins={2,2},
@@ -39,12 +42,12 @@
    \ifcase\xpg at nr\relax
       % cyrillic:
       \@serbian at cyrtrue
-      \SetLanguageKeys{serbian}{scripttag=cyrl,script=Cyrillic,babelname=serbianc,bcp47=sr-Cyrl}
+      \SetLanguageKeys{serbian}{scripttag=cyrl,script=Cyrillic,babelname=serbianc,bcp47=sr-Cyrl,bcp47-language=sr,bcp47-script=Cyrl,bcp47-casing=sr-Cyrl}
       \xpg at fontsetup@nonlatin{serbian}%
    \or
       % latin:
       \@serbian at cyrfalse
-      \SetLanguageKeys{serbian}{scripttag=latn,script=Latin,babelname=serbian,bcp47=sr-Latn}
+      \SetLanguageKeys{serbian}{scripttag=latn,script=Latin,babelname=serbian,bcp47=sr-Latn,bcp47-language=sr,bcp47-script=Latn,bcp47-casing=sr-Latn}
       \xpg at fontsetup@latin{serbian}%
       %TODO \def\serbian at language{\language=\l at serbianlat}%
       % or should we use Croatian patterns as a fallback for the time being???
@@ -61,18 +64,22 @@
       % arabic:
       \cyrillic at numeralsfalse%
       \cyrillic at asbuk@numeralsfalse%
+      \SetLanguageKeys{serbian}{bcp47-extension-u=nu-latn}%
    \or
       % cyrillic:
       \cyrillic at numeralstrue%
       \cyrillic at asbuk@numeralsfalse%
+      \SetLanguageKeys{serbian}{bcp47-extension-u=nu-cyrl}%
    \or
       % cyrillic-trad:
       \cyrillic at numeralstrue%
       \cyrillic at asbuk@numeralsfalse%
+      \SetLanguageKeys{serbian}{bcp47-extension-u=nu-cyrl}%
    \or
       % cyrillic-alph:
       \cyrillic at numeralstrue%
       \cyrillic at asbuk@numeralstrue%
+      \SetLanguageKeys{serbian}{bcp47-extension-u=nu-cyrl}%
    \fi
    \xpg at info{Option: Serbian, numerals=\xpg at val}%
 }{\xpg at warning{Unknown Serbian numerals value `#1'}}

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-serbianc.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-serbianc.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-serbianc.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-serbianc.ldf}[polyglossia: module for Serbian (cyrillic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-slovak.ldf}[polyglossia: module for Slovak]
 
 \PolyglossiaSetup{slovak}{
   bcp47=sk,
+  bcp47-language=sk,
+  bcp47-script=Latn,
   hyphennames={slovak},
   hyphenmins={2,2},
   langtag=SKY,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-slovene.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-slovene.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-slovene.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-slovene.ldf}[polyglossia: module for Slovenian]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-slovenian.ldf}[polyglossia: module for Slovenian]
 
 \PolyglossiaSetup{slovenian}{
   bcp47=sl,
+  bcp47-language=sl,
+  bcp47-script=Latn,
   hyphennames={slovenian,slovene},
   babelname=slovene,
   hyphenmins={2,2},

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-sorbian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-sorbian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-sorbian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-sorbian.ldf}[polyglossia: module for Sorbian]
 
 \PolyglossiaSetup{sorbian}{
   bcp47=hsb,
+  bcp47-language=hsb,
+  bcp47-script=Latn,
   language=Upper Sorbian,
   babelname=uppersorbian,
   hyphennames={usorbian,uppersorbian},
@@ -28,7 +30,7 @@
    \ifcase\xpg at nr\relax
       % upper:
       \def\sorbian at variant{usorbian}%
-      \SetLanguageKeys{sorbian}{language=Upper Sorbian,langtag=USB,babelname=uppersorbian,bcp47=hsb}%
+      \SetLanguageKeys{sorbian}{language=Upper Sorbian,langtag=USB,babelname=uppersorbian,bcp47=hsb,bcp47-language=hsb}%
       \xpg at fontsetup@latin{sorbian}%
       % Check if \l at usorbian is defined. If not, try to set it to some variety
       % (specific order as in the csv list below), or null language if everything fails
@@ -48,7 +50,7 @@
    \or
       % lower:
       \def\sorbian at variant{lsorbian}%
-      \SetLanguageKeys{sorbian}{language=Lower Sorbian,langtag=LSB,babelname=lowersorbian,bcp47=dsb}%
+      \SetLanguageKeys{sorbian}{language=Lower Sorbian,langtag=LSB,babelname=lowersorbian,bcp47=dsb,bcp47-language=dsb}%
       \xpg at fontsetup@latin{sorbian}%
       % Check if \l at lsorbian is defined. If not, try to set it to some variety
       % (specific order as in the csv list below), or null language if everything fails

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,12 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-spanish.ldf}[polyglossia: module for Spanish]
 
 \PolyglossiaSetup{spanish}{
   bcp47=es-ES,
+  bcp47-language=es,
+  bcp47-region=ES,
+  bcp47-script=Latn,
   hyphennames={spanish},
   hyphenmins={2,2},
   totalhyphenmin=5,
@@ -28,11 +31,11 @@
    \ifcase\xpg at nr\relax
       % spanish:
       \@spanish at mexicofalse%
-      \SetLanguageKeys{spanish}{babelname=spanish,bcp47=es-ES}%
+      \SetLanguageKeys{spanish}{babelname=spanish,bcp47=es-ES,bcp47-region=ES}%
    \or
       % mexican:
       \@spanish at mexicotrue%
-      \SetLanguageKeys{spanish}{babelname=spanishmx,bcp47=es-MX}%
+      \SetLanguageKeys{spanish}{babelname=spanishmx,bcp47=es-MX,bcp47-region=MX}%
    \fi
    \xpg at info{Option: spanish, variant=\xpg at val}%
 }{\xpg at warning{Unknown spanish variant `#1'}}

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-spanishmx.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-spanishmx.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-spanishmx.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-spanishmx.ldf}[polyglossia: module for Mexican Spanish]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-swedish.ldf}[polyglossia: module for Swedish]
 
 \PolyglossiaSetup{swedish}{
   bcp47=sv,
+  bcp47-language=sv,
+  bcp47-script=Latn,
   hyphennames={swedish},
   hyphenmins={2,2},
   langtag=SVE,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-swissgerman.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-swissgerman.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-swissgerman.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-swissgerman.ldf}[polyglossia: module for Swiss German (old spelling)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-syriac.ldf}[polyglossia: module for Syriac]
 
@@ -7,6 +7,8 @@
 
 \PolyglossiaSetup{syriac}{
   bcp47=syr,
+  bcp47-language=syr,
+  bcp47-script=Syrc,
   script=Syriac,
   scripttag=syrc,
   langtag=SYR,
@@ -31,9 +33,11 @@
 	  \let\syriacnumber\abjadsyriac
 	\else
 	  \ifx\@tmpa\tmp at eastern
-      \@eastern at numeralstrue
+              \@eastern at numeralstrue
+              \SetLanguageKeys{syriac}{bcp47-extension-u=nu-syrc}%
 	  \else
-      \@eastern at numeralsfalse
+              \@eastern at numeralsfalse
+              \SetLanguageKeys{syriac}{bcp47-extension-u=nu-latn}%
  	  \fi
   \fi}
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-tamil.ldf}[polyglossia: module for Tamil]
 
@@ -6,6 +6,8 @@
 
 \PolyglossiaSetup{tamil}{
   bcp47=ta,
+  bcp47-language=ta,
+  bcp47-script=Taml,
   script=Tamil,
   scripttag=taml,
   langtag=TAM,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-telugu.ldf}[polyglossia: module for Telugu]
 
@@ -6,6 +6,8 @@
 
 \PolyglossiaSetup{telugu}{
   bcp47=te,
+  bcp47-language=te,
+  bcp47-script=Telu,
   script=Telugu,
   scripttag=telu,
   langtag=TEL,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-thai.ldf}[polyglossia: module for Thai]
 %% This is partly based on thai-latex for Babel:
@@ -12,6 +12,8 @@
 %%%%
 \PolyglossiaSetup{thai}{
   bcp47=th,
+  bcp47-language=th,
+  bcp47-script=Thai,
   script=Thai,
   scripttag=thai,
   langtag=THA,
@@ -29,8 +31,13 @@
 \def\tmp at thai{thai}
 \define at key{thai}{numerals}[arabic]{%
 	\def\@tmpa{#1}%
-	\ifx\@tmpa\tmp at thai\@thai at numeralstrue\else
-	  \@thai at numeralsfalse\fi
+	\ifx\@tmpa\tmp at thai
+	  \@thai at numeralstrue%
+          \SetLanguageKeys{thai}{bcp47-extension-u=nu-thai}%
+	\else
+	  \@thai at numeralsfalse%
+          \SetLanguageKeys{thai}{bcp47-extension-u=nu-latn}%
+	\fi
 }
 
 % Register default options

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-tibetan.ldf}[polyglossia: module for Tibetan]
 %% Copyright 2013 Elie Roux
@@ -9,6 +9,8 @@
 
 \PolyglossiaSetup{tibetan}{
   bcp47=bo,
+  bcp47-language=bo,
+  bcp47-script=Tibt,
   script=Tibetan,
   scripttag=tibt,
   langtag=TIB,
@@ -25,9 +27,12 @@
 \def\tmp at tibetan{tibetan}
 \define at key{tibetan}{numerals}[tibetan]{%
 	\def\@tmpa{#1}%
-	\ifx\@tmpa\tmp at tibetan\@tibetan at numeralstrue%
+	\ifx\@tmpa\tmp at tibetan
+	   \@tibetan at numeralstrue%
+           \SetLanguageKeys{tibetan}{bcp47-extension-u=nu-tibt}%
 	\else
 	  \@tibetan at numeralsfalse%
+           \SetLanguageKeys{tibetan}{bcp47-extension-u=nu-latn}%
 	\fi%
 }
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-turkish.ldf}[polyglossia: module for Turkish]
 \RequirePackage{hijrical}
 \PolyglossiaSetup{turkish}{
   bcp47=tr,
+  bcp47-language=tr,
+  bcp47-script=Latn,
   hyphennames={turkish},
   hyphenmins={2,2},
   langtag=TRK,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-turkmen.ldf}[polyglossia: module for Turkmen]
 %% Translations provided by Nazar Annagurban <nazartm at gmail dot com>
 \PolyglossiaSetup{turkmen}{
   bcp47=tk,
+  bcp47-language=tk,
+  bcp47-script=Latn,
   hyphennames={turkmen},
   hyphenmins={2,2},
   langtag=TKM,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ug.ldf}[polyglossia: module for ug (Uyghur)]
 % BCP 47 tag for Uyghur

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-ukrainian.ldf}[polyglossia: module for Ukrainian]
 % Strings taken from Babel
@@ -8,6 +8,8 @@
 
 \PolyglossiaSetup{ukrainian}{%
   bcp47=uk,
+  bcp47-language=uk,
+  bcp47-script=Cyrl,
   script=Cyrillic,
   scripttag=cyrl,
   langtag=UKR,
@@ -29,18 +31,22 @@
       % arabic:
       \cyrillic at numeralsfalse%
       \cyrillic at asbuk@numeralsfalse%
+      \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-latn}%
    \or
       % cyrillic:
       \cyrillic at numeralstrue%
       \cyrillic at asbuk@numeralsfalse%
+      \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-cyrl}%
    \or
       % cyrillic-trad:
       \cyrillic at numeralstrue%
       \cyrillic at asbuk@numeralsfalse%
+      \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-cyrl}%
    \or
       % cyrillic-alph:
       \cyrillic at numeralstrue%
       \cyrillic at asbuk@numeralstrue%
+      \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-cyrl}%
    \fi
    \xpg at info{Option: Ukrainian, numerals=\xpg at val}%
 }{\xpg at warning{Unknown Ukrainian numerals value `#1'}}

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-uppersorbian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-uppersorbian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-uppersorbian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-uppersorbian.ldf}[polyglossia: module for Upper Sorbian]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 %%% Adapted from a file contributed by Kamal Abdali
 \ProvidesFile{gloss-urdu.ldf}[polyglossia: module for Urdu]
@@ -9,6 +9,8 @@
 
 \PolyglossiaSetup{urdu}{
   bcp47=ur,
+  bcp47-language=ur,
+  bcp47-script=Arab,
   script=Arabic,
   direction=RL,
   scripttag=arab,
@@ -26,8 +28,12 @@
 \def\tmp at western{western}
 \define at key{urdu}{numerals}[eastern]{%
 	\def\@tmpa{#1}%
-	\ifx\@tmpa\tmp at western\@western at numeralstrue%
-	  \else\@western at numeralsfalse%
+	\ifx\@tmpa\tmp at western
+	  \@western at numeralstrue%
+          \SetLanguageKeys{urdu}{bcp47-extension-u=nu-latn}%
+	\else
+	  \@western at numeralsfalse%
+          \SetLanguageKeys{urdu}{bcp47-extension-u=nu-arab}%
 	\fi}
 
 %% TODO USE boolkey instead !!!

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-usorbian.ldf}[polyglossia: module for Upper Sorbian]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-uyghur.ldf}[polyglossia: module for Uyghur]
 %% Translations provided by Osman Tursun (Github Account: neouyghur)
@@ -6,6 +6,8 @@
 \RequireBidi
 \PolyglossiaSetup{uyghur}{
   bcp47=ug,
+  bcp47-language=ug,
+  bcp47-script=Arab,
   script=Arabic,
   direction=RL,
   scripttag=arab,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-vietnamese.ldf}[polyglossia: module for Vietnamese]
 %% Strings contributed by Daniel Owens < dhowens . pmbx . net >
@@ -5,6 +5,8 @@
 
 \PolyglossiaSetup{vietnamese}{
   bcp47=vi,
+  bcp47-language=vi,
+  bcp47-script=Latn,
   hyphennames={nohyphenation},
   hyphenmins={2,2},
   langtag=VIT,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,9 +1,11 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-welsh.ldf}[polyglossia: module for Welsh]
 
 \PolyglossiaSetup{welsh}{
   bcp47=cy,
+  bcp47-language=cy,
+  bcp47-script=Latn,
   hyphennames={welsh},
   hyphenmins={2,3},
   langtag=WEL,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-CN.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-CN.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-CN.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-zh-CN.ldf}[polyglossia: module for zh-CN (Chinese)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-TW.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-TW.ldf	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-TW.ldf	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
 %
 \ProvidesFile{gloss-zh-TW.ldf}[polyglossia: module for zh-TW (Chinese)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-french.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-french.lua	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-french.lua	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,6 +1,6 @@
 --
 -- polyglossia-punct.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
 --
 
 require('polyglossia-punct')

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-korean.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-korean.lua	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-korean.lua	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,6 +1,6 @@
 --
 -- polyglossia-korean.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
 --
 
 local glyph_id = node.id"glyph"

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-latin.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-latin.lua	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-latin.lua	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,6 +1,6 @@
 --
 -- polyglossia-latin.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
 --
 
 require('polyglossia-punct')

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-punct.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-punct.lua	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-punct.lua	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,6 +1,6 @@
 --
 -- polyglossia-punct.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
 --
 
 require('polyglossia') -- just in case...

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-sanskrit.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-sanskrit.lua	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-sanskrit.lua	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,6 +1,6 @@
 --
 -- polyglossia-sanskrit.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
 --
 
 require('polyglossia-punct')

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-tibt.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-tibt.lua	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-tibt.lua	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,6 +1,6 @@
 --
 -- polyglossia-tibt.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
 --
 
 require('polyglossia') -- just in case...

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,6 +1,6 @@
 --
 -- polyglossia.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
 --
 
 local module_name = "polyglossia"

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty	2023-04-17 20:00:29 UTC (rev 66872)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty	2023-04-17 20:01:29 UTC (rev 66873)
@@ -1,5 +1,5 @@
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{polyglossia}[2023/02/11 v1.60
+\ProvidesPackage{polyglossia}[2023/04/16 v1.61
   Modern multilingual typesetting with XeLaTeX and LuaLaTeX]
 \RequirePackage{etoolbox}
 \RequirePackage{makecmds}
@@ -453,6 +453,62 @@
        .value_required:n = true,
     #1 / bcp47
        .initial:n = {},
+    % the BCP-47 language tag
+    #1 / bcp47-language
+       .code:n = {\prop_gput:Nnn{\polyglossia at langsetup}{#1/bcp47-language}{##1}},
+    #1 / bcp47-language
+       .value_required:n = true,
+    #1 / bcp47-language
+       .initial:n = {},
+    % the BCP-47 region tag
+    #1 / bcp47-region
+       .code:n = {\prop_gput:Nnn{\polyglossia at langsetup}{#1/bcp47-region}{##1}},
+    #1 / bcp47-region
+       .value_required:n = false,
+    #1 / bcp47-region
+       .initial:n = {},
+    % the BCP-47 script tag
+    #1 / bcp47-script
+       .code:n = {\prop_gput:Nnn{\polyglossia at langsetup}{#1/bcp47-script}{##1}},
+    #1 / bcp47-script
+       .value_required:n = true,
+    #1 / bcp47-script
+       .initial:n = {},
+    % the BCP-47 variant tag
+    #1 / bcp47-variant
+       .code:n = {\prop_gput:Nnn{\polyglossia at langsetup}{#1/bcp47-variant}{##1}},
+    #1 / bcp47-variant
+       .value_required:n = false,
+    #1 / bcp47-variant
+       .initial:n = {},
+    % the BCP-47 extension-t tag
+    #1 / bcp47-extension-t
+       .code:n = {\prop_gput:Nnn{\polyglossia at langsetup}{#1/bcp47-extension-t}{##1}},
+    #1 / bcp47-extension-t
+       .value_required:n = false,
+    #1 / bcp47-extension-t
+       .initial:n = {},
+    % the BCP-47 extension-u tag
+    #1 / bcp47-extension-u
+       .code:n = {\prop_gput:Nnn{\polyglossia at langsetup}{#1/bcp47-extension-u}{##1}},
+    #1 / bcp47-extension-u
+       .value_required:n = false,
+    #1 / bcp47-extension-u
+       .initial:n = {},
+    % the BCP-47 extension-x tag
+    #1 / bcp47-extension-x
+       .code:n = {\prop_gput:Nnn{\polyglossia at langsetup}{#1/bcp47-extension-x}{##1}},
+    #1 / bcp47-extension-x
+       .value_required:n = false,
+    #1 / bcp47-extension-x
+       .initial:n = {},
+    % the BCP-47 casing alias
+    #1 / bcp47-casing
+       .code:n = {\prop_gput:Nnn{\polyglossia at langsetup}{#1/bcp47-casing}{##1}},
+    #1 / bcp47-casing
+       .value_required:n = false,
+    #1 / bcp47-casing
+       .initial:n = {},
     % hyphennames
     #1 / hyphennames
     .code:n = {
@@ -1524,6 +1580,61 @@
         \xpg at error{Invalid~ \string\mainlanguageid\space argument:~ #1}
       }
 }
+% Kernel command to access to BCP-47 data.
+% Shared interface with babel.
+% We support:
+% * language (e.g., de)
+% * region (e.g., AT)
+% * script (e.g., Latn)
+% * variant (e.g., 1901)
+% * extension-t (transformation, e.g., en-t-ja)
+% * extension-u (additional locale information, e.g., ar-u-nu-latn)
+% * extension-x (e.g., classic for la-x-classic)
+% * casing (whatever is suitable for \MakeUppercase and friends,
+%           usually alias to language but could also be something
+%           like el-x-iota or ckb-Latn)
+% * tag (the registered full tag)
+% and main.* variants thereof
+% See https://github.com/latex3/latex2e/issues/1035
+\DeclareExpandableDocumentCommand \BCPdata {m}
+{
+    \tl_set:Nn \l_tmpa_tl {#1}
+    % Check whether we have main.*
+    \str_if_in:nnTF {#1} { main. }
+        {
+          % split main.var and strip main.
+          \seq_set_split:Nnx \l_tmpa_seq {.} \l_tmpa_tl
+          \seq_get_right:NN \l_tmpa_seq \l_tmpa_tl
+          \str_set_eq:NN \l_tmpa_str \mainlanguagename
+        }
+        {
+          \str_set_eq:NN \l_tmpa_str \languagename
+        }
+    % return value for argument or error
+    \str_case_e:nnF { \l_tmpa_tl }
+      {
+        {language}     { \prop_item:Ne \polyglossia at langsetup { \l_tmpa_str / bcp47-language } }
+        {region}       { \prop_item:Ne \polyglossia at langsetup { \l_tmpa_str / bcp47-region } }
+        {script}       { \prop_item:Ne \polyglossia at langsetup { \l_tmpa_str / bcp47-script } }
+        {variant}      { \prop_item:Ne \polyglossia at langsetup { \l_tmpa_str / bcp47-variant } }
+        {extension.t}  { \prop_item:Ne \polyglossia at langsetup { \l_tmpa_str / bcp47extension-t } }
+        {extension.u}  { \prop_item:Ne \polyglossia at langsetup { \l_tmpa_str / bcp47-extension-u } }
+        {extension.x}  { \prop_item:Ne \polyglossia at langsetup { \l_tmpa_str / bcp47-extension-x } }
+        {tag}          { \prop_item:Ne \polyglossia at langsetup { \l_tmpa_str / bcp47 } }
+        {casing}       {  % For casing, we fall back to language if bcp47-casing is not explicitly set
+                          \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \polyglossia at langsetup { \l_tmpa_str / bcp47-casing } }
+                          \str_if_empty:NTF \tmpcasing
+                                           { \prop_item:Ne \polyglossia at langsetup { \l_tmpa_str / bcp47-language } }
+                                           { \tmpcasing }
+                       }
+      }
+      {
+        \xpg at error{Invalid~ \string\BCPdata\space argument:~ #1}
+      }
+}
+
+
+
 % main babel name
 \cs_new_nopar:Npn \mainlanguagename {}
 \cs_new_nopar:Npn \mainbabelname {}
@@ -1925,6 +2036,9 @@
 }
 \cs_generate_variant:Nn \__xpg_textlanguage:nnn {een}
 
+% Track whether we are in an inline lang (\text...) switch
+\bool_new:N \__xpg_inline_lang
+
 % use by \text<lang> and \textlang. Equivalent to \foreignlanguage,
 % except that dates are localized.
 % #1: option
@@ -1939,6 +2053,7 @@
   }
   {
     \group_begin:
+      \bool_set_true:N \__xpg_inline_lang
       \xpg at otherlanguage[#1]{#3}%
       \csuse{date#3}%
       % This is a hook for external packages which want to access variants
@@ -1946,8 +2061,8 @@
       \cs_if_exist_use:c{date at bbl@\babelname}%
       \polyglossia at lang@settextdirection:nn{#3}{#4}%
     \group_end:
-    % Reset the language's/script's font families
-    \str_if_eq:eeTF{\prop_item:Nn{\polyglossia at langsetup}{#3/lcscript}}{latin}{}{\resetfontlatin}%
+    % Reset the language's/script's font families if the embedding script is latin
+    \str_if_eq:eeTF{\prop_item:Ne{\polyglossia at langsetup}{\languagename/lcscript}}{latin}{\resetfontlatin}{}%
   }
 }
 \cs_generate_variant:Nn \__xpg_textlanguage:nnnn {nnen}
@@ -2393,13 +2508,15 @@
   }%
   \polyglossia at set@language at name[#1]{#2}%
   % Set the language's/script's font families
-  \str_if_eq:eeTF{\prop_item:Nn{\polyglossia at langsetup}{#2/lcscript}} {latin}
+  \str_if_eq:eeT{\prop_item:Nn{\polyglossia at langsetup}{#2/lcscript}} {latin}
   {
     \resetfontlatin
   }
-  {
-    \xpg at set@normalfont{#2}
-  }%
+  \bool_if:NF \__xpg_inline_lang
+  { % This for non-inline font switches
+    % in case a \<lang>font is defined
+    \xpg at set@normalfont{#2}%
+  }
   \xpg at select@fontfamily{#2}%
   \__xpg_use_or_warn:c{#2 at language}%
   \cs_if_exist_use:c{#2 at numbers}%
@@ -2419,9 +2536,11 @@
 
 \cs_new:Nn \polyglossia at stack@language:nn
 {
-  \clist_push:Nn \l_xpg_lang_stack {#1:#2}
+  \clist_gpush:Nn \l_xpg_lang_stack {#1:#2}
 }
 
+\cs_generate_variant:Nn \polyglossia at stack@language:nn {nx}
+
 \cs_generate_variant:Nn \seq_set_split:Nnn {Nnx}
 
 \cs_new:Nn \polyglossia at unstack@language:n
@@ -2432,8 +2551,11 @@
      \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
+     % and re-set stored language's keys
      \tl_if_empty:NTF \l_tmpb_tl {\cs_if_exist_use:c{#1}{\l_tmpc_tl}}
-                                 {\cs_if_exist_use:c{#1}[\l_tmpb_tl]{\l_tmpc_tl}}
+                                 {\exp_args:Nne \setkeys{\l_tmpc_tl}{\l_tmpb_tl}
+                                  \cs_if_exist_use:c{#1}[\l_tmpb_tl]{\l_tmpc_tl}
+                                 }
   }
   {}
 }
@@ -2440,14 +2562,14 @@
 
 \renewenvironment{otherlanguage}[2][]
 {%
-  % Get real current options (incl. defaults)
+  % Get real current (pre-switch) options (incl. defaults)
   \clist_clear_new:N \l_xpg_current_options
-  \prop_map_inline:cn {xpg at current@options@#2}
+  \prop_map_inline:cn {xpg at current@options@\languagename}
   {
       \clist_put_right:Nn \l_xpg_current_options {##1=##2}
   }
-  % Store current options and language on stack
-  \polyglossia at stack@language:nn{\clist_use:Nn \l_xpg_current_options {,}}{#2}%
+  % Store current (pre-switch) options and language on stack
+  \polyglossia at stack@language:nx{\clist_use:Nn \l_xpg_current_options {,}}{\languagename}%
   \selectlanguage[#1]{#2}%
 }
 {%



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