texlive[67322] Master: polyglossia (10jun23)

commits+karl at tug.org commits+karl at tug.org
Sat Jun 10 22:13:09 CEST 2023


Revision: 67322
          http://tug.org/svn/texlive?view=revision&revision=67322
Author:   karl
Date:     2023-06-10 22:13:09 +0200 (Sat, 10 Jun 2023)
Log Message:
-----------
polyglossia (10jun23)

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-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/babel-hebrewalph.def
    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
    trunk/Master/tlpkg/libexec/ctan2tds

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA-u-sd-canb.ldf

Modified: trunk/Master/texmf-dist/doc/latex/polyglossia/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/polyglossia/README.md	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/doc/latex/polyglossia/README.md	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-# THE POLYGLOSSIA PACKAGE v1.62
+# THE POLYGLOSSIA PACKAGE v1.63
 ## Multilingual typesetting with XeLaTeX and LuaLaTeX
 
 This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX.

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

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-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex	2023-06-10 20:13:09 UTC (rev 67322)
@@ -156,7 +156,7 @@
 \hyphenation{Kha-li-ghi Reu-ten-auer new-zea-land}
 \GetFileInfo{polyglossia.sty}
 
-\title{{\textgreek{\xpgtitlefont\color{lightblue}\MakeUppercase[lang=el]{Πολυγλωσσία}}}
+\title{{\textgreek{\xpgtitlefont\color{lightblue}\MakeUppercase{Πολυγλωσσία}}}
 \\[16pt]
 \color{xpgblue}Polyglossia: Modern multilingual typesetting with \XeLaTeX\ and \LuaLaTeX}
 \author{\TA{François Charette} \and \TA{Arthur Reutenauer}\thanks{Current maintainer}
@@ -268,7 +268,7 @@
 	\TX{belarusian}	& \TX{french}	& \TX{kurdish}	& \TX{punjabi}	& turkish		\\
 	\TX{bengali}	& friulian		& \TX{lao}		& romanian		& turkmen		\\
 	bosnian			& \TX{gaelic}	& \TX{latin}	& romansh		& \TX{ukrainian}\\
-	breton			& galician		& latvian		& \TX{russian}	& urdu			\\
+	breton			& galician		& latvian		& \TX{russian}	& \TX{urdu}		\\
 	bulgarian		& \TX{georgian}	& lithuanian	& \TX{sami}		& \TX{uyghur}	\\
 	\TX{catalan}	& \TX{german}	& macedonian	& \TX{sanskrit}	& vietnamese	\\
 	\TX{chinese}	& \TX{greek}	& \TX{malay}	& \TX{serbian}	& \TX{welsh}	\\
@@ -324,7 +324,7 @@
 \toprule
 \textbf{Babel name} & \textbf{Polyglossia name} & \textbf{Polyglossia options}\tabularnewline
 \midrule
-acadien            & french     & variant=acadian                     \\
+acadian            & french     & variant=acadian                     \\
 american           & english    & variant=american [\emph{default}]   \\
 australian         & english    & variant=australian                  \\
 austrian           & german     & variant=austrian, spelling=old      \\
@@ -472,6 +472,7 @@
 	fi               & finnish     &                                                    \tabularnewline
 	fr               & french      &                                                    \tabularnewline
 	fr-CA            & french      & variant=canadian                                   \tabularnewline
+	fr-CA-u-sd-canb  & french      & variant=acadian                                    \tabularnewline
 	fr-CH            & french      & variant=swiss                                      \tabularnewline
 	fr-FR            & french      & variant=french [\emph{default}]                    \tabularnewline
 	fur              & friulian    &                                                    \tabularnewline
@@ -846,6 +847,12 @@
 \paragraph*{Options:}
 	\begin{itemize}
 	\item \xpgchoicekey{calendar}{\xpgpresetvalue{gregorian} or \xpgvalue{islamic} (= \xpgvalue{hijri})}
+	\item \xpgoptkey{hijricorrection}{integer}[0]
+	    If \xpgvalue{calendar=hijri} or \xpgvalue{calendar=islamic} is selected, \cmd{\today} will output the date
+	    according to the lunar Islamic (Hijra) calendar. This option allows to shift the day of the output with respect
+	    to the current date. Both positive and negative integer values are allowed (negative decrease the day value).
+	    This corresponds to the optional argument of the \cmd{\Hijritoday} command which can be used to output Hijri
+	    dates irrespective of the \xpgvalue{calendar} option (see sec.~\ref{sec:hijrical}).
 	\item \xpgchoicekey{locale}{\xpgpresetvalue{default}, \xpgvalue{mashriq}, \xpgvalue{libya},
 		\xpgvalue{algeria}, \xpgvalue{tunisia}, \xpgvalue{morocco}, \xpgvalue{mauritania}}
 		This setting influences the spelling of the month names for the Gregorian calendar,
@@ -852,13 +859,23 @@
 		as well as the form of the numerals (unless overridden by the following option). Recommended settings are
 		\xpgvalue{default} for Egypt, Sudan, Yemen and the Gulf states, and \xpgvalue{mashriq} for Iraq, Syria,
 		Jordan, Lebanon and Palestine.
-	\item \xpgchoicekey{numerals}{\xpgpresetvalue{mashriq} or \xpgvalue{maghrib}}
-		The latter is the default when \xpgvalue{locale=algeria}, \xpgvalue{tunisia}, or \xpgvalue{morocco}.
+	\item \xpgchoicekey{numerals}{\xpgpresetvalue{mashriq} (=~\xpgvalue{eastern}\new{1.63}) or \xpgvalue{maghrib}
+		(=~\xpgvalue{western}\new{1.63})}
+		Use Eastern Arabic (a.k.a.\ Indic-Arabic) numerals (\xpgvalue{mashriq} or \xpgvalue{eastern}) or Western numerals
+		(\xpgvalue{maghrib} or \xpgvalue{western}).
+		The latter is the default when \xpgvalue{locale=algeria}, \xpgvalue{tunisia}, or \xpgvalue{morocco}, the former
+		is the default with all other Arabic locales.
+	\item \xpgcodekey[1.63]{sectionsep}¦.¦
+		This option allows to customize the separator between chapters, sections, and subsections (a dot by default),
+		\eg \xpgoption{sectionsep=-}.
+		This might be useful particularly with \xpgoption{numerals=mashriq} or \xpgoption{eastern}, as the dot looks
+		too similar to the zero	in many fonts.
 	\item \xpgboolkeyfalse[1.50]{abjadalph}
 	     Set this to true if you want the alphabetic counters to be output using \cmd\abjadalph\ rather than \cmd\abjad.
 	     Note that this limits the counter scope to 28 (see \cmd\abjadalph\ below).
 	\item \xpgboolkeyfalse[1.0.3]{abjadjimnotail}
-    Set this to true if you want the \textit{abjad} form of the number three to be \textarabic{ج‍} – as in the manuscript tradition – instead of the modern usage \textarabic{ج}.
+	    Set this to true if you want the \textit{abjad} form of the number three to be \textarabic{ج‍} – as in the manuscript
+	    tradition – instead of the modern usage \textarabic{ج}.
 	\end{itemize}
 \paragraph*{Commands:}
 	\begin{itemize}
@@ -876,8 +893,14 @@
 \subsection{armenian}\label{armenian}
 \paragraph*{Options:}
 \begin{itemize}
-  \item \xpgchoicekey[1.45]{variant}{\xpgvalue{eastern} or \xpgpresetvalue{western}}
+	\item \xpgchoicekey[1.45]{variant}{\xpgvalue{eastern} or \xpgpresetvalue{western}}
 	\item \xpgchoicekey[1.45]{numerals}{\xpgvalue{armenian} or \xpgpresetvalue{arabic}}
+	\item \xpgboolkeyfalse[1.63]{capitalyiwn}
+		If this is set to true, \cmd{\MakeUppercase} will upcase the ligature of letters ech and yiwn to capital
+		ech and yiwn. This conforms to the output outside Armenian language selection.
+		By default (and with this option set to \xpgvalue{false}), \cmd{\MakeUppercase} upcases the ech and yiwn
+		ligature to capital ech and \emph{vew}, adhering to Armenian reformed spelling regulations.
+		Note that this feature requires	\LaTeX\ kernel 2023/06 at least.
 \end{itemize}
 
 \subsection[belarusian]{belarusian\new{1.46}}\label{belarusian}
@@ -1064,10 +1087,19 @@
 \subsection{dutch}\label{dutch}
 \paragraph*{Options:}
 \begin{itemize}
+  \item \xpgboolkeytrue[1.63]{tremahyphenation}
+        Following Dutch orthography, words with tremata (such as \emph{geëxecuteerd}) lose the trema on hyphenation
+        before the trematized letter (\emph{ge-executeerd}). This is achieved by \pkg{polyglossia} by making those
+        letters active. If you set this option to false, this mechanism is deactivated (and the hyphenation wrong,
+        but you can still use the babelshorthands mentioned below).
   \item \xpgboolkeyfalse[1.1.1]{babelshorthands}
 		If this is turned on, the following shorthands defined for fine-tuning hyphenation and
 		micro-typography of Dutch words are activated:
 		\begin{shorthands}
+		\item[¦"a¦]\new{1.63} an \meta{ä} (a with trema) which is hyphenated as \meta{-a} as required by the Dutch standards.
+		            Also implemented for the other vowels (e, i, o, u), both lower and uppercase.
+		\item[¦"y¦]\new{1.63} the \ij\ ligature.
+		\item[¦"Y¦]\new{1.63} the \IJ\ ligature.
 		\item[¦"-¦] adds a hyphenation point that does still allow for hyphenation at the points preset
 			        in the hyphenation patterns (as opposed to \cmd\- in default \TeX).
 		\item[\texttt{"\textasciitilde}] for a hyphen sign without a breakpoint. Useful for
@@ -1126,7 +1158,7 @@
 \subsection{french}\label{french}
 \paragraph*{Options:}
 	\begin{itemize}
-		\item \xpgchoicekey{variant}{\xpgpresetvalue{french} or \xpgvalue{canadian} (=~\xpgvalue{acadian})\new{1.45}, \xpgvalue{swiss}\new{1.47}}
+		\item \xpgchoicekey{variant}{\xpgpresetvalue{french}, \xpgvalue{canadian}, \xpgvalue{acadian}\new{1.45} or \xpgvalue{swiss}\new{1.47}}
 			Currently, the only difference between the four variants is that \xpgvalue{swiss}
 			uses \xpgvalue{thincolonspace=true} by default since this conforms to the Swiss
 			conventions.
@@ -1252,6 +1284,14 @@
 	\item \xpgchoicekey{spelling}{\xpgpresetvalue{new} (= \xpgvalue{1996}) or \xpgvalue{old} (= \xpgvalue{1901})}
 		Indicates whether hyphenation patterns for traditional (1901) or reformed
 		(1996) orthography should be used. The latter is the default.
+	\item \xpgboolkeyfalse[1.63]{capitaleszett}
+	     If this is set to true, \cmd{\MakeUppercase} will upcase the eszett character ⟨ß⟩ to the
+	     capital counterpart ⟨\charifavailable{1E9E}{SS}⟩ that has been introduced to Unicode in 2008 and
+	     standardized in German regulations in 2017, rather than ⟨SS⟩. Note that this feature requires
+	     \LaTeX\ kernel 2023/06 at least and a font that contains the respective glyph.
+	\item \xpgchoicekey[1.2.0]{script}{\xpgpresetvalue{latin} or \xpgvalue{blackletter}\new{1.46} (= \xpgvalue{fraktur})}
+	     Setting ¦script=blackletter¦ adapts the captions for typesetting German in blackletter type, using the `long s' ⟨ſ\kern1.5pt⟩
+	     where appropriate.
 	\item \xpgboolkeyfalse[1.0.3]{babelshorthands}
 		If this is turned on, all shorthands defined in \pkg{babel}
 		for fine-tuning hyphenation and micro-typography of German words are activated.
@@ -1279,9 +1319,6 @@
 		\item[¦"<¦] for French-style left double quotes («)
 		\item[¦">¦] for French-style right double quotes (»).
 		\end{shorthands}
-	\item \xpgchoicekey[1.2.0]{script}{\xpgpresetvalue{latin} or \xpgvalue{blackletter}\new{1.46} (= \xpgvalue{fraktur})}
-		Setting ¦script=blackletter¦ adapts the captions for typesetting German in blackletter type (using the long s (ſ)
-		where appropriate).
 	\end{itemize}
 
 \subsection{greek}\label{greek}
@@ -1289,7 +1326,10 @@
 	\begin{itemize}
 	\item \xpgchoicekey{variant}{\xpgpresetvalue{monotonic} (= \xpgvalue{mono}), \xpgvalue{polytonic} (= \xpgvalue{poly}), or \xpgvalue{ancient}}
 	\item \xpgchoicekey{numerals}{\xpgpresetvalue{greek} or \xpgvalue{arabic}}
-	\item \xpgboolkeyfalse{attic}
+	\item \xpgboolkeyfalse[1.63]{capitaliota}
+		If this is set to true, \cmd{\MakeUppercase} will upcase the \emph{ypogegrammeni} (subscript muted iota) to capital iota.
+		By default (and with this option set to \xpgvalue{false}), \cmd{\MakeUppercase} retains the subscript versions.
+		Note that this feature requires	\LaTeX\ kernel 2023/06 at least.
 	\end{itemize}
 \paragraph*{Commands:}
 	\begin{itemize}
@@ -1415,11 +1455,16 @@
 \paragraph*{Options:}
 \begin{itemize}
 	\item \xpgchoicekey{variant}{\xpgvalue{kurmanji} or \xpgpresetvalue{sorani}}
-	\item \xpgchoicekey{script}{\xpgvalue{Arabic} or \xpgvalue{Latin}}
-		Defaults are \xpgvalue{Arabic} for Sorani and \xpgvalue{Latin} for Kurmanji.
+	\item \xpgchoicekey{script}{\xpgvalue{arabic} or \xpgvalue{latin}}
+		Defaults are \xpgvalue{arabic} for Sorani and \xpgvalue{latin} for Kurmanji.
 	\item \xpgchoicekey{numerals}{\xpgvalue{western} or \xpgvalue{eastern}}
 		Defaults are \xpgvalue{western} for Latin and \xpgvalue{eastern} for Arabic script, depending
 		on the selection above.
+	\item \xpgcodekey[1.63]{sectionsep}¦.¦
+		This option allows to customize the separator between chapters, sections, and subsections (a dot by default),
+		\eg \xpgoption{sectionsep=-}.
+		This might be useful particularly with \xpgoption{numerals=eastern}, as the dot looks too similar to the zero
+		in many fonts.
 	\item \xpgboolkeyfalse{abjadjimnotail}
 		Set this to true if you want the \textit{abjad} form of the number three to
 		be \textarabic{ج‍} – as in the manuscript tradition – instead of the
@@ -1668,6 +1713,11 @@
 \paragraph*{Options:}
 \begin{itemize}
 	\item \xpgchoicekey{numerals}{\xpgvalue{western} or \xpgpresetvalue{eastern}}
+	\item \xpgcodekey[1.63]{sectionsep}¦.¦
+		This option allows to customize the separator between chapters, sections, and subsections (a dot by default),
+		\eg \xpgoption{sectionsep=-}.
+		This might be useful particularly with \xpgoption{numerals=eastern}, as the dot looks too similar to the zero
+		in many fonts.
 	\item \xpgboolkeyfalse[1.0.3]{abjadjimnotail}
 		Set this to \xpgvalue{true} if you want the \textit{abjad} form of the number three to
 		be \textarabic{ج‍} – as in the manuscript tradition – instead of the
@@ -1841,18 +1891,24 @@
 \subsection{sanskrit}\label{sanskrit}
 \paragraph*{Options:}
 	\begin{itemize}
-	\item \xpgchoicekey[1.0.2]{script}{\xpgpresetvalue{Devanagari}, \xpgvalue{Gujarati},
-	\xpgvalue{Malayalam}, \xpgvalue{Bengali}, \xpgvalue{Kannada}, \xpgvalue{Telugu}, \xpgvalue{Latin}}
+	\item \xpgchoicekey[1.0.2]{script}{\xpgpresetvalue{devanagari}, \xpgvalue{gujarati},
+	\xpgvalue{malayalam}, \xpgvalue{bengali}, \xpgvalue{kannada}, \xpgvalue{telugu}, \xpgvalue{latin}}
 		The value is passed to \pkg{fontspec} should the respective
 		\cmd{\⟨script⟩font} not be defined.  This can be useful if you typeset Sanskrit
 		texts in scripts other than Devanagari.
-	\item \xpgchoicekey[1.45]{numerals}{\xpgpresetvalue{Devanagari} or \xpgvalue{Western}}
+	\item \xpgchoicekey[1.45]{numerals}{\xpgpresetvalue{devanagari} or \xpgvalue{western}}
 	\end{itemize}
 
 \subsection{serbian}\label{serbian}
 \paragraph*{Options:}
 	\begin{itemize}
-	\item \xpgchoicekey{script}{\xpgpresetvalue{Cyrillic} or \xpgvalue{Latin}}
+	\item \xpgchoicekey[1.63]{variant}{\xpgpresetvalue{ekavian} or \xpgvalue{ijekavian}}
+	        With \xpgvalue{ijekavian}, the different spelling is reflected in some caption strings.
+	\item \xpgchoicekey{script}{\xpgpresetvalue{cyrillic} or \xpgvalue{latin}}
+	\item \xpgboolkeyfalse[1.63]{datei}
+	        If this is \xpgvalue{true}, the sixth and seventh month of the year are written in the date
+	        with the trailing \meta{i} or \meta{и} (\ie \emph{juni}, \emph{juli} or \emph{јуни}, \emph{јули}
+	        rather than \emph{jun}, \emph{jul} or \emph{јун}, \emph{јул}).
 	\item \xpgboolkeytrue[1.54]{splithyphens}
 			According to Serbian typesetting conventions, if a word with a hard hyphen (such as
 			\emph{калцијум-карбонат}) is hyphenated at this hyphen, a second hyphenation character is to be
@@ -1880,6 +1936,14 @@
           numbers up to 999\,999.\\
           \Eg ¦\textserbian{\AsbukTrad{page}}¦ produces \textrussian{\AsbukTrad{page}}.
     \item \Cmd\asbukTrad: same as \cmd\AsbukTrad\ but in lowercase.
+    \item \Cmd{\today*}: as opposed to the unstarred counterpart, this does not end the date with a punctuation.
+    \item \Cmd{\todayGen}: outputs the date with months in genitive inflection. This form is suggested when the date
+          is integrated into a sentence (as opposed to a standalone date statement). The starred form \Cmd{\todayGen*}
+          omits the trailing punctuation.
+    \item \Cmd{\todayArabic}: outputs the date with months in Arabic number. The starred form \Cmd{\todayArabic*} omits
+    	  the trailing punctuation.
+	\item \Cmd{\todayRoman}: outputs the date with months in Roman number. The starred form \Cmd{\todayRoman*} omits
+	      the trailing punctuation.
 \end{itemize}
 
 
@@ -1981,6 +2045,11 @@
 	\item \xpgchoicekey[1.0.1]{numerals}{\xpgpresetvalue{western} (\ie 1234567890), \xpgvalue{eastern}
 		(for which the Oriental Arabic numerals are used: \textarabic{١٢٣٤٥٦٧٨٩٠}), or
 		\xpgvalue{abjad}}
+	\item \xpgcodekey[1.63]{sectionsep}¦.¦
+		This option allows to customize the separator between chapters, sections, and subsections (a dot by default),
+		\eg \xpgoption{sectionsep=-}.
+		This might be useful particularly with \xpgoption{numerals=eastern}, as the dot looks too similar to the zero
+		in many fonts.
 	\end{itemize}
 \paragraph*{Commands:}
 	\begin{itemize}
@@ -2074,6 +2143,27 @@
 \cmd\nsk , \cmd\Proj\ print some rare
 Ukrainian mathematical symbols.
 
+\subsection{urdu}\label{urdu}
+\paragraph*{Options:}
+\begin{itemize}
+	\item \xpgchoicekey{calendar}{\xpgpresetvalue{gregorian} or \xpgvalue{hijri}}
+	\item \xpgoptkey{hijricorrection}{integer}[0]
+		If \xpgvalue{calendar=hijri} is selected, \cmd{\today} will output the date
+		according to the lunar Islamic (Hijra) calendar. This option allows to shift the day of the output with respect
+		to the current date. Both positive and negative integer values are allowed (negative decrease the day value).
+		This corresponds to the optional argument of the \cmd{\Hijritoday} command which can be used to output Hijri
+		dates irrespective of the \xpgvalue{calendar} option (see sec.~\ref{sec:hijrical}).
+	\item \xpgchoicekey{numerals}{\xpgvalue{western} or \xpgpresetvalue{eastern}}
+	\item \xpgcodekey[1.63]{sectionsep}¦.¦
+		This option allows to customize the separator between chapters, sections, and subsections (a dot by default),
+		\eg \xpgoption{sectionsep=-}.
+		This might be useful particularly with \xpgoption{numerals=eastern}, as the dot looks too similar to the zero
+		in many fonts.
+	\item \xpgboolkeyfalse{abjadjimnotail}
+		Set this to \xpgvalue{true} if you want the \textit{abjad} form of the number three to
+		be \textarabic{ج‍} – as in the manuscript tradition – instead of the
+		modern usage \textarabic{ج}.
+\end{itemize}	
 
 \subsection{uyghur}\label{uyghur}
 \paragraph*{Options:}
@@ -2398,7 +2488,7 @@
 (depending of the current writing direction this will automatically set either
 in Hebrew script or in roman transliteration).
 
-\subsection{Islamic calendar (hijrical.sty)}
+\subsection{Islamic calendar (hijrical.sty)}\label{sec:hijrical}
 This package computes dates in the lunar Islamic (Hijra) calendar.\footnote{ %
 	It makes use of the arithmetical algorithm in chapter 6 of
 	Reingold \& Gershowitz, \textit{Calendrical calculation: the Millenium edition}
@@ -2530,6 +2620,58 @@
 \section{Revision history}
 
 \bgroup\footnotesize
+\subsection*{1.63 (2023/06/10)}
+
+\subsubsection*{Bug fixes}
+\begin{itemize}
+	\item Language options are now lowercased before they are handled. This fixes errors when
+	      using the options in \cmd{\MakeUppercase} context (\eg in headings).
+	\item Fix casing value for medieval Latin (this concerns ⟨u⟩ and ⟨V⟩ casing).
+	\item Remove hacks in some gloss files where \cmd\MakeUppercase\ has been redefined to a no-op
+		since the respective scripts do not have uppercasing. As \cmd\MakeUppercase\ is now locale-aware,
+		these hacks are no longer needed. This concerns Arabic, Divehi, Hebrew, Hindi, Kurdish,
+		Persian, Punjabi, Syriac, and Urdu.
+	\item Fix Eastern (Mashriq) Arabic numbering direction with \LuaLaTeX\ for Arabic, Kurdish, Persian,
+		Syriac, and Urdu (amends previous fix to \TXI{213}).
+	\item French \xpgoption{variant=acadian} refers to the Canadian French subvariety as spoken in the Acadian
+	     region (as opposed to Quebec French). To differentiate it we now use a dedicated subtag
+	     which can also be used to access the language (\texttt{fr-CA-u-sd-canb}).
+	     Note that Quebec French is currently connected with \texttt{fr-CA}, not the more specific
+	     \texttt{fr-CA-u-sd-caqc}, although the u extension is returned if requested via \cmd\BCPdata.
+	     In practice, the Canadian subvarieties of French are identical currently, anyway.
+	\item Do not blindly de-activate the quote character in languages that provide shorthands if the
+	     shorthands are not used. This allows to activate the character with other packages such as
+	     \pkg{csquotes} (\TXI{592}).
+	\item Do not flood the \LaTeX\ hooks with redundant French itemlabels and footnote settings (\TXI{593}).
+	\item Fix Korean patching of part format with hyperref (\TXP{595}).
+	\item Make Hebrew numerals expandable (\TXP{596}).
+	\item Avoid superfluous writing of language switches to aux file (\TXI{593}).
+\end{itemize}
+
+\subsubsection*{New features}
+\begin{itemize}
+	\item New option \xpgoption{capitalyiwn} for Armenian.
+	\item New option \xpgoption{capitaleszett} for German.
+	\item New option \xpgoption{capitaliota} for Greek.
+	\item New option \xpgoption{datei} for Serbian.
+	\item New option \xpgoption{sectionsep} for Arabic, Kurdish, Persian,
+		  Syriac, and Urdu (\TXI{589}).
+	\item Add aliases \xpgvalue{eastern} (=~\xpgvalue{mashriq}) and \xpgvalue{western} (=~\xpgvalue{maghrib})
+	      to Arabic \xpgoption{numerals}.
+	\item New date commands \cmd{\today*}, \cmd{\todayGen}, \cmd{\todayArabic}, and \cmd{\todayRoman} (all with
+	      starred counterparts) for Serbian (\TXI{524}).
+	\item Implement basic support for \xpgoption{variant=ijekavian} in Serbian.
+	\item Dutch now hyphenates properly on letters with tremata. The new option, \xpgoption{tremahyphenation},
+		  is provided to opt-out this feature.
+	\item Add shorthands ¦"a¦, ¦"e¦, ¦"i¦, ¦"o¦, ¦"u¦, ¦"A¦, ¦"E¦, ¦"I¦, ¦"O¦, ¦"U¦, ¦"y¦, and ¦"Y¦ to Dutch.
+\end{itemize}
+
+\subsubsection*{Interface changes}
+\begin{itemize}
+	\item All language options are now lowercase by default (though the mechanism is case-insensitive anyway).
+		  Changes cover Kurdish, Sanskrit, Serbian.
+\end{itemize}
+
 \subsection*{1.62 (2023/04/22)}
 
 \subsubsection*{Bug fixes}
@@ -3473,12 +3615,12 @@
 Many thanks to all the people who have contributed bugfixes and new features to \pkg{polyglossia}
 since we took over.
 In alphabetical order: \TA{Ignas Anikevicius}, \TA{Sina Ahmadi}, \TA{Wouter Bolsterlee}, \TA{Christian Buhtz},
-\TA{Zgarbul Andrey}, \TA{Oleg Domanov}, user \TA{fakhriaunur}, \TA{Philipp Gesang}, \TA{Kevin Godby}, \TA{Enrico Gregorio},
-\TA{Khaled Hosny}, \TA{Najib Idrissi}, user \TA{julroy67}, \TA{Dohyun Kim}, \TA{Phil Kime}, \TA{Mike Kroutikov},
-\TA{Ivan Kokan}, \TA{Caleb Maclennan}, \TA{Gyula Magyarkuti}, \TA{José Mancera}, \TA{Miquel Ortega}, \TA{Yevgen Pogribnyi},
-\TA{Will Robertson}, \TA{Maïeul Rouquette}, \TA{Elie Roux}, \TA{Hugo Roy},  \TA{Guy Rutenberg}, \TA{Marcin Serwin},
-\TA{Arvinder Singh}, \TA{Philipp Stephani}, \TA{Niranjan Tambe}, \TA{Takuji Tanaka}, \TA{Osman Tursun}, \TA{Keno Wehr},
-\TA{Dominik Wujastyk}, \TA{Sertaç Ö. Yıldız}, \TA{Maksim Zholudev}, \TA{Yan Zhou}, and \TA{Stefan Zlatinov}.
+\TA{Zgarbul Andrey}, \TA{Oleg Domanov}, user \TA{fakhriaunur}, \TA{Udi Fogiel}, \TA{Philipp Gesang}, \TA{Kevin Godby},
+\TA{Enrico Gregorio}, \TA{Khaled Hosny}, \TA{Najib Idrissi}, user \TA{julroy67}, \TA{Dohyun Kim}, \TA{Phil Kime},
+\TA{Mike Kroutikov}, \TA{Ivan Kokan}, \TA{Caleb Maclennan}, \TA{Gyula Magyarkuti}, \TA{José Mancera}, \TA{Miquel Ortega},
+\TA{Yevgen Pogribnyi}, \TA{Will Robertson}, \TA{Maïeul Rouquette}, \TA{Elie Roux}, \TA{Hugo Roy},  \TA{Guy Rutenberg},
+\TA{Marcin Serwin}, \TA{Arvinder Singh}, \TA{Philipp Stephani}, \TA{Niranjan Tambe}, \TA{Takuji Tanaka}, \TA{Osman Tursun},
+\TA{Keno Wehr}, \TA{Dominik Wujastyk}, \TA{Sertaç Ö. Yıldız}, \TA{Maksim Zholudev}, \TA{Yan Zhou}, and \TA{Stefan Zlatinov}.
 Their respective contributions can be identified from the contributor statistics on
 \href{https://github.com/reutenauer/polyglossia/graphs/contributors}{GitHub}.
 

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

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/babel-hebrewalph.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/babel-hebrewalph.def	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/babel-hebrewalph.def	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,9 +1,7 @@
 \ProvidesFile{babel-hebrewalph.def}
-         [2010/03/02 %
-         Babel definitions for Hebrew numerals^^J
-         Adapted from hebrew.ldf (2005/03/30 v2.3h)]
-\newif\if at gim@apost  % whether we print apostrophes (gereshayim)
-\newif\if at gim@final  % whether we use final or initial letters
+         [2023/06/01 %
+         Expandable definitions for Hebrew numerals]
+
 \newcommand*\hebrewnumeral[1]{%
   \expandafter\@hebrew at numeral\expandafter{\the\numexpr#1}%
 }
@@ -13,76 +11,72 @@
 \newcommand*\Hebrewnumeralfinal[1]{%
   \expandafter\@Hebrew at numeralfinal\expandafter{\the\numexpr#1}%
 }
-\newrobustcmd*{\@hebrew at numeral}[1]      % no apostrophe, no final letters
- {{\@gim at finalfalse\@gim at apostfalse\@hebrew@@numeral{#1}}}
-\newrobustcmd*{\@Hebrew at numeral}[1]      % apostrophe, no final letters
- {{\@gim at finalfalse\@gim at aposttrue\@hebrew@@numeral{#1}}}
-\newrobustcmd*{\@Hebrew at numeralfinal}[1] % apostrophe, final letters
- {{\@gim at finaltrue\@gim at aposttrue\@hebrew@@numeral{#1}}}
-\newcommand*{\@hebrew@@numeral}[1]{%
+
+\newcommand*\hebrew at div@trancate[2]{%
+	\ifnum\numexpr #1 - #2*\numexpr #1/#2\relax<0
+	\the\numexpr #1/#2 -1\relax\else\the\numexpr #1/#2\relax\fi
+}
+ 
+\newcommand*\@hebrew@@numeral[2]{%
   \ifnum#1<\z@\space\xpg at warning{Illegal value (#1) for Hebrew numeral}%
   \else
-    \@tempcnta=#1\@tempcntb=#1\relax
-    \divide\@tempcntb by 1000
-    \ifnum\@tempcntb=0\gim at nomil\@tempcnta\relax
-    \else{\@gim at apostfalse\@gim at finalfalse\@hebrew at numeral\@tempcntb}׳%
-          \multiply\@tempcntb by 1000\relax
-          \advance\@tempcnta by -\@tempcntb\relax
-          \gim at nomil\@tempcnta\relax
+    \ifnum #1<1000
+		\gim at nomil{#1}{#2}%
+    \else
+		\hebrewnumeral{\hebrew at div@trancate{#1}{1000}}׳%
+        \expandafter\gim at nomil\expandafter{\the\numexpr #1 - 1000*\hebrew at div@trancate{#1}{1000}}{#2}%
     \fi
   \fi
 }
-\def\hebrew at alph@zero{}
-\newcommand*{\gim at nomil}[1]{\@tempcnta=#1\@gim at prevfalse
-  \@tempcntb=\@tempcnta\divide\@tempcntb by 100\relax % hundreds digit
-  \ifcase\@tempcntb                     % print nothing if no hundreds
-     \or\gim at print{100}{ק}%
-     \or\gim at print{200}{ר}%
-     \or\gim at print{300}{ש}%
-     \or\gim at print{400}{ת}%
-     \or ת\@gim at prevtrue\gim at print{500}{ק}%
-     \or ת\@gim at prevtrue\gim at print{600}{ר}%
-     \or ת\@gim at prevtrue\gim at print{700}{ש}%
-     \or ת\@gim at prevtrue\gim at print{800}{ת}%
-     \or ת\@gim at prevtrue ת\gim at print{900}{ק}%
+
+\newcommand*\@hebrew at numeral[1]{\@hebrew@@numeral{#1}{0}}
+\newcommand*\@Hebrew at numeral[1]{\@hebrew@@numeral{#1}{1}}
+\newcommand*\@Hebrew at numeralfinal[1]{\@hebrew@@numeral{#1}{2}}
+
+\newcommand*\hebrew at alph@zero{}
+\newcommand*\gim at nomil[2]{%
+  \ifcase\hebrew at div@trancate{#1}{100}  % print nothing if no hundreds
+     \or ק\ifnum #2>0\ifnum #1=100 ׳\fi\fi
+     \or ר\ifnum #2>0\ifnum #1=200 ׳\fi\fi
+     \or ש\ifnum #2>0\ifnum #1=300 ׳\fi\fi
+     \or ת\ifnum #2>0\ifnum #1=400 ׳\fi\fi
+     \or ת\ifnum #2>0\ifnum #1=500 ״\fi\fi ק%
+     \or ת\ifnum #2>0\ifnum #1=600 ״\fi\fi ר%
+     \or ת\ifnum #2>0\ifnum #1=700 ״\fi\fi ש%
+     \or ת\ifnum #2>0\ifnum #1=800 ״\fi\fi ת%
+     \or תת\ifnum #2>0\ifnum #1=900 ״\fi\fi ק%
   \fi
-  \@tempcntb=\@tempcnta\divide\@tempcntb by 10\relax      % tens digit
-  \ifcase\@tempcntb                         % print nothing if no tens
-      \or                                   % number between 10 and 19
-              \ifnum\@tempcnta = 16 \gim at print {9}{ט}% tet-zayin
-         \else\ifnum\@tempcnta = 15 \gim at print {9}{ט}% tet-vav
-         \else                      \gim at print{10}{י}%
-              \fi % \@tempcnta = 15
-              \fi % \@tempcnta = 16
-      \or\gim at print{20}{\if at gim@final ך\else כ\fi}%
-      \or\gim at print{30}{ל}%
-      \or\gim at print{40}{\if at gim@final ם\else מ\fi}%
-      \or\gim at print{50}{\if at gim@final ן\else נ\fi}%
-      \or\gim at print{60}{ס}%
-      \or\gim at print{70}{ע}%
-      \or\gim at print{80}{\if at gim@final ף\else פ\fi}%
-      \or\gim at print{90}{\if at gim@final ץ\else צ\fi}%
+  \ifnum \the\numexpr #1 - 100*\hebrew at div@trancate{#1}{100} = 16
+  \ifnum #2>0 ט״ז\else טז\fi% tet-zayin
+  \else\ifnum \the\numexpr #1 - 100*\hebrew at div@trancate{#1}{100} = 15
+  \ifnum #2>0  ט״ו\else טו\fi% tet-vav
+  \else
+  \ifcase\expandafter\hebrew at div@trancate\expandafter{\the\numexpr #1 - 100*\hebrew at div@trancate{#1}{100}}{10}  % print nothing if no tens
+      \or \ifnum \the\numexpr #1 - 10*\hebrew at div@trancate{#1}{10}>0 י\else\ifnum #2>0\ifnum #1=10 י׳\else ״י\fi\else י\fi\fi
+      \or \ifnum \the\numexpr #1 - 10*\hebrew at div@trancate{#1}{10}>0 כ\else\ifnum #2>0\ifnum #1>20 ״\fi\fi\if #22ך\else כ\fi\ifnum #2>0\ifnum #1=20 ׳\fi\fi\fi
+      \or \ifnum \the\numexpr #1 - 10*\hebrew at div@trancate{#1}{10}>0 ל\else\ifnum #2>0\ifnum #1=30 ל׳\else ״ל\fi\else ל\fi\fi
+      \or \ifnum \the\numexpr #1 - 10*\hebrew at div@trancate{#1}{10}>0 מ\else\ifnum #2>0\ifnum #1>40 ״\fi\fi\if #22ם\else מ\fi\ifnum #2>0\ifnum #1=40 ׳\fi\fi\fi
+      \or \ifnum \the\numexpr #1 - 10*\hebrew at div@trancate{#1}{10}>0 נ\else\ifnum #2>0\ifnum #1>50 ״\fi\fi\if #22ן\else נ\fi\ifnum #2>0\ifnum #1=50 ׳\fi\fi\fi
+      \or \ifnum \the\numexpr #1 - 10*\hebrew at div@trancate{#1}{10}>0 ס\else\ifnum #2>0\ifnum #1=60 ס׳\else ״ס\fi\else ס\fi\fi
+      \or \ifnum \the\numexpr #1 - 10*\hebrew at div@trancate{#1}{10}>0 ע\else\ifnum #2>0\ifnum #1=70 ע׳\else ״ע\fi\else ע\fi\fi
+      \or \ifnum \the\numexpr #1 - 10*\hebrew at div@trancate{#1}{10}>0 פ\else\ifnum #2>0\ifnum #1>80 ״\fi\fi\if #22ף\else פ\fi\ifnum #2>0\ifnum #1=80 ׳\fi\fi\fi
+      \or \ifnum \the\numexpr #1 - 10*\hebrew at div@trancate{#1}{10}>0 צ\else\ifnum #2>0\ifnum #1>90 ״\fi\fi\if #22ץ\else צ\fi\ifnum #2>0\ifnum #1=90 ׳\fi\fi\fi
   \fi
-  \ifcase\@tempcnta
-      \hebrew at alph@zero%  empty but can be defined if desired
-      \or\gim at print{1}{א}%
-      \or\gim at print{2}{ב}%
-      \or\gim at print{3}{ג}%
-      \or\gim at print{4}{ד}%
-      \or\gim at print{5}{ה}%
-      \or\gim at print{6}{ו}%
-      \or\gim at print{7}{ז}%
-      \or\gim at print{8}{ח}%
-      \or\gim at print{9}{ט}%
-  \fi
+  \ifcase\the\numexpr #1 - 10*\hebrew at div@trancate{#1}{10}
+      \hebrew at alph@zero %  empty but can be defined if desired
+      \or \ifnum #2>0\ifnum #1=1 א׳\else ״א\fi\else א\fi
+      \or \ifnum #2>0\ifnum #1=2 ב׳\else ״ב\fi\else ב\fi
+      \or \ifnum #2>0\ifnum #1=3 ג׳\else ״ג\fi\else ג\fi
+      \or \ifnum #2>0\ifnum #1=4 ד׳\else ״ד\fi\else ד\fi
+      \or \ifnum #2>0\ifnum #1=5 ה׳\else ״ה\fi\else ה\fi
+      \or \ifnum #2>0\ifnum #1=6 ו׳\else ״ו\fi\else ו\fi
+      \or \ifnum #2>0\ifnum #1=7 ז׳\else ״ז\fi\else ז\fi
+      \or \ifnum #2>0\ifnum #1=8 ח׳\else ״ח\fi\else ח\fi
+      \or \ifnum #2>0\ifnum #1=9 ט׳\else ״ט\fi\else ט\fi
+  \fi\fi\fi
 }
-\newif\if at gim@prev % flag if a previous letter has been typeset
-\newcommand*{\gim at print}[2]{%   #2 is a letter, #1 is its value.
-  \advance\@tempcnta by -#1\relax% deduct the value from the remainder
-  \ifnum\@tempcnta=0% if this is the last letter
-     \if at gim@prev\if at gim@apost ״\fi#2%
-     \else#2\if at gim@apost ׳\fi\fi%
-  \else{\@gim at finalfalse#2}\@gim at prevtrue\fi}
-\def\Alphfinal#1{\expandafter\@Alphfinal\csname c@#1\endcsname}%
-\providecommand*{\@Alphfinal}[1]{\Hebrewnumeralfinal{#1}}
+
+\newcommand*\Alphfinal[1]{\expandafter\@Alphfinal\csname c@#1\endcsname}
+\newcommand*\@Alphfinal[1]{\Hebrewnumeralfinal{#1}}
+
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-acadien.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-acadien.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-acadien.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-acadien.ldf}[polyglossia: module for Canadian (Acadian) French]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-aeb.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-aeb.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-aeb.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-aeb.ldf}[polyglossia: module for aeb (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-af.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-af.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-af.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-af.ldf}[polyglossia: module for af (Afrikaans)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-afb.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-afb.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-afb.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-afb.ldf}[polyglossia: module for afb (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-afrikaans.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-afrikaans.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-afrikaans.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-afrikaans.ldf}[polyglossia: module for Afrikaans]
 
@@ -34,7 +34,7 @@
 }{}
 
 \def\afrikaans at shorthands{%
-  \bbl at activate{"}%
+  \xpg at activate@shorthands%
   \def\language at group{afrikaans}%
   \declare at shorthand{afrikaans}{"-}{\nobreak-\bbl at allowhyphens}
   \declare at shorthand{afrikaans}{"~}{\textormath{\leavevmode\hbox{-}}{-}}
@@ -47,7 +47,7 @@
 }
 
 \def\noafrikaans at shorthands{%
-  \@ifundefined{initiate at active@char}{}{\bbl at deactivate{"}}%
+  \xpg at deactivate@shorthands%
 }
 
 \def\captionsafrikaans{%

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-albanian.ldf}[polyglossia: module for Albanian]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-am.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-am.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-am.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-am.ldf}[polyglossia: module for am (Amharic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-american.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-american.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-american.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-american.ldf}[polyglossia: module for American English]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-amharic.ldf}[polyglossia: module for Amharic]
 \PolyglossiaSetup{amharic}{

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-apd.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-apd.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-apd.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-apd.ldf}[polyglossia: module for apd (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-IQ.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-IQ.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-IQ.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ar-IQ.ldf}[polyglossia: module for ar-IQ (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-JO.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-JO.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-JO.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ar-JO.ldf}[polyglossia: module for ar-JO (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-LB.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-LB.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-LB.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ar-LB.ldf}[polyglossia: module for ar-LB (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-MR.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-MR.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-MR.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ar-MR.ldf}[polyglossia: module for ar-MR (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-PS.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-PS.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-PS.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ar-PS.ldf}[polyglossia: module for ar-PS (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-SY.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-SY.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-SY.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ar-SY.ldf}[polyglossia: module for ar-SY (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-YE.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-YE.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-YE.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ar-YE.ldf}[polyglossia: module for ar-YE (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ar.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ar.ldf}[polyglossia: module for ar (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-arabic.ldf}[polyglossia: module for Arabic]
 \RequireBidi
@@ -41,21 +41,27 @@
 \define at boolkey{arabic}[arabic@]{abjadalph}[true]{}
 
 \newif\ifeastern at numerals
-\def\tmp at mashriq{mashriq}
-\def\tmp at maghrib{maghrib}
-\define at key{arabic}{numerals}[mashriq]{%
-  \def\@tmpa{#1}%
-  \ifx\@tmpa\tmp at mashriq%
-    \eastern at numeralstrue%
-  \else
-    \ifx\@tmpa\tmp at maghrib\eastern at numeralsfalse\fi%
-  \fi}
+\define at choicekey*+{arabic}{numerals}[\xpg at val\xpg at nr]{mashriq,maghrib,eastern,western}[mashriq]{%
+   \ifcase\xpg at nr\relax
+      % mashriq:
+      \eastern at numeralstrue%
+   \or
+      % maghrib:
+      \eastern at numeralsfalse
+   \or
+      % eastern:
+      \eastern at numeralstrue%
+   \or
+      % western:
+      \eastern at numeralsfalse
+   \fi
+   \xpg at info{Option: Arabic, numerals=\xpg at val}%
+}{\xpg at warning{Unknown Arabic numerals option `#1'}}
 
 %this is needed for \abjad in arabicnumbers.sty
-\def\tmp at true{true}
-\define at key{arabic}{abjadjimnotail}[true]{%
-  \def\@tmpa{#1}%
-  \ifx\@tmpa\tmp at true\abjad at jim@notailtrue%
+\define at boolkey{arabic}[arabic@]{abjadjimnotail}[true]{%
+  \ifarabic at abjadjimnotail
+    \abjad at jim@notailtrue%
   \else
     \abjad at jim@notailfalse
   \fi}
@@ -101,20 +107,31 @@
  }{\xpg at warning{Unknown Arabic locale `#1'}}
 
 \newif\if at hijrical
-\def\tmp at hijri{hijri}
-\def\tmp at islamic{islamic}
-\define at key{arabic}{calendar}[gregorian]{%
-  \def\@tmpa{#1}%
-  \ifx\@tmpa\tmp at hijri\@hijricaltrue%
-  \else
-    \ifx\@tmpa\tmp at islamic\@hijricaltrue%
-    \else\@hijricalfalse%
-    \fi
-  \fi}
+\define at choicekey*+{arabic}{calendar}[\xpg at val\xpg at nr]{gregorian,hijri,islamic}[gregorian]{%
+   \ifcase\xpg at nr\relax
+      % gregorian:
+      \@hijricalfalse
+   \or
+      % hijri:
+      \@hijricaltrue
+   \or
+      % islamic:
+      \@hijricaltrue
+   \fi
+   \xpg at info{Option: Arabic, calendar=\xpg at val}%
+}{\xpg at warning{Unknown Arabic calendar option `#1'}}
 
+
 \define at key{arabic}{hijricorrection}[0]{%
-  \gdef\@hijri at correction{#1}}%
+  \gdef\arabic at hijri@correction{#1}}%
 
+\newif\ifarabic at customsep\arabic at customsepfalse
+\def\xpg at sepmark{}
+\define at key{arabic}{sectionsep}[.]{%
+   \arabic at customseptrue%
+   \gdef\xpg at sepmark{#1}%
+}
+
 % Register default options
 \xpg at initialize@gloss at options{arabic}{locale=default,calendar=gregorian,numerals=mashriq,hijricorrection=0,abjadjimnotail=false}
 % Register alias options
@@ -173,7 +190,7 @@
 \def\datearabic{%
  \def\today{%
   \if at hijrical%
-    \Hijritoday[\@hijri at correction]%
+    \Hijritoday[\arabic at hijri@correction]%
   \else%
     \if at RTL%
        \arabicnumber\day\space\@@arabic at month{\month}%
@@ -192,7 +209,7 @@
 
 \def\arabicnumber#1{%
   \ifeastern at numerals
-    \@ensure at dir{\arabicdigits{\number#1}}%
+    \@ensure at LTR{\arabicdigits{\number#1}}%
   \else
     \number#1%
   \fi}
@@ -274,17 +291,92 @@
    \let\@arabic\xpg at save@arabic%
 }
 
-% Save original \MakeUppercase definition
-\let\xpg at save@MakeUppercase\MakeUppercase
+\def\arabic at xetex@capsformat{%
+  \let\xpg at save@sepmark\@SepMark%
+  \SepMark{\xpg at sepmark}
+}
 
+\def\noarabic at xetex@capsformat{%
+   \ifcsdef{xpg at save@sepmark}{%
+     \SepMark{\xpg at save@sepmark}
+   }{}%
+}
+
+\def\arabic at luatex@capsformat{%
+  %
+  % change chapter and part headings
+  \ifarabic at customsep
+     \ifcsdef{chapter}{%
+        \let\xpg at save@thesection\thesection%
+        \renewcommand*\thesection{\thechapter\xpg at sepmark\@arabic\c at section}
+        \let\xpg at save@theequation\theequation%
+        \renewcommand*\theequation{%
+	    \ifnum \c at chapter>\z@ \thechapter\xpg at sepmark\fi\@arabic\c at equation}
+        \let\xpg at save@thefigure\thefigure%
+	\renewcommand*\thefigure{%
+	    \ifnum\c at chapter>\z@\thechapter\xpg at sepmark\fi\@arabic\c at figure}
+        \let\xpg at save@thetable\thetable%
+	\renewcommand*\thetable{%
+	    \ifnum\c at chapter>\z@\thechapter\xpg at sepmark\fi\@arabic\c at table}
+     }{}
+     \let\xpg at save@thesubsection\thesubsection%
+     \renewcommand\thesubsection
+	{\thesection\xpg at sepmark\@arabic\c at subsection}
+     \let\xpg at save@thesubsubsection\thesubsubsection%
+     \renewcommand\thesubsubsection{\thesubsection\xpg at sepmark\@arabic\c at subsubsection}
+     \let\xpg at save@theparagraph\theparagraph%
+     \renewcommand\theparagraph
+         {\thesubsubsection\xpg at sepmark\@arabic\c at paragraph}
+     \let\xpg at save@thesubparagraph\thesubparagraph%
+     \renewcommand\thesubparagraph{\theparagraph\xpg at sepmark\@arabic\c at subparagraph}
+  \fi% (end \ifarabic at customsep)
+}
+
+\def\noarabic at luatex@capsformat{%
+   \ifcsdef{xpg at save@thesection}{%
+        \let\thesection\xpg at save@thesection%
+   }{}%
+   \ifcsdef{xpg at save@theequation}{%
+        \let\theequation\xpg at save@theequation%
+   }{}%
+   \ifcsdef{xpg at save@thefigure}{%
+        \let\thefigure\xpg at save@thefigure%
+   }{}%
+   \ifcsdef{xpg at save@thetable}{%
+        \let\thetable\xpg at save@thetable%
+   }{}%
+   \ifcsdef{xpg at save@thesubsection}{%
+        \let\thesubsection\xpg at save@thesubsection%
+   \ifcsdef{xpg at save@thesubsubsection}{%
+        \let\thesubsubsection\xpg at save@thesubsubsection%
+   }{}%
+   }{}%
+   \ifcsdef{xpg at save@theparagraph}{%
+        \let\theparagraph\xpg at save@theparagraph%
+   }{}%
+   \ifcsdef{xpg at save@thesubparagraph}{%
+        \let\thesubparagraph\xpg at save@thesubparagraph%
+   }{}%
+}
+
 \def\blockextras at arabic{%
-   \def\MakeUppercase##1{##1}%
-   % TODO disable \@Roman and \@roman ?
+   \ifarabic at customsep
+      \ifxetex
+        \arabic at xetex@capsformat
+      \else
+        \arabic at luatex@capsformat
+      \fi   
+   \fi
 }
-
+%
 \def\noextras at arabic{%
-   % restore original \MakeUppercase definition
-   \let\MakeUppercase\xpg at save@MakeUppercase
+    \ifarabic at customsep
+      \ifxetex
+        \noarabic at xetex@capsformat
+      \else
+        \noarabic at luatex@capsformat
+      \fi   
+   \fi
 }
 
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-armenian.ldf}[polyglossia: module for Armenian]
 
@@ -44,6 +44,18 @@
    }%
 }
 
+\define at boolkey{armenian}[armenian@]{capitalyiwn}[true]{%
+  \ifarmenian at capitalyiwn
+     % MakeUppercase capitalizes the ligature of letters ech and yiwn (U+0587)
+     % to capital ech and yiwn (also the output if Armenian is not selected at all)
+     \SetLanguageKeys{armenian}{bcp47-casing=hy-x-yiwn,bcp47-extension-x=yiwn}
+  \else
+     % Capitalize ech and yiwn ligature to capital ech and vew,
+     % following Armenian spelling reform
+     \SetLanguageKeys{armenian}{bcp47-casing=hy,bcp47-extension-x={}}
+  \fi
+}
+
 % Register default options
 \xpg at initialize@gloss at options{armenian}{numerals=armenian,variant=western}
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-arq.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-arq.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-arq.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-arq.ldf}[polyglossia: module for arq (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ary.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ary.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ary.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ary.ldf}[polyglossia: module for ary (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-arz.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-arz.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-arz.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-arz.ldf}[polyglossia: module for arz (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ast.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ast.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ast.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ast.ldf}[polyglossia: module for ast (Asturian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 % Translated by Xuacu <xuacusk8 at gmail dot com>
 % Contributed by Kevin Godby <godbyk at gmail dot com>

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-australian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-australian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-australian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-australian.ldf}[polyglossia: module for Australian English]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-austrian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-austrian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-austrian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-austrian.ldf}[polyglossia: module for Austrian German (old spelling)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ayl.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ayl.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ayl.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ayl.ldf}[polyglossia: module for ayl (Arabic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasa.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasa.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasa.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-bahasa.ldf}[polyglossia: module for Bahasa Indonesia]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-bahasai.ldf}[polyglossia: module for Bahasa Indonesia]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-bahasam.ldf}[polyglossia: module for Bahasa Melayu]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-basque.ldf}[polyglossia: module for Basque]
 \PolyglossiaSetup{basque}{

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-be-tarask.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-be-tarask.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-be-tarask.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-be-tarask.ldf}[polyglossia: module for be-tarask (Belarusian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-be.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-be.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-be.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-be.ldf}[polyglossia: module for be (Belarusian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-belarusian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-belarusian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-belarusian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-belarusian.ldf}[polyglossia: module for Belarusian]
 
@@ -85,7 +85,7 @@
 }{}
 
 \def\belarusian at shorthands{%
-  \bbl at activate{"}%
+  \xpg at activate@shorthands%
   \def\language at group{belarusian}%
   \declare at shorthand{belarusian}{"`}{„}%
   \declare at shorthand{belarusian}{"'}{“}%
@@ -124,7 +124,7 @@
 }
 
 \def\nobelarusian at shorthands{%
-  \@ifundefined{initiate at active@char}{}{\bbl at deactivate{"}}%
+  \xpg at deactivate@shorthands%
 }
 
 % Taken from babel-belarusian

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 % Translations provided by সাজেদুর রহিম জোয়ারদার <toshazed at gmail.com>
 % TODO implement Bengali calendar

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bg.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bg.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bg.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-bg.ldf}[polyglossia: module for bg (Bulgarian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bn.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bn.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bn.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-bn.ldf}[polyglossia: module for bn (Bengali)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bo.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bo.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bo.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-bo.ldf}[polyglossia: module for bo (Tibetan)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bosnian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bosnian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bosnian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-bosnian.ldf}[polyglossia: module for Bosnian]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-br.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-br.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-br.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-br.ldf}[polyglossia: module for br (Breton)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-brazil.ldf}[polyglossia: module for Brazilian Portuguese]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-breton.ldf}[polyglossia: module for Breton]
 \PolyglossiaSetup{breton}{

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-british.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-british.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-british.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-british.ldf}[polyglossia: module for British English]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bs.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bs.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bs.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-bs.ldf}[polyglossia: module for bs (Bosnian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-bulgarian.ldf}[polyglossia: module for Bulgarian]
 \PolyglossiaSetup{bulgarian}{

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ca.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ca.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ca.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ca.ldf}[polyglossia: module for ca (Catalan)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-canadian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-canadian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-canadian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-canadian.ldf}[polyglossia: module for Canadian English]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-canadien.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-canadien.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-canadien.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-canadien.ldf}[polyglossia: module for Canadian French]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-catalan.ldf}[polyglossia: module for Catalan]
 \PolyglossiaSetup{catalan}{
@@ -106,7 +106,7 @@
 \def\bbl at L#1#2{\Lgem}
 
 \def\catalan at shorthands{%
-  \bbl at activate{"}%
+  \xpg at activate@shorthands%
   \def\language at group{catalan}%
   \declare at shorthand{catalan}{"l}{\lgem{}}
   \declare at shorthand{catalan}{"L}{\Lgem{}}
@@ -113,7 +113,7 @@
 }
 
 \def\nocatalan at shorthands{%
-    \@ifundefined{initiate at active@char}{}{\bbl at deactivate{"}}%
+    \xpg at deactivate@shorthands%
 }
 
 \def\captionscatalan{%

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-chinese.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-chinese.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-chinese.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-chinese.ldf}[polyglossia: module for Chinese]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Arab.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Arab.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Arab.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ckb-Arab.ldf}[polyglossia: module for ckb-Arab (Kurdish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Latn.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Latn.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Latn.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ckb-Latn.ldf}[polyglossia: module for ckb-Latn (Kurdish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ckb.ldf}[polyglossia: module for ckb (Kurdish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-cop.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-cop.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-cop.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-cop.ldf}[polyglossia: module for cop (Coptic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-coptic.ldf}[polyglossia: module for Coptic]
 \PolyglossiaSetup{coptic}{

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-croatian.ldf}[polyglossia: module for Croatian]
 \PolyglossiaSetup{croatian}{
@@ -77,7 +77,7 @@
 }
 
 \def\croatian at shorthands{%
-  \bbl at activate{"}%
+  \xpg at activate@shorthands%
   \def\language at group{croatian}%
   \declare at shorthand{croatian}{"=}{\penalty\@M-\hskip\z at skip}%
   \declare at shorthand{croatian}{""}{\hskip\z at skip}%
@@ -102,7 +102,7 @@
 }
 
 \def\nocroatian at shorthands{%
-  \@ifundefined{initiate at active@char}{}{\bbl at deactivate{"}}%
+  \xpg at deactivate@shorthands%
 }
 
 \ifxetex

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-cy.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-cy.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-cy.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-cy.ldf}[polyglossia: module for cy (Welsh)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-cz.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-cz.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-cz.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-cz.ldf}[polyglossia: module for cz (Czech)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-czech.ldf}[polyglossia: module for Czech]
 
@@ -64,7 +64,7 @@
 }
 
 \def\czech at shorthands{%
-  \bbl at activate{"}%
+  \xpg at activate@shorthands%
   \def\language at group{czech}%
   \declare at shorthand{czech}{"=}{\czech at splithyphen}%
   \declare at shorthand{czech}{"`}{„}%
@@ -74,7 +74,7 @@
 }
 
 \def\noczech at shorthands{%
-  \@ifundefined{initiate at active@char}{}{\bbl at deactivate{"}}%
+  \xpg at deactivate@shorthands%
 }
 
 \ifxetex

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-da.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-da.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-da.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-da.ldf}[polyglossia: module for da (Danish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-danish.ldf}[polyglossia: module for Danish]
 \PolyglossiaSetup{danish}{

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-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1901.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-de-AT-1901.ldf}[polyglossia: module for de-AT-1901 (Austrian German, old spelling)]
 

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-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1996.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-de-AT-1996.ldf}[polyglossia: module for de-AT-1996 (Austrian German)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-de-AT.ldf}[polyglossia: module for de-AT (Austrian German)]
 

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-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1901.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-de-CH-1901.ldf}[polyglossia: module for de-CH-1901 (Swiss German, old spelling)]
 

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-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1996.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-de-CH-1996.ldf}[polyglossia: module for de-CH-1996 (Swiss German)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-de-CH.ldf}[polyglossia: module for de-CH (Swiss German)]
 

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-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1901.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-de-DE-1901.ldf}[polyglossia: module for de-DE-1901 (Germany's German, old spelling)]
 

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-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1996.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-de-DE-1996.ldf}[polyglossia: module for de-DE-1996 (Germany's German)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-de-DE.ldf}[polyglossia: module for de-DE (Germany's German)]
 

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-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1901.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-de-AT-1901-Latf.ldf}[polyglossia: module for de-AT-1901-Latf (Austrian German, old spelling)]
 

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-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1996.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-de-AT-1996-Latf.ldf}[polyglossia: module for de-AT-1996-Latf (Austrian German)]
 

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-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-de-AT-Latf.ldf}[polyglossia: module for de-AT-Latf (Austrian German)]
 

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-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1901.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-de-CH-1901-Latf.ldf}[polyglossia: module for de-CH-1901-Latf (Swiss German, old spelling)]
 

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-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1996.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-de-CH-1996-Latf.ldf}[polyglossia: module for de-CH-1996-Latf (Swiss German)]
 

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-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-de-CH-Latf.ldf}[polyglossia: module for de-CH-Latf (Swiss German)]
 

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-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1901.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-de-DE-1901-Latf.ldf}[polyglossia: module for de-DE-1901-Latf (Germany's German, old spelling)]
 

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-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1996.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-de-DE-1996-Latf.ldf}[polyglossia: module for de-DE-1996-Latf (Germany's German)]
 

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-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-de-DE-Latf.ldf}[polyglossia: module for de-DE-Latf (Germany's German)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-de-Latf.ldf}[polyglossia: module for de-Latf (German)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-de.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-de.ldf}[polyglossia: module for de (German)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-divehi.ldf}[polyglossia: module for Divehi]
 
@@ -44,16 +44,4 @@
 %   }
 %\def\datedivehi{\def\today{<++>}}
 
-% Save original \MakeUppercase definition
-\let\xpg at save@MakeUppercase\MakeUppercase
-
-\def\blockextras at divehi{%
-   \def\MakeUppercase##1{##1}%
-}
-
-\def\noextras at divehi{%
-   % restore original \MakeUppercase definition
-   \let\MakeUppercase\xpg at save@MakeUppercase%
-}
-
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-dsb.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-dsb.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-dsb.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-dsb.ldf}[polyglossia: module for dsb (Sorbian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-dutch.ldf}[polyglossia: module for Dutch]
 \PolyglossiaSetup{dutch}{
@@ -17,8 +17,10 @@
 
 \define at boolkey{dutch}[dutch@]{babelshorthands}[true]{}
 
+\define at boolkey{dutch}[dutch@]{tremahyphenation}[true]{}
+
 % Register default options
-\xpg at initialize@gloss at options{dutch}{babelshorthands=false}
+\xpg at initialize@gloss at options{dutch}{babelshorthands=false,tremahyphenation=true}
 
 \ifsystem at babelshorthands
   \setkeys{dutch}{babelshorthands=true}
@@ -32,9 +34,33 @@
   \shorthandoff{"}%
 }{}
 
+\def\xpg at trema#1{\allowhyphens\discretionary{-}{#1}{\"{#1}}\allowhyphens}
+
+\def\xpg at itrema{%
+  \textormath{\allowhyphens\discretionary{-}{i}{\"{\i}}\allowhyphens}%
+                {\ddot \imath}%
+}
+
+\def\xpg at imtrema{%
+  \textormath{\allowhyphens\discretionary{-}{I}{\"{I}}\allowhyphens}%
+                {\ddot I}%
+}
+
 \def\dutch at shorthands{%
-  \bbl at activate{"}%
+  \xpg at activate@shorthands%
   \def\language at group{dutch}%
+  \declare at shorthand{dutch}{"a}{\textormath{\xpg at trema{a}}{\ddot a}}%
+  \declare at shorthand{dutch}{"e}{\textormath{\xpg at trema{e}}{\ddot e}}%
+  \declare at shorthand{dutch}{"i}{\xpg at itrema}%
+  \declare at shorthand{dutch}{"o}{\textormath{\xpg at trema{o}}{\ddot o}}%
+  \declare at shorthand{dutch}{"u}{\textormath{\xpg at trema{u}}{\ddot u}}%
+  \declare at shorthand{dutch}{"A}{\textormath{\xpg at trema{A}}{\ddot A}}%
+  \declare at shorthand{dutch}{"E}{\textormath{\xpg at trema{E}}{\ddot E}}%
+  \declare at shorthand{dutch}{"I}{\xpg at imtrema}%
+  \declare at shorthand{dutch}{"O}{\textormath{\xpg at trema{O}}{\ddot O}}%
+  \declare at shorthand{dutch}{"U}{\textormath{\xpg at trema{U}}{\ddot U}}%
+  \declare at shorthand{dutch}{"y}{\textormath{\ij{}}{\ddot y}}%
+  \declare at shorthand{dutch}{"Y}{\textormath{\IJ{}}{\ddot Y}}%
   \declare at shorthand{dutch}{"-}{\nobreak-\bbl at allowhyphens}%
   \declare at shorthand{dutch}{"~}{\textormath{\leavevmode\hbox{-}}{-}}%
   \declare at shorthand{dutch}{"|}{%
@@ -46,10 +72,86 @@
 }
 
 \def\nodutch at shorthands{%
-  \@ifundefined{initiate at active@char}{}{\bbl at deactivate{"}}%
+  \xpg at deactivate@shorthands%
   \def\-{\discretionary{-}{}{}}% << original def in latex.ltx
 }
 
+%
+% Support proper hyphenation of tremata: after hyphenation,
+% the trema is omitted, e.g. geëxecuteerd > ge-executeerd
+% We support this by making the respective letters active.
+%
+% Save catcodes of trema characters for later restorage
+\chardef\xpg at saved@auml at catcode\catcode`ä
+\chardef\xpg at saved@euml at catcode\catcode`ë
+\chardef\xpg at saved@iuml at catcode\catcode`ï
+\chardef\xpg at saved@ouml at catcode\catcode`ö
+\chardef\xpg at saved@uuml at catcode\catcode`ü
+\chardef\xpg at saved@Auml at catcode\catcode`Ä
+\chardef\xpg at saved@Euml at catcode\catcode`Ë
+\chardef\xpg at saved@Iuml at catcode\catcode`Ï
+\chardef\xpg at saved@Ouml at catcode\catcode`Ö
+\chardef\xpg at saved@Uuml at catcode\catcode`Ü
+
+% activate trema characters
+\def\dutch@@tremahyph{%
+    \catcode`ä = \active
+    \catcode`ë = \active
+    \catcode`ï = \active
+    \catcode`ö = \active
+    \catcode`ü = \active
+    \catcode`Ä = \active
+    \catcode`Ë = \active
+    \catcode`Ï = \active
+    \catcode`Ö = \active
+    \catcode`Ü = \active
+}
+
+% restore previous catcode of trema characters
+\def\nodutch@@tremahyph{%
+    \catcode`ä = \xpg at saved@auml at catcode
+    \catcode`ë = \xpg at saved@euml at catcode
+    \catcode`ï = \xpg at saved@iuml at catcode
+    \catcode`ö = \xpg at saved@ouml at catcode
+    \catcode`ü = \xpg at saved@uuml at catcode
+    \catcode`Ä = \xpg at saved@Auml at catcode
+    \catcode`Ë = \xpg at saved@Euml at catcode
+    \catcode`Ï = \xpg at saved@Iuml at catcode
+    \catcode`Ö = \xpg at saved@Ouml at catcode
+    \catcode`Ü = \xpg at saved@Uuml at catcode
+}
+
+\bgroup
+\dutch@@tremahyph
+\gdef\dutch at tremahyph{%
+    \dutch@@tremahyph%
+    \def ä{\textormath{\xpg at trema{a}}{\ddot a}}%
+    \def ë{\textormath{\xpg at trema{e}}{\ddot e}}%
+    \def ï{\textormath{\xpg at trema{i}}{\ddot i}}%
+    \def ö{\textormath{\xpg at trema{o}}{\ddot o}}%
+    \def ü{\textormath{\xpg at trema{u}}{\ddot u}}%
+    \def Ä{\textormath{\xpg at trema{A}}{\ddot A}}%
+    \def Ë{\textormath{\xpg at trema{E}}{\ddot E}}%
+    \def Ï{\textormath{\xpg at trema{I}}{\ddot I}}%
+    \def Ö{\textormath{\xpg at trema{O}}{\ddot O}}%
+    \def Ü{\textormath{\xpg at trema{U}}{\ddot U}}%
+}
+
+\gdef\nodutch at tremahyph{%
+    \let ä\relax%
+    \let ë\relax%
+    \let ï\relax%
+    \let ö\relax%
+    \let ü\relax%
+    \let Ä\relax%
+    \let Ë\relax%
+    \let Ï\relax%
+    \let Ö\relax%
+    \let Ü\relax%
+    \nodutch@@tremahyph%
+}
+\egroup
+
 \def\captionsdutch{%
     \def\prefacename{Voorwoord}%
     \def\refname{Referenties}%
@@ -84,14 +186,17 @@
 
 \def\noextras at dutch{%
   \ifdutch at babelshorthands\nodutch at shorthands\fi%
+  \ifdutch at tremahyphenation\nodutch at tremahyph\fi%
 }
 
 \def\blockextras at dutch{%
   \ifdutch at babelshorthands\dutch at shorthands\else\nodutch at shorthands\fi%
+  \ifdutch at tremahyphenation\dutch at tremahyph\else\nodutch at tremahyph\fi%
 }
 
 \def\inlineextras at dutch{%
   \ifdutch at babelshorthands\dutch at shorthands\else\nodutch at shorthands\fi%
+  \ifdutch at tremahyphenation\dutch at tremahyph\else\nodutch at tremahyph\fi%
 }
 
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-dv.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-dv.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-dv.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-dv.ldf}[polyglossia: module for dv (Divehi)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-el-monoton.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-el-monoton.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-el-monoton.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-el-monoton.ldf}[polyglossia: module for el-monoton (Greek)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-el-polyton.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-el-polyton.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-el-polyton.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-el-polyton.ldf}[polyglossia: module for el-polyton (Greek)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-el.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-el.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-el.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-el.ldf}[polyglossia: module for el (Greek)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-AU.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-AU.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-AU.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-en-AU.ldf}[polyglossia: module for en-AU (Australian English)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-CA.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-CA.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-CA.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-en-CA.ldf}[polyglossia: module for en-CA (Canadan English)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-GB.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-GB.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-GB.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-en-GB.ldf}[polyglossia: module for en-GB (British English)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-NZ.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-NZ.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-NZ.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-en-NZ.ldf}[polyglossia: module for en-NZ (Newzealand English)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-US.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-US.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en-US.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-en-US.ldf}[polyglossia: module for en-US (American English)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-en.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-en.ldf}[polyglossia: module for en (English)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-english.ldf}[polyglossia: module for English]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-eo.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-eo.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-eo.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-eo.ldf}[polyglossia: module for eo (Esperanto)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-es-ES.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-es-ES.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-es-ES.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-es-ES.ldf}[polyglossia: module for es-ES (Spain's Spanish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-es-MX.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-es-MX.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-es-MX.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-es-MX.ldf}[polyglossia: module for es-MX (Mexican Spanish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-es.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-es.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-es.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-es.ldf}[polyglossia: module for es (Spanish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-esperanto.ldf}[polyglossia: module for Esperanto]
 \PolyglossiaSetup{esperanto}{

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-estonian.ldf}[polyglossia: module for Estonian]
 \PolyglossiaSetup{estonian}{

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-et.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-et.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-et.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-et.ldf}[polyglossia: module for et (Estonian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-eu.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-eu.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-eu.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-eu.ldf}[polyglossia: module for eu (Basque)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fa.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fa.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fa.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-fa.ldf}[polyglossia: module for fa (Persian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-farsi.ldf}[polyglossia: module for Farsi]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fi.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fi.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fi.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-fi.ldf}[polyglossia: module for fi (Finnish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-finnish.ldf}[polyglossia: module for Finnish]
 \PolyglossiaSetup{finnish}{
@@ -36,7 +36,7 @@
 }{}
 
 \def\finnish at shorthands{%
-  \bbl at activate{"}%
+  \xpg at activate@shorthands%
   \def\language at group{finnish}%
   \declare at shorthand{finnish}{"-}{\nobreak-\bbl at allowhyphens}
   \declare at shorthand{finnish}{"|}{\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}}{}}%
@@ -48,7 +48,7 @@
 }
 
 \def\nofinnish at shorthands{%
-  \@ifundefined{initiate at active@char}{}{\bbl at deactivate{"}}%
+  \xpg at deactivate@shorthands%
 }
 
 \def\captionsfinnish{%

Added: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA-u-sd-canb.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA-u-sd-canb.ldf	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA-u-sd-canb.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -0,0 +1,9 @@
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
+%
+\ProvidesFile{gloss-fr-CA-u-sd-canb.ldf}[polyglossia: module for fr-CA-u-sd-canb (Canadian French, Acadian subvariety)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg at load@master at language{french}
+
+\endinput


Property changes on: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA-u-sd-canb.ldf
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-fr-CA.ldf}[polyglossia: module for fr-CA (Canadian French)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CH.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CH.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CH.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-fr-CH.ldf}[polyglossia: module for fr-CH (Swiss French)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-FR.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-FR.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-FR.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-fr-FR.ldf}[polyglossia: module for fr-FR (France's French)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fr.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-fr.ldf}[polyglossia: module for fr (French)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-french.ldf}[polyglossia: module for French]
 
@@ -19,11 +19,12 @@
 % BCP-47 compliant aliases
 \setlanguagealias*{french}{fr}
 \setlanguagealias*[variant=french]{french}{fr-FR}
+\setlanguagealias*[variant=acadian]{french}{fr-CA-u-sd-canb}
 \setlanguagealias*[variant=canadian]{french}{fr-CA}
 \setlanguagealias*[variant=swiss]{french}{fr-CH}
 
 % Babel aliases
-\setlanguagealias[variant=acadian]{french}{acadien}
+\setlanguagealias[variant=acadian]{french}{acadian}
 \setlanguagealias[variant=canadian]{french}{canadien}
 
 \def\french at variant{french}
@@ -36,7 +37,7 @@
    \or
       % canadian:
       \def\french at variant{canadien}%
-      \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA,bcp47-language=fr,bcp47-region=CA}%
+      \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA,bcp47-language=fr,bcp47-region=CA,bcp47-extension-u=sd-caqc}%
       \xpg at ifdefined{canadien}{}%
       {\xpg at warning{No hyphenation patterns were loaded for "French (Canada)"\MessageBreak
         I will use the standard patterns for French instead}%
@@ -45,9 +46,9 @@
    \or
       % acadian:
       \def\french at variant{acadian}%
-      \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA,bcp47-language=fr,bcp47-region=CA}%
+      \SetLanguageKeys{french}{babelname=acadian,bcp47=fr-CA-u-sd-canb,bcp47-language=fr,bcp47-region=CA,bcp47-extension-u=sd-canb}%
       \xpg at ifdefined{acadian}{}%
-      {\xpg at warning{No hyphenation patterns were loaded for "French (Canada)"\MessageBreak
+      {\xpg at warning{No hyphenation patterns were loaded for "French (Canada, Acadian)"\MessageBreak
         I will use the standard patterns for French instead}%
       \adddialect\l at acadian\l at french\relax}%
       \french at thincolonspacefalse
@@ -87,24 +88,7 @@
   \let\xpg at orig@makefntext\@makefntext
 }
 
-\define at boolkey{french}[french@]{frenchfootnote}[true]{%
-  \AfterPreamble{%
-    \iffrench at frenchfootnote
-      \ifdefstring{\xpg at main@language}{french}{%
-         \ifx\@makefntext\undefined\else
-             \long\def\french at makefntext##1{%
-                \parindent1em \noindent\quad%
-                \ifx\@thefnmark\empty\else%
-                \@thefnmark.\space\fi ##1%
-             }
-             \let\@makefntext\french at makefntext
-         \fi
-      }{\xpg at warning{Option 'frenchfootnote' only supported if French is main language!}}%
-    \else
-       \let\@makefntext\xpg at orig@makefntext
-    \fi
-  }%
-}
+\define at boolkey{french}[french@]{frenchfootnote}[true]{}
 
 \define at boolkey{french}[french@]{autospacing}[true]{}
 \french at autospacingtrue
@@ -175,20 +159,7 @@
   \def\french at itemiv{#1}
 }
 
-\define at boolkey{french}[french@]{frenchitemlabels}[true]{%
-  \AfterPreamble{%
-    \iffrench at frenchitemlabels
-      \ifdefstring{\xpg at main@language}{french}{%
-         \renewcommand{\labelitemi}{\french at itemi}%
-         \renewcommand{\labelitemii}{\french at itemii}%
-         \renewcommand{\labelitemiii}{\french at itemiii}%
-         \renewcommand{\labelitemiv}{\french at itemiv}%
-      }{\xpg at warning{Option 'frenchitemlabels' only supported if French is main language!}}%
-    \else
-       \let\@makefntext\xpg at orig@makefntext
-    \fi
-  }%
-}
+\define at boolkey{french}[french@]{frenchitemlabels}[true]{}
 
 % Register default options
 \xpg at initialize@gloss at options{french}{variant=french,autospacing=true,thincolonspace=false,
@@ -465,6 +436,50 @@
    }% (end \ifdefined\titleformat)
 }
 
+\newif\if at xpg@french at footnote@set
+\@xpg at french@footnote at setfalse
+\def\set at french@footnote{%
+  % Set French footnote once if requested
+  \if at xpg@french at footnote@set%
+  \else%
+   \iffrench at frenchfootnote%
+      \ifdefstring{\xpg at main@language}{french}{%
+         \ifx\@makefntext\undefined\else%
+             \long\def\french at makefntext##1{%
+                \parindent1em \noindent\quad%
+                \ifx\@thefnmark\empty\else%
+                \@thefnmark.\space\fi ##1%
+             }%
+             \let\@makefntext\french at makefntext%
+         \fi%
+      }{\xpg at warning{Option 'frenchfootnote' only supported if French is main language!}}%
+    \else%
+       \let\@makefntext\xpg at orig@makefntext%
+    \fi%
+    \@xpg at french@footnote at settrue%
+  \fi%
+}
+
+\newif\if at xpg@french at itemlabels@set
+\@xpg at french@itemlabels at setfalse
+\def\set at french@itemlabels{%
+  % Set French itemlabels once if requested
+  \if at xpg@french at itemlabels@set%
+  \else%
+     \iffrench at frenchitemlabels
+      \ifdefstring{\xpg at main@language}{french}{%
+         \renewcommand{\labelitemi}{\french at itemi}%
+         \renewcommand{\labelitemii}{\french at itemii}%
+         \renewcommand{\labelitemiii}{\french at itemiii}%
+         \renewcommand{\labelitemiv}{\french at itemiv}%
+      }{\xpg at warning{Option 'frenchitemlabels' only supported if French is main language!}}%
+    \else
+       \let\@makefntext\xpg at orig@makefntext
+    \fi
+    \@xpg at french@itemlabels at settrue%
+  \fi%
+}
+
 \def\noextras at french{%
    \nofrench at punctuation%
    \nofrench at fontsetup%
@@ -472,11 +487,17 @@
 }
 
 \def\blockextras at french{%
-   \iffrench at autospacing
+   % Set French itemlabels and footnote,
+   % if so requested, once in the document body
+   \ifx\@onlypreamble\@notprerr%
+     \set at french@footnote%
+     \set at french@itemlabels%
+   \fi%
+   \iffrench at autospacing%
       \french at punctuation%
-   \fi
+   \fi%
    \french at fontsetup%
-   \iffrench at frenchpart
+   \iffrench at frenchpart%
      \french at capsformat%
    \fi%
 }

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-friulan.ldf}[polyglossia: module for Friulian]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-friulian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-friulian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-friulian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-friulian.ldf}[polyglossia: module for Friulian]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fur.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fur.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-fur.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-fur.ldf}[polyglossia: module for fur (Friulian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ga.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ga.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ga.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ga.ldf}[polyglossia: module for ga (Gaelic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-gaelic.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-gaelic.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-gaelic.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-gaelic.ldf}[polyglossia: module for Gaelic]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-galician.ldf}[polyglossia: module for Galician]
 \PolyglossiaSetup{galician}{

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-gd.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-gd.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-gd.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-gd.ldf}[polyglossia: module for gd (Gaelic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-georgian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-georgian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-georgian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-georgian.ldf}[polyglossia: module for Georgian]
 
@@ -48,7 +48,7 @@
 }{}
 
 \def\georgian at shorthands{%
-  \bbl at activate{"}%
+  \xpg at activate@shorthands%
   \def\language at group{georgian}%
   \declare at shorthand{georgian}{"`}{„}%
   \declare at shorthand{georgian}{"'}{“}%
@@ -86,7 +86,7 @@
 }
 
 \def\nogeorgian at shorthands{%
-  \@ifundefined{initiate at active@char}{}{\bbl at deactivate{"}}%
+  \xpg at deactivate@shorthands%
 }
 
 \def\captionsgeorgian{%

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-german.ldf}[polyglossia: module for German]
 
@@ -155,6 +155,17 @@
    \xpg at info{Option: German, script=\xpg at val}%
 }{\xpg at warning{Unknown German script `#1'}}
 
+\define at boolkey{german}[german@]{capitaleszett}[true]{%
+  \ifgerman at capitaleszett
+     % MakeUppercase capitalizes the eszett (U+00DF) with U+1E9E
+     \SetLanguageKeys{german}{bcp47-casing=de-x-eszett,bcp47-extension-x=eszett}
+  \else
+     % Capitalize eszett as <SS>
+     \SetLanguageKeys{german}{bcp47-casing=de,bcp47-extension-x={}}
+  \fi
+}
+
+
 % Option defunc'ed, as both XeTeX and LuaTeX meanwhile
 % use the experimental German hyphenation patterns by default.
 \define at boolkey{german}[german@]{latesthyphen}[true]{}
@@ -183,7 +194,7 @@
 }{}
 
 \def\german at shorthands{%
-  \bbl at activate{"}%
+  \xpg at activate@shorthands%
   \def\language at group{german}%
   \declare at shorthand{german}{"`}{„}%
   \declare at shorthand{german}{"'}{“}%
@@ -223,7 +234,7 @@
 }
 
 \def\nogerman at shorthands{%
-  \@ifundefined{initiate at active@char}{}{\bbl at deactivate{"}}%
+  \xpg at deactivate@shorthands%
 }
 
 \def\captions at german{%

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-germanb.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-germanb.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-germanb.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-germanb.ldf}[polyglossia: module for German (old spelling)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-gl.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-gl.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-gl.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-gl.ldf}[polyglossia: module for gl (Galician)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-grc.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-grc.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-grc.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-grc.ldf}[polyglossia: module for grc (Greek)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-greek.ldf}[polyglossia: module for Greek]
 
@@ -8,6 +8,7 @@
   bcp47-variant=monoton,
   bcp47-script=Grek,
   bcp47-extension-u=nu-grek,
+  bcp47-casing=el,
   script=Greek,
   scripttag=grek,
   langtag=ELL,
@@ -36,57 +37,80 @@
 % this file imported from xgreek fixes the \lccode and \uccode of Greek letters:
 \input{xgreek-fixes.def}
 
-\def\tmp at mono{mono}
-\def\tmp at monotonic{monotonic}
-\def\tmp at poly{poly}
-\def\tmp at polytonic{polytonic}
-\def\tmp at ancient{ancient}
-\def\tmp at ancientgreek{ancientgreek}
-
 \def\greek at variant{monogreek}
 
-\define at key{greek}{variant}[monotonic]{%
-  \def\@tmpa{#1}%
-  \xpg at ifdefined{greek}{}{%
+\newif\if at greek@ancient\@greek at ancientfalse
+\newif\if at greek@poly\@greek at polyfalse
+
+\define at choicekey*+{greek}{variant}[\xpg at val\xpg at nr]{monotonic,mono,polytonic,poly,ancient,ancientgreek}[monotonic]{%
+   \xpg at ifdefined{greek}{}{%
       \xpg at nopatterns{greek}%
       \adddialect\l at greek\l at nohyphenation
-  }%
-  \ifx\@tmpa\tmp at poly\def\@tmpa{polytonic}\fi
-  \ifx\@tmpa\tmp at ancientgreek\def\@tmpa{ancient}\fi
-  \ifx\@tmpa\tmp at polytonic%
-    \xpg at ifdefined{polygreek}{}%
-      {\xpg at warning{No hyphenation patterns were loaded for Polytonic Greek\MessageBreak
-	            I will use the patterns loaded for \string\l at greek\space instead}%
-      \adddialect\l at polygreek\l at greek\relax}%
-    \def\greek at variant{polygreek}%
-    \def\captionsgreek{\polygreekcaptions}%
-    \def\dategreek{\datepolygreek}%
-    \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
-      \xpg at ifdefined{ancientgreek}{}%
-        {\xpg at warning{No hyphenation patterns were loaded for Ancient Greek\MessageBreak
-	              I will use the patterns loaded for \string\l at greek\space instead}%
-         \adddialect\l at ancientgreek\l at greek\relax}%
-      \def\greek at variant{ancientgreek}%
-      \def\captionsgreek{\ancientgreekcaptions}%
-      \def\dategreek{\dateancientgreek}%
-      \SetLanguageKeys{greek}{babelname=greek,bcp47=grc,bcp47-language=grc,bcp47-variant={}}%
-      \xpg at info{Option: Ancient Greek}%
-    \else %monotonic
-      \xpg at ifdefined{monogreek}{}%
-        {\xpg at warning{No hyphenation patterns were loaded for Monotonic Greek\MessageBreak
-	              I will use the patterns loaded for \string\l at greek\space instead}%
-         \adddialect\l at monogreek\l at greek\relax}%
-      \def\greek at variant{monogreek}% monotonic
-      \def\captionsgreek{\monogreekcaptions}%
-      \def\dategreek{\datemonogreek}%
-      \SetLanguageKeys{greek}{babelname=greek,bcp47=el-monoton,bcp47-language=el,bcp47-variant=polyton}%
-      \xpg at info{Option: Monotonic Greek}%
-    \fi
-  \fi}
+   }%
+   \ifcase\xpg at nr\relax
+      % monotonic:
+      \@greek at polyfalse
+      \@greek at ancientfalse
+   \or
+      % mono:
+      \@greek at polyfalse
+      \@greek at ancientfalse
+   \or
+      % polytonic:
+      \@greek at polytrue
+      \@greek at ancientfalse
+   \or
+      % poly:
+      \@greek at polytrue
+      \@greek at ancientfalse
+   \or
+      % ancient:
+      \@greek at polyfalse
+      \@greek at ancienttrue
+   \or
+      % ancientgreek:
+      \@greek at polyfalse
+      \@greek at ancienttrue
+   \fi
+   \greek at set@langdata
+   \xpg at info{Option: Greek, variant=\xpg at val}%
+}{\xpg at warning{Unknown Greek variant `#1'}}
 
+
+\def\greek at set@langdata{%
+   \if at greek@ancient
+       \xpg at ifdefined{ancientgreek}{}%
+           {\xpg at warning{No hyphenation patterns were loaded for Ancient Greek\MessageBreak
+	                 I will use the patterns loaded for \string\l at greek\space instead}%
+            \adddialect\l at ancientgreek\l at greek\relax}%
+       \def\greek at variant{ancientgreek}%
+       \def\captionsgreek{\ancientgreekcaptions}%
+       \def\dategreek{\dateancientgreek}%
+       \SetLanguageKeys{greek}{babelname=greek,bcp47=grc,bcp47-language=grc,bcp47-variant={}}%
+   \else
+      \if at greek@poly
+          \xpg at ifdefined{polygreek}{}%
+              {\xpg at warning{No hyphenation patterns were loaded for Polytonic Greek\MessageBreak
+	                    I will use the patterns loaded for \string\l at greek\space instead}%
+               \adddialect\l at polygreek\l at greek\relax}%
+          \def\greek at variant{polygreek}%
+          \def\captionsgreek{\polygreekcaptions}%
+          \def\dategreek{\datepolygreek}%
+          \SetLanguageKeys{greek}{babelname=polutonikogreek,bcp47=el-polyton,bcp47-language=el,bcp47-variant=polyton}%
+      \else% monotonic greek
+          \xpg at ifdefined{monogreek}{}%
+              {\xpg at warning{No hyphenation patterns were loaded for Monotonic Greek\MessageBreak
+	                    I will use the patterns loaded for \string\l at greek\space instead}%
+               \adddialect\l at monogreek\l at greek\relax}%
+          \def\greek at variant{monogreek}% monotonic
+          \def\captionsgreek{\monogreekcaptions}%
+          \def\dategreek{\datemonogreek}%
+          \SetLanguageKeys{greek}{babelname=greek,bcp47=el-monoton,bcp47-language=el,bcp47-variant=monoton}%
+      \fi%   
+   \fi%
+}
+
+
 \def\greek at language{%
   \polyglossia at setup@language at patterns{\greek at variant}%
 }
@@ -93,13 +117,28 @@
 
 
 \newif\if at greek@numerals
-\define at key{greek}{numerals}[greek]{%
-  \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 choicekey*+{greek}{numerals}[\xpg at val\xpg at nr]{greek,arabic}[greek]{%
+   \ifcase\xpg at nr\relax
+      % greek:
+      \@greek at numeralstrue%
+      \SetLanguageKeys{greek}{bcp47-extension-u=nu-grek}%
+   \or
+      % arabic:
+      \@greek at numeralsfalse%
+      \SetLanguageKeys{greek}{bcp47-extension-u=nu-latn}%
+   \fi
+   \xpg at info{Option: Greek, numerals=\xpg at val}%
+}{\xpg at warning{Unknown Greek numerals value `#1'}}
+
+
+\define at boolkey{greek}[greek@]{capitaliota}[true]{%
+  \ifgreek at capitaliota
+     % \MakeUppercase converts the ypogegrammeni (subscript muted iota) to capital iota
+     \SetLanguageKeys{greek}{bcp47-casing=el-x-iota,bcp47-extension-x=iota}
+  \else
+     % \MakeUppercase retains the subscript versions (default)
+     \SetLanguageKeys{greek}{bcp47-casing=el,bcp47-extension-x={}}
+  \fi
 }
 
 \define at boolkey{greek}{attic}[true]{\xpg at warning{Greek option `attic' is no longer required.}}

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-he.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-he.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-he.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-he.ldf}[polyglossia: module for he (Hebrew)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-hebrew.ldf}[polyglossia: module for Hebrew]
 
@@ -116,24 +116,24 @@
 }
 
 \ifxetex
+  % Bidi inserts an RTL mark (0x200f) between number and number separator (- .),
+  % forcing numbers to RTL. This is wrong for Hebrew.
+  % So we defunc the respective command with XeTeX.
   \let\xpg at orig@DigitsDotDashInterCharToks\DigitsDotDashInterCharToks%
-\fi
 
-\def\hebrew at ltr@numbers{%
-    \ifxetex
-       % Bidi inserts an RTL mark (0x200f) between number and number separator (- .),
-       % forcing numbers to RTL. This is wrong for Hebrew.
-       % So we defunc the respective command.
-       \renewcommand*{\DigitsDotDashInterCharToks}{}%
-    \fi%
-}
+  \def\hebrew at ltr@numbers{%
+    \renewcommand*{\DigitsDotDashInterCharToks}{}%
+  }
 
-\def\nohebrew at ltr@numbers{%
-    \ifxetex
-      % Restore bidi's \DigitsDotDashInterCharToks
-      \let\DigitsDotDashInterCharToks\xpg at orig@DigitsDotDashInterCharToks%
-    \fi%
-}
+  \def\nohebrew at ltr@numbers{%
+    % Restore bidi's \DigitsDotDashInterCharToks
+    \let\DigitsDotDashInterCharToks\xpg at orig@DigitsDotDashInterCharToks%
+  }
+\else
+  % Only dummy commands (nothing to do here) for LuaTeX
+  \def\hebrew at ltr@numbers{}
+  \def\nohebrew at ltr@numbers{}
+\fi%
 
 \def\hebrew at numbers{%
    \let\@alph\hebrewnumeral%
@@ -146,7 +146,7 @@
   \let\@alph\latin at alph%
   \let\@Alph\latin at Alph%
   % Restore previous bidi numbers definition
-  \nohebrew at ltr@numbers
+  \nohebrew at ltr@numbers%
 }
 
 \def\hebrew at globalnumbers{%
@@ -163,16 +163,4 @@
   \let\@arabic\xpg at save@arabic%
 }
 
-% Save original \MakeUppercase definition
-\let\xpg at save@MakeUppercase\MakeUppercase
-
-\def\blockextras at hebrew{%
-   \def\MakeUppercase##1{##1}%
-}
-
-\def\noextras at hebrew{%
-   % restore original \MakeUppercase definition
-   \let\MakeUppercase\xpg at save@MakeUppercase%
-}
-
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hi.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hi.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hi.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-hi.ldf}[polyglossia: module for hi (Hindi)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 % UTF-8 strings kindly provided by Zdenĕk Wagner, 10-03-2008
 % with corrections and additional contributions by Anshuman Pandey
@@ -108,16 +108,4 @@
     \space\hindinumber\year}%
 }
 
-% Save original \MakeUppercase definition
-\let\xpg at save@MakeUppercase\MakeUppercase
-
-\def\blockextras at hindi{%
-  \def\MakeUppercase##1{##1}%
-}
-
-\def\noextras at hindi{%
-   % restore original \MakeUppercase definition
-   \let\MakeUppercase\xpg at save@MakeUppercase%
-}
-
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hr.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hr.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hr.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-hr.ldf}[polyglossia: module for hr (Croatian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hsb.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hsb.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hsb.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-hsb.ldf}[polyglossia: module for hsb (Higher Sorbian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hu.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hu.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hu.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-hu.ldf}[polyglossia: module for hu (Hungarian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hungarian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hungarian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hungarian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-hungarian.ldf}[polyglossia: module for Hungarian]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hy.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hy.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-hy.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-hy.ldf}[polyglossia: module for hy (Armenian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ia.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ia.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ia.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ia.ldf}[polyglossia: module for ia (Interlingua)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-icelandic.ldf}[polyglossia: module for Icelandic]
 \PolyglossiaSetup{icelandic}{

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-id.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-id.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-id.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-id.ldf}[polyglossia: module for id (Malay)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-interlingua.ldf}[polyglossia: module for Interlingua]
 \PolyglossiaSetup{interlingua}{

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-irish.ldf}[polyglossia: module for Irish]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-is.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-is.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-is.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-is.ldf}[polyglossia: module for is (Icelandic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-it.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-it.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-it.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-it.ldf}[polyglossia: module for it (Italian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,5 +1,5 @@
 % !TEX encoding = UTF-8 Unicode
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-italian.ldf}[polyglossia: module for Italian]
 \PolyglossiaSetup{italian}{
@@ -38,7 +38,7 @@
 }{}
 
 \def\italian at shorthands{%
-  \bbl at activate{"}%
+  \xpg at activate@shorthands%
   \def\language at group{italian}%
   \declare at shorthand{italian}{"}{%
     \relax\ifmmode
@@ -78,7 +78,7 @@
   \xpgit@@next}
 
 \def\noitalian at shorthands{%
-  \@ifundefined{initiate at active@char}{}{\bbl at deactivate{"}}%
+  \xpg at deactivate@shorthands%
 }
 %%% CHANGES END %%%
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ja.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ja.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ja.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ja.ldf}[polyglossia: module for ja (Japanese)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-japanese.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-japanese.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-japanese.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-japanese.ldf}[polyglossia: module for Japanese]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ka.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ka.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ka.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ka.ldf}[polyglossia: module for ka (Georgian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,5 +1,5 @@
 %% gloss-kannada.ldf
-%% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+%% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %%
 %% Copyright 2011 Aravinda VK <hallimanearavind AT gmail.com>,
 %%                Shankar Prasad <prasad.mvs AT gmail.com>,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-khmer.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-khmer.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-khmer.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-khmer.ldf}[polyglossia: module for Khmer]
 \PolyglossiaSetup{khmer}{

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-km.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-km.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-km.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-km.ldf}[polyglossia: module for km (Khmer)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Arab.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Arab.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Arab.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-kmr-Arab.ldf}[polyglossia: module for kmr-Arab (Kurdish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Latn.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Latn.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Latn.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-kmr-Latn.ldf}[polyglossia: module for kmr-Latn (Kurdish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-kmr.ldf}[polyglossia: module for kmr (Kurdish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kn.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kn.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kn.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-kn.ldf}[polyglossia: module for kn (Kannada)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ko.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ko.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ko.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ko.ldf}[polyglossia: module for ko (Korean)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-korean.ldf}[polyglossia: module for Korean]
 
@@ -114,9 +114,9 @@
   \if at korean@swapheadings
     % With titlesec
     \ifcsdef{titleformat}{%
-      \ifcsdef{H at old@part}{% Hyperref
-        \let\xpg at save@part at format\H at old@part
-        \patchcmd{\H at old@part}%
+      \ifcsdef{NR at part}{% Hyperref (nameref)
+        \let\xpg at save@part at format\NR at part
+        \patchcmd{\NR at part}%
                  {\partname\nobreakspace\thepart}%
                  {\koreanTHEname\nobreakspace \thepart\nobreakspace \partname}%
                  {}%
@@ -155,9 +155,9 @@
             \IfChapterUsesPrefixLine
             {%
               \ifx\@chapapp\korean at appendix@chapapp
-                \chapappifchapterprefix\nobreakspace \thechapter\autodot
+                \chapapp\nobreakspace \thechapter\autodot
               \else
-                \koreanTHEname\nobreakspace \thechapter\nobreakspace \chapappifchapterprefix{}%
+                \koreanTHEname\nobreakspace \thechapter\nobreakspace \chapapp\autodot
               \fi
             }%
             {\thechapter\autodot\enskip}%
@@ -185,9 +185,9 @@
                   {\chapnamefont\koreanTHEname\chapternamenum}{}}%
             \fi
           }{}%
-          \ifcsdef{H at old@part}{% Hyperref
-            \let\xpg at save@part at format\H at old@part
-            \patchcmd{\H at old@part}%
+          \ifcsdef{NR at part}{% Hyperref (nameref)
+            \let\xpg at save@part at format\NR at part
+            \patchcmd{\NR at part}%
                      {\printpartname \partnamenum \printpartnum}%
                      {\printkoreanpartthe \printpartnum\partnamenum \printpartname}%
                      {}%
@@ -224,9 +224,9 @@
                      {}%
                      {\xpg at warning{Failed to patch chapter for Korean}}%
           }{}%
-          \ifcsdef{H at old@part}{% Hyperref
-            \let\xpg at save@part at format\H at old@part
-            \patchcmd{\H at old@part}%
+          \ifcsdef{NR at part}{% Hyperref (nameref)
+            \let\xpg at save@part at format\NR at part
+            \patchcmd{\NR at part}%
                      {\partname\nobreakspace\thepart}%
                      {\koreanTHEname\nobreakspace \thepart\nobreakspace \partname}%
                      {}%
@@ -258,9 +258,9 @@
         \IfChapterUsesPrefixLine
         {%
           \ifx\@chapapp\korean at appendix@chapapp
-            \chapappifchapterprefix\ \thechapter\autodot
+            \chapapp\ \thechapter\autodot
           \else
-            \koreanTHEname\ \thechapter\ \chapappifchapterprefix{}%
+            \koreanTHEname\ \thechapter\ \chapapp\autodot
           \fi
         }%
         {\thechapter\autodot}%
@@ -310,8 +310,8 @@
   \ifcsdef{titleformat}{%
     % With titlesec
     \ifcsdef{xpg at save@part at format}{%
-      \ifcsdef{H at old@part}{%
-        \let\H at old@part\xpg at save@part at format
+      \ifcsdef{NR at part}{%
+        \let\NR at part\xpg at save@part at format
       }{%
         \let\@part\xpg at save@part at format
       }%
@@ -333,8 +333,8 @@
     }{%
       % With memoir and standard classes
       \ifcsdef{xpg at save@part at format}{%
-        \ifcsdef{H at old@part}{%
-          \let\H at old@part\xpg at save@part at format
+        \ifcsdef{NR at part}{%
+          \let\NR at part\xpg at save@part at format
         }{%
           \let\@part\xpg at save@part at format
         }%

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Arab.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Arab.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Arab.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ku-Arab.ldf}[polyglossia: module for ku-Arab (Kurdish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Latn.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Latn.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Latn.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ku-Latn.ldf}[polyglossia: module for ku-Latn (Kurdish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ku.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ku.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ku.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ku.ldf}[polyglossia: module for ku (Kurdish)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kurdish.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kurdish.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kurdish.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 % Created on September 1, 2019
 % Last updated on May 17, 2020
@@ -27,13 +27,13 @@
 
 % BCP-47 compliant aliases
 \setlanguagealias*{kurdish}{ku}
-\setlanguagealias*[variant=kurmanji,script=Latin]{kurdish}{kmr-Latn}
+\setlanguagealias*[variant=kurmanji,script=latin]{kurdish}{kmr-Latn}
 \setlanguagealias*[variant=sorani]{kurdish}{ckb}
-\setlanguagealias*[variant=kurmanji,script=Arabic]{kurdish}{kmr-Arab}
-\setlanguagealias*[script=Latin]{kurdish}{ku-Latn}
-\setlanguagealias*[variant=sorani,script=Arabic]{kurdish}{ckb-Arab}
-\setlanguagealias*[variant=sorani,script=Latin]{kurdish}{ckb-Latn}
-\setlanguagealias*[script=Arabic]{kurdish}{ku-Arab}
+\setlanguagealias*[variant=kurmanji,script=arabic]{kurdish}{kmr-Arab}
+\setlanguagealias*[script=latin]{kurdish}{ku-Latn}
+\setlanguagealias*[variant=sorani,script=arabic]{kurdish}{ckb-Arab}
+\setlanguagealias*[variant=sorani,script=latin]{kurdish}{ckb-Latn}
+\setlanguagealias*[script=arabic]{kurdish}{ku-Arab}
 \setlanguagealias*[variant=kurmanji]{kurdish}{kmr}
 
 % Babel aliases
@@ -57,13 +57,13 @@
 
 \newif\if at kurdish@latin
 \newif\if at kurdish@arabic
-\define at choicekey*+{kurdish}{script}[\xpg at val\xpg at nr]{Arabic,Latin}{%
+\define at choicekey*+{kurdish}{script}[\xpg at val\xpg at nr]{arabic,latin}{%
    \ifcase\xpg at nr\relax
-      % Arabic:
+      % arabic:
       \@kurdish at latinfalse%
       \@kurdish at arabictrue%
    \or
-      % Latin:
+      % latin:
       \@kurdish at latintrue%
       \@kurdish at arabicfalse%
    \fi
@@ -78,7 +78,7 @@
 \def\kurdish at pattern{nohyphenation}
 
 \def\kurdish at set@variety{%
-  \if at kurdish@latin% Latin explicitly set
+  \if at kurdish@latin% latin explicitly set
      \@western at numeralstrue%
      \if at kurdish@kurmanji
          \def\kurdish at pattern{kurmanji}%
@@ -89,7 +89,7 @@
      \def\kurdish at script{latin}
      \xpg at fontsetup@latin{kurdish}%
   \else
-     \if at kurdish@arabic% Arabic explicitly set
+     \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,bcp47-language=kmr,bcp47-script=Arab,bcp47-casing=kmr-Arab}%
@@ -98,7 +98,7 @@
             \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish,bcp47=ckb-Arab,bcp47-language=ckb,bcp47-script=Arab,bcp47-casing=ckb-Arab}%
         \fi
         \xpg at fontsetup@nonlatin{kurdish}%
-     \else% sorani=Arabic, kurmanji=Latin
+     \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,bcp47-language=kmr,bcp47-script=Latn,bcp47-casing=kmr-Latn}%
@@ -112,19 +112,30 @@
   \fi
 }
 
-\def\tmp at western{western}
-\define at key{kurdish}{numerals}[eastern]{%
-  \def\@tmpa{#1}%
-  \ifx\@tmpa\tmp at western\@western at numeralstrue\@force at western@numeralstrue\else%
-    \@western at numeralsfalse%
-  \fi%
+\newif\if at western@numerals
+\define at choicekey*+{kurdish}{numerals}[\xpg at val\xpg at nr]{eastern,western}[eastern]{%
+   \ifcase\xpg at nr\relax
+      % eastern:
+      \@western at numeralsfalse%
+   \or
+      % western:
+      \@western at numeralstrue%
+      \@force at western@numeralstrue%
+   \fi
+   \xpg at info{Option: Kurdish, numerals=\xpg at val}%
+}{\xpg at warning{Unknown Kurdish numerals option `#1'}}
+
+\newif\ifkurdish at customsep\kurdish at customsepfalse
+\def\xpg at sepmark{}
+\define at key{kurdish}{sectionsep}[.]{%
+   \kurdish at customseptrue%
+   \gdef\xpg at sepmark{#1}%
 }
 
 %this is needed for \abjad in arabicnumbers.sty
-\def\tmp at true{true}
-\define at key{kurdish}{abjadjimnotail}[true]{%
-  \def\@tmpa{#1}%
-  \ifx\@tmpa\tmp at true\abjad at jim@notailtrue%
+\define at boolkey{kurdish}[kurdish@]{abjadjimnotail}[true]{%
+  \ifkurdish at abjadjimnotail
+    \abjad at jim@notailtrue%
   \else
     \abjad at jim@notailfalse
   \fi%
@@ -137,7 +148,7 @@
 %TODO add option for CALENDAR
 
 % Register default options
-\xpg at initialize@gloss at options{kurdish}{variant=sorani,locale=default,script=Arabic,abjadjimnotail=false,numerals=eastern}
+\xpg at initialize@gloss at options{kurdish}{variant=sorani,locale=default,script=arabic,abjadjimnotail=false,numerals=eastern}
 
 \def\kurdish at language{%
    \polyglossia at setup@language at patterns{\kurdish at pattern}%
@@ -350,8 +361,8 @@
     \number#1%
   \else
     \xpg at if@char at available{06F0}%
-          {\farsidigits{\number#1}}%
-          {\arabicdigits{\number#1}}%
+          {\@ensure at LTR{\farsidigits{\number#1}}}%
+          {\@ensure at LTR{\arabicdigits{\number#1}}}%
   \fi
 }
 
@@ -387,15 +398,92 @@
    \renewcommand\thefootnote{\protect\number{\c at footnote}}%
 }
 
-% Save original \MakeUppercase definition
-\let\xpg at save@MakeUppercase\MakeUppercase
+\def\kurdish at xetex@capsformat{%
+  \let\xpg at save@sepmark\@SepMark%
+  \SepMark{\xpg at sepmark}
+}
 
+\def\nokurdish at xetex@capsformat{%
+   \ifcsdef{xpg at save@sepmark}{%
+     \SepMark{\xpg at save@sepmark}
+   }{}%
+}
+
+\def\kurdish at luatex@capsformat{%
+  %
+  % change chapter and part headings
+  \ifkurdish at customsep
+     \ifcsdef{chapter}{%
+        \let\xpg at save@thesection\thesection%
+        \renewcommand*\thesection{\thechapter\xpg at sepmark\@arabic\c at section}
+        \let\xpg at save@theequation\theequation%
+        \renewcommand*\theequation{%
+	    \ifnum \c at chapter>\z@ \thechapter\xpg at sepmark\fi\@arabic\c at equation}
+        \let\xpg at save@thefigure\thefigure%
+	\renewcommand*\thefigure{%
+	    \ifnum\c at chapter>\z@\thechapter\xpg at sepmark\fi\@arabic\c at figure}
+        \let\xpg at save@thetable\thetable%
+	\renewcommand*\thetable{%
+	    \ifnum\c at chapter>\z@\thechapter\xpg at sepmark\fi\@arabic\c at table}
+     }{}
+     \let\xpg at save@thesubsection\thesubsection%
+     \renewcommand\thesubsection
+	{\thesection\xpg at sepmark\@arabic\c at subsection}
+     \let\xpg at save@thesubsubsection\thesubsubsection%
+     \renewcommand\thesubsubsection{\thesubsection\xpg at sepmark\@arabic\c at subsubsection}
+     \let\xpg at save@theparagraph\theparagraph%
+     \renewcommand\theparagraph
+         {\thesubsubsection\xpg at sepmark\@arabic\c at paragraph}
+     \let\xpg at save@thesubparagraph\thesubparagraph%
+     \renewcommand\thesubparagraph{\theparagraph\xpg at sepmark\@arabic\c at subparagraph}
+  \fi% (end \ifkurdish at customsep)
+}
+
+\def\nokurdish at luatex@capsformat{%
+   \ifcsdef{xpg at save@thesection}{%
+        \let\thesection\xpg at save@thesection%
+   }{}%
+   \ifcsdef{xpg at save@theequation}{%
+        \let\theequation\xpg at save@theequation%
+   }{}%
+   \ifcsdef{xpg at save@thefigure}{%
+        \let\thefigure\xpg at save@thefigure%
+   }{}%
+   \ifcsdef{xpg at save@thetable}{%
+        \let\thetable\xpg at save@thetable%
+   }{}%
+   \ifcsdef{xpg at save@thesubsection}{%
+        \let\thesubsection\xpg at save@thesubsection%
+   \ifcsdef{xpg at save@thesubsubsection}{%
+        \let\thesubsubsection\xpg at save@thesubsubsection%
+   }{}%
+   }{}%
+   \ifcsdef{xpg at save@theparagraph}{%
+        \let\theparagraph\xpg at save@theparagraph%
+   }{}%
+   \ifcsdef{xpg at save@thesubparagraph}{%
+        \let\thesubparagraph\xpg at save@thesubparagraph%
+   }{}%
+}
+
 \def\blockextras at kurdish{%
-   \def\MakeUppercase##1{##1}%
+   \ifkurdish at customsep
+      \ifxetex
+        \kurdish at xetex@capsformat
+      \else
+        \kurdish at luatex@capsformat
+      \fi   
+   \fi
 }
-
+%
 \def\noextras at kurdish{%
-   \let\MakeUppercase\xpg at save@MakeUppercase%
+    \ifkurdish at customsep
+      \ifxetex
+        \nokurdish at xetex@capsformat
+      \else
+        \nokurdish at luatex@capsformat
+      \fi   
+   \fi
 }
 
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kurmanji.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kurmanji.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-kurmanji.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-kurmanji.ldf}[polyglossia: module for Kurmanji Kurdish]
 

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-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-classic.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-la-xclassic.ldf}[polyglossia: module for la-xclassic (Latin)]
 

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-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-ecclesia.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-la-xecclesiastic.ldf}[polyglossia: module for la-xecclesiastic (Latin)]
 

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-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-medieval.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-la-xmedieval.ldf}[polyglossia: module for la-xmedieval (Latin)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-la.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-la.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-la.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-la.ldf}[polyglossia: module for la (Latin)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-lao.ldf}[polyglossia: module for Lao]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latex.lde
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latex.lde	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latex.lde	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,6 +1,6 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
-\ProvidesLanguageDefinitionExtension{gloss-latex}{2023/04/22}{v1.62}{polyglossia: module for default language}
+\ProvidesLanguageDefinitionExtension{gloss-latex}{2023/06/10}{v1.63}{polyglossia: module for default language}
 
 \PolyglossiaSetup{latex}{
   bcp47=en-US,

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-latin.ldf}[polyglossia: module for Latin]
 
@@ -408,7 +408,7 @@
     \bool_set_true:N \l_polyglossia_latin_capitalize_month_bool
     \bool_set_false:N \l_polyglossia_latin_punctuation_spacing_bool
     \str_set:Nn \l_polyglossia_latin_variant_str {medieval}
-    \SetLanguageKeys {latin} { babelname = medievallatin, bcp47 = la-x-medieval, bcp47-extension-x = medieval }
+    \SetLanguageKeys {latin} { babelname = medievallatin, bcp47 = la-x-medieval, bcp47-extension-x = medieval, bcp47-casing = la-x-medieval }
     \polyglossia_latin_use_modern_patterns:
   }
 
@@ -670,7 +670,7 @@
 \cs_new:Npn \polyglossia_latin_shorthands:
   {
     \def \language at group {latin}
-    \bbl at activate {"}
+    \xpg at activate@shorthands ["]
     \declare at shorthand {latin} {"}
       {
         \mode_if_math:TF
@@ -684,7 +684,7 @@
     % The ' shorthand is normally turned off to avoid problems with the unicode-math
     % package. We have to turn it on here.
     \shorthandon {'}
-    \bbl at activate {'}
+    \xpg at activate@shorthands [']
     \declare at shorthand {latin} {'}
       {
         \mode_if_math:TF
@@ -988,8 +988,8 @@
 
 \cs_new:Npn \polyglossia_latin_no_shorthands:
   {
-    \bbl at deactivate {"}
-    \bbl at deactivate {'}
+    \xpg at deactivate@shorthands ["]
+    \xpg at deactivate@shorthands [']
   }
 
 \cs_new:Npn \polyglossia_latin_no_prosodic_shorthands:

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latinclassic.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latinclassic.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latinclassic.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-latinclassic.ldf}[polyglossia: module for classic Latin]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latinecclesiastic.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latinecclesiastic.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latinecclesiastic.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-latinecclesiastic.ldf}[polyglossia: module for ecclesiastic Latin]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latinmedieval.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latinmedieval.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latinmedieval.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-latinmedieval.ldf}[polyglossia: module for medieval Latin]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-latvian.ldf}[polyglossia: module for Latvian]
 \PolyglossiaSetup{latvian}{

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 % Translated by Paulius Sladkevičius <komsas at gmail.com>
 
@@ -11,7 +11,7 @@
   hyphennames={lithuanian},
   hyphenmins={2,2},
   langtag=LTH,
-  indentfirst=true, % TODO Dokumentų rengimo taisyklių, patvirtintų Lietuvos vyriausiojo archyvaro 2011 m. liepos 4 d. įsakymu Nr. V-117, 29.1 punktą
+  indentfirst=true,
   fontsetup=true
 }
 
@@ -23,7 +23,7 @@
    \def\refname{Literatūra}%
    \def\abstractname{Santrauka}%
    \def\bibname{Literatūra}%
-   \def\chaptername{Skyrius}% TODO letter case
+   \def\chaptername{Skyrius}%
    \def\appendixname{Priedas}%
    \def\contentsname{Turinys}%
    \def\listfigurename{Iliustracijų sąrašas}%
@@ -30,7 +30,7 @@
    \def\listtablename{Lentelių sąrašas}%
    \def\indexname{Rodyklė}%
    \def\figurename{pav.}%
-   \def\tablename{lentelė}% TODO any special reason for \protect in babel?
+   \def\tablename{lentelė}%
    \def\partname{Dalis}%
    \def\enclname{Įdėta}%
    \def\ccname{Kopijos}%
@@ -37,9 +37,9 @@
    \def\headtoname{Kam}% TODO empty in babel?
    \def\pagename{puslapis}%
    \def\seename{žiūrėk}%
-   \def\alsoname{taip pat}% TODO some other variants are considered in babel?
+   \def\alsoname{taip pat}%
    \def\proofname{Įrodymas}%
-   \def\glossaryname{Terminų žodynas}% TODO some other variants are considered in babel?
+   \def\glossaryname{Terminų žodynas}%
 }
 
 \def\datelithuanian{%

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lo.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lo.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lo.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-lo.ldf}[polyglossia: module for lo (Lao)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lowersorbian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lowersorbian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lowersorbian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-lowersorbian.ldf}[polyglossia: module for Lower Sorbian]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-lsorbian.ldf}[polyglossia: module for Lower Sorbian]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lt.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lt.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lt.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-lt.ldf}[polyglossia: module for lt (Lithuanian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lv.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lv.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-lv.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-lv.ldf}[polyglossia: module for lv (Latvian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-macedonian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-macedonian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-macedonian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-macedonian.ldf}[polyglossia: module for Macedonian]
 \PolyglossiaSetup{macedonian}{

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-magyar.ldf}[polyglossia: module for Hungarian (Magyar)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-malay.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-malay.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-malay.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-malay.ldf}[polyglossia: module for Malay]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-malayalam.ldf}[polyglossia: module for Malayalam]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 % Translations provided by Abhijit Navale <abhi_navale at live.in>
 % Ordinals (1-100) added by Niranjan Tambe <niranjanvikastambe at gmail.com> on 14th December, 2019

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mk.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mk.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mk.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-mk.ldf}[polyglossia: module for mk (Macedonian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ml.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ml.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ml.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ml.ldf}[polyglossia: module for ml (Malayalam)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mn.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mn.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mn.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-mn.ldf}[polyglossia: module for mn (Mongolian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mongolian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mongolian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mongolian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-mongolian.ldf}[polyglossia: module for Mongolian]
 
@@ -69,7 +69,7 @@
 }{}
 
 \def\mongolian at shorthands{%
-  \bbl at activate{"}%
+  \xpg at activate@shorthands%
   \def\language at group{mongolian}%
   \declare at shorthand{mongolian}{"`}{„}%
   \declare at shorthand{mongolian}{"'}{“}%
@@ -108,7 +108,7 @@
 }
 
 \def\nomongolian at shorthands{%
-  \@ifundefined{initiate at active@char}{}{\bbl at deactivate{"}}%
+  \xpg at deactivate@shorthands%
 }
 
 % Taken from babel-mongolian

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mr.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mr.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-mr.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-mr.ldf}[polyglossia: module for mr (Marathi)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-naustrian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-naustrian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-naustrian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-naustrian.ldf}[polyglossia: module for Austrian German (current spelling)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nb.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nb.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nb.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-nb.ldf}[polyglossia: module for nb (Norwegian)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-newzealand.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-newzealand.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-newzealand.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-newzealand.ldf}[polyglossia: module for Newzealand English]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ngerman.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ngerman.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ngerman.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ngerman.ldf}[polyglossia: module for German (current spelling)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nko.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nko.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nko.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-nko.ldf}[Polyglossia: module for N’Ko]
 \PolyglossiaSetup{nko}{%

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-norsk.ldf}[polyglossia: module for Norwegian (Bokmal)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-norwegian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-norwegian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-norwegian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-norwegian.ldf}[polyglossia: module for Norwegian]
 \PolyglossiaSetup{norwegian}{

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nswissgerman.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nswissgerman.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nswissgerman.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-nswissgerman.ldf}[polyglossia: module for Swiss German (current spelling)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-nynorsk.ldf}[polyglossia: module for Norwegian (Nynorsk)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 %%
 %% This is file `gloss-occitan.ldf',
@@ -49,7 +49,7 @@
 }{}
 
 \def\occitan at shorthands{%
-  \bbl at activate{"}%
+  \xpg at activate@shorthands%
   \def\language at group{occitan}%
   \declare at shorthand{occitan}{"}{%
     \relax\ifmmode
@@ -86,9 +86,11 @@
       \fi
     \fi
   \fi
-  \xpgoc@@next}
+  \xpgoc@@next%
+}
+
 \def\nooccitan at shorthands{%
-  \@ifundefined{initiate at active@char}{}{\bbl at deactivate{"}}%
+  \xpg at deactivate@shorthands%
 }
 \def\captionsoccitan{%
    \def\refname{Referéncias}%

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-pa.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-pa.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-pa.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-pa.ldf}[polyglossia: module for pa (Punjabi)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-persian.ldf}[polyglossia: module for Persian]
 
@@ -27,22 +27,30 @@
 \setlanguagealias{persian}{farsi}
 
 \newif\if at western@numerals
-\def\tmp at western{western}
-\define at key{persian}{numerals}[eastern]{%
-  \def\@tmpa{#1}%
-  \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}
+\define at choicekey*+{persian}{numerals}[\xpg at val\xpg at nr]{eastern,western}[eastern]{%
+   \ifcase\xpg at nr\relax
+      % eastern:
+      \@western at numeralsfalse%
+      \SetLanguageKeys{persian}{bcp47-extension-u=nu-arab}%
+   \or
+      % western:
+      \@western at numeralstrue%
+      \SetLanguageKeys{persian}{bcp47-extension-u=nu-latn}%
+   \fi
+   \xpg at info{Option: Persian, numerals=\xpg at val}%
+}{\xpg at warning{Unknown Persian numerals option `#1'}}
 
+\newif\ifpersian at customsep\persian at customsepfalse
+\def\xpg at sepmark{}
+\define at key{persian}{sectionsep}[.]{%
+   \persian at customseptrue%
+   \gdef\xpg at sepmark{#1}%
+}
+
 %this is needed for \abjad in arabicnumbers.sty
-\def\tmp at true{true}
-\define at key{persian}{abjadjimnotail}[true]{%
-  \def\@tmpa{#1}%
-  \ifx\@tmpa\tmp at true\abjad at jim@notailtrue%
+\define at boolkey{persian}[persian@]{abjadjimnotail}[true]{%
+  \ifpersian at abjadjimnotail
+    \abjad at jim@notailtrue%
   \else
     \abjad at jim@notailfalse
   \fi}
@@ -100,8 +108,8 @@
     \number#1%
   \else
     \xpg at if@char at available{06F0}%
-          {\farsidigits{\number#1}}%
-          {\arabicdigits{\number#1}}%
+          {\@ensure at LTR{\farsidigits{\number#1}}}%
+          {\@ensure at LTR{\arabicdigits{\number#1}}}%
   \fi
 }
 
@@ -133,15 +141,92 @@
    \let\@arabic\xpg at save@arabic%
 }
 
-% Save original \MakeUppercase definition
-\let\xpg at save@MakeUppercase\MakeUppercase
+\def\persian at xetex@capsformat{%
+  \let\xpg at save@sepmark\@SepMark%
+  \SepMark{\xpg at sepmark}
+}
 
+\def\nopersian at xetex@capsformat{%
+   \ifcsdef{xpg at save@sepmark}{%
+     \SepMark{\xpg at save@sepmark}
+   }{}%
+}
+
+\def\persian at luatex@capsformat{%
+  %
+  % change chapter and part headings
+  \ifpersian at customsep
+     \ifcsdef{chapter}{%
+        \let\xpg at save@thesection\thesection%
+        \renewcommand*\thesection{\thechapter\xpg at sepmark\@arabic\c at section}
+        \let\xpg at save@theequation\theequation%
+        \renewcommand*\theequation{%
+	    \ifnum \c at chapter>\z@ \thechapter\xpg at sepmark\fi\@arabic\c at equation}
+        \let\xpg at save@thefigure\thefigure%
+	\renewcommand*\thefigure{%
+	    \ifnum\c at chapter>\z@\thechapter\xpg at sepmark\fi\@arabic\c at figure}
+        \let\xpg at save@thetable\thetable%
+	\renewcommand*\thetable{%
+	    \ifnum\c at chapter>\z@\thechapter\xpg at sepmark\fi\@arabic\c at table}
+     }{}
+     \let\xpg at save@thesubsection\thesubsection%
+     \renewcommand\thesubsection
+	{\thesection\xpg at sepmark\@arabic\c at subsection}
+     \let\xpg at save@thesubsubsection\thesubsubsection%
+     \renewcommand\thesubsubsection{\thesubsection\xpg at sepmark\@arabic\c at subsubsection}
+     \let\xpg at save@theparagraph\theparagraph%
+     \renewcommand\theparagraph
+         {\thesubsubsection\xpg at sepmark\@arabic\c at paragraph}
+     \let\xpg at save@thesubparagraph\thesubparagraph%
+     \renewcommand\thesubparagraph{\theparagraph\xpg at sepmark\@arabic\c at subparagraph}
+  \fi% (end \ifpersiancustomsep)
+}
+
+\def\nopersian at luatex@capsformat{%
+   \ifcsdef{xpg at save@thesection}{%
+        \let\thesection\xpg at save@thesection%
+   }{}%
+   \ifcsdef{xpg at save@theequation}{%
+        \let\theequation\xpg at save@theequation%
+   }{}%
+   \ifcsdef{xpg at save@thefigure}{%
+        \let\thefigure\xpg at save@thefigure%
+   }{}%
+   \ifcsdef{xpg at save@thetable}{%
+        \let\thetable\xpg at save@thetable%
+   }{}%
+   \ifcsdef{xpg at save@thesubsection}{%
+        \let\thesubsection\xpg at save@thesubsection%
+   \ifcsdef{xpg at save@thesubsubsection}{%
+        \let\thesubsubsection\xpg at save@thesubsubsection%
+   }{}%
+   }{}%
+   \ifcsdef{xpg at save@theparagraph}{%
+        \let\theparagraph\xpg at save@theparagraph%
+   }{}%
+   \ifcsdef{xpg at save@thesubparagraph}{%
+        \let\thesubparagraph\xpg at save@thesubparagraph%
+   }{}%
+}
+
 \def\blockextras at persian{%
-   \def\MakeUppercase##1{##1}%
+   \ifpersian at customsep
+      \ifxetex
+        \persian at xetex@capsformat
+      \else
+        \persian at luatex@capsformat
+      \fi   
+   \fi
 }
-
+%
 \def\noextras at persian{%
-   % restore original \MakeUppercase definition
-   \let\MakeUppercase\xpg at save@MakeUppercase
+    \ifpersian at customsep
+      \ifxetex
+        \nopersian at xetex@capsformat
+      \else
+        \nopersian at luatex@capsformat
+      \fi   
+   \fi
 }
+
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,5 +1,5 @@
 % !TEX encoding = UTF-8 Unicode
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-piedmontese.ldf}[2013/02/12 v1.0 polyglossia: module for Piedmontese]
 \makeatletter
@@ -32,7 +32,7 @@
 }{}
 
 \def\piedmontese at shorthands{%
-  \bbl at activate{"}%
+  \xpg at activate@shorthands%
   \def\language at group{piedmontese}%
   \declare at shorthand{piedmontese}{"}{%
     \relax\ifmmode
@@ -62,7 +62,7 @@
 \xpgpms@@next}
 
 \def\nopiedmontese at shorthands{%
-  \@ifundefined{initiate at active@char}{}{\bbl at deactivate{"}}%
+  \xpg at deactivate@shorthands%
 }
 \@namedef{captions\CurrentOption}{%
     \def\prefacename{Prefassion}%

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-polish.ldf}[polyglossia: module for Polish]
 
@@ -63,7 +63,7 @@
 }
 
 \def\polish at shorthands{%
-  \bbl at activate{"}%
+  \xpg at activate@shorthands%
   \def\language at group{polish}%
   \declare at shorthand{polish}{"=}{\polish at splhyphen}%
   \declare at shorthand{polish}{""}{\hskip\z at skip}%
@@ -82,7 +82,7 @@
 }
 
 \def\nopolish at shorthands{%
-  \@ifundefined{initiate at active@char}{}{\bbl at deactivate{"}}%
+  \xpg at deactivate@shorthands%
 }
 
 \ifxetex

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-polutonikogreek.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-polutonikogreek.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-polutonikogreek.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-polutonikogreek.ldf}[polyglossia: module for polytonic Greek]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-portuges.ldf}[polyglossia: module for Portuguese]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-portuguese.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-portuguese.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-portuguese.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-portuguese.ldf}[polyglossia: module for Portuguese]
 
@@ -86,7 +86,7 @@
 }
 
 \def\portuguese at shorthands{%
-  \bbl at activate{"}%
+  \xpg at activate@shorthands%
   \def\language at group{portuguese}%
   \declare at shorthand{portuguese}{"=}{\portuguese at splhyphen}%
   \declare at shorthand{portuguese}{""}{\hskip\z at skip}%
@@ -103,7 +103,7 @@
 }
 
 \def\noportuguese at shorthands{%
-  \@ifundefined{initiate at active@char}{}{\bbl at deactivate{"}}%
+  \xpg at deactivate@shorthands%
 }
 
 \ifxetex

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-punjabi.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-punjabi.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-punjabi.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 % UTF-8 strings kindly provided by 
 % Arvinder Singh Kang, <17-11-2022>
@@ -97,16 +97,4 @@
     \space\punjabinumber\year}%
 }
 
-% Save original \MakeUppercase definition
-\let\xpg at save@MakeUppercase\MakeUppercase
-
-\def\blockextras at punjabi{%
-  \def\MakeUppercase##1{##1}%
-}
-
-\def\noextras at punjabi{%
-   % restore original \MakeUppercase definition
-   \let\MakeUppercase\xpg at save@MakeUppercase%
-}
-
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-romanian.ldf}[polyglossia: module for Romanian]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-romansh.ldf}[polyglossia: module for Romansh]
 \makeatletter

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-russian.ldf}[polyglossia: module for Russian]
 
@@ -106,7 +106,7 @@
 }{}
 
 \def\russian at shorthands{%
-  \bbl at activate{"}%
+  \xpg at activate@shorthands%
   \def\language at group{russian}%
 %  \declare at shorthand{russian}{"`}{„}%
 %  \declare at shorthand{russian}{"'}{“}%
@@ -144,7 +144,7 @@
 }
 
 \def\norussian at shorthands{%
-  \@ifundefined{initiate at active@char}{}{\bbl at deactivate{"}}%
+  \xpg at deactivate@shorthands%
 }
 
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-sami.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-sami.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-sami.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-sami.ldf}[polyglossia: module for Sami]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-samin.ldf}[polyglossia: module for Northern Sami]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-sanskrit.ldf}[polyglossia: module for Sanskrit]
 
@@ -19,15 +19,15 @@
 
 % BCP-47 compliant aliases
 \setlanguagealias*{sanskrit}{sa}
-\setlanguagealias*[script=Devanagari]{sanskrit}{sa-Deva}
-\setlanguagealias*[script=Malayalam]{sanskrit}{sa-Mlym}
-\setlanguagealias*[script=Telugu]{sanskrit}{sa-Telu}
-\setlanguagealias*[script=Bengali]{sanskrit}{sa-Beng}
-\setlanguagealias*[script=Kannada]{sanskrit}{sa-Knda}
-\setlanguagealias*[script=Gujarati]{sanskrit}{sa-Gujr}
-\setlanguagealias*[script=Latin]{sanskrit}{sa-Latn}
+\setlanguagealias*[script=devanagari]{sanskrit}{sa-Deva}
+\setlanguagealias*[script=malayalam]{sanskrit}{sa-Mlym}
+\setlanguagealias*[script=telugu]{sanskrit}{sa-Telu}
+\setlanguagealias*[script=bengali]{sanskrit}{sa-Beng}
+\setlanguagealias*[script=kannada]{sanskrit}{sa-Knda}
+\setlanguagealias*[script=gujarati]{sanskrit}{sa-Gujr}
+\setlanguagealias*[script=latin]{sanskrit}{sa-Latn}
 
-\define at key{sanskrit}{Script}[Devanagari]{%
+\define at key{sanskrit}{Script}[devanagari]{%
   \ifcsdef{fontsetup at sanskrit@#1}%
     {\csname fontsetup at sanskrit@#1\endcsname}%
     {\xpg at error{`#1' is not a valid script for Sanskrit}%
@@ -34,27 +34,27 @@
   }%
 }
 
-\define at key{sanskrit}{script}[Devanagari]{\setkeys{sanskrit}{Script=#1}}
+\define at key{sanskrit}{script}[devanagari]{\setkeys{sanskrit}{Script=#1}}
 
-\def\fontsetup at sanskrit@Devanagari{%
+\def\fontsetup at sanskrit@devanagari{%
   \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{%
+\def\fontsetup at sanskrit@gujarati{%
   \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{%
+\def\fontsetup at sanskrit@malayalam{%
   \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{%
+\def\fontsetup at sanskrit@bengali{%
   \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{%
+\def\fontsetup at sanskrit@kannada{%
   \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{%
+\def\fontsetup at sanskrit@telugu{%
   \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{%
+\def\fontsetup at sanskrit@latin{%
   \SetLanguageKeys{sanskrit}{scripttag=latn,script=Latin,bcp47=sa-Latn,bcp47-language=sa,bcp47-script=Latn,bcp47-casing=sa-Latn}
   \xpg at fontsetup@latin{sanskrit}}
 
@@ -61,13 +61,13 @@
 
 \newif\ifsanskrit at devanagari@numerals
 \sanskrit at devanagari@numeralstrue
-\define at choicekey*+{sanskrit}{numerals}[\xpg at val\xpg at nr]{Devanagari,Western}[Devanagari]{%
+\define at choicekey*+{sanskrit}{numerals}[\xpg at val\xpg at nr]{devanagari,western}[devanagari]{%
    \ifcase\xpg at nr\relax
-      % Devanagari:
+      % devanagari:
       \sanskrit at devanagari@numeralstrue%
       \SetLanguageKeys{sanskrit}{bcp47-extension-u=nu-deva}%
    \or
-      % Western:
+      % western:
       \sanskrit at devanagari@numeralsfalse%
       \SetLanguageKeys{sanskrit}{bcp47-extension-u=nu-latn}%
    \fi
@@ -76,7 +76,7 @@
 
 
 % Register default options
-\xpg at initialize@gloss at options{sanskrit}{script=Devanagari,numerals=Devanagari}
+\xpg at initialize@gloss at options{sanskrit}{script=devanagari,numerals=devanagari}
 
 % Use \providecommand here as the ldf file might
 % be reloaded via BCP.

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-scottish.ldf}[polyglossia: module for Scottish Gaelic]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-serbian.ldf}[polyglossia: module for Serbian]
 %TODO split into gloss-serbiancyr.ldf and gloss-serbianlat.ldf
@@ -11,6 +11,7 @@
 \PolyglossiaSetup{serbian}{
   bcp47=sr-Latn,
   bcp47-language=sr,
+  bcp47-variant=ekavsk,
   bcp47-script=Latn,
   bcp47-casing=sr-Latn,
   langtag=SRB,
@@ -27,11 +28,11 @@
 
 % BCP-47 compliant aliases
 \setlanguagealias*{serbian}{sr}
-\setlanguagealias*[script=Cyrillic]{serbian}{sr-Cyrl}
-\setlanguagealias*[script=Latin]{serbian}{sr-Latn}
+\setlanguagealias*[script=cyrillic]{serbian}{sr-Cyrl}
+\setlanguagealias*[script=latin]{serbian}{sr-Latn}
 
 % Babel aliases
-\setlanguagealias[script=Cyrillic]{serbian}{serbianc}
+\setlanguagealias[script=cyrillic]{serbian}{serbianc}
 
 \ifluatex
   \RequirePackage{luavlna}
@@ -42,21 +43,33 @@
    \ifcase\xpg at nr\relax
       % cyrillic:
       \@serbian at cyrtrue
-      \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,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???
    \fi
+   \serbian at set@languagekeys%
    \xpg at info{Option: Serbian, script=\xpg at val}%
 }{\xpg at warning{Unknown Serbian script `#1'}}
 
-\define at key{serbian}{script}[Cyrillic]{\setkeys{serbian}{Script=#1}}
+\define at key{serbian}{script}[cyrillic]{\setkeys{serbian}{Script=#1}}
 
+\newif\if at serbian@ijekavian
+\define at choicekey*+{serbian}{variant}[\xpg at val\xpg at nr]{ekavian,ijekavian}[ekavian]{%
+   \ifcase\xpg at nr\relax
+      % ekavian:
+      \@serbian at ijekavianfalse%
+   \or
+      % ijekavian:
+      \@serbian at ijekaviantrue%
+   \fi
+   \serbian at set@languagekeys%
+   \xpg at info{Option: Serbian, variant=\xpg at val}%
+}{\xpg at warning{Unknown Serbian variant `#1'}}
+
 \newif\ifcyrillic at numerals
 \newif\ifcyrillic at asbuk@numerals
 \define at choicekey*+{serbian}{numerals}[\xpg at val\xpg at nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
@@ -86,10 +99,28 @@
 
 \define at boolkey{serbian}[serbian@]{splithyphens}[true]{}
 
+\define at boolkey{serbian}[serbian@]{datei}[true]{}
+
+\def\serbian at set@languagekeys{%
+   \if at serbian@cyr
+     \if at serbian@ijekavian
+        \SetLanguageKeys{serbian}{scripttag=cyrl,script=Cyrillic,babelname=serbianc,bcp47=sr-Cyrl-ijekavsk,bcp47-language=sr,bcp47-script=Cyrl,bcp47-variant=ijekavsk,bcp47-casing=sr-Cyrl}
+     \else
+        \SetLanguageKeys{serbian}{scripttag=cyrl,script=Cyrillic,babelname=serbianc,bcp47=sr-Cyrl,bcp47-language=sr,bcp47-script=Cyrl,bcp47-variant=ekavsk,bcp47-casing=sr-Cyrl}
+     \fi
+   \else
+     \if at serbian@ijekavian
+       \SetLanguageKeys{serbian}{scripttag=latn,script=Latin,babelname=serbian,bcp47=sr-Latn-ijekavsk,bcp47-language=sr,bcp47-script=Latn,bcp47-variant=ijekavsk,bcp47-casing=sr-Latn}
+     \else
+       \SetLanguageKeys{serbian}{scripttag=latn,script=Latin,babelname=serbian,bcp47=sr-Latn,bcp47-language=sr,bcp47-script=Latn,bcp47-variant=ekavsk,bcp47-casing=sr-Latn}
+     \fi
+   \fi%
+}
+
 \setkeys{serbian}{Script,numerals}
 
 % Register default options
-\xpg at initialize@gloss at options{serbian}{script=Cyrillic,numerals=arabic,splithyphens=true}
+\xpg at initialize@gloss at options{serbian}{script=cyrillic,numerals=arabic,splithyphens=true}
 
 \def\captionsserbian{%
    \if at serbian@cyr\captionsserbian at cyr\else\captionsserbian at lat\fi
@@ -126,13 +157,51 @@
    \def\headtoname{Prima}%
    \def\proofname{Dokaz}%
    \def\glossaryname{Rečnik nepoznatih reči}%
+   \if at serbian@ijekavian%
+     \def\partname{Dio}%
+     \def\glossaryname{Rječnik nepoznatih riječi}%
+   \fi
 }
 
-\def\dateserbian at lat{%
-   \def\today{\number\day .~\ifcase\month\or
-    januar\or februar\or mart\or april\or maj\or
-    jun\or jul\or avgust\or septembar\or oktobar\or novembar\or
-    decembar\fi \space \number\year.}%
+\def\month at serbian@lat{%
+  \ifcase\month\or
+    januar\or
+    februar\or
+    mart\or
+    april\or
+    maj\or
+    \ifserbian at datei juni\else jun\fi\or
+    \ifserbian at datei juli\else jul\fi\or
+    avgust\or
+    septembar\or
+    oktobar\or
+    novembar\or
+    decembar%
+  \fi%
+}%
+
+\def\month at serbian@lat at gen{%
+  \ifcase\month\or
+    januara\or
+    februara\or
+    marta\or
+    aprila\or
+    maja\or
+    juna\or
+    jula\or
+    avgusta\or
+    septembra\or
+    oktobra\or
+    novembra\or
+    decembra%
+  \fi%
+}%
+
+\def\dateserbian at lat{%  
+    \def\today{\number\day.~\month at serbian@lat\ \number\year\@ifstar{}{.}}%
+    \def\todayRoman{\number\day.~\@Roman\month~\number\year\@ifstar{}{.}}%
+    \def\todayGen{\number\day.~\month at serbian@lat at gen\ \number\year\@ifstar{}{.}}%
+    \def\todayArabic{\number\day.~\number\month.~\number\year\@ifstar{}{.}}%
 }
 
 \def\captionsserbian at cyr{%
@@ -161,13 +230,51 @@
    \def\headtoname{Прима}%
    \def\proofname{Доказ}%
    \def\glossaryname{Речник непознатих речи}%
+   \if at serbian@ijekavian%
+     \def\partname{Дио}%
+     \def\glossaryname{Рјечник непознатих ријечи}%
+   \fi
 }
 
-\def\dateserbian at cyr{%
-   \def\today{\number\day .~\ifcase\month\or
-    јануар\or фебруар\or март\or април\or мај\or
-    јун\or јул\or август\or септембар\or октобар\or новембар\or
-    децембар\fi \space \number\year.}%
+\def\month at serbian@cyr{%
+  \ifcase\month\or
+    јануар\or
+    фебруар\or
+    март\or
+    април\or
+    мај\or
+    \ifserbian at datei јуни\else јун\fi\or
+    \ifserbian at datei јули\else јул\fi\or
+    август\or
+    септембар\or
+    октобар\or
+    новембар\or
+    децембар%
+  \fi%
+}%
+
+\def\month at serbian@cyr at gen{%
+  \ifcase\month\or
+    јануара\or
+    фебруара\or
+    марта\or
+    априла\or
+    маја\or
+    јуна\or
+    јула\or
+    августа\or
+    септембра\or
+    октобра\or
+    новембра\or
+    децембра%
+  \fi%
+}%
+
+\def\dateserbian at cyr{%  
+    \def\today{\number\day.~\month at serbian@cyr\ \number\year\@ifstar{}{.}}%
+    \def\todayRoman{\number\day.~\@Roman\month~\number\year\@ifstar{}{.}}%
+    \def\todayGen{\number\day.~\month at serbian@cyr at gen\ \number\year\@ifstar{}{.}}%
+    \def\todayArabic{\number\day.~\number\month.~\number\year\@ifstar{}{.}}%
 }
 
 % Use \providecommand here as the ldf file might

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-serbianc.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-serbianc.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-serbianc.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-serbianc.ldf}[polyglossia: module for Serbian (cyrillic)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-slovak.ldf}[polyglossia: module for Slovak]
 
@@ -62,7 +62,7 @@
 }
 
 \def\slovak at shorthands{%
-  \bbl at activate{"}%
+  \xpg at activate@shorthands%
   \def\language at group{slovak}%
   \declare at shorthand{slovak}{"=}{\slovak at splhyphen}%
   \declare at shorthand{slovak}{""}{\hskip\z at skip}%
@@ -81,7 +81,7 @@
 }
 
 \def\noslovak at shorthands{%
-  \@ifundefined{initiate at active@char}{}{\bbl at deactivate{"}}%
+  \xpg at deactivate@shorthands%
 }
 
 \ifxetex

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-slovene.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-slovene.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-slovene.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-slovene.ldf}[polyglossia: module for Slovenian]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-slovenian.ldf}[polyglossia: module for Slovenian]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-sorbian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-sorbian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-sorbian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-sorbian.ldf}[polyglossia: module for Sorbian]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-spanish.ldf}[polyglossia: module for Spanish]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-spanishmx.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-spanishmx.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-spanishmx.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-spanishmx.ldf}[polyglossia: module for Mexican Spanish]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-swedish.ldf}[polyglossia: module for Swedish]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-swissgerman.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-swissgerman.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-swissgerman.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-swissgerman.ldf}[polyglossia: module for Swiss German (old spelling)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-syriac.ldf}[polyglossia: module for Syriac]
 
@@ -25,22 +25,29 @@
 \def\syriacnumber#1{\@syriacnumber{#1}}%
 
 \newif\if at eastern@numerals
-\def\tmp at eastern{eastern}
-\def\tmp at abjad{abjad}
-\define at key{syriac}{numerals}[western]{%
-	\def\@tmpa{#1}%
-	\ifx\@tmpa\tmp at abjad
-	  \let\syriacnumber\abjadsyriac
-	\else
-	  \ifx\@tmpa\tmp at eastern
-              \@eastern at numeralstrue
-              \SetLanguageKeys{syriac}{bcp47-extension-u=nu-syrc}%
-	  \else
-              \@eastern at numeralsfalse
-              \SetLanguageKeys{syriac}{bcp47-extension-u=nu-latn}%
- 	  \fi
-  \fi}
+\define at choicekey*+{syriac}{numerals}[\xpg at val\xpg at nr]{eastern,western,abjad}[eastern]{%
+   \ifcase\xpg at nr\relax
+      % eastern:
+      \@eastern at numeralstrue
+      \SetLanguageKeys{syriac}{bcp47-extension-u=nu-syrc}%
+   \or
+      % western:
+      \@eastern at numeralsfalse
+      \SetLanguageKeys{syriac}{bcp47-extension-u=nu-latn}%
+   \or
+      % abjad:
+      \let\syriacnumber\abjadsyriac%
+   \fi
+   \xpg at info{Option: Syriac, numerals=\xpg at val}%
+}{\xpg at warning{Unknown Syriac numerals option `#1'}}
 
+\newif\ifsyriac at customsep\syriac at customsepfalse
+\def\xpg at sepmark{}
+\define at key{syriac}{sectionsep}[.]{%
+   \syriac at customseptrue%
+   \gdef\xpg at sepmark{#1}%
+}
+
 % Register default options
 \xpg at initialize@gloss at options{syriac}{numerals=western}
 	
@@ -127,10 +134,10 @@
       %%% else we try \arabicfont if defined (and give a warning), 
       %%% else we fall back to the Western numerals.
       \xpg at if@char at available{0661}%
-          {\protect\arabicdigits{\number#1}}%
-          {\arabicdigits{\number#1}
+          {\@ensure at LTR{\protect\arabicdigits{\number#1}}}%
+          {\@ensure at LTR{\arabicdigits{\number#1}}
            \ifcsdef{arabicfont}%
-	     {\protect\arabicdigits{\number#1}%
+	     {\@ensure at LTR{\protect\arabicdigits{\number#1}}%
 	      \xpg at warning{You have specified the option numerals=eastern for Syriac, but the Syriac font does not contain the appropriate glyphs:
                            I am using \string\arabicfont instead}}%
 	     {\number#1%%% <---changed from \RL{\protect\reset at font\protect\number#1}%
@@ -167,16 +174,92 @@
   \let\@arabic\xpg at save@arabic%
 }
 
-% Save original \MakeUppercase definition
-\let\xpg at save@MakeUppercase\MakeUppercase
+\def\syriac at xetex@capsformat{%
+  \let\xpg at save@sepmark\@SepMark%
+  \SepMark{\xpg at sepmark}
+}
 
+\def\nosyriac at xetex@capsformat{%
+   \ifcsdef{xpg at save@sepmark}{%
+     \SepMark{\xpg at save@sepmark}
+   }{}%
+}
+
+\def\syriac at luatex@capsformat{%
+  %
+  % change chapter and part headings
+  \ifsyriac at customsep
+     \ifcsdef{chapter}{%
+        \let\xpg at save@thesection\thesection%
+        \renewcommand*\thesection{\thechapter\xpg at sepmark\@arabic\c at section}
+        \let\xpg at save@theequation\theequation%
+        \renewcommand*\theequation{%
+	    \ifnum \c at chapter>\z@ \thechapter\xpg at sepmark\fi\@arabic\c at equation}
+        \let\xpg at save@thefigure\thefigure%
+	\renewcommand*\thefigure{%
+	    \ifnum\c at chapter>\z@\thechapter\xpg at sepmark\fi\@arabic\c at figure}
+        \let\xpg at save@thetable\thetable%
+	\renewcommand*\thetable{%
+	    \ifnum\c at chapter>\z@\thechapter\xpg at sepmark\fi\@arabic\c at table}
+     }{}
+     \let\xpg at save@thesubsection\thesubsection%
+     \renewcommand\thesubsection
+	{\thesection\xpg at sepmark\@arabic\c at subsection}
+     \let\xpg at save@thesubsubsection\thesubsubsection%
+     \renewcommand\thesubsubsection{\thesubsection\xpg at sepmark\@arabic\c at subsubsection}
+     \let\xpg at save@theparagraph\theparagraph%
+     \renewcommand\theparagraph
+         {\thesubsubsection\xpg at sepmark\@arabic\c at paragraph}
+     \let\xpg at save@thesubparagraph\thesubparagraph%
+     \renewcommand\thesubparagraph{\theparagraph\xpg at sepmark\@arabic\c at subparagraph}
+  \fi% (end \ifsyriac at customsep)
+}
+
+\def\nosyriac at luatex@capsformat{%
+   \ifcsdef{xpg at save@thesection}{%
+        \let\thesection\xpg at save@thesection%
+   }{}%
+   \ifcsdef{xpg at save@theequation}{%
+        \let\theequation\xpg at save@theequation%
+   }{}%
+   \ifcsdef{xpg at save@thefigure}{%
+        \let\thefigure\xpg at save@thefigure%
+   }{}%
+   \ifcsdef{xpg at save@thetable}{%
+        \let\thetable\xpg at save@thetable%
+   }{}%
+   \ifcsdef{xpg at save@thesubsection}{%
+        \let\thesubsection\xpg at save@thesubsection%
+   \ifcsdef{xpg at save@thesubsubsection}{%
+        \let\thesubsubsection\xpg at save@thesubsubsection%
+   }{}%
+   }{}%
+   \ifcsdef{xpg at save@theparagraph}{%
+        \let\theparagraph\xpg at save@theparagraph%
+   }{}%
+   \ifcsdef{xpg at save@thesubparagraph}{%
+        \let\thesubparagraph\xpg at save@thesubparagraph%
+   }{}%
+}
+
 \def\blockextras at syriac{%
-   \def\MakeUppercase##1{##1}%
+   \ifsyriac at customsep
+      \ifxetex
+        \syriac at xetex@capsformat
+      \else
+        \syriac at luatex@capsformat
+      \fi   
+   \fi
 }
-
+%
 \def\noextras at syriac{%
-   % restore original \MakeUppercase definition
-   \let\MakeUppercase\xpg at save@MakeUppercase%
+    \ifsyriac at customsep
+      \ifxetex
+        \nosyriac at xetex@capsformat
+      \else
+        \nosyriac at luatex@capsformat
+      \fi   
+   \fi
 }
 
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-tamil.ldf}[polyglossia: module for Tamil]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-telugu.ldf}[polyglossia: module for Telugu]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-thai.ldf}[polyglossia: module for Thai]
 %% This is partly based on thai-latex for Babel:

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-tibetan.ldf}[polyglossia: module for Tibetan]
 %% Copyright 2013 Elie Roux

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-turkish.ldf}[polyglossia: module for Turkish]
 \RequirePackage{hijrical}

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-turkmen.ldf}[polyglossia: module for Turkmen]
 %% Translations provided by Nazar Annagurban <nazartm at gmail dot com>

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ug.ldf}[polyglossia: module for ug (Uyghur)]
 % BCP 47 tag for Uyghur

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-ukrainian.ldf}[polyglossia: module for Ukrainian]
 % Strings taken from Babel
@@ -73,7 +73,7 @@
 }{}
 
 \def\ukrainian at shorthands{%
-  \bbl at activate{"}%
+  \xpg at activate@shorthands%
   \def\language at group{ukrainian}%
 %  \declare at shorthand{ukrainian}{"`}{„}%
 %  \declare at shorthand{ukrainian}{"'}{“}%
@@ -113,7 +113,7 @@
 }
 
 \def\noukrainian at shorthands{%
-  \@ifundefined{initiate at active@char}{}{\bbl at deactivate{"}}%
+  \xpg at deactivate@shorthands%
 }
 
 \def\captionsukrainian{%

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-uppersorbian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-uppersorbian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-uppersorbian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-uppersorbian.ldf}[polyglossia: module for Upper Sorbian]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 %%% Adapted from a file contributed by Kamal Abdali
 \ProvidesFile{gloss-urdu.ldf}[polyglossia: module for Urdu]
@@ -25,37 +25,49 @@
 \setlanguagealias*{urdu}{ur}
 
 \newif\if at western@numerals
-\def\tmp at western{western}
-\define at key{urdu}{numerals}[eastern]{%
-	\def\@tmpa{#1}%
-	\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}
+\define at choicekey*+{urdu}{numerals}[\xpg at val\xpg at nr]{eastern,western}[eastern]{%
+   \ifcase\xpg at nr\relax
+      % eastern:
+      \@western at numeralsfalse%
+      \SetLanguageKeys{urdu}{bcp47-extension-u=nu-arab}%
+   \or
+      % western:
+      \@western at numeralstrue%
+      \SetLanguageKeys{urdu}{bcp47-extension-u=nu-latn}%
+   \fi
+   \xpg at info{Option: Urdu, numerals=\xpg at val}%
+}{\xpg at warning{Unknown Urdu numerals option `#1'}}
 
-%% TODO USE boolkey instead !!!
+\newif\ifurdu at customsep\urdu at customsepfalse
+\def\xpg at sepmark{}
+\define at key{urdu}{sectionsep}[.]{%
+   \urdu at customseptrue%
+   \gdef\xpg at sepmark{#1}%
+}
+
 %this is needed for \abjad in arabicnumbers.sty
-\def\tmp at true{true}
-\define at key{urdu}{abjadjimnotail}[true]{%
-  \def\@tmpa{#1}%
-  \ifx\@tmpa\tmp at true\abjad at jim@notailtrue%
+\define at boolkey{urdu}[urdu@]{abjadjimnotail}[true]{%
+  \ifurdu at abjadjimnotail
+    \abjad at jim@notailtrue%
   \else
     \abjad at jim@notailfalse
-  \fi}
+  \fi%
+}
 
 \newif\if at hijrical
-\def\tmp at hijri{hijri}
-\define at key{urdu}{calendar}[gregorian]{%
-  \def\@tmpa{#1}%
-  \ifx\@tmpa\tmp at hijri\@hijricaltrue%
-    \else\@hijricalfalse%
-  \fi}
+\define at choicekey*+{urdu}{calendar}[\xpg at val\xpg at nr]{gregorian,hijri}[gregorian]{%
+   \ifcase\xpg at nr\relax
+      % gregorian:
+      \@hijricalfalse
+   \or
+      % hijri:
+      \@hijricaltrue
+   \fi
+   \xpg at info{Option: Urdu, calendar=\xpg at val}%
+}{\xpg at warning{Unknown Urdu calendar option `#1'}}
 
 \define at key{urdu}{hijricorrection}[0]{%
-  \gdef\@hijri at correction{#1}}%
+  \gdef\urdu at hijri@correction{#1}}%
 
 % This should set the defaults
 \setkeys{urdu}{calendar,numerals,hijricorrection}
@@ -99,7 +111,7 @@
 \def\dateurdu{%
   \def\today{%
     \if at hijrical
-     \Hijritoday[\@hijri at correction]%
+     \Hijritoday[\urdu at hijri@correction]%
     \else
       \@ensure at RTL{\urdunumber\day؍\space\urdugregmonth{\month}%
          \space\urdunumber\year}%
@@ -111,7 +123,7 @@
     \number#1%
   \else
     %%FIXME use farsidigits instead???
-    \protect\arabicdigits{\number#1}%
+    \@ensure at LTR{\protect\arabicdigits{\number#1}}%
   \fi}
 
 \def\urdu at numbers{%
@@ -139,16 +151,92 @@
   \let\@arabic\xpg at save@arabic%
 }
 
-% Save original \MakeUppercase definition
-\let\xpg at save@MakeUppercase\MakeUppercase
+\def\urdu at xetex@capsformat{%
+  \let\xpg at save@sepmark\@SepMark%
+  \SepMark{\xpg at sepmark}
+}
 
+\def\nourdu at xetex@capsformat{%
+   \ifcsdef{xpg at save@sepmark}{%
+     \SepMark{\xpg at save@sepmark}
+   }{}%
+}
+
+\def\urdu at luatex@capsformat{%
+  %
+  % change chapter and part headings
+  \ifurdu at customsep
+     \ifcsdef{chapter}{%
+        \let\xpg at save@thesection\thesection%
+        \renewcommand*\thesection{\thechapter\xpg at sepmark\@arabic\c at section}
+        \let\xpg at save@theequation\theequation%
+        \renewcommand*\theequation{%
+	    \ifnum \c at chapter>\z@ \thechapter\xpg at sepmark\fi\@arabic\c at equation}
+        \let\xpg at save@thefigure\thefigure%
+	\renewcommand*\thefigure{%
+	    \ifnum\c at chapter>\z@\thechapter\xpg at sepmark\fi\@arabic\c at figure}
+        \let\xpg at save@thetable\thetable%
+	\renewcommand*\thetable{%
+	    \ifnum\c at chapter>\z@\thechapter\xpg at sepmark\fi\@arabic\c at table}
+     }{}
+     \let\xpg at save@thesubsection\thesubsection%
+     \renewcommand\thesubsection
+	{\thesection\xpg at sepmark\@arabic\c at subsection}
+     \let\xpg at save@thesubsubsection\thesubsubsection%
+     \renewcommand\thesubsubsection{\thesubsection\xpg at sepmark\@arabic\c at subsubsection}
+     \let\xpg at save@theparagraph\theparagraph%
+     \renewcommand\theparagraph
+         {\thesubsubsection\xpg at sepmark\@arabic\c at paragraph}
+     \let\xpg at save@thesubparagraph\thesubparagraph%
+     \renewcommand\thesubparagraph{\theparagraph\xpg at sepmark\@arabic\c at subparagraph}
+  \fi% (end \ifurdu at customsep)
+}
+
+\def\nourdu at luatex@capsformat{%
+   \ifcsdef{xpg at save@thesection}{%
+        \let\thesection\xpg at save@thesection%
+   }{}%
+   \ifcsdef{xpg at save@theequation}{%
+        \let\theequation\xpg at save@theequation%
+   }{}%
+   \ifcsdef{xpg at save@thefigure}{%
+        \let\thefigure\xpg at save@thefigure%
+   }{}%
+   \ifcsdef{xpg at save@thetable}{%
+        \let\thetable\xpg at save@thetable%
+   }{}%
+   \ifcsdef{xpg at save@thesubsection}{%
+        \let\thesubsection\xpg at save@thesubsection%
+   \ifcsdef{xpg at save@thesubsubsection}{%
+        \let\thesubsubsection\xpg at save@thesubsubsection%
+   }{}%
+   }{}%
+   \ifcsdef{xpg at save@theparagraph}{%
+        \let\theparagraph\xpg at save@theparagraph%
+   }{}%
+   \ifcsdef{xpg at save@thesubparagraph}{%
+        \let\thesubparagraph\xpg at save@thesubparagraph%
+   }{}%
+}
+
 \def\blockextras at urdu{%
-  \def\MakeUppercase##1{##1}%
+   \ifurdu at customsep
+      \ifxetex
+        \urdu at xetex@capsformat
+      \else
+        \urdu at luatex@capsformat
+      \fi   
+   \fi
 }
-
+%
 \def\noextras at urdu{%
-   % restore original \MakeUppercase definition
-   \let\MakeUppercase\xpg at save@MakeUppercase%
+    \ifurdu at customsep
+      \ifxetex
+        \nourdu at xetex@capsformat
+      \else
+        \nourdu at luatex@capsformat
+      \fi   
+   \fi
 }
 
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-usorbian.ldf}[polyglossia: module for Upper Sorbian]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-uyghur.ldf}[polyglossia: module for Uyghur]
 %% Translations provided by Osman Tursun (Github Account: neouyghur)

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-vietnamese.ldf}[polyglossia: module for Vietnamese]
 %% Strings contributed by Daniel Owens < dhowens . pmbx . net >

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-welsh.ldf}[polyglossia: module for Welsh]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-CN.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-CN.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-CN.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-zh-CN.ldf}[polyglossia: module for zh-CN (Chinese)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-TW.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-TW.ldf	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-TW.ldf	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,4 +1,4 @@
-% Language definition file (part of polyglossia v1.62 -- 2023/04/22)
+% Language definition file (part of polyglossia v1.63 -- 2023/06/10)
 %
 \ProvidesFile{gloss-zh-TW.ldf}[polyglossia: module for zh-TW (Chinese)]
 

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-french.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-french.lua	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-french.lua	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,6 +1,6 @@
 --
 -- polyglossia-punct.lua
--- part of polyglossia v1.62 -- 2023/04/22
+-- part of polyglossia v1.63 -- 2023/06/10
 --
 
 require('polyglossia-punct')

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-korean.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-korean.lua	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-korean.lua	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,6 +1,6 @@
 --
 -- polyglossia-korean.lua
--- part of polyglossia v1.62 -- 2023/04/22
+-- part of polyglossia v1.63 -- 2023/06/10
 --
 
 local glyph_id = node.id"glyph"

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-latin.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-latin.lua	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-latin.lua	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,6 +1,6 @@
 --
 -- polyglossia-latin.lua
--- part of polyglossia v1.62 -- 2023/04/22
+-- part of polyglossia v1.63 -- 2023/06/10
 --
 
 require('polyglossia-punct')

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-punct.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-punct.lua	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-punct.lua	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,6 +1,6 @@
 --
 -- polyglossia-punct.lua
--- part of polyglossia v1.62 -- 2023/04/22
+-- part of polyglossia v1.63 -- 2023/06/10
 --
 
 require('polyglossia') -- just in case...

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-sanskrit.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-sanskrit.lua	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-sanskrit.lua	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,6 +1,6 @@
 --
 -- polyglossia-sanskrit.lua
--- part of polyglossia v1.62 -- 2023/04/22
+-- part of polyglossia v1.63 -- 2023/06/10
 --
 
 require('polyglossia-punct')

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-tibt.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-tibt.lua	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia-tibt.lua	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,6 +1,6 @@
 --
 -- polyglossia-tibt.lua
--- part of polyglossia v1.62 -- 2023/04/22
+-- part of polyglossia v1.63 -- 2023/06/10
 --
 
 require('polyglossia') -- just in case...

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,6 +1,6 @@
 --
 -- polyglossia.lua
--- part of polyglossia v1.62 -- 2023/04/22
+-- part of polyglossia v1.63 -- 2023/06/10
 --
 
 local module_name = "polyglossia"

Modified: trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty	2023-06-10 20:13:09 UTC (rev 67322)
@@ -1,5 +1,5 @@
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{polyglossia}[2023/04/22 v1.62
+\ProvidesPackage{polyglossia}[2023/06/10 v1.63
   Modern multilingual typesetting with XeLaTeX and LuaLaTeX]
 \RequirePackage{etoolbox}
 \RequirePackage{makecmds}
@@ -1983,7 +1983,8 @@
 % where \text<alias> would cause clashes
 % (e.g., \textit)
 \newcommand\textlang[3][]{%
-  \__xpg_textlanguage:een {#1} {#2} {#3}
+  \xpg at str@lowercase{\xpg at tmp@lang}{#2}%
+  \__xpg_textlanguage:een {#1} {\xpg at tmp@lang} {#3}
 }%
 
 % Alias to {<lang>}, but more suitable
@@ -2016,6 +2017,23 @@
   \__xpg_store_bcp_info:nn {#1}{#2}
 }
 
+% Expandable lowercasing. We use this to assure keyval
+% options are lowercased (also when used in \MakeUppercase
+% contexts e.g. in headings)
+% Macro adapted from tudscr.sty
+\newcommand*\xpg at str@lowercase[2]{%
+  \protected at edef#1{%
+    \lowercase{\def\noexpand#1{#2}}%
+  }#1%
+}
+
+% lowercase options before passing to setkeys
+\cs_new:Nn \polyglossia at set@keys:nn
+{
+    \xpg at str@lowercase{\xpg at tmp@opts}{#2}%
+    \exp_args:Nne \setkeys{#1}{\xpg at tmp@opts}%
+}
+
 % joint code of \foreignlanguage, otherlanguage*
 % and \text<lang>
 % #1 option
@@ -2023,7 +2041,7 @@
 \newcommand{\xpg at otherlanguage}[2][]
 {%
   \polyglossia at error@iflangnotloaded:n{#2}
-  \exp_args:Nne \setkeys{#2}{#1}%
+  \polyglossia at set@keys:nn{#2}{#1}%
   \polyglossia at setforeignlanguage[#1]{#2}
   % Hook for external packages such as biblatex
   \polyglossia at language@switched%
@@ -2156,13 +2174,13 @@
   \xpg at hook@setlanguage
   \let\emp at langname\@undefined}
 
-\newif\ifxpglanginaux\xpglanginauxfalse
+\newif\ifxpginauxfile\xpginauxfilefalse
 
 \DeclareDocumentCommand \selectlanguage {s O{} m}
 {
   \tl_if_blank:eTF {\xpg_alias_base_lang:n{#3}}
   {
-    \ifxpglanginaux
+    \ifxpginauxfile
       \msg_show:nnn { polyglossia } { languagenolongerloaded } {#3}
     \else
       \msg_show:nnn { polyglossia } { languagenotloaded } {#3}
@@ -2212,7 +2230,7 @@
     \clist_map_inline:nn { #2 } {%
       \xpg at parsevariantkeyvalue##1=#3:#1\relax
     }%
-    \exp_args:Nne \setkeys{#1}{#2}%
+    \polyglossia at set@keys:nn{#1}{#2}%
   }
 }
 
@@ -2394,20 +2412,34 @@
 }
 
 \newcommand*{\xpg at set@language at only@aux}[2][]{%
-    % Write to the aux
+    % Write to the aux (toc files)
    \if at filesw%
-      \protected at write\@auxout{}{\protect\xpglanginauxtrue}%
       \ifx#1\\\\%
-          \protected at write\@auxout{}{\protect\selectlanguage*{#2}}%
           \addtocontents{toc}{\protect\selectlanguage*{#2}}%
        \else
-          \protected at write\@auxout{}{\protect\selectlanguage*[#1]{#2}}%
           \addtocontents{toc}{\protect\selectlanguage*[#1]{#2}}%
        \fi
-       \protected at write\@auxout{}{\protect\xpglanginauxfalse}%
    \fi
 }
 
+\AtBeginDocument{%
+   % Tell polyglossia that we are in an aux file
+   \if at filesw%
+      \addtocontents{toc}{\protect\xpginauxfiletrue}%
+      \addtocontents{lof}{\protect\xpginauxfiletrue}%
+      \addtocontents{lot}{\protect\xpginauxfiletrue}%
+   \fi%
+}
+
+\AtEndDocument{%
+   % Tell polyglossia that we are no longer in an aux file
+   \if at filesw%
+      \addtocontents{toc}{\protect\xpginauxfilefalse}%
+      \addtocontents{lof}{\protect\xpginauxfilefalse}%
+      \addtocontents{lot}{\protect\xpginauxfilefalse}%
+   \fi%
+}
+
 % Since captions might float to other language regions,
 % we need to change the language here (#542)
 \AddToHook{cmd/caption/before}{%
@@ -2614,7 +2646,7 @@
      % Execute passed command with language and maybe options
      % and re-set stored language's keys
      \tl_if_empty:NTF \l_tmpb_tl {\cs_if_exist_use:c{#1}{\l_tmpc_tl}}
-                                 {\exp_args:Nne \setkeys{\l_tmpc_tl}{\l_tmpb_tl}
+                                 {\polyglossia at set@keys:nn{\l_tmpc_tl}{\l_tmpb_tl}
                                   \cs_if_exist_use:c{#1}[\l_tmpb_tl]{\l_tmpc_tl}
                                  }
   }
@@ -2657,7 +2689,7 @@
   \edef\xpg at tmp@lang{\xpg_alias_base_lang:n{#2}}
   \bgroup
   \polyglossia at error@iflangnotloaded:n{\xpg at tmp@lang}
-  \exp_args:Nne \setkeys{\xpg at tmp@lang}{\xpg at tmp@opts}%
+  \polyglossia at set@keys:nn{\xpg at tmp@lang}{\xpg at tmp@opts}%
   % Store bcp47.tag at hypenmins
   \tl_if_blank:nTF {\xpg at tmp@opts}{%
     \ifcsundef{\csname xpg at tmp@lang\endcsname @g.bcp47.tag}{%
@@ -2676,7 +2708,7 @@
 \newcommand*\use at localhyphenmins[2][]{%
   \bgroup
   \polyglossia at error@iflangnotloaded:n{#2}
-  \exp_args:Nne \setkeys{#2}{#1}%
+  \polyglossia at set@keys:nn{#2}{#1}%
   % Use bcp47.tag at hypenmins
   \tl_if_blank:nTF {#1}{%
     \ifcsundef{#2 at g.bcp47.tag}{%
@@ -2802,6 +2834,30 @@
   \polyglossia at enable@local at marks:
 }
 
+% Control shorthand (de-)activation
+% This checks that the shorthand char is only deactivated
+% if we have activated it ourselves and hence keeps
+% activation of other packages if no shorthands are used.
+\seq_new:N \__xpg_active_shorthands
+
+\DeclareDocumentCommand \xpg at activate@shorthands { O{"} }
+{
+  \seq_if_in:NnF \__xpg_active_shorthands { #1 }
+    {
+     \bbl at activate{#1}
+     \seq_gpush:Nn \__xpg_active_shorthands { #1 }
+    }
+}
+
+\DeclareDocumentCommand \xpg at deactivate@shorthands { O{"} }
+{
+  \seq_if_in:NnT \__xpg_active_shorthands { #1 }
+    {
+     \cs_if_exist:cT{initiate at active@char}{\bbl at deactivate{#1}}
+     \seq_remove_all:Nn \__xpg_active_shorthands {#1}
+    }
+}
+
 % compatibility
 \newif\ifsystem at babelshorthands
 \bool_if:nTF \l_polyglossia_babelshorthands_bool {

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2023-06-09 23:42:59 UTC (rev 67321)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2023-06-10 20:13:09 UTC (rev 67322)
@@ -718,6 +718,7 @@
  'jas99',	"die 'skipping, obsolete on CTAN, use jas99m'",
  'jasthesis',   "die 'skipping, noinfo license'",
  'javadoc',     "die 'skipping, requires java and no source'",
+ 'javascripthttp',"die 'skipping, requires acrotex'",
  'javatex',     "die 'skipping, ca.1998, not integrated'",
  'jeopardy',    "die 'skipping, requires dpstory packages'",
  'jeuxcartes',	"&MAKEflatten",



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