From 0b64aab6016340bb1a2e2186f4892b58ce5aeb06 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 17 Feb 2024 20:51:46 +0000 Subject: polyglossia (17feb24) git-svn-id: svn://tug.org/texlive/trunk@69941 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/polyglossia/README.md | 6 +- .../doc/latex/polyglossia/example-arabic.pdf | Bin 73168 -> 73170 bytes .../doc/latex/polyglossia/example-chinese.pdf | Bin 42173 -> 42554 bytes .../doc/latex/polyglossia/example-japanese.pdf | Bin 22815 -> 22800 bytes .../doc/latex/polyglossia/example-korean.pdf | Bin 20173 -> 20205 bytes .../doc/latex/polyglossia/example-thai.pdf | Bin 13360 -> 13943 bytes .../texmf-dist/doc/latex/polyglossia/examples.pdf | Bin 148058 -> 147679 bytes .../doc/latex/polyglossia/polyglossia.pdf | Bin 374493 -> 381896 bytes .../doc/latex/polyglossia/polyglossia.tex | 134 +- .../source/latex/polyglossia/polyglossia.dtx | 2054 ++++++++++---------- .../tex/latex/polyglossia/gloss-acadien.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-aeb.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-af.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-afb.ldf | 2 +- .../tex/latex/polyglossia/gloss-afrikaans.ldf | 2 +- .../tex/latex/polyglossia/gloss-albanian.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-am.ldf | 2 +- .../tex/latex/polyglossia/gloss-american.ldf | 2 +- .../tex/latex/polyglossia/gloss-amharic.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-apd.ldf | 2 +- .../tex/latex/polyglossia/gloss-ar-IQ.ldf | 2 +- .../tex/latex/polyglossia/gloss-ar-JO.ldf | 2 +- .../tex/latex/polyglossia/gloss-ar-LB.ldf | 2 +- .../tex/latex/polyglossia/gloss-ar-MR.ldf | 2 +- .../tex/latex/polyglossia/gloss-ar-PS.ldf | 2 +- .../tex/latex/polyglossia/gloss-ar-SY.ldf | 2 +- .../tex/latex/polyglossia/gloss-ar-YE.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-ar.ldf | 2 +- .../tex/latex/polyglossia/gloss-arabic.ldf | 2 +- .../tex/latex/polyglossia/gloss-armenian.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-arq.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-ary.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-arz.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-ast.ldf | 2 +- .../tex/latex/polyglossia/gloss-asturian.ldf | 2 +- .../tex/latex/polyglossia/gloss-australian.ldf | 2 +- .../tex/latex/polyglossia/gloss-austrian.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-ayl.ldf | 2 +- .../tex/latex/polyglossia/gloss-bahasa.ldf | 2 +- .../tex/latex/polyglossia/gloss-bahasai.ldf | 2 +- .../tex/latex/polyglossia/gloss-bahasam.ldf | 2 +- .../tex/latex/polyglossia/gloss-basque.ldf | 2 +- .../tex/latex/polyglossia/gloss-be-tarask.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-be.ldf | 2 +- .../tex/latex/polyglossia/gloss-belarusian.ldf | 2 +- .../tex/latex/polyglossia/gloss-bengali.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-bg.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-bn.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-bo.ldf | 2 +- .../tex/latex/polyglossia/gloss-bosnian.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-br.ldf | 2 +- .../tex/latex/polyglossia/gloss-brazil.ldf | 2 +- .../tex/latex/polyglossia/gloss-breton.ldf | 2 +- .../tex/latex/polyglossia/gloss-british.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-bs.ldf | 2 +- .../tex/latex/polyglossia/gloss-bulgarian.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-ca.ldf | 2 +- .../tex/latex/polyglossia/gloss-canadian.ldf | 2 +- .../tex/latex/polyglossia/gloss-canadien.ldf | 2 +- .../tex/latex/polyglossia/gloss-catalan.ldf | 2 +- .../tex/latex/polyglossia/gloss-chinese.ldf | 2 +- .../tex/latex/polyglossia/gloss-ckb-Arab.ldf | 2 +- .../tex/latex/polyglossia/gloss-ckb-Latn.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-ckb.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-cop.ldf | 2 +- .../tex/latex/polyglossia/gloss-coptic.ldf | 2 +- .../tex/latex/polyglossia/gloss-croatian.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-cy.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-cz.ldf | 2 +- .../tex/latex/polyglossia/gloss-czech.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-da.ldf | 2 +- .../tex/latex/polyglossia/gloss-danish.ldf | 2 +- .../tex/latex/polyglossia/gloss-de-AT-1901.ldf | 2 +- .../tex/latex/polyglossia/gloss-de-AT-1996.ldf | 2 +- .../tex/latex/polyglossia/gloss-de-AT.ldf | 2 +- .../tex/latex/polyglossia/gloss-de-CH-1901.ldf | 2 +- .../tex/latex/polyglossia/gloss-de-CH-1996.ldf | 2 +- .../tex/latex/polyglossia/gloss-de-CH.ldf | 2 +- .../tex/latex/polyglossia/gloss-de-DE-1901.ldf | 2 +- .../tex/latex/polyglossia/gloss-de-DE-1996.ldf | 2 +- .../tex/latex/polyglossia/gloss-de-DE.ldf | 2 +- .../latex/polyglossia/gloss-de-Latf-AT-1901.ldf | 2 +- .../latex/polyglossia/gloss-de-Latf-AT-1996.ldf | 2 +- .../tex/latex/polyglossia/gloss-de-Latf-AT.ldf | 2 +- .../latex/polyglossia/gloss-de-Latf-CH-1901.ldf | 2 +- .../latex/polyglossia/gloss-de-Latf-CH-1996.ldf | 2 +- .../tex/latex/polyglossia/gloss-de-Latf-CH.ldf | 2 +- .../latex/polyglossia/gloss-de-Latf-DE-1901.ldf | 2 +- .../latex/polyglossia/gloss-de-Latf-DE-1996.ldf | 2 +- .../tex/latex/polyglossia/gloss-de-Latf-DE.ldf | 2 +- .../tex/latex/polyglossia/gloss-de-Latf.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-de.ldf | 2 +- .../tex/latex/polyglossia/gloss-divehi.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-dsb.ldf | 2 +- .../tex/latex/polyglossia/gloss-dutch.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-dv.ldf | 2 +- .../tex/latex/polyglossia/gloss-el-monoton.ldf | 2 +- .../tex/latex/polyglossia/gloss-el-polyton.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-el.ldf | 2 +- .../tex/latex/polyglossia/gloss-en-AU.ldf | 2 +- .../tex/latex/polyglossia/gloss-en-CA.ldf | 2 +- .../tex/latex/polyglossia/gloss-en-GB.ldf | 2 +- .../tex/latex/polyglossia/gloss-en-NZ.ldf | 2 +- .../tex/latex/polyglossia/gloss-en-US.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-en.ldf | 2 +- .../tex/latex/polyglossia/gloss-english.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-eo.ldf | 2 +- .../tex/latex/polyglossia/gloss-es-ES.ldf | 2 +- .../tex/latex/polyglossia/gloss-es-MX.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-es.ldf | 2 +- .../tex/latex/polyglossia/gloss-esperanto.ldf | 2 +- .../tex/latex/polyglossia/gloss-estonian.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-et.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-eu.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-fa.ldf | 2 +- .../tex/latex/polyglossia/gloss-farsi.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-fi.ldf | 2 +- .../tex/latex/polyglossia/gloss-finnish.ldf | 66 +- .../latex/polyglossia/gloss-fr-CA-u-sd-canb.ldf | 2 +- .../tex/latex/polyglossia/gloss-fr-CA.ldf | 2 +- .../tex/latex/polyglossia/gloss-fr-CH.ldf | 2 +- .../tex/latex/polyglossia/gloss-fr-FR.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-fr.ldf | 2 +- .../tex/latex/polyglossia/gloss-french.ldf | 4 +- .../tex/latex/polyglossia/gloss-friulan.ldf | 2 +- .../tex/latex/polyglossia/gloss-friulian.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-fur.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-ga.ldf | 2 +- .../tex/latex/polyglossia/gloss-gaelic.ldf | 2 +- .../tex/latex/polyglossia/gloss-galician.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-gd.ldf | 2 +- .../tex/latex/polyglossia/gloss-georgian.ldf | 2 +- .../tex/latex/polyglossia/gloss-german.ldf | 7 +- .../tex/latex/polyglossia/gloss-germanb.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-gl.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-grc.ldf | 2 +- .../tex/latex/polyglossia/gloss-greek.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-he.ldf | 2 +- .../tex/latex/polyglossia/gloss-hebrew.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-hi.ldf | 2 +- .../tex/latex/polyglossia/gloss-hindi.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-hr.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-hsb.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-hu.ldf | 2 +- .../tex/latex/polyglossia/gloss-hungarian.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-hy.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-ia.ldf | 2 +- .../tex/latex/polyglossia/gloss-icelandic.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-id.ldf | 2 +- .../tex/latex/polyglossia/gloss-interlingua.ldf | 2 +- .../tex/latex/polyglossia/gloss-irish.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-is.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-it.ldf | 2 +- .../tex/latex/polyglossia/gloss-italian.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-ja.ldf | 2 +- .../tex/latex/polyglossia/gloss-japanese.ldf | 3 +- .../texmf-dist/tex/latex/polyglossia/gloss-ka.ldf | 2 +- .../tex/latex/polyglossia/gloss-kannada.ldf | 2 +- .../tex/latex/polyglossia/gloss-khmer.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-km.ldf | 2 +- .../tex/latex/polyglossia/gloss-kmr-Arab.ldf | 2 +- .../tex/latex/polyglossia/gloss-kmr-Latn.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-kmr.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-kn.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-ko.ldf | 2 +- .../tex/latex/polyglossia/gloss-korean.ldf | 2 +- .../tex/latex/polyglossia/gloss-ku-Arab.ldf | 2 +- .../tex/latex/polyglossia/gloss-ku-Latn.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-ku.ldf | 2 +- .../tex/latex/polyglossia/gloss-kurdish.ldf | 2 +- .../tex/latex/polyglossia/gloss-kurmanji.ldf | 2 +- .../tex/latex/polyglossia/gloss-la-x-classic.ldf | 2 +- .../tex/latex/polyglossia/gloss-la-x-ecclesia.ldf | 2 +- .../tex/latex/polyglossia/gloss-la-x-medieval.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-la.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-lao.ldf | 2 +- .../tex/latex/polyglossia/gloss-latex.lde | 42 - .../tex/latex/polyglossia/gloss-latex.ldf | 42 + .../tex/latex/polyglossia/gloss-latin.ldf | 2 +- .../tex/latex/polyglossia/gloss-latinclassic.ldf | 2 +- .../latex/polyglossia/gloss-latinecclesiastic.ldf | 2 +- .../tex/latex/polyglossia/gloss-latinmedieval.ldf | 2 +- .../tex/latex/polyglossia/gloss-latvian.ldf | 2 +- .../tex/latex/polyglossia/gloss-lithuanian.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-lo.ldf | 2 +- .../tex/latex/polyglossia/gloss-lowersorbian.ldf | 2 +- .../tex/latex/polyglossia/gloss-lsorbian.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-lt.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-lv.ldf | 2 +- .../tex/latex/polyglossia/gloss-macedonian.ldf | 2 +- .../tex/latex/polyglossia/gloss-magyar.ldf | 2 +- .../tex/latex/polyglossia/gloss-malay.ldf | 2 +- .../tex/latex/polyglossia/gloss-malayalam.ldf | 2 +- .../tex/latex/polyglossia/gloss-marathi.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-mk.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-ml.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-mn.ldf | 2 +- .../tex/latex/polyglossia/gloss-mongolian.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-mr.ldf | 2 +- .../tex/latex/polyglossia/gloss-naustrian.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-nb.ldf | 2 +- .../tex/latex/polyglossia/gloss-newzealand.ldf | 2 +- .../tex/latex/polyglossia/gloss-ngerman.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-nko.ldf | 2 +- .../tex/latex/polyglossia/gloss-norsk.ldf | 2 +- .../tex/latex/polyglossia/gloss-norwegian.ldf | 2 +- .../tex/latex/polyglossia/gloss-nswissgerman.ldf | 2 +- .../tex/latex/polyglossia/gloss-nynorsk.ldf | 2 +- .../tex/latex/polyglossia/gloss-occitan.ldf | 2 +- .../tex/latex/polyglossia/gloss-odia.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-or.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-pa.ldf | 2 +- .../tex/latex/polyglossia/gloss-persian.ldf | 2 +- .../tex/latex/polyglossia/gloss-piedmontese.ldf | 2 +- .../tex/latex/polyglossia/gloss-polish.ldf | 2 +- .../latex/polyglossia/gloss-polutonikogreek.ldf | 2 +- .../tex/latex/polyglossia/gloss-portuges.ldf | 2 +- .../tex/latex/polyglossia/gloss-portuguese.ldf | 2 +- .../tex/latex/polyglossia/gloss-punjabi.ldf | 2 +- .../tex/latex/polyglossia/gloss-romanian.ldf | 2 +- .../tex/latex/polyglossia/gloss-romansh.ldf | 2 +- .../tex/latex/polyglossia/gloss-russian.ldf | 2 +- .../tex/latex/polyglossia/gloss-sami.ldf | 2 +- .../tex/latex/polyglossia/gloss-samin.ldf | 2 +- .../tex/latex/polyglossia/gloss-sanskrit.ldf | 2 +- .../tex/latex/polyglossia/gloss-scottish.ldf | 2 +- .../tex/latex/polyglossia/gloss-serbian.ldf | 2 +- .../tex/latex/polyglossia/gloss-serbianc.ldf | 2 +- .../tex/latex/polyglossia/gloss-slovak.ldf | 2 +- .../tex/latex/polyglossia/gloss-slovene.ldf | 2 +- .../tex/latex/polyglossia/gloss-slovenian.ldf | 2 +- .../tex/latex/polyglossia/gloss-sorbian.ldf | 2 +- .../tex/latex/polyglossia/gloss-spanish.ldf | 2 +- .../tex/latex/polyglossia/gloss-spanishmx.ldf | 2 +- .../tex/latex/polyglossia/gloss-swedish.ldf | 2 +- .../tex/latex/polyglossia/gloss-swissgerman.ldf | 2 +- .../tex/latex/polyglossia/gloss-syriac.ldf | 2 +- .../tex/latex/polyglossia/gloss-tamil.ldf | 2 +- .../tex/latex/polyglossia/gloss-telugu.ldf | 2 +- .../tex/latex/polyglossia/gloss-thai.ldf | 2 +- .../tex/latex/polyglossia/gloss-tibetan.ldf | 2 +- .../tex/latex/polyglossia/gloss-turkish.ldf | 2 +- .../tex/latex/polyglossia/gloss-turkmen.ldf | 2 +- .../texmf-dist/tex/latex/polyglossia/gloss-ug.ldf | 2 +- .../tex/latex/polyglossia/gloss-ukrainian.ldf | 2 +- .../tex/latex/polyglossia/gloss-uppersorbian.ldf | 2 +- .../tex/latex/polyglossia/gloss-urdu.ldf | 2 +- .../tex/latex/polyglossia/gloss-usorbian.ldf | 2 +- .../tex/latex/polyglossia/gloss-uyghur.ldf | 2 +- .../tex/latex/polyglossia/gloss-vietnamese.ldf | 2 +- .../tex/latex/polyglossia/gloss-welsh.ldf | 2 +- .../tex/latex/polyglossia/gloss-zh-CN.ldf | 2 +- .../tex/latex/polyglossia/gloss-zh-TW.ldf | 2 +- .../tex/latex/polyglossia/polyglossia-french.lua | 2 +- .../tex/latex/polyglossia/polyglossia-korean.lua | 2 +- .../tex/latex/polyglossia/polyglossia-latin.lua | 2 +- .../tex/latex/polyglossia/polyglossia-punct.lua | 2 +- .../tex/latex/polyglossia/polyglossia-sanskrit.lua | 2 +- .../tex/latex/polyglossia/polyglossia-tibt.lua | 2 +- .../tex/latex/polyglossia/polyglossia.lua | 16 +- .../tex/latex/polyglossia/polyglossia.sty | 1205 ++++++------ 261 files changed, 2117 insertions(+), 1948 deletions(-) delete mode 100644 Master/texmf-dist/tex/latex/polyglossia/gloss-latex.lde create mode 100644 Master/texmf-dist/tex/latex/polyglossia/gloss-latex.ldf diff --git a/Master/texmf-dist/doc/latex/polyglossia/README.md b/Master/texmf-dist/doc/latex/polyglossia/README.md index a2f6bf506e8..9d5f0bc58b3 100644 --- a/Master/texmf-dist/doc/latex/polyglossia/README.md +++ b/Master/texmf-dist/doc/latex/polyglossia/README.md @@ -1,4 +1,4 @@ -# THE POLYGLOSSIA PACKAGE v1.66 +# THE POLYGLOSSIA PACKAGE v2.0 ## Multilingual typesetting with XeLaTeX and LuaLaTeX This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX. @@ -26,8 +26,8 @@ Polyglossia makes it possible to automate the following tasks: # LICENCE -Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2023 Arthur Reutenauer, -Copyright (c) 2019-2023 Bastien Roucariès, 2019-2023 Jürgen Spitzmüller, 2023 Udi Fogiel +Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2024 Arthur Reutenauer, +Copyright (c) 2019-2023 Bastien Roucariès, 2019-2024 Jürgen Spitzmüller, 2023-2024 Udi Fogiel Except where otherwise noted, Polyglossia is placed under the terms of the MIT licence (https://opensource.org/licenses/MIT). diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-arabic.pdf b/Master/texmf-dist/doc/latex/polyglossia/example-arabic.pdf index 0e520c86f31..8b044a6399c 100644 Binary files a/Master/texmf-dist/doc/latex/polyglossia/example-arabic.pdf and b/Master/texmf-dist/doc/latex/polyglossia/example-arabic.pdf differ diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-chinese.pdf b/Master/texmf-dist/doc/latex/polyglossia/example-chinese.pdf index 09cea980a42..57915147cdb 100644 Binary files a/Master/texmf-dist/doc/latex/polyglossia/example-chinese.pdf and b/Master/texmf-dist/doc/latex/polyglossia/example-chinese.pdf differ diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-japanese.pdf b/Master/texmf-dist/doc/latex/polyglossia/example-japanese.pdf index 29e122b3a4d..dcbbbbf5f96 100644 Binary files a/Master/texmf-dist/doc/latex/polyglossia/example-japanese.pdf and b/Master/texmf-dist/doc/latex/polyglossia/example-japanese.pdf differ diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-korean.pdf b/Master/texmf-dist/doc/latex/polyglossia/example-korean.pdf index d5bec5ab845..13c8155d867 100644 Binary files a/Master/texmf-dist/doc/latex/polyglossia/example-korean.pdf and b/Master/texmf-dist/doc/latex/polyglossia/example-korean.pdf differ diff --git a/Master/texmf-dist/doc/latex/polyglossia/example-thai.pdf b/Master/texmf-dist/doc/latex/polyglossia/example-thai.pdf index d4930c67d30..129c140403b 100644 Binary files a/Master/texmf-dist/doc/latex/polyglossia/example-thai.pdf and b/Master/texmf-dist/doc/latex/polyglossia/example-thai.pdf differ diff --git a/Master/texmf-dist/doc/latex/polyglossia/examples.pdf b/Master/texmf-dist/doc/latex/polyglossia/examples.pdf index 525213f85e3..66528ec840a 100644 Binary files a/Master/texmf-dist/doc/latex/polyglossia/examples.pdf and b/Master/texmf-dist/doc/latex/polyglossia/examples.pdf differ diff --git a/Master/texmf-dist/doc/latex/polyglossia/polyglossia.pdf b/Master/texmf-dist/doc/latex/polyglossia/polyglossia.pdf index 6d76a007bd9..1050ac71d1a 100644 Binary files a/Master/texmf-dist/doc/latex/polyglossia/polyglossia.pdf and b/Master/texmf-dist/doc/latex/polyglossia/polyglossia.pdf differ diff --git a/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex b/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex index d8cc59d6593..5f0c1c0d1bf 100644 --- a/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex +++ b/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex @@ -570,11 +570,8 @@ Table~\ref{tab:BCP47-polyglossia} lists the currently supported tags. \begin{itemize} \item \xpgboolkeyfalse[1.1.1]{babelshorthands} - Globally activates \pkg{babel} shorthands whenever available. Such shorthands are - implemented currently for Afrikaans, Belarusian, Catalan, Croatian, - Czech, Dutch, Finnish, Georgian, German, Italian, Latin, Mongolian, - Russian, Slovak, and Ukrainian. Please refer to the respective language descriptions - (sec.~\ref{specific}) for details. + Globally activates \pkg{babel} shorthands whenever available. + Please refer to sec.~\ref{shorthands} for details. \item \xpgboolkeyfalse{localmarks} redefines the internal \LaTeX\ macros \cmd\markboth\ and \cmd\markright\ to the effect that the header text is explicitly set in the currently @@ -600,6 +597,43 @@ Table~\ref{tab:BCP47-polyglossia} lists the currently supported tags. by \LaTeX, \pkg{fontspec} and \pkg{polyglossia} are output. \end{itemize} +\subsection{Shorthands}\label{shorthands} + +\pkg{Babel} has introduced the nifty feature of \enquote{shorthands} for some of the languages +it supports. +Shorthands make use of active characters to provide quick access to glyphs and formatting +peculiarities that are common in a respective language (\eg ¦"a¦ for German umlaut ⟨ä⟩ in case +this is not available on your keyboard). +\pkg{Polyglossia} has adopted this feature, we call it \emph{babelshorthands}. + +Shorthands need to be activated for the respective language, or can be activated globally, via +the boolean option \xpgoption{babelshorthands} (either passed globally when loading \pkg{polyglossia} +or to a specific language when loading it). + +Shorthands are implemented currently for Afrikaans, Belarusian, Catalan, Croatian, +Czech, Dutch, Finnish, Georgian, German, Italian, Latin, Mongolian, Occitan, +Piedmontese, Polish, Portuguese, Russian, Slovak, and Ukrainian, and their number and function +differs between these languages. Please refer to the respective language descriptions (sec.~\ref{specific}) +for detailed elaborations. + +If you want to re-use the shorthands defined for a specific language in a different language, +you can do so by using in preamble:\new{2.0} +\displaycmd{\inheritbabelshorthands\marg{source language}\marg{target language}}{\inheritbabelshorthands} +in order to input and activate the shorthands defined for the \meta{source language} in +the \meta{target language}. Both languages will be loaded as \enquote{other} languages if they have not +been loaded yet. If one of the languages does not exist, or if the \meta{source language} does not provide any +shorthands, you will get an error message. + +Note, also, that you can only use \cmd{\inheritbabelshorthands} once per language. Subsequent +calls will overwrite previous ones (and also the shorthand that might be defined for a +\meta{target language} in the first place). + +If you want to enable the shorthands of a specific language inline, also when the language itself +is not active (but loaded in the preamble), you can do so by means of\new{2.0} +\displaycmd{\usebabelshorthands\marg{language}}{\usebabelshorthands} +The effect of this is local to groups. If you want to disable any active shorthands, you can use +¦\usebabelshorthands{none}¦. + \section{Language-switching commands}\label{languageswitching} \subsection{Recommended commands}\label{sec:langcmds} @@ -697,9 +731,11 @@ ought to be mentioned here. In a similar vein, it is possible to use \Cmd\rmfamilylatin, \Cmd\sffamilylatin, and \Cmd\ttfamilylatin. -\item \Cmd\latinalph: Representation of counter as a lower-case letter: 1 = a, 2 = b, etc. +\item \DescribeMacro{\latinalph}\cmd{\latinalph\marg{counter}}: Representation of counter as a lower-case letter: + 1 = a, 2 = b, etc. -\item \Cmd\latinAlph: Representation of counter as a upper-case letter: 1 = A, 2 = B, etc. +\item \DescribeMacro{\latinAlph}\cmd{\latinAlph\marg{counter}}: Representation of counter as a upper-case letter: + 1 = A, 2 = B, etc. \end{itemize} @@ -1139,23 +1175,37 @@ and that passing \xpgvalue{babelshorthands} (without value) is equivalent to pas If this is turned on, the following shorthands for fine-tuning hyphenation and micro-typography of Finnish words are activated: \begin{shorthands} - \item[¦"-¦] adds a hyphenation point that does still allow for hyphenation at the points preset - in the hyphenation patterns (as opposed to \cmd\-). - \item[\texttt{"\textasciitilde}] for a hyphen sign without a breakpoint. Useful for - cases where the hyphen should stick at the following syllable. + \item[¦"-¦] adds an explicit hyphen without a breakpoint, allowing for hyphenation at the + other points preset in the hyphenation patterns. Useful for + cases where the hyphen should stick at the following syllable + (\eg ¦pakastekaapit ja "-arkut¦). + \item[\texttt{"=}] for a hyphen sign without a breakpoint that does also remove all other + breakpoints in the word (as opposed to ¦"-¦). + \item[\texttt{"\textasciitilde}] functionally equivalent to ¦"-¦ (provided for backwards + compatibility reasons). \item[¦"|¦] disables a ligature at this position. \item[¦""¦] allows for a line break at this position (without hyphenation sign). \item[¦"/¦] a slash that allows for a subsequent line break. As opposed to \cmd\slash, hyphenation at the breakpoints preset in the hyphenation patterns is still allowed. \end{shorthands} - \item \xpgboolkeyfalse[1.54]{schoolhyphens} - If this is set to true, alternative (experimental) hyphenation patterns are used rather than the - default Finnish patterns. These (so-called `School') patterns allow hyphenation at + \item \xpgchoicekey[2.0]{hyphens}{\xpgpresetvalue{default}, \xpgvalue{babel}, \xpgvalue{school}} + Hyphenation in Finnish is peculiar since there are many rather long words. In order to select a suitable + hyphenation pattern, three different options are provided: + \begin{itemize} + \item The \xpgvalue{default} patterns as used by \LaTeX\ are rather strict and try to prevent hyphenation + at points which are valid but considered sub-optimal from an ortho-typographic point of view + (\eg hyphenation between two vowels), with the drawback that simple words are sometimes not being + hyphenated at points where this would be valid, and lines might become unevenly spaced. + \item The \pkg{babel} support for Finnish by default tweaks some hyphenation-related values + (such as \cmd\hyphenpenalty) for Finnish. If you want to replicate this with \pkg{polyglossia}, + select \xpgvalue{babel} (this still uses the default patterns). + \item The \xpgvalue{school} setting, finally, employs alternative (experimental) hyphenation patterns + rather than the default Finnish patterns. These (so-called `School') patterns allow hyphenation at all valid points, including hyphenation points that are considered sub-optimal from an - ortho-typographic point of view (e.\,g., hyphenation between two vowels). - The default patterns try to prevent such hyphenation, with the drawback that simple words - are sometimes not being hyphenated at points where this would be valid. + ortho-typographic point of view.\footnote{This equals the previous boolean option \xpgoption{schoolhyphens}, + which is still supported for backwards compatibility.} See \url{https://github.com/hyphenation/basic-finnish} for details. + \end{itemize} \end{itemize} \subsection{french}\label{french} @@ -1313,6 +1363,11 @@ and that passing \xpgvalue{babelshorthands} (without value) is equivalent to pas \eg ¦(pseudo"~)""wissenschaftlich¦. \item[¦"/¦] a slash that allows for a subsequent line break. As opposed to \cmd\slash, hyphenation at the breakpoints preset in the hyphenation patterns is still allowed. + \item[¦"*¦]\new{2.0} An asterisk which assures the word can still be hyphenated at its defined breakpoints. + Useful if you want to employ gender-sensitive writing (,gender star`). + Similar shorthands are available for the alternative gender-sensitive spellings, ¦":¦ and ¦"_¦. + \item[¦"x¦]\new{2.0} Inserts a gender mark which assures the word can still be hyphenated at its defined breakpoints. + This is predefined to ¦*¦ but can be globally redefined by redefining the macro \cmd\mkgender\ (see below). \end{shorthands} There are also four shorthands for quotation signs: @@ -1323,6 +1378,11 @@ and that passing \xpgvalue{babelshorthands} (without value) is equivalent to pas \item[¦">¦] for French-style right double quotes (»). \end{shorthands} \end{itemize} + \paragraph*{Commands:} + \begin{itemize} + \item \Cmd\mkgender\new{2.0} Defines which gender mark is output by the babelshorthand ¦"x¦. + Predefined to ¦\def\mkgender{*}¦. + \end{itemize} \subsection{greek}\label{greek} \paragraph*{Options:} @@ -2637,7 +2697,45 @@ where \meta{type} is a supported language id type (such as ¦bcp-47¦) and \meta \section{Revision history} \bgroup\footnotesize -\subsection*{1.66 (2023/12/02)} + +\subsection*{2.0 (2024/02/17)} + +\subsubsection*{Bug fixes} +\begin{itemize} + \item Fix error with undefined property list that unhides with + \pkg{l3kernel} version 2024-02-13 (\TXI{626}). + \item Fix \xpgoption{frenchfootnote} option (\TXI{620}). + \item The error message on improper font setting is now + correct if the main script is non-Latin, for + non-Roman fonts (\TXI{571}), and specifically for + the CJK case (\TXI{621}). + \item Fix expansion of localnumeral (\TXI{622}). +\end{itemize} + +\subsubsection*{New Features} +\begin{itemize} + \item Add \cmd{\inheritbabelshorthands} (\TXI{604}). + \item Add \cmd{\usebabelshorthands}. + \item Add shorthands for German gender-sensitive writing. + \item Implement \pkg{babel}-style hyphenation for Finnish. +\end{itemize} + +\subsubsection*{Documentation improvements} +\begin{itemize} + \item Fix documentation of Finnish shorthands (\TXI{623}). +\end{itemize} + +\subsubsection*{Internal work} +\begin{itemize} + \item The package code has been subjected to a major rewrite. + Code has been cleaned up, and in general, \pkg{polyglossia} + more consistently employs \pkg{latex3} now. Note that this is + an ongoing and yet unfinished project that will continue over + the next releases. +\end{itemize} + + +\subsection*{1.66 (2023/12/11)} \subsubsection*{Bug fixes} \begin{itemize} diff --git a/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx b/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx index 2adeb09db92..32ca151bc28 100644 --- a/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx +++ b/Master/texmf-dist/source/latex/polyglossia/polyglossia.dtx @@ -8,7 +8,7 @@ \iffalse % %<*README> -# THE POLYGLOSSIA PACKAGE v1.66 +# THE POLYGLOSSIA PACKAGE v2.0 ## Multilingual typesetting with XeLaTeX and LuaLaTeX This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX. @@ -36,8 +36,8 @@ Polyglossia makes it possible to automate the following tasks: # LICENCE -Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2023 Arthur Reutenauer, -Copyright (c) 2019-2023 Bastien Roucariès, 2019-2023 Jürgen Spitzmüller, 2023 Udi Fogiel +Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2024 Arthur Reutenauer, +Copyright (c) 2019-2023 Bastien Roucariès, 2019-2024 Jürgen Spitzmüller, 2023-2024 Udi Fogiel Except where otherwise noted, Polyglossia is placed under the terms of the MIT licence (https://opensource.org/licenses/MIT). @@ -66,17 +66,17 @@ to track the issues and follow progress. The polyglossia package (C) 2008–2010 François Charette - (C) 2011–2023 Arthur Reutenauer + (C) 2011–2024 Arthur Reutenauer (C) 2013 Elie Roux (C) 2019 Bastien Roucariès - (C) 2019–2023 Jürgen Spitzmüller + (C) 2019–2024 Jürgen Spitzmüller License information appended \endpreamble \postamble - Copyright (C) 2023 by Arthur Reutenauer + Copyright (C) 2024 by Arthur Reutenauer This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 @@ -109,7 +109,6 @@ to track the issues and follow progress. \generate{\file{babelsh.def}{\from{polyglossia.dtx}{babelsh.def}}} \generate{\file{cal-util.def}{\from{polyglossia.dtx}{cal-util.def}}} \generate{\file{xgreek-fixes.def}{\from{polyglossia.dtx}{xgreek-fixes.def}}} -\generate{\file{gloss-latex.lde}{\from{polyglossia.dtx}{gloss-latex.lde}}} \generate{\file{gloss-acadien.ldf}{\from{polyglossia.dtx}{gloss-acadien.ldf}}} \generate{\file{gloss-aeb.ldf}{\from{polyglossia.dtx}{gloss-aeb.ldf}}} \generate{\file{gloss-af.ldf}{\from{polyglossia.dtx}{gloss-af.ldf}}} @@ -276,6 +275,7 @@ to track the issues and follow progress. \generate{\file{gloss-la-x-medieval.ldf}{\from{polyglossia.dtx}{gloss-la-x-medieval.ldf}}} \generate{\file{gloss-la.ldf}{\from{polyglossia.dtx}{gloss-la.ldf}}} \generate{\file{gloss-lao.ldf}{\from{polyglossia.dtx}{gloss-lao.ldf}}} +\generate{\file{gloss-latex.ldf}{\from{polyglossia.dtx}{gloss-latex.ldf}}} \generate{\file{gloss-latin.ldf}{\from{polyglossia.dtx}{gloss-latin.ldf}}} \generate{\file{gloss-latinclassic.ldf}{\from{polyglossia.dtx}{gloss-latinclassic.ldf}}} \generate{\file{gloss-latinecclesiastic.ldf}{\from{polyglossia.dtx}{gloss-latinecclesiastic.ldf}}} @@ -963,11 +963,8 @@ to track the issues and follow progress. % % \begin{itemize} % \item \xpgboolkeyfalse[1.1.1]{babelshorthands} -% Globally activates \pkg{babel} shorthands whenever available. Such shorthands are -% implemented currently for Afrikaans, Belarusian, Catalan, Croatian, -% Czech, Dutch, Finnish, Georgian, German, Italian, Latin, Mongolian, -% Russian, Slovak, and Ukrainian. Please refer to the respective language descriptions -% (sec.~\ref{specific}) for details. +% Globally activates \pkg{babel} shorthands whenever available. +% Please refer to sec.~\ref{shorthands} for details. % % \item \xpgboolkeyfalse{localmarks} redefines the internal \LaTeX\ macros \cmd\markboth\ and % \cmd\markright\ to the effect that the header text is explicitly set in the currently @@ -993,6 +990,43 @@ to track the issues and follow progress. % by \LaTeX, \pkg{fontspec} and \pkg{polyglossia} are output. % \end{itemize} % +% \subsection{Shorthands}\label{shorthands} +% +% \pkg{Babel} has introduced the nifty feature of \enquote{shorthands} for some of the languages +% it supports. +% Shorthands make use of active characters to provide quick access to glyphs and formatting +% peculiarities that are common in a respective language (\eg ¦"a¦ for German umlaut ⟨ä⟩ in case +% this is not available on your keyboard). +% \pkg{Polyglossia} has adopted this feature, we call it \emph{babelshorthands}. +% +% Shorthands need to be activated for the respective language, or can be activated globally, via +% the boolean option \xpgoption{babelshorthands} (either passed globally when loading \pkg{polyglossia} +% or to a specific language when loading it). +% +% Shorthands are implemented currently for Afrikaans, Belarusian, Catalan, Croatian, +% Czech, Dutch, Finnish, Georgian, German, Italian, Latin, Mongolian, Occitan, +% Piedmontese, Polish, Portuguese, Russian, Slovak, and Ukrainian, and their number and function +% differs between these languages. Please refer to the respective language descriptions (sec.~\ref{specific}) +% for detailed elaborations. +% +% If you want to re-use the shorthands defined for a specific language in a different language, +% you can do so by using in preamble:\new{2.0} +% \displaycmd{\inheritbabelshorthands\marg{source language}\marg{target language}}{\inheritbabelshorthands} +% in order to input and activate the shorthands defined for the \meta{source language} in +% the \meta{target language}. Both languages will be loaded as \enquote{other} languages if they have not +% been loaded yet. If one of the languages does not exist, or if the \meta{source language} does not provide any +% shorthands, you will get an error message. +% +% Note, also, that you can only use \cmd{\inheritbabelshorthands} once per language. Subsequent +% calls will overwrite previous ones (and also the shorthand that might be defined for a +% \meta{target language} in the first place). +% +% If you want to enable the shorthands of a specific language inline, also when the language itself +% is not active (but loaded in the preamble), you can do so by means of\new{2.0} +% \displaycmd{\usebabelshorthands\marg{language}}{\usebabelshorthands} +% The effect of this is local to groups. If you want to disable any active shorthands, you can use +% ¦\usebabelshorthands{none}¦. +% % \section{Language-switching commands}\label{languageswitching} % % \subsection{Recommended commands}\label{sec:langcmds} @@ -1090,9 +1124,11 @@ to track the issues and follow progress. % In a similar vein, it is possible to use \Cmd\rmfamilylatin, \Cmd\sffamilylatin, % and \Cmd\ttfamilylatin. % -% \item \Cmd\latinalph: Representation of counter as a lower-case letter: 1 = a, 2 = b, etc. +% \item \DescribeMacro{\latinalph}\cmd{\latinalph\marg{counter}}: Representation of counter as a lower-case letter: +% 1 = a, 2 = b, etc. % -% \item \Cmd\latinAlph: Representation of counter as a upper-case letter: 1 = A, 2 = B, etc. +% \item \DescribeMacro{\latinAlph}\cmd{\latinAlph\marg{counter}}: Representation of counter as a upper-case letter: +% 1 = A, 2 = B, etc. % \end{itemize} % % @@ -1532,23 +1568,37 @@ to track the issues and follow progress. % If this is turned on, the following shorthands for fine-tuning hyphenation % and micro-typography of Finnish words are activated: % \begin{shorthands} -% \item[¦"-¦] adds a hyphenation point that does still allow for hyphenation at the points preset -% in the hyphenation patterns (as opposed to \cmd\-). -% \item[\texttt{"\textasciitilde}] for a hyphen sign without a breakpoint. Useful for -% cases where the hyphen should stick at the following syllable. +% \item[¦"-¦] adds an explicit hyphen without a breakpoint, allowing for hyphenation at the +% other points preset in the hyphenation patterns. Useful for +% cases where the hyphen should stick at the following syllable +% (\eg ¦pakastekaapit ja "-arkut¦). +% \item[\texttt{"=}] for a hyphen sign without a breakpoint that does also remove all other +% breakpoints in the word (as opposed to ¦"-¦). +% \item[\texttt{"\textasciitilde}] functionally equivalent to ¦"-¦ (provided for backwards +% compatibility reasons). % \item[¦"|¦] disables a ligature at this position. % \item[¦""¦] allows for a line break at this position (without hyphenation sign). % \item[¦"/¦] a slash that allows for a subsequent line break. As opposed to \cmd\slash, % hyphenation at the breakpoints preset in the hyphenation patterns is still allowed. % \end{shorthands} -% \item \xpgboolkeyfalse[1.54]{schoolhyphens} -% If this is set to true, alternative (experimental) hyphenation patterns are used rather than the -% default Finnish patterns. These (so-called `School') patterns allow hyphenation at +% \item \xpgchoicekey[2.0]{hyphens}{\xpgpresetvalue{default}, \xpgvalue{babel}, \xpgvalue{school}} +% Hyphenation in Finnish is peculiar since there are many rather long words. In order to select a suitable +% hyphenation pattern, three different options are provided: +% \begin{itemize} +% \item The \xpgvalue{default} patterns as used by \LaTeX\ are rather strict and try to prevent hyphenation +% at points which are valid but considered sub-optimal from an ortho-typographic point of view +% (\eg hyphenation between two vowels), with the drawback that simple words are sometimes not being +% hyphenated at points where this would be valid, and lines might become unevenly spaced. +% \item The \pkg{babel} support for Finnish by default tweaks some hyphenation-related values +% (such as \cmd\hyphenpenalty) for Finnish. If you want to replicate this with \pkg{polyglossia}, +% select \xpgvalue{babel} (this still uses the default patterns). +% \item The \xpgvalue{school} setting, finally, employs alternative (experimental) hyphenation patterns +% rather than the default Finnish patterns. These (so-called `School') patterns allow hyphenation at % all valid points, including hyphenation points that are considered sub-optimal from an -% ortho-typographic point of view (e.\,g., hyphenation between two vowels). -% The default patterns try to prevent such hyphenation, with the drawback that simple words -% are sometimes not being hyphenated at points where this would be valid. +% ortho-typographic point of view.\footnote{This equals the previous boolean option \xpgoption{schoolhyphens}, +% which is still supported for backwards compatibility.} % See \url{https://github.com/hyphenation/basic-finnish} for details. +% \end{itemize} % \end{itemize} % % \subsection{french}\label{french} @@ -1706,6 +1756,11 @@ to track the issues and follow progress. % \eg ¦(pseudo"~)""wissenschaftlich¦. % \item[¦"/¦] a slash that allows for a subsequent line break. As opposed to \cmd\slash, hyphenation at the breakpoints % preset in the hyphenation patterns is still allowed. +% \item[¦"*¦]\new{2.0} An asterisk which assures the word can still be hyphenated at its defined breakpoints. +% Useful if you want to employ gender-sensitive writing (,gender star`). +% Similar shorthands are available for the alternative gender-sensitive spellings, ¦":¦ and ¦"_¦. +% \item[¦"x¦]\new{2.0} Inserts a gender mark which assures the word can still be hyphenated at its defined breakpoints. +% This is predefined to ¦*¦ but can be globally redefined by redefining the macro \cmd\mkgender\ (see below). % \end{shorthands} % % There are also four shorthands for quotation signs: @@ -1716,6 +1771,11 @@ to track the issues and follow progress. % \item[¦">¦] for French-style right double quotes (»). % \end{shorthands} % \end{itemize} +% \paragraph*{Commands:} +% \begin{itemize} +% \item \Cmd\mkgender\new{2.0} Defines which gender mark is output by the babelshorthand ¦"x¦. +% Predefined to ¦\def\mkgender{*}¦. +% \end{itemize} % % \subsection{greek}\label{greek} % \paragraph*{Options:} @@ -3030,7 +3090,45 @@ to track the issues and follow progress. % \section{Revision history} % % \bgroup\footnotesize -% \subsection*{1.66 (2023/12/02)} +% +% \subsection*{2.0 (2024/02/17)} +% +% \subsubsection*{Bug fixes} +% \begin{itemize} +% \item Fix error with undefined property list that unhides with +% \pkg{l3kernel} version 2024-02-13 (\TXI{626}). +% \item Fix \xpgoption{frenchfootnote} option (\TXI{620}). +% \item The error message on improper font setting is now +% correct if the main script is non-Latin, for +% non-Roman fonts (\TXI{571}), and specifically for +% the CJK case (\TXI{621}). +% \item Fix expansion of localnumeral (\TXI{622}). +% \end{itemize} +% +% \subsubsection*{New Features} +% \begin{itemize} +% \item Add \cmd{\inheritbabelshorthands} (\TXI{604}). +% \item Add \cmd{\usebabelshorthands}. +% \item Add shorthands for German gender-sensitive writing. +% \item Implement \pkg{babel}-style hyphenation for Finnish. +% \end{itemize} +% +% \subsubsection*{Documentation improvements} +% \begin{itemize} +% \item Fix documentation of Finnish shorthands (\TXI{623}). +% \end{itemize} +% +% \subsubsection*{Internal work} +% \begin{itemize} +% \item The package code has been subjected to a major rewrite. +% Code has been cleaned up, and in general, \pkg{polyglossia} +% more consistently employs \pkg{latex3} now. Note that this is +% an ongoing and yet unfinished project that will continue over +% the next releases. +% \end{itemize} +% +% +% \subsection*{1.66 (2023/12/11)} % % \subsubsection*{Bug fixes} % \begin{itemize} @@ -4102,44 +4200,52 @@ to track the issues and follow progress. % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} \ProvidesExplPackage - {polyglossia} {2023/12/11} {v1.66} + {polyglossia} {2024/02/17} {v2.0} {Modern multilingual typesetting with XeLaTeX and LuaLaTeX} + \RequirePackage{etoolbox} \RequirePackage{xkeyval}[2008/08/13] % Will raise error if used with anything else than XeTeX or LuaTeX \RequirePackage{fontspec}[2010/06/08]% v2.0 \RequirePackage{iftex} -% Execute code #3 if package #1 has been loaded already, else -% add to package hook #2 -\cs_new_nopar:Nn \__xpg_at_package_hook:nnn{ - \@ifpackageloaded{#1}{#3}{\AddToHook{#2}{#3}}% -} - \prg_generate_conditional_variant:Nnn \clist_if_in:Nn {Ne} {TF, T, F} % check if needed + % correct a bug in tracklang -\__xpg_at_package_hook:nnn{tracklang}{file/tracklang.sty/after}{% - \@ifpackagelater{tracklang}{2019/08/30}{}{\global\def\AddTrackedLangage{\AddTrackedLanguage}} +\AddToHook{package/tracklang/after}{% + \IfPackageAtLeastTF{tracklang}{2019/08/30} + {} + {\cs_gset_eq:NN \AddTrackedLangage \AddTrackedLanguage} } -%% This is for compatibility with Babel-aware package: -\def\languageshorthands#1{\relax} % this is for scrlttr2 class -\def\bbl@cs#1{\csname bbl@#1\endcsname} +%% The following is for compatibility with Babel-aware package: +% \languageshorthands is provided by babelsh.def, which is +% only loaded by some glosses, but some classes presuppose +% it is there generally. So let's provide a stub: +\ProvideDocumentCommand \languageshorthands { m } {} +% These have to be provided at the end of the preamble \AddToHook{begindocument/before}{ - \let\bbl@set@language\xpg@set@language@aux % for biblatex - \let\bbl@main@language\xpg@main@language % for biblatex - \providecommand\texorpdfstring[2]{#1} % dummy command if hyperref is not loaded + \cs_gset_eq:NN \bbl@set@language \xpg@set@language@aux % for biblatex + \cs_gset_eq:NN \bbl@main@language \xpg@main@language % for biblatex + \ProvideDocumentCommand \texorpdfstring { m m } { #1 } % dummy command if hyperref is not loaded } -\sys_if_engine_luatex:T{ - \RequirePackage{luatexbase} % already included by fontspec, but needed here - \RequireLuaModule{polyglossia} -} +%% when no patterns are available, we use \l@nohyphenation, assigned to 255 +%% (suggestion by Enrico Gregorio) +%% \l@nohyphenation is defined in polyglossia.lua +\sys_if_engine_luatex:TF + { + \RequirePackage{luatexbase} % already included by fontspec, but needed here + \RequireLuaModule{polyglossia} + }{ + \cs_if_free:cT { l@nohyphenation } + { \chardef\l@nohyphenation=255 } + } % Which version of XeTeX do we use? What is the boudary class? 4095 or 255 -\@ifundefined{e@alloc@intercharclass@top} - {\chardef\xpg@boundaryclass=\@cclv} - {\let\xpg@boundaryclass=\e@alloc@intercharclass@top} +\cs_if_exist:cTF { e@alloc@intercharclass@top } + { \let\xpg@boundaryclass=\e@alloc@intercharclass@top } + { \chardef\xpg@boundaryclass=\@cclv } % Useful for getting list of loaded languages and variants. Like babel's bbl@loaded % all language loaded @@ -4153,17 +4259,26 @@ to track the issues and follow progress. % list of loaded languages (bcp-47 id) \clist_new:N \xpg@bcp@loaded -% counter in latin -\def\latinalph#1{\expandafter\latin@alph\csname c@#1\endcsname} -\def\latinAlph#1{\expandafter\latin@Alph\csname c@#1\endcsname} +% output counter as lower-case latin letter +\DeclareExpandableDocumentCommand \latinalph { m } +{ + \exp_args:Nc \latin@alph {c@#1} +} +% output counter as upper-case latin letter +\DeclareExpandableDocumentCommand \latinAlph { m } +{ + \exp_args:Nc \latin@Alph {c@#1} +} +%% Internal hooks % select language hook -\cs_new_nopar:Nn \polyglossia@AtBeginDocument@selectlanguage: {} +\cs_new_nopar:Nn \__xpg_at_begin_document_selectlanguage: {} % \disablehyphenation hook -\cs_new_nopar:Nn \polyglossia@AtBeginDocument@hyphenation: {} +\cs_new_nopar:Nn \__xpg_at_begin_document_hyphenation: {} % hook to be executed at begin of document -\cs_new_nopar:Nn \polyglossia@AtBeginDocument: { +\cs_new_nopar:Nn \__xpg_at_begin_document: +{ % save various command \let\latin@alph\@alph % TODO rename when we have the C locale \let\latin@Alph\@Alph % TODO rename when we have the C locale @@ -4171,22 +4286,25 @@ to track the issues and follow progress. \let\polyglossia@Clang@@arabic\@arabic \let\polyglossia@Clang@arabic\arabic - \xpg@initial@setup + \xpg_initial_setup: % apply \familydefault changes \xpg@set@familydefault } -\AtBeginDocument{ - \polyglossia@AtBeginDocument: +\AddToHook{begindocument}{ + \__xpg_at_begin_document: } % The following needs to go after any \AtBeginDocument (also of packages % loaded after \set[main|other]language -\AfterEndPreamble{ +% Track whether the main language has been set +\bool_new:N \g_xpg_main_lang_set_bool +\AddToHook{begindocument/end}{ % now we have the C locale definition: select the language - \polyglossia@AtBeginDocument@selectlanguage: + \__xpg_at_begin_document_selectlanguage: + \bool_gset_true:N \g_xpg_main_lang_set_bool % If hyphenation disabling has been requested in preamble, do it now - \polyglossia@AtBeginDocument@hyphenation: + \__xpg_at_begin_document_hyphenation: } %% custom message macros @@ -4219,7 +4337,7 @@ to track the issues and follow progress. \xpg@warning{Illegal~ value~ (#1)~ for~ #2}} % error out if lang is not loaded -\cs_new_nopar:Nn \polyglossia@error@iflangnotloaded:n +\cs_new_nopar:Nn \xpg_error_if_lang_not_loaded:n { \seq_if_in:NeF \__xpg_langs_loaded {#1} { @@ -4239,7 +4357,16 @@ to track the issues and follow progress. } \msg_redirect_name:nnn { polyglossia } { languagenolongerloaded } { warning } -% +\msg_new:nnn { polyglossia } { unknownlocalnumeral } +{ + Unknown~ key~ "#1"~ in~ \string\localnumeral. +} + +\msg_new:nnn { polyglossia } { localnumeralemptyvalue } +{ + Keys~ of~ \string\localnumeral~ must~ have~ value. +} + %% use macro if defined, else warn that it is not \cs_new_nopar:Nn \__xpg_use_or_warn:N @@ -4257,12 +4384,12 @@ to track the issues and follow progress. \def\@@ensure@maindir#1{\ifcsundef{@ensure@maindir}{#1}{\@ensure@maindir{#1}}} %% Used by the language definitions files for right-to-left languages -\def\RequireBidi - { +\NewDocumentCommand \RequireBidi {} +{ \sys_if_engine_luatex:TF {\ifx\@onlypreamble\@notprerr\else\RequirePackage{luabidi}\fi} {\ifx\@onlypreamble\@notprerr\else\RequirePackage{bidi}\fi} - } +} % if #1 is LR run #2 else #3 \prg_set_conditional:Nnn \__xpg_if_LR_str:n {p, T, F, TF} @@ -4281,20 +4408,23 @@ to track the issues and follow progress. % (lua)bidi commands to change directionality for paragraphs % and inline text. % overwritten with correct package -\cs_new_nopar:Nn{\polyglossia@setpardirection:n}{ +\cs_new_nopar:Nn \__xpg_set_par_direction:n +{ \__xpg_if_LR_str:nF {#1} { \xpg@error{right-to-left,~ but~ (lua)bidi~ package~ was~ not~ loaded!} } } -\cs_new_nopar:Nn{\polyglossia@settextdirection:n}{ +\cs_new_nopar:Nn \__xpg_set_text_direction:n +{ \__xpg_if_LR_str:nF {#1} { \xpg@error{right-to-left,~ but~ (lua)bidi~ package~ was~ not~ loaded!} } } -\__xpg_at_package_hook:nnn{bidi}{package/bidi/after}{ - \cs_gset_nopar:Nn{\polyglossia@setpardirection:n}{ +\AddToHook{package/bidi/after}{ + \cs_gset_nopar:Nn \__xpg_set_par_direction:n + { \__xpg_if_LR_str:nTF{#1} { \setLR @@ -4303,7 +4433,8 @@ to track the issues and follow progress. \setRL } } - \cs_gset_nopar:Nn{\polyglossia@settextdirection:n}{ + \cs_gset_nopar:Nn \__xpg_set_text_direction:n + { \__xpg_if_LR_str:nTF{#1} { \LRE @@ -4313,8 +4444,9 @@ to track the issues and follow progress. } } } -\__xpg_at_package_hook:nnn{luabidi}{package/luabidi/after}{ - \cs_gset_nopar:Nn{\polyglossia@setpardirection:n}{ +\AddToHook{package/luabidi/after}{ + \cs_gset_nopar:Nn \__xpg_set_par_direction:n + { \__xpg_if_LR_str:nTF{#1} { \setLR @@ -4323,7 +4455,8 @@ to track the issues and follow progress. \setRL } } - \cs_gset_nopar:Nn{\polyglossia@settextdirection:n}{ + \cs_gset_nopar:Nn \__xpg_set_text_direction:n + { \__xpg_if_LR_str:nTF{#1} { \LRE @@ -4358,18 +4491,17 @@ to track the issues and follow progress. %% TODO: localalph = {,} %% TODO: localnumeral = %% or even better localdigits = {0123456789} for fully automatic setup -\newif\if@xpg@language@really@defined@ \newcommand*\PolyglossiaSetup[2]{ - \polyglossia@keys_define_lang:n{#1} + \__xpg_keys_define_lang:n{#1} \keys_set:nn { polyglossia / #1 } { #2 } - \polyglossia_setup_hyphen:n {#1} + \__xpg_setup_hyphen:n {#1} %define booleans etoolbox style and set defaults %% TODO ? \providetoggle{#1@setup@done}% % we initialize these so that we can use \gappto below \csgdef{init@extras@#1}{} \csgdef{init@noextras@#1}{} % we don't use this yet: remove? % here we do the fontsetup: - \xpg__auto_setupfont:n { #1 } + \__xpg_auto_setupfont:n { #1 } %% TODO? \toggletrue{#1@setup@done} % register base alias \xpg_language_alias { #1 } { #1 } @@ -4388,15 +4520,16 @@ to track the issues and follow progress. % setup hyphennames from a str list of hyphen -\cs_new:Nn \polyglossia_setup_hyphen:n { - \clist_set:Ne{\l_tmpa_clist}{\prop_item:Nn \polyglossia@langsetup {#1 / hyphennames}} +\cs_new:Nn \__xpg_setup_hyphen:n +{ + \clist_set:Ne{\l_tmpa_clist}{\prop_item:Nn \g_xpg_langsetup_prop {#1 / hyphennames}} \providebool{havehyphen} \boolfalse{havehyphen} % for each hyphen in the set until we find one that works \clist_map_inline:Nn \l_tmpa_clist { \ifbool{havehyphen}{}{ % check if language hyphenname is defined - \__xpg_check_if_exist_l@:NF{#1}{ + \__xpg_check_if_exist_l@:nF{#1}{ % if not, first consider nohyphenation \str_if_eq:nnTF{##1}{nohyphenation} { @@ -4433,7 +4566,7 @@ to track the issues and follow progress. } % setup hyphenmins \clist_set:Ne \l_tmpa_clist - { \prop_item:Nn \polyglossia@langsetup {#1 / hyphenmins} } + { \prop_item:Nn \g_xpg_langsetup_prop {#1 / hyphenmins} } \cs_if_eq:cNF {l@#1} \l@nohyphenation { \use:x @@ -4446,8 +4579,9 @@ to track the issues and follow progress. } \newcommand*\polyglossia@setup@language@patterns[1]{ - \ifbool{xpg@hyphenation@disabled}{ - \xdef\xpg@lastlanguage{\the\csname l@#1\endcsname} + \bool_if:NTF \g__xpg_hyphenation_disabled_bool + { + \tl_gset:Ne \g__xpg_lastlanguage_tl {\the\csname l@#1\endcsname} }{ % first, test if \l@#1 exists % without that, \csname l@#1\endcsname will be defined as \relax @@ -4474,15 +4608,16 @@ to track the issues and follow progress. } } -\prop_new:N \polyglossia@langsetup +\prop_new:N \g_xpg_langsetup_prop -\cs_new_protected:Npn \polyglossia@keys_define_lang:n #1 { +\cs_new_protected:Npn \__xpg_keys_define_lang:n #1 +{ \keys_define:nn {polyglossia}{ % the script font #1 / script .code:n = { - \prop_gput:Nnn{\polyglossia@langsetup}{#1/script}{##1} - \prop_gput:Nne{\polyglossia@langsetup}{#1/lcscript} + \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/script}{##1} + \prop_gput:Nne{\g_xpg_langsetup_prop}{#1/lcscript} {\tl_if_empty:nF{##1}{\str_lowercase:n{##1}}} }, #1 / script @@ -4491,84 +4626,84 @@ to track the issues and follow progress. .initial:n = latin, % the opentype script tag #1 / scripttag - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/scripttag}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/scripttag}{##1}}, #1 / scripttag .default:n = {}, #1 / scripttag .initial:n = {}, % the language full name #1 / language - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/language}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/language}{##1}}, #1 / language .value_required:n = true, #1 / language .initial:x = {\str_uppercase:n#1}, % the language tag #1 / langtag - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/langtag}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/langtag}{##1}}, #1 / langtag .value_required:n = true, #1 / langtag .initial:n = {}, % the BCP-47 tag #1 / bcp47 - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47}{##1}}, #1 / bcp47 .value_required:n = true, #1 / bcp47 .initial:n = {}, % the BCP-47 language tag #1 / bcp47-language - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-language}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-language}{##1}}, #1 / bcp47-language .value_required:n = true, #1 / bcp47-language .initial:n = {}, % the BCP-47 region tag #1 / bcp47-region - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-region}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-region}{##1}}, #1 / bcp47-region .value_required:n = false, #1 / bcp47-region .initial:n = {}, % the BCP-47 script tag #1 / bcp47-script - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-script}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-script}{##1}}, #1 / bcp47-script .value_required:n = true, #1 / bcp47-script .initial:n = {}, % the BCP-47 variant tag #1 / bcp47-variant - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-variant}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-variant}{##1}}, #1 / bcp47-variant .value_required:n = false, #1 / bcp47-variant .initial:n = {}, % the BCP-47 extension-t tag #1 / bcp47-extension-t - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-extension-t}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-extension-t}{##1}}, #1 / bcp47-extension-t .value_required:n = false, #1 / bcp47-extension-t .initial:n = {}, % the BCP-47 extension-u tag #1 / bcp47-extension-u - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-extension-u}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-extension-u}{##1}}, #1 / bcp47-extension-u .value_required:n = false, #1 / bcp47-extension-u .initial:n = {}, % the BCP-47 extension-x tag #1 / bcp47-extension-x - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-extension-x}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-extension-x}{##1}}, #1 / bcp47-extension-x .value_required:n = false, #1 / bcp47-extension-x .initial:n = {}, % the BCP-47 casing alias #1 / bcp47-casing - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-casing}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-casing}{##1}}, #1 / bcp47-casing .value_required:n = false, #1 / bcp47-casing @@ -4577,7 +4712,7 @@ to track the issues and follow progress. #1 / hyphennames .code:n = { \clist_set:Nn{\l_tmpa_clist}{##1} - \prop_gput:Nne{\polyglossia@langsetup}{#1/hyphennames}{\clist_use:Nn \l_tmpa_clist {,}} + \prop_gput:Nne{\g_xpg_langsetup_prop}{#1/hyphennames}{\clist_use:Nn \l_tmpa_clist {,}} }, #1 / hyphennames .value_required:n = true, @@ -4590,7 +4725,7 @@ to track the issues and follow progress. {LR}{} {RL}{\RequireBidi} } - {\prop_gput:Nnn{\polyglossia@langsetup}{#1/direction}{##1}} + {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/direction}{##1}} {\xpg@error{Unknown~ direction~ "##1"~ for~ language~ "#1"}} }, #1 / direction @@ -4604,7 +4739,7 @@ to track the issues and follow progress. \int_compare:nNnF { \clist_count:n {##1} } = {2} {\xpg@error{hypenmins~should~be~a~list~of~two~entries,~got~"##1"}} % set prop - \prop_gput:Nnn \polyglossia@langsetup {#1/hyphenmins} {##1} + \prop_gput:Nnn \g_xpg_langsetup_prop {#1/hyphenmins} {##1} }, #1 / hyphenmins .value_required:n = true, @@ -4617,7 +4752,7 @@ to track the issues and follow progress. \int_compare:nNnF { \clist_count:n {##1} } = {1} {\xpg@error{totalhyphenhypenmin~should~be~a~single~entry,~got~"##1"}} % set prop - \prop_gput:Nnn \polyglossia@langsetup {#1/totalhyphenmin} {##1} + \prop_gput:Nnn \g_xpg_langsetup_prop {#1/totalhyphenmin} {##1} }, #1 / totalhyphenmin .value_required:n = false, @@ -4636,35 +4771,35 @@ to track the issues and follow progress. % environment name #1 / envname .code:n = { - \prop_gput:Nnn{\polyglossia@langsetup}{#1/envname}{##1} + \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/envname}{##1} }, #1/ envname.value_required:n = true, #1/ envname.initial:n = {#1}, % babel name #1 / babelname .code:n = { - \prop_gput:Nnn{\polyglossia@langsetup}{#1/babelname}{##1} + \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/babelname}{##1} }, #1/ babelname.value_required:n = true, #1/ babelname.initial:n = {#1}, % default numerals #1 / localnumeral . code:n = { - \prop_gput:Nnn{\polyglossia@langsetup}{#1/localnumeral}{##1} - \prop_gput:Nnn{\polyglossia@langsetup}{#1/Localnumeral}{##1} + \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/localnumeral}{##1} + \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/Localnumeral}{##1} }, #1 / localnumeral.value_required:n = true, #1 / localnumeral.initial:n = {polyglossia@C@localnumeral}, % uppercased #1 / Localnumeral . code:n = { - \prop_gput:Nnn{\polyglossia@langsetup}{#1/Localnumeral}{##1} + \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/Localnumeral}{##1} }, #1 / Localnumeral.value_required:n = true, #1 / Localnumeral.initial:n = {polyglossia@C@localnumeral}, % environment define command (by default create the environment) #1 / DefineCommandsCmd - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/DefineCommandsCmd}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/DefineCommandsCmd}{##1}}, #1 / DefineCommandsCmd .value_required:n = true, #1 / DefineCommandsCmd @@ -4677,29 +4812,32 @@ to track the issues and follow progress. \polyglossia@Clang@@arabic{#2} } -\tl_new:N \l__xpg_localnumeral_tl -\bool_new:N \l__xpg_localnumeral_bool - -\keys_define:nn { polyglossia / localnumeral } +\cs_new:Npn \__xpg_localnumeral_parse:nn #1 #2 { - lang .choice:, - lang / main .code:n = \tl_set:Nn \l__xpg_localnumeral_tl { \mainlanguagename } , - lang / local .code:n = \tl_set:Nn \l__xpg_localnumeral_tl { \languagename } - \bool_set_true:N \l__xpg_localnumeral_bool , - lang / unknown .code:n = \tl_set:Nn \l__xpg_localnumeral_tl { #1 } , + \str_if_eq:eeF { #1 } { lang } { \msg_error:nnn { polyglossia } { unknownlocalnumeral } { #1 } } + \exp_args:Ne \str_case:nnF { #2 } + { + { local } { } + { main } { \foreignlanguage { \mainlanguagename } } + } + { \foreignlanguage { #2 } } } \cs_new:Npn \__xpg_localnumeral:nnn #1 #2 #3 { - \group_begin: - \keys_set:ne { polyglossia / localnumeral } { #2 } - \bool_if:NF \l__xpg_localnumeral_bool { \foreignlanguage { \l__xpg_localnumeral_tl } } - { \use:c { \prop_item:Ne \polyglossia@langsetup - { \l__xpg_localnumeral_tl / #3 } } { } { #1 } } - \group_end: + \use:e + { + \keyval_parse:nnn + { \msg_error:nnn { polyglossia } { localnumeralemptyvalue } } + { + \__xpg_localnumeral_parse:nn + } { #2 } + } + { \use:c { \prop_item:Ne \g_xpg_langsetup_prop + { \languagename / #3 } } { } { #1 } } } - -\NewDocumentCommand \localnumeral { s ={ lang } O{ local } m } + +\NewExpandableDocumentCommand \localnumeral { s O{ lang=local } m } { \IfBooleanTF { #1 } { @@ -4710,7 +4848,7 @@ to track the issues and follow progress. } } -\NewDocumentCommand \Localnumeral { s ={ lang } O{ local } m } +\NewExpandableDocumentCommand \Localnumeral { s O{ lang=local } m } { \IfBooleanTF { #1 } { @@ -4721,86 +4859,90 @@ to track the issues and follow progress. } } -\cs_new_nopar:Npn \xpg__french_spacing:n #1 +\cs_new_nopar:Npn \__xpg_french_spacing:n #1 { \bool_if:cTF { g__xpg_#1_fs_bool } { \frenchspacing } { \nonfrenchspacing } } -\cs_new_nopar:Npn \xpg__indent_first:n #1 +\cs_new_nopar:Npn \__xpg_indent_first:n #1 { \bool_if:cTF { g__xpg_#1_if_bool } { \french@indent } { \nofrench@indent } } -\cs_new:Nn{\polyglossia@lang@setpardirection:n}{ - \prop_get:NeNTF \polyglossia@langsetup {#1/direction} \l_tmpa_tl +\cs_new:Nn \__xpg_lang_set_par_direction:n +{ + \prop_get:NeNTF \g_xpg_langsetup_prop {#1/direction} \l_tmpa_tl { - \polyglossia@setpardirection:n{\l_tmpa_tl} + \__xpg_set_par_direction:n{\l_tmpa_tl} } { \xpg@error{Could~ not~ retrieve~ key~ direction~ for~ language~ "#1"} - \prop_show:N{\polyglossia@langsetup} + \prop_show:N{\g_xpg_langsetup_prop} } } -\cs_new:Nn{\polyglossia@lang@settextdirection:nn}{ - \prop_get:NeNTF \polyglossia@langsetup {#1/direction} \l_tmpa_tl +\cs_new:Nn \__xpg_lang_set_text_direction:nn +{ + \prop_get:NeNTF \g_xpg_langsetup_prop {#1/direction} \l_tmpa_tl { - \polyglossia@settextdirection:n{\l_tmpa_tl}{#2} + \__xpg_set_text_direction:n{\l_tmpa_tl}{#2} } { \xpg@error{Could~ not~ retrieve~ key~ direction~ for~ language~ "#1"} - \prop_show:N{\polyglossia@langsetup} + \prop_show:N{\g_xpg_langsetup_prop} } } -\def\xpg@lastlanguage{0} +\tl_new:N \g__xpg_lastlanguage_tl +\tl_set:Nn \g__xpg_lastlanguage_tl { 0 } -\providebool{xpg@hyphenation@disabled} -\boolfalse{xpg@hyphenation@disabled} +% Track whether hyphenation is disabled +\bool_new:N \g__xpg_hyphenation_disabled_bool -\def\xpg@disablehyphenation{ - \ifx\@onlypreamble\@notprerr - \xpg@@disablehyphenation - \else - % if this is used in the preamble, we have to postpone - % the execution until the main language has been set (#125). - \cs_gset_nopar:Nn \polyglossia@AtBeginDocument@hyphenation: { - \xpg@@disablehyphenation +\DeclareDocumentCommand \disablehyphenation {} +{ + \bool_if:NTF \g_xpg_main_lang_set_bool + { + \__xpg_disable_hyphenation: + } + { + % we have to postpone the execution until the main language + % has been set (#125). + \cs_gset_nopar:Nn \__xpg_at_begin_document_hyphenation: { + \__xpg_disable_hyphenation: } - \fi + } } -\def\xpg@@disablehyphenation{ - \ifbool{xpg@hyphenation@disabled}{}{ - \booltrue{xpg@hyphenation@disabled} - \xdef\xpg@lastlanguage{\the\language} +\cs_new:Nn \__xpg_disable_hyphenation: +{ + \bool_if:NF \g__xpg_hyphenation_disabled_bool + { + \bool_gset_true:N \g__xpg_hyphenation_disabled_bool + \tl_gset:Ne \g__xpg_lastlanguage_tl { \the\language } % We do not call \xpg@set@hyphenation@patterns here to avoid a warning message. % "nohyphenation" is not listed in language.dat.lua. \language=\l@nohyphenation } } -\def\xpg@enablehyphenation{ - \ifbool{xpg@hyphenation@disabled}{ - \boolfalse{xpg@hyphenation@disabled} - \language=\csname xpg@lastlanguage\endcsname - }{}% +\DeclareDocumentCommand \enablehyphenation {} +{ + \bool_if:NT \g__xpg_hyphenation_disabled_bool + { + \bool_gset_false:N \g__xpg_hyphenation_disabled_bool + \language=\tl_use:N{\g__xpg_lastlanguage_tl} + }% } -\let\disablehyphenation\xpg@disablehyphenation -\let\enablehyphenation\xpg@enablehyphenation - -%\def\xpg@fontsetup#1{\xpg@csifdef@warn{xpg@fontsetup@#1}} -%\def\xpg@fontsetup@none#1{\csgdef{#1@font}{\ifcsdef{#1font}{\csname #1font\endcsname}{}}} %<-- simplistic -%\def\xpg@fontsetup@custom#1{\csuse{#1@font}} - -\cs_new:Npn \xpg__auto_setupfont:n #1 { +\cs_new:Npn \__xpg_auto_setupfont:n #1 +{ \bool_if:cTF { g__xpg_#1_fontsetup_bool } { - \str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#1/lcscript}}{latin} + \str_if_eq:eeTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/lcscript}}{latin} {\xpg@fontsetup@latin{#1}} {\xpg@fontsetup@nonlatin{#1}} } @@ -4812,11 +4954,12 @@ to track the issues and follow progress. % add fontfeature Language=#2 to langtag #1 % do nothing if #1 or #2 is empty -\cs_new:Nn \polyglossia@addfontfeature@language:nn { +\cs_new:Nn \__xpg_add_font_feature_language:nn +{ \bool_if:nTF{\tl_if_empty_p:n{#1} || \tl_if_empty_p:n{#2}} { % maybe an error ? - \xpg@warning{Asking~ to~ add~ empty~ feature~to~ latin~ font~ + \xpg@warning{Asking~ to~ add~ empty~ feature~to~ main~ font~ (Language="#2"~ to~ langtag~ "#1")} } { @@ -4840,67 +4983,82 @@ to track the issues and follow progress. } } } -\cs_generate_variant:Nn \polyglossia@addfontfeature@language:nn { on , no, oo , Vn, nV, VV , xn, nx, xx} +\cs_generate_variant:Nn \__xpg_add_font_feature_language:nn { on , no, oo , Vn, nV, VV , xn, nx, xx} % add fontfeature Script=#2 to scripttag #1 % do nothing if #1 or #2 is empty -\cs_new:Nn \polyglossia@addfontfeature@script:nnn { +\cs_new:Nn \__xpg_add_font_feature_script:nnn +{ \bool_if:nTF{\tl_if_empty_p:n{#2} || \tl_if_empty_p:n{#3}} { % maybe an error ? - \xpg@warning{Asking~ to~ add~ empty~ feature~to~ latin~ font + \xpg@warning{Asking~ to~ add~ empty~ feature~to~ main~ font (Script="#3"~ to~ scripttag~ "#2")} } { \fontspec_if_script:nTF{#2} {\addfontfeature{Script=#3}} { - \tl_set:Nn \l_ffamily_tl {} - \tl_set:Nn \l_ffamilysh_tl { #1 } + \tl_set:Nn \xpg_ffamily_tl {} + \tl_set:Nn \xpg_ffamilysh_tl { #1 } \str_if_eq:nnT { #1 } { rm } { - \tl_set:Nn \l_ffamily_tl { roman } - \tl_set:Nn \l_ffamilysh_tl {} + \tl_set:Nn \xpg_ffamily_tl { roman } + \tl_set:Nn \xpg_ffamilysh_tl {} } \str_if_eq:nnT { #1 } { sf } { - \tl_set:Nn \l_ffamily_tl { sans~ serif } + \tl_set:Nn \xpg_ffamily_tl { sans~ serif } } \str_if_eq:nnT { #1 } { tt } { - \tl_set:Nn \l_ffamily_tl { monospace } + \tl_set:Nn \xpg_ffamily_tl { monospace } } + % Strip font family name for error message + % Courtesy of egreg, https://tex.stackexchange.com/a/613996 + \str_set:Nx \xpg_fname_str { \fontname\font } + % Remove all after : + \regex_replace_once:nnN { \:.* } { } \xpg_fname_str + % ... and all after / + \regex_replace_once:nnN { /.* } { } \xpg_fname_str + % ... and brackets + \regex_replace_once:nnN { \[ } { } \xpg_fname_str + \regex_replace_once:nnN { \] } { } \xpg_fname_str + % ... and extensions + \regex_replace_once:nnN { \.[^\.]* \Z } { } \xpg_fname_str + % ... and, finally, quotation marks + \regex_replace_once:nnN { " } { } \xpg_fname_str \xpg@error{ - The~ current~ latin ~ \l_ffamily_tl\space font~ does~ not~ contain~ the~"#3"~ script!\MessageBreak - Please~ define~\csname\tl_if_empty:nF{#3}{\str_lowercase:n#3}font\l_ffamilysh_tl\endcsname~ + The~ current~ main ~ \xpg_ffamily_tl\space font,~ \xpg_fname_str,~ does~ not~ contain~ the~"#3"~ script!\MessageBreak + Please~ define~\csname\tl_if_empty:nF{#3}{\str_lowercase:n{#3}}font\xpg_ffamilysh_tl\endcsname~ with~ \string\newfontfamily\space command } } } } -\cs_generate_variant:Nn \polyglossia@addfontfeature@script:nnn { non , nno, noo , nVn, nnV, nVV , nxn, nnx, nxx} +\cs_generate_variant:Nn \__xpg_add_font_feature_script:nnn { non , nno, noo , nVn, nnV, nVV , nxn, nnx, nxx} \def\xpg@fontsetup@latin#1{ \begingroup \csgdef{#1@font@rm}{ \cs_if_exist_use:cF{#1font}{ \rmfamilylatin - \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}} - {\prop_item:Nn{\polyglossia@langsetup}{#1/language}} + \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}} } } \csgdef{#1@font@sf}{ \cs_if_exist_use:cF{#1fontsf}{ \sffamilylatin - \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}} - {\prop_item:Nn{\polyglossia@langsetup}{#1/language}} + \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}} } } \csgdef{#1@font@tt}{ \cs_if_exist_use:cF{#1fonttt}{ \ttfamilylatin - \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}} - {\prop_item:Nn{\polyglossia@langsetup}{#1/language}} + \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}} } } \endgroup @@ -4912,9 +5070,9 @@ to track the issues and follow progress. \cs_if_exist_use:cF{#1font} { \providetoggle{#1@use@script@font} - \str_if_eq:nnTF{\prop_item:Nn{\polyglossia@langsetup}{#1/script}}{\prop_item:Nn{\polyglossia@langsetup}{#1/language}} + \str_if_eq:nnTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}}{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}} {\rmfamilylatin} - {\cs_if_exist_use:cTF{\prop_item:Nn{\polyglossia@langsetup}{#1/lcscript} font} + {\cs_if_exist_use:cTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/lcscript} font} { \toggletrue{#1@use@script@font} } @@ -4923,12 +5081,12 @@ to track the issues and follow progress. } } \iftoggle{#1@use@script@font}{}{ - \polyglossia@addfontfeature@script:nxx{rm} - {\prop_item:Nn{\polyglossia@langsetup}{#1/scripttag}} - {\prop_item:Nn{\polyglossia@langsetup}{#1/script}} + \__xpg_add_font_feature_script:nxx{rm} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/scripttag}} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}} }% - \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}} - {\prop_item:Nn{\polyglossia@langsetup}{#1/language}} + \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}} }% \def\familytype{rm} }% @@ -4936,9 +5094,9 @@ to track the issues and follow progress. \cs_if_exist_use:cF{#1fontsf} { \providetoggle{#1@use@script@fontsf} - \str_if_eq:nnTF{\prop_item:Nn{\polyglossia@langsetup}{#1/script}}{\prop_item:Nn{\polyglossia@langsetup}{#1/language}} + \str_if_eq:nnTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}}{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}} {\sffamilylatin} - {\cs_if_exist_use:cTF{\prop_item:Nn{\polyglossia@langsetup}{#1/lcscript} fontsf} + {\cs_if_exist_use:cTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/lcscript} fontsf} { \toggletrue{#1@use@script@fontsf} } @@ -4947,12 +5105,12 @@ to track the issues and follow progress. } } \iftoggle{#1@use@script@fontsf}{}{ - \polyglossia@addfontfeature@script:nxx{sf} - {\prop_item:Nn{\polyglossia@langsetup}{#1/scripttag}} - {\prop_item:Nn{\polyglossia@langsetup}{#1/script}} + \__xpg_add_font_feature_script:nxx{sf} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/scripttag}} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}} }% - \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}} - {\prop_item:Nn{\polyglossia@langsetup}{#1/language}} + \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}} }% \def\familytype{sf} }% @@ -4960,9 +5118,9 @@ to track the issues and follow progress. \cs_if_exist_use:cF{#1fonttt} { \providetoggle{#1@use@script@fonttt} - \str_if_eq:nnTF{\prop_item:Nn{\polyglossia@langsetup}{#1/script}}{\prop_item:Nn{\polyglossia@langsetup}{#1/language}} + \str_if_eq:nnTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}}{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}} {\ttfamilylatin} - {\cs_if_exist_use:cTF{\prop_item:Nn{\polyglossia@langsetup}{#1/lcscript} fonttt} + {\cs_if_exist_use:cTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/lcscript} fonttt} { \toggletrue{#1@use@script@fonttt} } @@ -4971,12 +5129,12 @@ to track the issues and follow progress. } } \iftoggle{#1@use@script@fonttt}{}{ - \polyglossia@addfontfeature@script:nxx{tt} - {\prop_item:Nn{\polyglossia@langsetup}{#1/scripttag}} - {\prop_item:Nn{\polyglossia@langsetup}{#1/script}} + \__xpg_add_font_feature_script:nxx{tt} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/scripttag}} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}} } - \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}} - {\prop_item:Nn{\polyglossia@langsetup}{#1/language}} + \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}} } \def\familytype{tt} } @@ -4987,71 +5145,42 @@ to track the issues and follow progress. %% ensure localization of \markright and \markboth commands %%% THIS IS NOW DISABLED BY DEFAULT -\cs_new_nopar:Nn {\polyglossia@local@marks:n} {} -\cs_new_nopar:Nn {\polyglossia@enable@local@marks:} +\cs_new_nopar:Nn \__xpg_local_marks:n { } +\cs_new_nopar:Nn \__xpg_enable_local_marks: { - \xpg@info{Option:~ localmarks} - \cs_gset_nopar:Nn \polyglossia@local@marks:n - {% - \def\xpg@tmp@lang{##1} - \DeclareRobustCommand\markboth[2]{ - \begingroup - \let\label\relax \let\index\relax \let\glossary\relax - \unrestored@protected@xdef\@themark - {% - {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####1}}} - {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####2}}} - }% - \@temptokena \expandafter{\@themark} - \mark{\the\@temptokena} - \endgroup - \if@nobreak\ifvmode\nobreak\fi\fi - }% - \DeclareRobustCommand\markright[1]{ - \begingroup - \let\label\relax \let\index\relax \let\glossary\relax - \expandafter\@markright\@themark - {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####1}}} - \@temptokena \expandafter{\@themark} - \mark{\the\@temptokena} - \endgroup - \if@nobreak\ifvmode\nobreak\fi\fi - } -% This part seems wrong (see #396 for explanation). Remove after a while. -% \def\@markright####1####2####3{% -% \@temptokena{\protect\@@ensure@maindir{####1}}% -% \unrestored@protected@xdef\@themark{% -% {\the\@temptokena}% -% {\protect\@@ensure@maindir{####3}}% -% }% -% }% - }% + \xpg@info{Option:~ localmarks} + \cs_gset_nopar:Nn \__xpg_local_marks:n + { + \def\xpg@tmp@lang{##1} + \DeclareRobustCommand\markboth[2]{ + \begingroup + \let\label\relax \let\index\relax \let\glossary\relax + \unrestored@protected@xdef\@themark + { + {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####1}}} + {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####2}}} + } + \@temptokena \expandafter{\@themark} + \mark{\the\@temptokena} + \endgroup + \if@nobreak\ifvmode\nobreak\fi\fi + } + \DeclareRobustCommand\markright[1]{ + \begingroup + \let\label\relax \let\index\relax \let\glossary\relax + \expandafter\@markright\@themark + {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####1}}} + \@temptokena \expandafter{\@themark} + \mark{\the\@temptokena} + \endgroup + \if@nobreak\ifvmode\nobreak\fi\fi + } + } } - -% Easy way out – Arthur, 2012-08-01 -\ifcsdef{newXeTeXintercharclass}{ -% to reset the intercharclass of a character to "normal" -\newXeTeXintercharclass\xpg@normalclass %TODO -}{} - -%% when no patterns are available, we use \l@nohyphenation, assigned to 255 -%% (suggestion by Enrico Gregorio) -\sys_if_engine_luatex:TF - { - \@ifundefined{l@nohyphenation} - {\chardef\l@nohyphenation=\directlua{ - tex.sprint(polyglossia.newloader_loaded_languages.nohyphenation)}\relax - } - {} - } - { - \@ifundefined{l@nohyphenation}{\chardef\l@nohyphenation=255 }{} - } - %we call this macro when a gloss file is not found for a given language \def\xpg@nogloss#1{ - \xpg@warning{Neither~ file~ gloss-#1.ldf~ nor file~ gloss-#1.lde~ exists!\MessageBreak + \xpg@warning{File~ gloss-#1.ldf~ do~ not~ exists!\MessageBreak I~ will~ nevertheless~ try~ to~ use~ hyphenation~ patterns~ for~ #1.} \PolyglossiaSetup{#1}{hyphenmins={2,3},hyphennames={#1},fontsetup=true} % the above amounts to: @@ -5070,96 +5199,39 @@ to track the issues and follow progress. \catcode`\@=\xpg@saved@at@catcode } -%% Load a lde file -\cs_new_nopar:Nn \__xpg_gloss_ext: {lde} -\cs_new_nopar:Ne \__xpg_saved_@pkgextension: {\@pkgextension} - -\msg_new:nnn { polyglossia } { directloadgloss } -{ - You~ should~ not~ load~ directly~ the~ gloss~ file. ~ - You~ must~ use~ `\string\setotherlanguage\{#1\}' or `\string\setmainlanguage\{#1\}'. -} -\msg_redirect_name:nnn { polyglossia } { directloadgloss } { critical } -\NewDocumentCommand{\__xpg_ProvidesLanguageDefinitionExtension_error}{m m m m} -{ - \msg_critical:nn { polyglossia } { directloadgloss } -} -% ProvideExplPackage but for language file -\cs_new_eq:NN \ProvidesLanguageDefinitionExtension \__xpg_ProvidesLanguageDefinitionExtension_error -\cs_new_eq:NN \__xpg_saved_ProvidesExplPackage \ProvidesExplPackage -\NewDocumentCommand{\__xpg_ProvidesLanguageDefinitionExtension}{m m m m} -{ - \__xpg_saved_ProvidesExplPackage{#1}{#2}{#3}{#4} - \cs_gset_eq:NN \@pkgextension \__xpg_saved_@pkgextension: - \cs_gset_eq:NN \ProvidesLanguageDefinitionExtension \__xpg_ProvidesLanguageDefinitionExtension_error -} - - -% wrapper for loading a gle file -\NewDocumentCommand{\RequireLanguageDefinitionExtension}{O{} m} -{ - \cs_gset_eq:NN \__xpg_saved_@pkgextension: \@pkgextension - \cs_gset_eq:NN \__xpg_saved_ProvidesExplPackage \ProvidesExplPackage - \cs_gset_eq:NN \@pkgextension \__xpg_gloss_ext: - \cs_gset_eq:NN \ProvidesLanguageDefinitionExtension \__xpg_ProvidesLanguageDefinitionExtension - \RequirePackage[#1]{gloss-#2} - % be paranoiac restore - \cs_gset_eq:NN \@pkgextension \__xpg_saved_@pkgextension: - \cs_gset_eq:NN \__xpg_ProvidesLanguageDefinitionExtension_error \ProvideLanguageDefinitionExtension -} - % try to load a language file -\cs_new:Nn \polyglossia_load_lang_definition:nn { - \file_if_exist:nTF{gloss-#2.lde} - { - \RequireLanguageDefinitionExtension[#1]{#2} - \setkeys{#2}{#1} - } - { - \file_if_exist:nTF{gloss-#2.ldf} - { - % Temporarily force catcode of ~ to 13 since babelsh.def - % requires it. This is needed particularly with LaTeX3 - % packages which force \ExplSyntaxOn (#425) - \protected\edef\xpg@restore@tilde@catcode{\catcode 126 = \the\catcode 126\relax} - \catcode 126 = 13 - \xpg@input{gloss-#2.ldf} - \setkeys{#2}{#1} - % restore former ~ catcode - \xpg@restore@tilde@catcode - } - { - \xpg@nogloss{#2} - } - } -} -\cs_generate_variant:Nn \polyglossia_load_lang_definition:nn { - ee, ef, en, eo, ex, - fe, ff, fn, fo, fx, - ne, nf, no, nx, - oe, of, on, oo, ox, - xe, xf, xn, xo, xx -} +\cs_new:Nn \__xpg_load_lang_definition:nn { + \file_if_exist:nTF{gloss-#2.ldf} + { + % Temporarily force catcode of ~ to 13 since babelsh.def + % requires it. This is needed particularly with LaTeX3 + % packages which force \ExplSyntaxOn (#425) + \protected\edef\xpg@restore@tilde@catcode{\catcode 126 = \the\catcode 126\relax} + \catcode 126 = 13 + \xpg@input{gloss-#2.ldf} + \setkeys{#2}{#1} + % restore former ~ catcode + \xpg@restore@tilde@catcode + } + { + \xpg@nogloss{#2} + } +} +\cs_generate_variant:Nn \__xpg_load_lang_definition:nn { ee } % load a master language from an alias file \newcommand*\xpg@load@master@language[1] { - \file_if_exist:nTF{gloss-#1.lde} - { - \RequireLanguageDefinitionExtension{#1} - } - { - \xpg@input{gloss-#1.ldf} - } + \xpg@input{gloss-#1.ldf} \seq_if_in:NeF \__xpg_langs_loaded {#1} { % define environment and command if not alias \str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#1/target}} {#1} { - \use:c{\prop_item:Nn{\polyglossia@langsetup} + \use:c{\prop_item:Nn{\g_xpg_langsetup_prop} {#1/DefineCommandsCmd}} {#1} } } - \polyglossia@register@language:nn{}{#1} + \__xpg_register_language:nn{}{#1} \seq_gput_right:Nn \__xpg_langs_loaded {#1} } @@ -5170,14 +5242,14 @@ to track the issues and follow progress. \str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#1/target}} {#1} { \exp_args:Ne - \newenvironment {\prop_item:Nn{\polyglossia@langsetup}{#1/envname}} [1] [] + \NewDocumentEnvironment {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/envname}} { O{} } { - \begin{otherlanguage}[##1]{#1} + \otherlanguage [ ##1 ] { #1 } } { - \end{otherlanguage} + \endotherlanguage } - \exp_args:Nc \newcommand {text#1} [2][] + \exp_args:Nc \NewDocumentCommand {text#1} { O{} m } { \__xpg_textlanguage:een{##1}{#1}{##2} } @@ -5198,7 +5270,7 @@ to track the issues and follow progress. % target to self fall back to language table \str_if_eq:eeTF { \prop_item:Ne \__xpg_alias {#1/target} } { #1 } { - \prop_item:Nn{\polyglossia@langsetup} {#1/#2} + \prop_item:Nn{\g_xpg_langsetup_prop} {#1/#2} } % load alias by recursion { @@ -5232,15 +5304,10 @@ to track the issues and follow progress. % get base language -\cs_new:Nn \xpg_alias_base_lang:n { - \str_if_eq:eeTF { \prop_item:Ne \__xpg_alias {#1/target} } { #1 } - { - #1 - } +\cs_new:Nn \xpg_alias_base_lang:n { - \xpg_alias_base_lang:n { \prop_item:Ne \__xpg_alias {#1/target} } + \prop_item:Ne \__xpg_alias {#1/target} } -} \cs_generate_variant:Nn \xpg_alias_base_lang:n {e} \keys_define:nn { polyglossia/alias } @@ -5302,10 +5369,10 @@ to track the issues and follow progress. } \DeclareDocumentEnvironment { #4 } { } { - \begin{otherlanguage}{#4} + \otherlanguage { #4 } } { - \end{otherlanguage} + \endotherlanguage } } \tl_clear_new:N \__xpg_alias_option_tl @@ -5321,19 +5388,20 @@ to track the issues and follow progress. {#4} } -\cs_new:Nn \polyglossia@register@language:nn { +\cs_new:Nn \__xpg_register_language:nn +{ \clist_if_in:NeF \xpg@loaded {#2}{ \clist_gput_right:Ne \xpg@loaded {#2} } % Register the language options - \polyglossia@set@lang@options:nnn {#2} {#1} {@xpg@set@langvariant} + \__xpg_set_language_options:nnn {#2} {#1} {@xpg@set@langvariant} % register babelname - \prop_get:NeN \polyglossia@langsetup {#2/babelname} \l_tmpa_tl + \prop_get:NeN \g_xpg_langsetup_prop {#2/babelname} \l_tmpa_tl \clist_if_in:NeF \xpg@bloaded {\l_tmpa_tl}{ \clist_gput_right:Ne \xpg@bloaded {\l_tmpa_tl} } % register BCP-47 ID - \prop_get:NeN \polyglossia@langsetup {#2/bcp47} \l_tmpa_tl + \prop_get:NeN \g_xpg_langsetup_prop {#2/bcp47} \l_tmpa_tl \clist_if_in:NeF \xpg@bcp@loaded {\l_tmpa_tl}{ \clist_gput_right:Ne \xpg@bcp@loaded {\l_tmpa_tl} } @@ -5350,21 +5418,21 @@ to track the issues and follow progress. } \seq_if_in:NeF \__xpg_langs_loaded {#2} { - \polyglossia_load_lang_definition:nn{#1}{#2} + \__xpg_load_lang_definition:nn{#1}{#2} % define environment and command if not alias \str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#2/target}} {#2} { - \use:c{\prop_item:Ne{\polyglossia@langsetup} + \use:c{\prop_item:Ne{\g_xpg_langsetup_prop} {#2/DefineCommandsCmd}} {#2} } \seq_gput_right:Ne \__xpg_langs_loaded {#2} } - \exp_args:Nee \polyglossia@set@default@language:nn {\xpg_alias_add_to_option_i:nn{#2}{#1}} + \exp_args:Nee \__xpg_set_default_language:nn {\xpg_alias_add_to_option_i:nn{#2}{#1}} {\xpg_alias_base_lang:n{#2}} } -\cs_new:Nn \polyglossia@set@default@language:nn +\cs_new:Nn \__xpg_set_default_language:nn { \gdef\xpg@main@language{#2} \tl_if_blank:nTF {#1} @@ -5373,16 +5441,16 @@ to track the issues and follow progress. } { % Register the language options - \polyglossia@set@lang@options:nnn {#2} {#1} {@xpg@main@langvariant} + \__xpg_set_language_options:nnn {#2} {#1} {@xpg@main@langvariant} } \csgdef{#2@gvar}{\mainlanguagevariant} %% The following settings are for the default language and script % this tells bidi.sty or luabidi.sty that the document is RTL - \__xpg_if_LR_str:eF{\prop_item:Nn{\polyglossia@langsetup}{#2/direction}} + \__xpg_if_LR_str:eF{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/direction}} { \__xpg_setRTLmain: } - \cs_gset_nopar:Nn \polyglossia@AtBeginDocument@selectlanguage: { + \cs_gset_nopar:Nn \__xpg_at_begin_document_selectlanguage: { \selectbackgroundlanguage{#2} \selectlanguage[#1]{#2}% } @@ -5391,24 +5459,24 @@ to track the issues and follow progress. \cs_gset_nopar:Npn \mainlanguagename {#2} % Store babelname of main language (for external packages such as biblatex) - \cs_gset_nopar:Npe \mainbabelname { \prop_item:Nn \polyglossia@langsetup {#2/babelname} } + \cs_gset_nopar:Npe \mainbabelname { \prop_item:Nn \g_xpg_langsetup_prop {#2/babelname} } % Store babelname of current language (for external packages such as biblatex) \cs_gset_eq:NN \babelname \mainbabelname \cs_gset_eq:cc{#2@gbabelname}{babelname}% % Store BCP-47 ID and subtags of main language: % 1. store main.* (sub)tags - \cs_gset_nopar:cpe {bcp47.main.tag} { \prop_item:Nn \polyglossia@langsetup { #2 / bcp47 } } - \cs_gset_nopar:cpe {bcp47.main.language} { \prop_item:Nn \polyglossia@langsetup { #2 / bcp47-language } } - \cs_gset_nopar:cpe {bcp47.main.region} { \prop_item:Nn \polyglossia@langsetup { #2 / bcp47-region } } - \cs_gset_nopar:cpe {bcp47.main.script} { \prop_item:Nn \polyglossia@langsetup { #2 / bcp47-script } } - \cs_gset_nopar:cpe {bcp47.main.variant} { \prop_item:Nn \polyglossia@langsetup { #2 / bcp47-variant } } - \cs_gset_nopar:cpe {bcp47.main.extension.t} { \prop_item:Nn \polyglossia@langsetup { #2 / bcp47extension-t } } - \cs_gset_nopar:cpe {bcp47.main.extension.u} { \prop_item:Nn \polyglossia@langsetup { #2 / bcp47-extension-u } } - \cs_gset_nopar:cpe {bcp47.main.extension.x} { \prop_item:Nn \polyglossia@langsetup { #2 / bcp47-extension-x } } + \cs_gset_nopar:cpe {bcp47.main.tag} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47 } } + \cs_gset_nopar:cpe {bcp47.main.language} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-language } } + \cs_gset_nopar:cpe {bcp47.main.region} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-region } } + \cs_gset_nopar:cpe {bcp47.main.script} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-script } } + \cs_gset_nopar:cpe {bcp47.main.variant} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-variant } } + \cs_gset_nopar:cpe {bcp47.main.extension.t} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47extension-t } } + \cs_gset_nopar:cpe {bcp47.main.extension.u} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-extension-u } } + \cs_gset_nopar:cpe {bcp47.main.extension.x} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-extension-x } } % For casing, we fall back to language if bcp47-casing is not explicitly set - \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \polyglossia@langsetup { #2 / bcp47-casing } } + \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \g_xpg_langsetup_prop { #2 / bcp47-casing } } \str_if_empty:NTF \tmpcasing - { \cs_gset_nopar:cpe {bcp47.main.casing} { \prop_item:Nn \polyglossia@langsetup {#2 / bcp47-language} } } + { \cs_gset_nopar:cpe {bcp47.main.casing} { \prop_item:Nn \g_xpg_langsetup_prop {#2 / bcp47-language} } } { \cs_gset_nopar:cpe {bcp47.main.casing} { \tmpcasing } } % 2. Store lang (sub)tags \cs_gset_eq:cc {bcp47.tag} {bcp47.main.tag} @@ -5430,11 +5498,6 @@ to track the issues and follow progress. \cs_gset_eq:cc{#2@g.bcp47.extension.u}{bcp47.extension.u} \cs_gset_eq:cc{#2@g.bcp47.extension.x}{bcp47.extension.x} \cs_gset_eq:cc{#2@g.bcp47.casing}{bcp47.casing} - % Set luatex main language - \sys_if_engine_luatex:T - { - \directlua{polyglossia.set_default_language('\luaescapestring{\string#2}')}% - } } \DeclareCommandCopy \setmainlanguage \setdefaultlanguage @@ -5519,14 +5582,14 @@ to track the issues and follow progress. \ifcsundef{#2@gvar}{\def\languagevariant{}}{\def\languagevariant{\csuse{#2@gvar}}} }{ % Register the language options - \polyglossia@set@lang@options:nnn {#2} {#1} {@xpg@set@langvariant} - \cs_set_eq:cc{#2@gvar}{languagevariant} + \__xpg_set_language_options:nnn {#2} {#1} {@xpg@set@langvariant} + \cs_set_eq:cc{#2@var}{languagevariant} }% } \newcommand*{\resetdefaultlanguage}[2][]{ - \polyglossia@reset@default@language:nn + \__xpg_reset_default_language:nn {\xpg_alias_add_to_option_i:nn{#2}{#1}} {\xpg_alias_base_lang:n{#2}} } @@ -5537,56 +5600,56 @@ to track the issues and follow progress. \tl_if_blank:nTF {#1}{ % tag (e.g., en-US) \ifcsundef{#2@g.bcp47.tag}{ - \csedef{bcp47.tag}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47 } } + \csedef{bcp47.tag}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47 } } }{ \csedef{bcp47.tag}{\csuse{#2@g.bcp47.tag}} } % language (e.g., en) \ifcsundef{#2@g.bcp47.language}{ - \csedef{bcp47.language}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-language } } + \csedef{bcp47.language}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-language } } }{ \csedef{bcp47.language}{\csuse{#2@g.bcp47.language}} } % region (e.g., US) \ifcsundef{#2@g.bcp47.region}{% - \csedef{bcp47.region}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-region } } + \csedef{bcp47.region}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-region } } }{ \csedef{bcp47.region}{\csuse{#2@g.bcp47.region}}% } % script (e.g., Latn) \ifcsundef{#2@g.bcp47.script}{ - \csedef{bcp47.script}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-script } } + \csedef{bcp47.script}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-script } } }{ \csedef{bcp47.script}{\csuse{#2@g.bcp47.script}} } % variant (e.g., 1996) \ifcsundef{#2@g.bcp47.variant}{ - \csedef{bcp47.variant}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-variant } } + \csedef{bcp47.variant}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-variant } } }{ \csedef{bcp47.variant}{\csuse{#2@g.bcp47.variant}} } % extension.t (tranformation) \ifcsundef{#2@g.bcp47.extension.t}{% - \csedef{bcp47.extension.t}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-t } } + \csedef{bcp47.extension.t}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-t } } }{ \csedef{bcp47.extension.t}{\csuse{#2@g.bcp47.extension.t}} } % extension.u (additional locale information) \ifcsundef{#2@g.bcp47.extension.u}{% - \csedef{bcp47.extension.u}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-u } } + \csedef{bcp47.extension.u}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-u } } }{ \csedef{bcp47.extension.u}{\csuse{#2@g.bcp47.extension.u}} } % extension.x (private use area) \ifcsundef{#2@g.bcp47.extension.x}{ - \csedef{bcp47.extension.x}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-x } } + \csedef{bcp47.extension.x}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-x } } }{ \csedef{bcp47.extension.x}{\csuse{#2@g.bcp47.extension.x}} } % casing \ifcsundef{#2@g.bcp47.casing}{ % For casing, we fall back to language if bcp47-casing is not explicitly set - \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \polyglossia@langsetup { #2 / bcp47-casing } } + \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \g_xpg_langsetup_prop { #2 / bcp47-casing } } \str_if_empty:NTF \tmpcasing { \cs_gset_eq:cc {bcp47.casing} {bcp47.language} } { \csedef{bcp47.casing}{ \tmpcasing } } @@ -5594,25 +5657,25 @@ to track the issues and follow progress. \csedef{bcp47.casing}{\csuse{#2@g.bcp47.casing}} } }{ - \csedef{bcp47.tag}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47 } } - \csedef{bcp47.language}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-language } } - \csedef{bcp47.region}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-region } } - \csedef{bcp47.script}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-script } } - \csedef{bcp47.variant}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-variant } } - \csedef{bcp47.extension.t}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-t } } - \csedef{bcp47.extension.u}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-u } } - \csedef{bcp47.extension.x}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-x } } + \csedef{bcp47.tag}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47 } } + \csedef{bcp47.language}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-language } } + \csedef{bcp47.region}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-region } } + \csedef{bcp47.script}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-script } } + \csedef{bcp47.variant}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-variant } } + \csedef{bcp47.extension.t}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-t } } + \csedef{bcp47.extension.u}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-u } } + \csedef{bcp47.extension.x}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-x } } % For casing, we fall back to language if bcp47-casing is not explicitly set - \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \polyglossia@langsetup { #2 / bcp47-casing } } + \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \g_xpg_langsetup_prop { #2 / bcp47-casing } } \str_if_empty:NTF \tmpcasing { \cs_gset_eq:cc {bcp47.casing} {bcp47.language} } { \csedef{bcp47.casing}{ \tmpcasing } } } } -\cs_new:Nn \polyglossia@reset@default@language:nn +\cs_new:Nn \__xpg_reset_default_language:nn { - \polyglossia@error@iflangnotloaded:n{#2} + \xpg_error_if_lang_not_loaded:n{#2} % disable globalnumbers of previously defined default language \csuse{no\xpg@main@language @globalnumbers} \csuse{noextras@\xpg@main@language}% @@ -5621,7 +5684,7 @@ to track the issues and follow progress. \cs_if_exist_use:c{noextras@bbl@\mainbabelname}% \csuse{init@noextras@\xpg@main@language}% \polyglossia@set@language@name[#1]{#2}% - \__xpg_if_LR_str:eF{\prop_item:Ne{\polyglossia@langsetup}{#2/direction}} + \__xpg_if_LR_str:eF{\prop_item:Ne{\g_xpg_langsetup_prop}{#2/direction}} { \@rlmaintrue\@rl@footnotetrue } @@ -5630,23 +5693,26 @@ to track the issues and follow progress. % Store babelname of current language (for external packages such as biblatex) \tl_if_blank:nTF {#1}{% \ifcsundef{#2@gbabelname}{ - \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}} + \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}} }{ \edef\babelname{\csuse{#2@gbabelname}} } }{ - \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}} + \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}} + } + % Store variant + \tl_if_blank:nTF {#1} + { + \cs_gset_nopar:Npn \mainlanguagevariant {} } + { + % Register the language options + \__xpg_set_language_options:nnn {#2} {#1} {@xpg@main@langvariant} + } + \csgdef{#2@gvar}{\mainlanguagevariant} % Store BCP-47 id of current language \__xpg_store_bcp_info:nn {#1}{#2} } -\cs_generate_variant:Nn \polyglossia@reset@default@language:nn { - ee, ef, en, eo, ex, - fe, ff, fn, fo, fx, - ne, nf, no, nx, - oe, of, on, oo, ox, - xe, xf, xn, xo, xx -} % This saves the normalfont for the latin script since we may change normalfont in other scripts \let\normalfontlatin=\normalfont @@ -5758,56 +5824,51 @@ to track the issues and follow progress. \@afterindentfalse } -\cs_new_nopar:Npn \selectbackgroundlanguage #1 -{% - \polyglossia@select@background@language:n {\xpg_alias_base_lang:n{#1}} +\DeclareDocumentCommand \selectbackgroundlanguage { m } +{ + \__xpg_select_background_language:n {\xpg_alias_base_lang:n{#1}} } -\cs_new:Nn \polyglossia@select@background@language:n + +\cs_new:Nn \__xpg_select_background_language:n { - \str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#1/lcscript}}{latin} + \str_if_eq:eeTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/lcscript}}{latin} {} {\xpg@set@normalfont{#1}} \csuse{#1@globalnumbers} } -\cs_generate_variant:Nn \polyglossia@select@background@language:n {e} +\cs_generate_variant:Nn \__xpg_select_background_language:n {e} % Declare secondary language #2 with language options #1 \DeclareDocumentCommand \setotherlanguage { O{} m } { \seq_if_in:NeF \__xpg_langs_loaded {#2} { - \polyglossia_load_lang_definition:ee {#1} {#2} + \__xpg_load_lang_definition:ee {#1} {#2} % define environment and command if not alias \str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#2/target}} {#2} { - \use:c{\prop_item:Ne{\polyglossia@langsetup} + \use:c{\prop_item:Ne{\g_xpg_langsetup_prop} {#2/DefineCommandsCmd}} {#2} } - \polyglossia@set@other@language:ee {\xpg_alias_add_to_option_i:nn{#2}{#1}} + \__xpg_set_otherlanguage:ee {\xpg_alias_add_to_option_i:nn{#2}{#1}} {\xpg_alias_base_lang:n{#2}} \seq_gput_right:Ne \__xpg_langs_loaded {#2} } } -\cs_new:Nn \polyglossia@set@other@language:nn +\cs_new:Nn \__xpg_set_otherlanguage:nn { - \polyglossia@register@language:nn{#1}{#2} + \__xpg_register_language:nn{#1}{#2} % If a variant is set, store it. \gdef\otherlanguagevariant{} % Register the language options - \polyglossia@set@lang@options:nnn {#2} {#1} {@xpg@other@langvariant} + \__xpg_set_language_options:nnn {#2} {#1} {@xpg@other@langvariant} \csgdef{#2@gvar}{\otherlanguagevariant} - \prop_get:NeNT \polyglossia@langsetup {#2/babelname} \l_tmpa_tl + \prop_get:NeNT \g_xpg_langsetup_prop {#2/babelname} \l_tmpa_tl { \xdef\otherlanguagebabelname{\l_tmpa_tl} } \cs_gset_eq:cc{#2@gbabelname}{otherlanguagebabelname} } -\cs_generate_variant:Nn \polyglossia@set@other@language:nn { - ee, ef, en, eo, ex, - fe, ff, fn, fo, fx, - ne, nf, no, nx, - oe, of, on, oo, ox, - xe, xf, xn, xo, xx -} +\cs_generate_variant:Nn \__xpg_set_otherlanguage:nn { ee } % Store main language variant for external packages @@ -5820,17 +5881,20 @@ to track the issues and follow progress. \clist_map_function:eN { #1 } \setotherlanguage } -\def\common@language{% FIXME is this really needed??? - \ifbool{xpg@hyphenation@disabled}{ - \xdef\xpg@lastlanguage{\z@} +\cs_set:Nn \xpg_common_language: +{% FIXME is this really needed??? + \bool_if:NTF \g__xpg_hyphenation_disabled_bool + { + \tl_gset:Ne \g__xpg_lastlanguage_tl {\z@} }{ \language=\z@ } \lefthyphenmin=\tw@ \righthyphenmin=\thr@@} -\def\xpg@initial@setup{ - \common@language +\cs_set:Nn \xpg_initial_setup: +{ + \xpg_common_language: } @@ -5851,27 +5915,21 @@ to track the issues and follow progress. % for specific (esp. tag-based) aliases % where {} would cause clashes % (e.g., \fi) -\newenvironment{lang}[2][]{ - \begin{otherlanguage}[#1]{#2} -}{ - \end{otherlanguage} -} - -\providecommand{\foreignlanguage}{} +\DeclareEnvironmentCopy { lang } { otherlanguage } % wrapper for foreignlanguage and otherlanguage* \newcommand*\polyglossia@setforeignlanguage[2][]{ \select@@language[#1]{#2} - \polyglossia@register@language:nn{#1}{#2} + \__xpg_register_language:nn{#1}{#2} % Store babelname of current language (for external packages such as biblatex) \tl_if_blank:nTF {#1}{ \ifcsundef{#2@gbabelname}{ - \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}} + \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}} }{ \edef\babelname{\csuse{#2@gbabelname}} } }{ - \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}} + \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}} } % Store BCP-47 id of current language \__xpg_store_bcp_info:nn {#1}{#2} @@ -5888,7 +5946,7 @@ to track the issues and follow progress. } % lowercase options before passing to setkeys -\cs_new:Nn \polyglossia@set@keys:nn +\cs_new:Nn \__xpg_set_keys:nn { \xpg@str@lowercase{\xpg@tmp@opts}{#2} \exp_args:Nne \setkeys{#1}{\xpg@tmp@opts} @@ -5898,10 +5956,10 @@ to track the issues and follow progress. % and \text % #1 option % #2 language -\newcommand{\xpg@otherlanguage}[2][] +\cs_new:Nn \xpg_otherlanguage:nn { - \polyglossia@error@iflangnotloaded:n{#2} - \polyglossia@set@keys:nn{#2}{#1} + \xpg_error_if_lang_not_loaded:n{#2} + \__xpg_set_keys:nn{#2}{#1} \polyglossia@setforeignlanguage[#1]{#2} % Hook for external packages such as biblatex \polyglossia@language@switched @@ -5912,10 +5970,13 @@ to track the issues and follow progress. \cs_if_exist_use:c{inlineextras@bbl@\babelname} } -\renewcommand{\foreignlanguage}[3][] -{ - \__xpg_foreignlanguage:eeen {#1} {#2} {\xpg_alias_base_lang:n{#2}} {#3} -} +\DeclareDocumentCommand { \foreignlanguage } { O{} m m } + { + \__xpg_foreignlanguage:eeen {#1} {#2} {\xpg_alias_base_lang:n{#2}} {#3} + } + +% prevent case changing of language name in \foreignlanguage +\tl_put_right:Nn \l_text_case_exclude_arg_tl { \foreignlanguage } % Direct access to polyglossia@setforeignlanguage % used in captions @@ -5942,7 +6003,7 @@ to track the issues and follow progress. { \cs_set_eq:NN \__xpg_current_matrixlang \l_tmpa_tl } { \cs_set_eq:NN \__xpg_current_matrixlang \mainlanguagename } % Reset the language's/script's font families if the embedding script is latin - \str_if_eq:eeT{\prop_item:Ne{\polyglossia@langsetup}{\__xpg_current_matrixlang/lcscript}}{latin} + \str_if_eq:eeT{\prop_item:Ne{\g_xpg_langsetup_prop}{\__xpg_current_matrixlang/lcscript}}{latin} {\resetfontlatin} % In case a \font is defined, re-activate that \exp_args:Ne \xpg@set@normalfont{\__xpg_current_matrixlang} @@ -5961,8 +6022,8 @@ to track the issues and follow progress. }{ \__xpg_store_matrixlang: \group_begin: - \xpg@otherlanguage[\xpg_alias_add_to_option_i:nn{#2}{#1}]{#3} - \polyglossia@lang@settextdirection:nn{#3}{#4} + \xpg_otherlanguage:nn{ \xpg_alias_add_to_option_i:nn{#2}{#1} }{ #3 } + \__xpg_lang_set_text_direction:nn{#3}{#4} \group_end: \__xpg_reset_to_matrixlang: } @@ -5971,17 +6032,14 @@ to track the issues and follow progress. % otherlanguage* is the environment equivalent of \foreignlanguage -\expandafter\providecommand\csname otherlanguage*\endcsname{} - -\renewenvironment{otherlanguage*}[2][] -{% - \__xpg_store_matrixlang: - \__xpg_otherlanguage:eee {#1} {#2} {\xpg_alias_base_lang:n{#2}} -} -{ - \egroup - \__xpg_reset_to_matrixlang: -} +\DeclareDocumentEnvironment { otherlanguage* } { O{} m } + { + \__xpg_store_matrixlang: + \__xpg_otherlanguage:eee { #1 } { #2 } { \xpg_alias_base_lang:n { #2 } } + }{ + \group_end: + \__xpg_reset_to_matrixlang: + } % internal wrapper % #1 option @@ -5993,14 +6051,12 @@ to track the issues and follow progress. { \msg_show:nnn { polyglossia } { languagenotloaded } {#2} }{ - \xpg@otherlanguage[\xpg_alias_add_to_option_i:nn{#2}{#1}]{#3} - \polyglossia@lang@settextdirection:nn{#3}% + \xpg_otherlanguage:nn{ \xpg_alias_add_to_option_i:nn{#2}{#1} }{ #3 } + \__xpg_lang_set_text_direction:nn{#3}% \bgroup } } -\cs_generate_variant:Nn \__xpg_otherlanguage:nnn { - eee -} +\cs_generate_variant:Nn \__xpg_otherlanguage:nnn { eee } % use by \text and \textlang. Equivalent to \foreignlanguage, % except that dates are localized. @@ -6014,7 +6070,7 @@ to track the issues and follow progress. \cs_generate_variant:Nn \__xpg_textlanguage:nnn {een} % Track whether we are in an inline lang (\text...) switch -\bool_new:N \__xpg_inline_lang +\bool_new:N \l__xpg_inline_lang_bool % use by \text and \textlang. Equivalent to \foreignlanguage, % except that dates are localized. @@ -6031,13 +6087,13 @@ to track the issues and follow progress. { \__xpg_store_matrixlang: \group_begin: - \bool_set_true:N \__xpg_inline_lang - \xpg@otherlanguage[#1]{#3} + \bool_set_true:N \l__xpg_inline_lang_bool + \xpg_otherlanguage:nn{#1}{#3} \csuse{date#3} % This is a hook for external packages which want to access variants % via babelname (such as biblatex) \cs_if_exist_use:c{date@bbl@\babelname} - \polyglossia@lang@settextdirection:nn{#3}{#4} + \__xpg_lang_set_text_direction:nn{#3}{#4} \group_end: \__xpg_reset_to_matrixlang: } @@ -6047,7 +6103,7 @@ to track the issues and follow progress. % Define language-specific hyphenation exceptions \newcommand\pghyphenation[3][]{ \bgroup - \polyglossia@error@iflangnotloaded:n{#2} + \xpg_error_if_lang_not_loaded:n{#2} \setkeys{#2}{#1} \select@@language[#1]{#2} \hyphenation{#3} @@ -6057,6 +6113,7 @@ to track the issues and follow progress. % Hook that other package authors can use % (for instance biblatex): +% Do not rename! \newcommand*{\xpg@hook@setlanguage}{} \def\xpg@pop@language@i#1#2{ @@ -6064,55 +6121,39 @@ to track the issues and follow progress. \xpg@hook@setlanguage \let\emp@langname\@undefined} -\newif\ifxpginauxfile\xpginauxfilefalse - \DeclareDocumentCommand \selectlanguage {s O{} m} -{ - \tl_if_blank:eTF {\xpg_alias_base_lang:n{#3}} { - \ifxpginauxfile - \msg_show:nnn { polyglossia } { languagenolongerloaded } {#3} - \else - \msg_show:nnn { polyglossia } { languagenotloaded } {#3} - \fi - } - { - \polyglossia@select@language:nee {#1} - {\xpg_alias_add_to_option_i:nn{#3}{#2}} - {\xpg_alias_base_lang:n{#3}} + \tl_if_blank:eTF {\xpg_alias_base_lang:n{#3}} + { + \IfBooleanTF { #1 } + { \msg_show:nnn { polyglossia } { languagenolongerloaded } {#3} } + { \msg_show:nnn { polyglossia } { languagenotloaded } {#3} } + }{ + \__xpg_select_language:nee {#1} + { \xpg_alias_add_to_option_i:nn{#3}{#2} } + { \xpg_alias_base_lang:n{#3} } + } } -} -\cs_new:Nn \polyglossia@select@language:nnn +\cs_new:Nn \__xpg_select_language:nnn { - \IfBooleanF {#1} - { - \cs_set_nopar:Npx \xpg@pop@language { \exp_not:N \xpg@pop@language@i {#2} {#3} } - \group_insert_after:N \xpg@pop@language - } % Register the language options - \polyglossia@set@lang@options:nnn {#3} {#2} {@xpg@set@langvariant} - % The starred variant does not write to the aux - \IfBooleanTF#1{% - \xpg@set@language@nonaux[#2]{#3} - } - { - \xpg@set@language@aux[#2]{#3} - } - \sys_if_engine_luatex:T - { - \directlua{polyglossia.select_language('\luaescapestring{\string#3}', - \the\csname l@#3\endcsname)} - } - \polyglossia@register@language:nn{#2}{#3} -} -\cs_generate_variant:Nn \polyglossia@select@language:nnn { - nee, nne + \__xpg_set_language_options:nnn {#3} {#2} {@xpg@set@langvariant} + \IfBooleanTF { #1 } % The starred variant does not write to the aux + { + \xpg@set@language@nonaux[#2]{#3} + }{ + \cs_set_nopar:Npe \xpg@pop@language { \exp_not:N \xpg@pop@language@i {#2} {#3} } + \group_insert_after:N \xpg@pop@language + \xpg@set@language@aux[#2]{#3} + } + \__xpg_register_language:nn{#2}{#3} } +\cs_generate_variant:Nn \__xpg_select_language:nnn { nee, nne } % set lang option #2 for lang #1 -\cs_new:Nn \polyglossia@set@lang@options:nnn +\cs_new:Nn \__xpg_set_language_options:nnn { \tl_if_blank:nF {#2} { @@ -6120,7 +6161,7 @@ to track the issues and follow progress. \clist_map_inline:nn { #2 } { \xpg@parsevariantkeyvalue##1=#3:#1\relax }% - \polyglossia@set@keys:nn{#1}{#2} + \__xpg_set_keys:nn{#1}{#2} } } @@ -6128,7 +6169,7 @@ to track the issues and follow progress. % \iflanguageoption has the info it needs also % for default settings \newcommand*\xpg@initialize@gloss@options[2]{ - \polyglossia@set@lang@options:nnn {#1} {#2} {@xpg@set@langvariant} + \__xpg_set_language_options:nnn {#1} {#2} {@xpg@set@langvariant} } % Record synonymous keyvals such as variant=us and variant=american @@ -6138,6 +6179,8 @@ to track the issues and follow progress. { \prop_new:c {xpg@alias@keyvals@#1@#3} } \prop_put:cnn { xpg@alias@keyvals@#1@#3 } {#2}{#4} + \prop_if_exist:cF { xpg@alias@keyvals@#1@#4 } + { \prop_new:c {xpg@alias@keyvals@#1@#4} } \prop_put:cnn { xpg@alias@keyvals@#1@#4 } {#2}{#3} } @@ -6174,7 +6217,7 @@ to track the issues and follow progress. } -\prg_set_conditional:Npnn \polyglossia@check@option@value:NNN #1#2#3 { p , T , F , TF } +\prg_set_conditional:Npnn \__xpg_check_option_value:NNN #1#2#3 { p , T , F , TF } { \prop_get:cnNTF {xpg@current@options@#1} {#2} \l_tmpa_tl { @@ -6203,8 +6246,9 @@ to track the issues and follow progress. } % Test if option value is set -\newcommand*\iflanguageoption[5]{ - \polyglossia@check@option@value:NNNTF{#1}{#2}{#3}{#4}{#5} +\DeclareDocumentCommand \iflanguageoption { m m m m m } +{ + \__xpg_check_option_value:NNNTF{#1}{#2}{#3}{#4}{#5} } @@ -6216,21 +6260,23 @@ to track the issues and follow progress. } % Test if language is loaded -\newcommand*\iflanguageloaded[3]{ +\DeclareDocumentCommand \iflanguageloaded { m m m } +{ \AddToHook{begindocument/end}{ \clist_if_in:NeTF \xpg@loaded{#1}{#2}{#3} } } % Same for babellanguage is loaded -\newcommand*\ifbabellanguageloaded[3]{ +\DeclareDocumentCommand \ifbabellanguageloaded { m m m } +{ \AddToHook{begindocument/end}{ \clist_if_in:NeTF \xpg@bloaded{#1}{#2}{#3} } } % Same for languageid -\DeclareDocumentCommand \iflanguageidloaded {mmmm} +\DeclareDocumentCommand \iflanguageidloaded { m m m m } { \AddToHook{begindocument/end}{ \str_case:nnTF {#1} @@ -6246,7 +6292,7 @@ to track the issues and follow progress. } % Check if the current font has a given glyph -\prg_new_conditional:Npnn \__polyglossia_if_char:N #1 { TF } +\prg_new_conditional:Npnn \__xpg_if_char:N #1 { TF } { \iffontchar\font\int_from_hex:n { #1 }~ \prg_return_true: @@ -6259,14 +6305,14 @@ to track the issues and follow progress. % and print it, if so, otherwise print the replacement #2 \NewExpandableDocumentCommand \charifavailable { m m } { - \exp_args:Nno \__polyglossia_if_char:NTF { #1 } { \Uchar"#1 } { #2 } + \exp_args:Nno \__xpg_if_char:NTF { #1 } { \Uchar"#1 } { #2 } } % Test if a char (by char code) is available in the current font % if so, do #2, else do #3 -\NewDocumentCommand \IfCharIsAvailableTF { m m m } +\NewExpandableDocumentCommand \IfCharIsAvailableTF { m m m } { - \__polyglossia_if_char:NTF{#1}{#2}{#3} + \__xpg_if_char:NTF { #1 } { #2 } { #3 } } @@ -6279,12 +6325,12 @@ to track the issues and follow progress. % Store babelname of current language (for external packages such as biblatex) \tl_if_blank:nTF {#1}{ \ifcsundef{#2@gbabelname}{ - \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}} + \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}} }{ \edef\babelname{\csuse{#2@gbabelname}} } }{ - \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}} + \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}} } % Store BCP-47 id of current language \__xpg_store_bcp_info:nn {#1}{#2} @@ -6296,29 +6342,14 @@ to track the issues and follow progress. \newcommand*{\xpg@set@language@only@aux}[2][]{ % Write to the aux (toc files) \if@filesw - \ifx#1\\\\ - \addtocontents{toc}{\protect\selectlanguage*{#2}} - \else - \addtocontents{toc}{\protect\selectlanguage*[#1]{#2}} - \fi + \addtocontents{toc}{\selectlanguage*[#1]{#2}} \fi } \AtBeginDocument{ - % Tell polyglossia that we are in an aux file - \if@filesw - \addtocontents{toc}{\protect\xpginauxfiletrue} - \addtocontents{lof}{\protect\xpginauxfiletrue} - \addtocontents{lot}{\protect\xpginauxfiletrue} - \fi -} - -\AtEndDocument{ - % Tell polyglossia that we are no longer in an aux file \if@filesw - \addtocontents{toc}{\protect\xpginauxfilefalse} - \addtocontents{lof}{\protect\xpginauxfilefalse} - \addtocontents{lot}{\protect\xpginauxfilefalse} + \immediate\write\@mainaux + {\ProvideDocumentCommand\selectlanguage{sO{}m}{}} \fi } @@ -6330,49 +6361,22 @@ to track the issues and follow progress. \addtocontents{lot}{\protect\setforeignlanguage{\languagename}} } -% The bidi package swaps the output stream within RTL tables -% (to get the column order right). This also swaps group -% delimiters inserted to the aux files via otherlanguage (see #354). -% We therefore patch bidi and insert a bool that tells us -% whether we are in such a table. -\newbool{xpg@inbiditable} -\AtBeginDocument{ - \@ifpackageloaded{bidi}{ - \patchcmd{\@tabular} - {\if@RTLtab} - {\if@RTLtab\booltrue{xpg@inbiditable}} - {} % success - {\xpg@warning{Patching bidi table failed!}} - }{} -} - % check if language is defined -\prg_set_conditional:Npnn \__xpg_check_if_exist_l@:N #1 { p , T , F , TF }{ - \cs_if_exist:cTF {l@#1} - { - \cs_if_eq:cNTF {l@#1} \l@nohyphenation - { - \prg_return_false: - } - { - % it's possible that sometimes \csname l@#1\endcsname becomes \relax - \cs_if_eq:cNTF {l@#1} \relax - { \prg_return_false: } - { \prg_return_true: } - } - } - { - \prg_return_false: - } -} +\prg_set_conditional:Npnn \__xpg_check_if_exist_l@:n #1 { F, TF } + { + \bool_lazy_and:nnTF + { \cs_if_exist_p:c { l@#1 } } + { ! (\cs_if_eq_p:cc { l@#1 } { l@nohyphenation }) } + { \prg_return_true: } + { \prg_return_false: } + } \def\polyglossia@luatex@load@lang#1{ % if \l@#1 is not properly defined, call lua function newloader(#1), % and assign the returned number to \l@#1 - \__xpg_check_if_exist_l@:NF {#1} + \__xpg_check_if_exist_l@:nF {#1} { - \expandafter\chardef\csname l@#1\endcsname= - \directlua{ tex.sprint(polyglossia.newloader'#1') }\relax + \directlua { token.set_char('l@#1', polyglossia.newloader'#1') } } } @@ -6384,7 +6388,7 @@ to track the issues and follow progress. { \polyglossia@luatex@load@lang{#1} } - \__xpg_check_if_exist_l@:NTF{#1}{#2}{#3} + \__xpg_check_if_exist_l@:nTF{#1}{#2}{#3} } % Set \bbl@hyphendata@\the\language, which is (lua)babel's @@ -6410,20 +6414,20 @@ to track the issues and follow progress. % hook for compatibility with biblatex \select@language{#2} \xpg@set@bbl@hyphendata{\the\language} - \xpg@initial@setup% + \xpg_initial_setup: \select@@language[#1]{#2}% % Hook for external packages such as biblatex \polyglossia@language@switched% - \polyglossia@lang@setpardirection:n{#2} + \__xpg_lang_set_par_direction:n{#2} \csuse{captions#2}% \csuse{date#2}% % These are hooks for external packages which want to access variants % via babelname (such as biblatex) \cs_if_exist_use:c{captions@bbl@\babelname} \cs_if_exist_use:c{date@bbl@\babelname} - \polyglossia@local@marks:n{#2} + \__xpg_local_marks:n{#2} \csuse{init@extras@#2}% - \xpg__indent_first:n { #2 } + \__xpg_indent_first:n { #2 } \csuse{blockextras@#2}% % This is a hook for external packages which want to access variants % via babelname (such as biblatex) @@ -6437,6 +6441,7 @@ to track the issues and follow progress. \def\select@language#1{} % Hook for external packages such as biblatex +% do not rename! \def\polyglossia@language@switched{} % remove all custumization for language #1 @@ -6456,24 +6461,24 @@ to track the issues and follow progress. \noextrascurrent{\languagename} \cs_if_exist_use:c{no\languagename @numbers} \sys_if_engine_xetex:T{ - \__xpg_if_LR_str:eTF{\prop_item:Ne{\polyglossia@langsetup}{\languagename/direction}} + \__xpg_if_LR_str:eTF{\prop_item:Ne{\g_xpg_langsetup_prop}{\languagename/direction}} { - \__xpg_if_LR_str:eF{\prop_item:Nn{\polyglossia@langsetup}{#2/direction}} + \__xpg_if_LR_str:eF{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/direction}} {\setnonlatin} % LTR -> RTL } { - \__xpg_if_LR_str:eT{\prop_item:Nn{\polyglossia@langsetup}{#2/direction}} + \__xpg_if_LR_str:eT{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/direction}} {\setlatin} % RTL -> LTR } } } \polyglossia@set@language@name[#1]{#2} % Set the language's/script's font families - \str_if_eq:eeT{\prop_item:Nn{\polyglossia@langsetup}{#2/lcscript}} {latin} + \str_if_eq:eeT{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/lcscript}} {latin} { \resetfontlatin } - \bool_if:NF \__xpg_inline_lang + \bool_if:NF \l__xpg_inline_lang_bool { % This for non-inline font switches % in case a \font is defined \xpg@set@normalfont{#2} @@ -6482,7 +6487,7 @@ to track the issues and follow progress. \__xpg_use_or_warn:c{#2@language} \cs_if_exist_use:c{#2@numbers} \use@localhyphenmins[#1]{#2} - \xpg__french_spacing:n { #2 } + \__xpg_french_spacing:n { #2 } } @@ -6493,14 +6498,14 @@ to track the issues and follow progress. % \clist_new:N \l_xpg_lang_stack -\cs_new:Nn \polyglossia@stack@language:nn +\cs_new:Nn \__xpg_stack_language:nn { \clist_gpush:Nn \l_xpg_lang_stack {#1:#2} } -\cs_generate_variant:Nn \polyglossia@stack@language:nn {nx} +\cs_generate_variant:Nn \__xpg_stack_language:nn {nx} -\cs_new:Nn \polyglossia@unstack@language:n +\cs_new:Nn \__xpg_unstack_language:n { \clist_gpop:NNTF \l_xpg_lang_stack \l_tmpa_tl { % Stored format = options:language => split: @@ -6510,7 +6515,7 @@ to track the issues and follow progress. % Execute passed command with language and maybe options % and re-set stored language's keys \tl_if_empty:NTF \l_tmpb_tl {\cs_if_exist_use:c{#1}{\l_tmpc_tl}} - {\polyglossia@set@keys:nn{\l_tmpc_tl}{\l_tmpb_tl} + {\__xpg_set_keys:nn{\l_tmpc_tl}{\l_tmpb_tl} \cs_if_exist_use:c{#1}[\l_tmpb_tl]{\l_tmpc_tl} } } @@ -6521,17 +6526,19 @@ to track the issues and follow progress. { % Get real current (pre-switch) options (incl. defaults) \clist_clear_new:N \l_xpg_current_options + \prop_if_exist:cF { xpg@current@options@\languagename } + { \prop_new:c {xpg@current@options@\languagename} } \prop_map_inline:cn {xpg@current@options@\languagename} { \clist_put_right:Nn \l_xpg_current_options {##1=##2} } % Store current (pre-switch) options and language on stack - \polyglossia@stack@language:nx{\clist_use:Nn \l_xpg_current_options {,}}{\languagename} + \__xpg_stack_language:nx{\clist_use:Nn \l_xpg_current_options {,}}{\languagename} \selectlanguage[#1]{#2} } { % restore previous language in aux file and remove closed one from stack - \polyglossia@unstack@language:n{xpg@set@language@only@aux} + \__xpg_unstack_language:n{xpg@set@language@only@aux} } \newcommand{\setlocalhyphenmins}[3]{ @@ -6552,17 +6559,17 @@ to track the issues and follow progress. \edef\xpg@tmp@opts{\xpg_alias_add_to_option_i:nn{#2}{#1}} \edef\xpg@tmp@lang{\xpg_alias_base_lang:n{#2}} \bgroup - \polyglossia@error@iflangnotloaded:n{\xpg@tmp@lang} - \polyglossia@set@keys:nn{\xpg@tmp@lang}{\xpg@tmp@opts} + \xpg_error_if_lang_not_loaded:n{\xpg@tmp@lang} + \__xpg_set_keys:nn{\xpg@tmp@lang}{\xpg@tmp@opts} % Store bcp47.tag@hypenmins \tl_if_blank:nTF {\xpg@tmp@opts}{% \ifcsundef{\csname xpg@tmp@lang\endcsname @g.bcp47.tag}{ - \csedef{tmp@bcp47.tag}{\prop_item:Ne{\polyglossia@langsetup}{ \xpg@tmp@lang / bcp47 }} + \csedef{tmp@bcp47.tag}{\prop_item:Ne{\g_xpg_langsetup_prop}{ \xpg@tmp@lang / bcp47 }} }{ \csedef{tmp@bcp47.tag}{\csuse{#2@g.bcp47.tag}} } }{ - \csedef{tmp@bcp47.tag}{\prop_item:Ne{\polyglossia@langsetup}{ \xpg@tmp@lang / bcp47 }} + \csedef{tmp@bcp47.tag}{\prop_item:Ne{\g_xpg_langsetup_prop}{ \xpg@tmp@lang / bcp47 }} } \csgdef{\csname tmp@bcp47.tag\endcsname @hyphenmins}{{#3}{#4}} \egroup @@ -6571,17 +6578,17 @@ to track the issues and follow progress. % \use@localhypenmins[options]{lang} \newcommand*\use@localhyphenmins[2][]{ \bgroup - \polyglossia@error@iflangnotloaded:n{#2} - \polyglossia@set@keys:nn{#2}{#1} + \xpg_error_if_lang_not_loaded:n{#2} + \__xpg_set_keys:nn{#2}{#1} % Use bcp47.tag@hypenmins \tl_if_blank:nTF {#1}{ \ifcsundef{#2@g.bcp47.tag}{ - \csxdef{tmp@bcp47.tag}{\prop_item:Nn{\polyglossia@langsetup}{ #2 / bcp47 }} + \csxdef{tmp@bcp47.tag}{\prop_item:Nn{\g_xpg_langsetup_prop}{ #2 / bcp47 }} }{ \csxdef{tmp@bcp47.tag}{\csuse{#2@g.bcp47.tag}} } }{ - \csxdef{tmp@bcp47.tag}{\prop_item:Nn{\polyglossia@langsetup}{ #2 / bcp47 }} + \csxdef{tmp@bcp47.tag}{\prop_item:Nn{\g_xpg_langsetup_prop}{ #2 / bcp47 }} } \egroup \ifcsundef{\csname tmp@bcp47.tag\endcsname @hyphenmins}{ @@ -6595,7 +6602,7 @@ to track the issues and follow progress. } \sys_if_engine_luatex:T{ % Set \totalhyphenmin if specified - \prop_get:NeNTF \polyglossia@langsetup {#2/totalhyphenmin} \l_tmpa_tl + \prop_get:NeNTF \g_xpg_langsetup_prop {#2/totalhyphenmin} \l_tmpa_tl { \xpg@info{totalhyphenmin: '\l_tmpa_tl'} \expandafter\hyphenationmin \l_tmpa_tl @@ -6615,7 +6622,7 @@ to track the issues and follow progress. \edef\xpg@tmp@opts{\xpg_alias_add_to_option_i:nn{#2}{#1}} \edef\xpg@tmp@lang{\xpg_alias_base_lang:n{#2}} % Register the language options - \polyglossia@set@lang@options:nnn {\xpg@tmp@lang} {\xpg@tmp@opts} {@xpg@set@langvariant} + \__xpg_set_language_options:nnn {\xpg@tmp@lang} {\xpg@tmp@opts} {@xpg@set@langvariant} % Now switch patterns \__xpg_use_or_warn:c{\use:c{xpg@tmp@lang}@language} % And activate hyphenmins @@ -6624,10 +6631,10 @@ to track the issues and follow progress. { } \AddToHook{begindocument/before}{ - \@ifpackageloaded{bidi}{ + \IfPackageLoadedTF{bidi}{ \providecommand*{\aemph}[1]{$\overline{\hboxR{#1}}$} }{} - \@ifpackageloaded{luabidi}{ + \IfPackageLoadedTF{luabidi}{ \providecommand*{\aemph}[1]{$\overline{\hbox{\RL{#1}}}$} }{} } @@ -6636,7 +6643,7 @@ to track the issues and follow progress. % keys for main package \keys_define:nn { polyglossia } { verbose - .bool_set:N = \l_polyglossia_verbose_bool, + .bool_set:N = \g_xpg_verbose_bool, verbose .default:n = true, % compatibility @@ -6644,7 +6651,7 @@ to track the issues and follow progress. .meta:n = { verbose = false }, localmarks - .bool_set:N = \l_polyglossia_localmarks_bool, + .bool_set:N = \g_xpg_localmarks_bool, localmarks .default:n = true, % compatibility @@ -6652,12 +6659,12 @@ to track the issues and follow progress. .meta:n = { localmarks = false }, babelshorthands - .bool_set:N = \l_polyglossia_babelshorthands_bool, + .legacy_if_set:n = system@babelshorthands, % compatibility babelshorthands .default:n = true, luatexrenderer - .cs_set:Np = \l_polyglossia_luatex_renderer, + .str_set:N = \g_xpg_luatex_renderer_str, luatexrenderer .value_required:n = true, } @@ -6677,14 +6684,14 @@ to track the issues and follow progress. % Set the LuaTeX renderer. As opposed to fontspec, we use Harfbuzz by default. % This can be changed via the luatexrenderer package option. \sys_if_engine_luatex:T{ - \str_if_eq:eeF{\l_polyglossia_luatex_renderer}{none} + \str_if_eq:eeF{\g_xpg_luatex_renderer_str}{none} { - \xpg@info{Setting~ LuaTeX~ font~ renderer~ to~ \l_polyglossia_luatex_renderer} - \exp_args:Ne \defaultfontfeatures{Renderer=\l_polyglossia_luatex_renderer} + \xpg@info{Setting~ LuaTeX~ font~ renderer~ to~ \g_xpg_luatex_renderer_str} + \exp_args:Ne \defaultfontfeatures{Renderer=\g_xpg_luatex_renderer_str} } } -\bool_if:nF \l_polyglossia_verbose_bool { +\bool_if:nF \g_xpg_verbose_bool { \gdef\@latex@info#1{\relax} % no latex info \gdef\@font@info#1{\relax} % no latex font info \gdef\@font@warning#1{\relax} % no latex font warnings @@ -6692,47 +6699,93 @@ to track the issues and follow progress. \gdef\xpg@info#1{\relax} % no polyglossia info } -\bool_if:nT \l_polyglossia_localmarks_bool { - \polyglossia@enable@local@marks: +\bool_if:nT \g_xpg_localmarks_bool { + \__xpg_enable_local_marks: } % Control shorthand (de-)activation % This checks that the shorthand char is only deactivated % if we have activated it ourselves and hence keeps % activation of other packages if no shorthands are used. -\seq_new:N \__xpg_active_shorthands +\seq_new:N \g__xpg_active_shorthands_seq \DeclareDocumentCommand \xpg@activate@shorthands { O{"} } { - \seq_if_in:NnF \__xpg_active_shorthands { #1 } + \seq_if_in:NnF \g__xpg_active_shorthands_seq { #1 } { \bbl@activate{#1} - \seq_gpush:Nn \__xpg_active_shorthands { #1 } + \seq_gpush:Nn \g__xpg_active_shorthands_seq { #1 } } } \DeclareDocumentCommand \xpg@deactivate@shorthands { O{"} } { - \seq_if_in:NnT \__xpg_active_shorthands { #1 } + \seq_if_in:NnT \g__xpg_active_shorthands_seq { #1 } { \cs_if_exist:cT{initiate@active@char}{\bbl@deactivate{#1}} - \seq_remove_all:Nn \__xpg_active_shorthands {#1} + \seq_remove_all:Nn \g__xpg_active_shorthands_seq {#1} } } -% compatibility -\newif\ifsystem@babelshorthands -\bool_if:nTF \l_polyglossia_babelshorthands_bool { - \system@babelshorthandstrue -}{ - \system@babelshorthandsfalse +% Inherit shorthands in other languages +\NewDocumentCommand \inheritbabelshorthands { m m } +{ + \AddToHook{begindocument/before}{ + % Load the involved languages if necessary + % Error if they do not exist + \tl_set:Nn \l__xpg_tmpa_lang_tl { \xpg_alias_base_lang:n{#1} } + \clist_if_in:NeF \xpg@loaded {\l__xpg_tmpa_lang_tl}{ + \file_if_exist:nTF{gloss-\l__xpg_tmpa_lang_tl .ldf} + { \setotherlanguage{#1} } + { \xpg@error{ Source~ language~ #1,~ used~ in~ + \string\inheritbabelshorthands,~ does~ not~ exist } } + } + \tl_set:Nn \l__xpg_tmpb_lang_tl { \xpg_alias_base_lang:n{#2} } + \clist_if_in:NeF \xpg@loaded {\l__xpg_tmpb_lang_tl}{ + \file_if_exist:nTF{gloss-\l__xpg_tmpb_lang_tl .ldf} + { \setotherlanguage{#2} } + { \xpg@error{ Target~ language~ #2,~ used~ in~ + \string\inheritbabelshorthands,~ does~ not~ exist } } + } + % Test whether the requested shorthands exist + \bool_if_exist:NF \l__xpg_no_shorthands_bool + { \bool_new:N \l__xpg_no_shorthands_bool } + \cs_if_exist:cF { \l__xpg_tmpa_lang_tl @shorthands } + { \bool_set_true:N \l__xpg_no_shorthands_bool } + \cs_if_exist:cF { no\l__xpg_tmpa_lang_tl @shorthands } + { \bool_set_true:N \l__xpg_no_shorthands_bool } + \bool_if:nT { \l__xpg_no_shorthands_bool } + { + \xpg@error{ No~ babel~ shorthands~ exist~ for~ language~ #1 } + } + % If so, apply: + \bool_if:nF { \l__xpg_no_shorthands_bool } + { + \exp_args:Ncc \addto { blockextras@\l__xpg_tmpb_lang_tl } { \l__xpg_tmpa_lang_tl @shorthands } + \exp_args:Ncc \addto { inlineextras@\l__xpg_tmpb_lang_tl } { \l__xpg_tmpa_lang_tl @shorthands } + \exp_args:Ncc \addto { noextras@\l__xpg_tmpb_lang_tl } { no\l__xpg_tmpa_lang_tl @shorthands } + } + } } -% -% FIXME these should also be loaded \AtEndOfPackage !!! -\def\xpg@option#1#2{ - \ifcsundef{xpg@main@language}{\setdefaultlanguage}{\setotherlanguage} - [#1]{#2}} +% Activate shorthands of a (loaded) language inline +\NewDocumentCommand \usebabelshorthands { m } +{ + \str_if_eq:nnTF { #1 } { none } + { + % "none" deactivates any shorthands + \languageshorthands{none} + } + { + \tl_set:Nn \l__xpg_tmpa_lang_tl { \xpg_alias_base_lang:n{#1} } + \iflanguageloaded{\l__xpg_tmpa_lang_tl}{ + \use:c{\l__xpg_tmpa_lang_tl @shorthands} + }{ + \xpg@error{ Language~ #1,~ requested~ in~ + \string\startbabelshorthands,~ is~ not~ loaded } + } + } +} % \end{macrocode} % \iffalse @@ -7441,7 +7494,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi} % \begin{macrocode} -- -- polyglossia-punct.lua --- part of polyglossia v1.66 -- 2023/12/11 +-- part of polyglossia v2.0 -- 2024/02/17 -- require('polyglossia-punct') @@ -7508,7 +7561,7 @@ polyglossia.deactivate_french_punct = deactivate_french_punct % \begin{macrocode} -- -- polyglossia-korean.lua --- part of polyglossia v1.66 -- 2023/12/11 +-- part of polyglossia v2.0 -- 2024/02/17 -- local glyph_id = node.id"glyph" @@ -8126,7 +8179,7 @@ prepend_to_callback ("hpack_filter", % \begin{macrocode} -- -- polyglossia-latin.lua --- part of polyglossia v1.66 -- 2023/12/11 +-- part of polyglossia v2.0 -- 2024/02/17 -- require('polyglossia-punct') @@ -8181,7 +8234,7 @@ polyglossia.deactivate_latin_punct = deactivate_latin_punct % \begin{macrocode} -- -- polyglossia-punct.lua --- part of polyglossia v1.66 -- 2023/12/11 +-- part of polyglossia v2.0 -- 2024/02/17 -- require('polyglossia') -- just in case... @@ -8549,7 +8602,7 @@ polyglossia.clear_spaced_characters = clear_spaced_characters % \begin{macrocode} -- -- polyglossia-sanskrit.lua --- part of polyglossia v1.66 -- 2023/12/11 +-- part of polyglossia v2.0 -- 2024/02/17 -- require('polyglossia-punct') @@ -8599,7 +8652,7 @@ polyglossia.deactivate_sanskrit_punct = deactivate_sanskrit_punct % \begin{macrocode} -- -- polyglossia-tibt.lua --- part of polyglossia v1.66 -- 2023/12/11 +-- part of polyglossia v2.0 -- 2024/02/17 -- require('polyglossia') -- just in case... @@ -8702,7 +8755,7 @@ polyglossia.desactivate_tibt_eol = desactivate % \begin{macrocode} -- -- polyglossia.lua --- part of polyglossia v1.66 -- 2023/12/11 +-- part of polyglossia v2.0 -- 2024/02/17 -- local module_name = "polyglossia" @@ -8728,20 +8781,13 @@ end polyglossia = polyglossia or {} local polyglossia = polyglossia -local function select_language(lang, id) - polyglossia.current_language = lang -end - -local function set_default_language(lang, id) - polyglossia.default_language = lang -end - local function load_tibt_eol() require('polyglossia-tibt') end -- predefined l@nohyphenation or LuaTeX's maximum value for \language local nohyphid = luatexbase.registernumber'l@nohyphenation' or 16383 +token.set_char('l@nohyphenation', nohyphid) -- key `nohyphenation` is for .sty file when possibly undefined l@nohyphenation local newloader_loaded_languages = { nohyphenation = nohyphid } @@ -8853,14 +8899,9 @@ local function newloader(langentry) end end -polyglossia.select_language = select_language -polyglossia.set_default_language = set_default_language polyglossia.load_tibt_eol = load_tibt_eol polyglossia.newloader = newloader polyglossia.newloader_loaded_languages = newloader_loaded_languages --- global variables: --- polyglossia.default_language --- polyglossia.current_language % \end{macrocode} % \iffalse % @@ -10020,63 +10061,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % \end{macrocode} % \iffalse % -%<*gloss-latex.lde> -% \fi -% \clearpage -% -% \subsection{gloss-latex.lde} -% \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) -% -\ProvidesLanguageDefinitionExtension{gloss-latex}{2023/12/11}{v1.66}{polyglossia: module for default language} - -\PolyglossiaSetup{latex}{ - bcp47=en-US, - bcp47-language=en, - bcp47-region=US, - bcp47-script=Latn, - hyphennames={english}, - hyphenmins={2,3}, - langtag=ENG, - fontsetup=true, - % ignore command - DefineCommandsCmd={use_none:n} -} - -\def\captionslatex{% - \def\prefacename{Preface}% - \def\refname{References}% - \def\abstractname{Abstract}% - \def\bibname{Bibliography}% - \def\chaptername{Chapter}% - \def\appendixname{Appendix}% - \def\contentsname{Contents}% - \def\listfigurename{List of Figures}% - \def\listtablename{List of Tables}% - \def\indexname{Index}% - \def\figurename{Figure}% - \def\tablename{Table}% - \def\partname{Part}% - \def\enclname{encl}% - \def\ccname{cc}% - \def\headtoname{To}% - \def\pagename{Page}% - \def\seename{see}% - \def\alsoname{see also}% - \def\proofname{Proof}% -} - - -% \end{macrocode} -% \iffalse -% %<*gloss-acadien.ldf> % \fi % \clearpage % % \subsection{gloss-acadien.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-acadien.ldf}[polyglossia: module for Canadian (Acadian) French] @@ -10093,7 +10084,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-aeb.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-aeb.ldf}[polyglossia: module for aeb (Arabic)] @@ -10110,7 +10101,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-af.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-af.ldf}[polyglossia: module for af (Afrikaans)] @@ -10127,7 +10118,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-afb.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-afb.ldf}[polyglossia: module for afb (Arabic)] @@ -10144,7 +10135,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-afrikaans.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-afrikaans.ldf}[polyglossia: module for Afrikaans] @@ -10249,7 +10240,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-albanian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-albanian.ldf}[polyglossia: module for Albanian] @@ -10306,7 +10297,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-am.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-am.ldf}[polyglossia: module for am (Amharic)] @@ -10323,7 +10314,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-american.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-american.ldf}[polyglossia: module for American English] @@ -10340,7 +10331,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-amharic.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-amharic.ldf}[polyglossia: module for Amharic] \PolyglossiaSetup{amharic}{ @@ -10560,7 +10551,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-apd.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-apd.ldf}[polyglossia: module for apd (Arabic)] @@ -10577,7 +10568,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ar-IQ.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ar-IQ.ldf}[polyglossia: module for ar-IQ (Arabic)] @@ -10596,7 +10587,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ar-JO.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ar-JO.ldf}[polyglossia: module for ar-JO (Arabic)] @@ -10615,7 +10606,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ar-LB.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ar-LB.ldf}[polyglossia: module for ar-LB (Arabic)] @@ -10634,7 +10625,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ar-MR.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ar-MR.ldf}[polyglossia: module for ar-MR (Arabic)] @@ -10653,7 +10644,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ar-PS.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ar-PS.ldf}[polyglossia: module for ar-PS (Arabic)] @@ -10672,7 +10663,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ar-SY.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ar-SY.ldf}[polyglossia: module for ar-SY (Arabic)] @@ -10691,7 +10682,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ar-YE.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ar-YE.ldf}[polyglossia: module for ar-YE (Arabic)] @@ -10710,7 +10701,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ar.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ar.ldf}[polyglossia: module for ar (Arabic)] @@ -10727,7 +10718,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-arabic.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-arabic.ldf}[polyglossia: module for Arabic] \RequireBidi @@ -11117,7 +11108,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-armenian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-armenian.ldf}[polyglossia: module for Armenian] @@ -11325,7 +11316,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-arq.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-arq.ldf}[polyglossia: module for arq (Arabic)] @@ -11342,7 +11333,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ary.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ary.ldf}[polyglossia: module for ary (Arabic)] @@ -11359,7 +11350,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-arz.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-arz.ldf}[polyglossia: module for arz (Arabic)] @@ -11376,7 +11367,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ast.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ast.ldf}[polyglossia: module for ast (Asturian)] @@ -11393,7 +11384,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-asturian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % % Translated by Xuacu % Contributed by Kevin Godby @@ -11453,7 +11444,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-australian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-australian.ldf}[polyglossia: module for Australian English] @@ -11470,7 +11461,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-austrian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-austrian.ldf}[polyglossia: module for Austrian German (old spelling)] @@ -11487,7 +11478,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ayl.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ayl.ldf}[polyglossia: module for ayl (Arabic)] @@ -11504,7 +11495,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-bahasa.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-bahasa.ldf}[polyglossia: module for Bahasa Indonesia] @@ -11521,7 +11512,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-bahasai.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-bahasai.ldf}[polyglossia: module for Bahasa Indonesia] @@ -11539,7 +11530,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-bahasam.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-bahasam.ldf}[polyglossia: module for Bahasa Melayu] @@ -11557,7 +11548,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-basque.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-basque.ldf}[polyglossia: module for Basque] \PolyglossiaSetup{basque}{ @@ -11615,7 +11606,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-be-tarask.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-be-tarask.ldf}[polyglossia: module for be-tarask (Belarusian)] @@ -11632,7 +11623,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-be.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-be.ldf}[polyglossia: module for be (Belarusian)] @@ -11649,7 +11640,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-belarusian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-belarusian.ldf}[polyglossia: module for Belarusian] @@ -11977,7 +11968,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-bengali.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % % Translations provided by সাজেদুর রহিম জোয়ারদার % TODO implement Bengali calendar @@ -12118,7 +12109,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-bg.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-bg.ldf}[polyglossia: module for bg (Bulgarian)] @@ -12135,7 +12126,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-bn.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-bn.ldf}[polyglossia: module for bn (Bengali)] @@ -12152,7 +12143,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-bo.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-bo.ldf}[polyglossia: module for bo (Tibetan)] @@ -12169,7 +12160,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-bosnian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-bosnian.ldf}[polyglossia: module for Bosnian] @@ -12233,7 +12224,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-br.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-br.ldf}[polyglossia: module for br (Breton)] @@ -12250,7 +12241,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-brazil.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-brazil.ldf}[polyglossia: module for Brazilian Portuguese] @@ -12269,7 +12260,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-breton.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-breton.ldf}[polyglossia: module for Breton] \PolyglossiaSetup{breton}{ @@ -12377,7 +12368,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-british.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-british.ldf}[polyglossia: module for British English] @@ -12394,7 +12385,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-bs.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-bs.ldf}[polyglossia: module for bs (Bosnian)] @@ -12411,7 +12402,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-bulgarian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-bulgarian.ldf}[polyglossia: module for Bulgarian] \PolyglossiaSetup{bulgarian}{ @@ -12513,7 +12504,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ca.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ca.ldf}[polyglossia: module for ca (Catalan)] @@ -12530,7 +12521,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-canadian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-canadian.ldf}[polyglossia: module for Canadian English] @@ -12547,7 +12538,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-canadien.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-canadien.ldf}[polyglossia: module for Canadian French] @@ -12564,7 +12555,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-catalan.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-catalan.ldf}[polyglossia: module for Catalan] \PolyglossiaSetup{catalan}{ @@ -12733,7 +12724,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-chinese.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-chinese.ldf}[polyglossia: module for Chinese] @@ -13024,7 +13015,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ckb-Arab.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ckb-Arab.ldf}[polyglossia: module for ckb-Arab (Kurdish)] @@ -13041,7 +13032,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ckb-Latn.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ckb-Latn.ldf}[polyglossia: module for ckb-Latn (Kurdish)] @@ -13058,7 +13049,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ckb.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ckb.ldf}[polyglossia: module for ckb (Kurdish)] @@ -13075,7 +13066,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-cop.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-cop.ldf}[polyglossia: module for cop (Coptic)] @@ -13092,7 +13083,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-coptic.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-coptic.ldf}[polyglossia: module for Coptic] \PolyglossiaSetup{coptic}{ @@ -13148,7 +13139,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-croatian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-croatian.ldf}[polyglossia: module for Croatian] \PolyglossiaSetup{croatian}{ @@ -13424,7 +13415,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-cy.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-cy.ldf}[polyglossia: module for cy (Welsh)] @@ -13441,7 +13432,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-cz.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-cz.ldf}[polyglossia: module for cz (Czech)] @@ -13458,7 +13449,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-czech.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-czech.ldf}[polyglossia: module for Czech] @@ -13717,7 +13708,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-da.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-da.ldf}[polyglossia: module for da (Danish)] @@ -13734,7 +13725,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-danish.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-danish.ldf}[polyglossia: module for Danish] \PolyglossiaSetup{danish}{ @@ -13791,7 +13782,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-AT-1901.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-AT-1901.ldf}[polyglossia: module for de-AT-1901 (Austrian German, old spelling)] @@ -13808,7 +13799,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-AT-1996.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-AT-1996.ldf}[polyglossia: module for de-AT-1996 (Austrian German)] @@ -13825,7 +13816,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-AT.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-AT.ldf}[polyglossia: module for de-AT (Austrian German)] @@ -13842,7 +13833,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-CH-1901.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-CH-1901.ldf}[polyglossia: module for de-CH-1901 (Swiss German, old spelling)] @@ -13859,7 +13850,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-CH-1996.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-CH-1996.ldf}[polyglossia: module for de-CH-1996 (Swiss German)] @@ -13876,7 +13867,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-CH.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-CH.ldf}[polyglossia: module for de-CH (Swiss German)] @@ -13893,7 +13884,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-DE-1901.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-DE-1901.ldf}[polyglossia: module for de-DE-1901 (Germany's German, old spelling)] @@ -13910,7 +13901,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-DE-1996.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-DE-1996.ldf}[polyglossia: module for de-DE-1996 (Germany's German)] @@ -13927,7 +13918,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-DE.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-DE.ldf}[polyglossia: module for de-DE (Germany's German)] @@ -13944,7 +13935,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-Latf-AT-1901.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-AT-1901-Latf.ldf}[polyglossia: module for de-AT-1901-Latf (Austrian German, old spelling)] @@ -13961,7 +13952,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-Latf-AT-1996.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-AT-1996-Latf.ldf}[polyglossia: module for de-AT-1996-Latf (Austrian German)] @@ -13978,7 +13969,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-Latf-AT.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-AT-Latf.ldf}[polyglossia: module for de-AT-Latf (Austrian German)] @@ -13995,7 +13986,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-Latf-CH-1901.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-CH-1901-Latf.ldf}[polyglossia: module for de-CH-1901-Latf (Swiss German, old spelling)] @@ -14012,7 +14003,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-Latf-CH-1996.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-CH-1996-Latf.ldf}[polyglossia: module for de-CH-1996-Latf (Swiss German)] @@ -14029,7 +14020,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-Latf-CH.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-CH-Latf.ldf}[polyglossia: module for de-CH-Latf (Swiss German)] @@ -14046,7 +14037,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-Latf-DE-1901.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-DE-1901-Latf.ldf}[polyglossia: module for de-DE-1901-Latf (Germany's German, old spelling)] @@ -14063,7 +14054,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-Latf-DE-1996.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-DE-1996-Latf.ldf}[polyglossia: module for de-DE-1996-Latf (Germany's German)] @@ -14080,7 +14071,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-Latf-DE.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-DE-Latf.ldf}[polyglossia: module for de-DE-Latf (Germany's German)] @@ -14097,7 +14088,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-Latf.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-Latf.ldf}[polyglossia: module for de-Latf (German)] @@ -14114,7 +14105,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de.ldf}[polyglossia: module for de (German)] @@ -14131,7 +14122,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-divehi.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-divehi.ldf}[polyglossia: module for Divehi] @@ -14186,7 +14177,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-dsb.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-dsb.ldf}[polyglossia: module for dsb (Sorbian)] @@ -14203,7 +14194,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-dutch.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-dutch.ldf}[polyglossia: module for Dutch] \PolyglossiaSetup{dutch}{ @@ -14413,7 +14404,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-dv.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-dv.ldf}[polyglossia: module for dv (Divehi)] @@ -14430,7 +14421,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-el-monoton.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-el-monoton.ldf}[polyglossia: module for el-monoton (Greek)] @@ -14447,7 +14438,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-el-polyton.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-el-polyton.ldf}[polyglossia: module for el-polyton (Greek)] @@ -14464,7 +14455,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-el.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-el.ldf}[polyglossia: module for el (Greek)] @@ -14481,7 +14472,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-en-AU.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-en-AU.ldf}[polyglossia: module for en-AU (Australian English)] @@ -14498,7 +14489,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-en-CA.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-en-CA.ldf}[polyglossia: module for en-CA (Canadan English)] @@ -14515,7 +14506,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-en-GB.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-en-GB.ldf}[polyglossia: module for en-GB (British English)] @@ -14532,7 +14523,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-en-NZ.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-en-NZ.ldf}[polyglossia: module for en-NZ (Newzealand English)] @@ -14549,7 +14540,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-en-US.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-en-US.ldf}[polyglossia: module for en-US (American English)] @@ -14566,7 +14557,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-en.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-en.ldf}[polyglossia: module for en (English)] @@ -14583,7 +14574,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-english.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-english.ldf}[polyglossia: module for English] @@ -14794,7 +14785,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-eo.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-eo.ldf}[polyglossia: module for eo (Esperanto)] @@ -14811,7 +14802,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-es-ES.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-es-ES.ldf}[polyglossia: module for es-ES (Spain's Spanish)] @@ -14828,7 +14819,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-es-MX.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-es-MX.ldf}[polyglossia: module for es-MX (Mexican Spanish)] @@ -14845,7 +14836,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-es.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-es.ldf}[polyglossia: module for es (Spanish)] @@ -14862,7 +14853,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-esperanto.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-esperanto.ldf}[polyglossia: module for Esperanto] \PolyglossiaSetup{esperanto}{ @@ -14942,7 +14933,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-estonian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-estonian.ldf}[polyglossia: module for Estonian] \PolyglossiaSetup{estonian}{ @@ -14999,7 +14990,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-et.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-et.ldf}[polyglossia: module for et (Estonian)] @@ -15016,7 +15007,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-eu.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-eu.ldf}[polyglossia: module for eu (Basque)] @@ -15033,7 +15024,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-fa.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-fa.ldf}[polyglossia: module for fa (Persian)] @@ -15050,7 +15041,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-farsi.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-farsi.ldf}[polyglossia: module for Farsi] @@ -15068,7 +15059,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-fi.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-fi.ldf}[polyglossia: module for fi (Finnish)] @@ -15085,7 +15076,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-finnish.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-finnish.ldf}[polyglossia: module for Finnish] \PolyglossiaSetup{finnish}{ @@ -15105,10 +15096,37 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages \define@boolkey{finnish}[finnish@]{babelshorthands}[true]{} -\define@boolkey{finnish}[finnish@]{schoolhyphens}[true]{} +\newif\if@finnish@schoolhyphens +\newif\if@finnish@babelhyphens +\define@choicekey*+{finnish}{hyphens}[\xpg@val\xpg@nr]{default,school,babel}[default]{% + \ifcase\xpg@nr\relax + % default: + \@finnish@schoolhyphensfalse + \@finnish@babelhyphensfalse + \or + % school: + \@finnish@schoolhyphenstrue + \@finnish@babelhyphensfalse + \or + % babel: + \@finnish@schoolhyphensfalse + \@finnish@babelhyphenstrue + \fi + \xpg@info{Option: Finnish, hyphens=\xpg@val}% +}{\xpg@warning{Unknown Finnish hyphens `#1'}} + +% backwards compatibility +\define@boolkey{finnish}[finnish@]{schoolhyphens}[true]{% + \iffinnish@schoolhyphens + \@finnish@schoolhyphenstrue + \@finnish@babelhyphensfalse + \else + \@finnish@schoolhyphensfalse + \fi +} % Register default options -\xpg@initialize@gloss@options{finnish}{babelshorthands=false,schoolhyphens=false} +\xpg@initialize@gloss@options{finnish}{babelshorthands=false,hyphens=default} \ifsystem@babelshorthands \setkeys{finnish}{babelshorthands=true} @@ -15129,7 +15147,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages \declare@shorthand{finnish}{"|}{\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}}{}}% \declare@shorthand{finnish}{""}{\hskip\z@skip}% \declare@shorthand{finnish}{"~}{\textormath{\leavevmode\hbox{-}}{-}}% - \declare@shorthand{finnish}{"=}{\penalty\@M-\hskip\z@skip}% + \declare@shorthand{finnish}{"=}{\hbox{-}\bbl@allowhyphens}% \declare@shorthand{finnish}{"/}{\textormath {\bbl@allowhyphens\discretionary{/}{}{/}\bbl@allowhyphens}{}}% } @@ -15164,7 +15182,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages } \def\finnish@language{% - \iffinnish@schoolhyphens + \if@finnish@schoolhyphens \xpg@ifdefined{schoolfinnish}{% \polyglossia@setup@language@patterns{schoolfinnish}% }{% @@ -15177,6 +15195,28 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages \fi } +% activate babel-style hyphen settings if requested +\AtBeginDocument{% + \if@finnish@babelhyphens + \let\xpg@save@hyphenpenalty\hyphenpenalty% + \let\xpg@save@exhyphenpenalty\exhyphenpenalty% + \let\xpg@save@doublehyphendemerits\doublehyphendemerits% + \let\xpg@save@finalhyphendemerits\finalhyphendemerits% + \addto\blockextras@finnish{% + \hyphenpenalty=30% + \exhyphenpenalty=30% + \doublehyphendemerits=5000% + \finalhyphendemerits=5000% + }% + \addto\noextras@finnish{% + \let\hyphenpenalty\xpg@save@hyphenpenalty% + \let\exhyphenpenalty\xpg@save@exhyphenpenalty% + \let\doublehyphendemerits\xpg@save@doublehyphendemerits% + \let\finalhyphendemerits\xpg@save@finalhyphendemerits% + }% + \fi +} + \def\datefinnish{% \def\today{\number\day.~\ifcase\month\or tammikuuta\or helmikuuta\or maaliskuuta\or huhtikuuta\or @@ -15205,7 +15245,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-fr-CA-u-sd-canb.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-fr-CA-u-sd-canb.ldf}[polyglossia: module for fr-CA-u-sd-canb (Canadian French, Acadian subvariety)] @@ -15222,7 +15262,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-fr-CA.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-fr-CA.ldf}[polyglossia: module for fr-CA (Canadian French)] @@ -15239,7 +15279,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-fr-CH.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-fr-CH.ldf}[polyglossia: module for fr-CH (Swiss French)] @@ -15256,7 +15296,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-fr-FR.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-fr-FR.ldf}[polyglossia: module for fr-FR (France's French)] @@ -15273,7 +15313,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-fr.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-fr.ldf}[polyglossia: module for fr (French)] @@ -15290,7 +15330,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-french.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-french.ldf}[polyglossia: module for French] @@ -15765,8 +15805,6 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages \renewcommand{\labelitemiii}{\french@itemiii}% \renewcommand{\labelitemiv}{\french@itemiv}% }{\xpg@warning{Option 'frenchitemlabels' only supported if French is main language!}}% - \else - \let\@makefntext\xpg@orig@makefntext \fi \@xpg@french@itemlabels@settrue% \fi% @@ -15836,7 +15874,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-friulan.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-friulan.ldf}[polyglossia: module for Friulian] @@ -15853,7 +15891,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-friulian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-friulian.ldf}[polyglossia: module for Friulian] @@ -15939,7 +15977,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-fur.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-fur.ldf}[polyglossia: module for fur (Friulian)] @@ -15956,7 +15994,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ga.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ga.ldf}[polyglossia: module for ga (Gaelic)] @@ -15973,7 +16011,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-gaelic.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-gaelic.ldf}[polyglossia: module for Gaelic] @@ -16103,7 +16141,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-galician.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-galician.ldf}[polyglossia: module for Galician] \PolyglossiaSetup{galician}{ @@ -16160,7 +16198,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-gd.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-gd.ldf}[polyglossia: module for gd (Gaelic)] @@ -16177,7 +16215,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-georgian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-georgian.ldf}[polyglossia: module for Georgian] @@ -16425,7 +16463,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-german.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-german.ldf}[polyglossia: module for German] @@ -16658,6 +16696,11 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages \declare@shorthand{german}{"/}{\textormath {\bbl@allowhyphens\discretionary{/}{}{/}\bbl@allowhyphens}{}}% \def\ck{\allowhyphens\discretionary{k-}{k}{ck}\allowhyphens}% + \def\mkgender{*}% + \declare@shorthand{german}{":}{\nobreak:\bbl@allowhyphens}% + \declare@shorthand{german}{"*}{\nobreak*\bbl@allowhyphens}% + \declare@shorthand{german}{"_}{\nobreak\_\bbl@allowhyphens}% + \declare@shorthand{german}{"x}{\nobreak\mkgender\bbl@allowhyphens}% } \def\nogerman@shorthands{% @@ -16774,7 +16817,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-germanb.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-germanb.ldf}[polyglossia: module for German (old spelling)] @@ -16791,7 +16834,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-gl.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-gl.ldf}[polyglossia: module for gl (Galician)] @@ -16808,7 +16851,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-grc.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-grc.ldf}[polyglossia: module for grc (Greek)] @@ -16825,7 +16868,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-greek.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-greek.ldf}[polyglossia: module for Greek] @@ -17293,7 +17336,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-he.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-he.ldf}[polyglossia: module for he (Hebrew)] @@ -17310,7 +17353,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-hebrew.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-hebrew.ldf}[polyglossia: module for Hebrew] @@ -17484,7 +17527,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-hi.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-hi.ldf}[polyglossia: module for hi (Hindi)] @@ -17501,7 +17544,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-hindi.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % % UTF-8 strings kindly provided by Zdenĕk Wagner, 10-03-2008 % with corrections and additional contributions by Anshuman Pandey @@ -17620,7 +17663,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-hr.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-hr.ldf}[polyglossia: module for hr (Croatian)] @@ -17637,7 +17680,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-hsb.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-hsb.ldf}[polyglossia: module for hsb (Higher Sorbian)] @@ -17654,7 +17697,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-hu.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-hu.ldf}[polyglossia: module for hu (Hungarian)] @@ -17671,7 +17714,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-hungarian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-hungarian.ldf}[polyglossia: module for Hungarian] @@ -18070,7 +18113,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-hy.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-hy.ldf}[polyglossia: module for hy (Armenian)] @@ -18087,7 +18130,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ia.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ia.ldf}[polyglossia: module for ia (Interlingua)] @@ -18104,7 +18147,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-icelandic.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-icelandic.ldf}[polyglossia: module for Icelandic] \PolyglossiaSetup{icelandic}{ @@ -18162,7 +18205,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-id.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-id.ldf}[polyglossia: module for id (Malay)] @@ -18179,7 +18222,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-interlingua.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-interlingua.ldf}[polyglossia: module for Interlingua] \PolyglossiaSetup{interlingua}{ @@ -18237,7 +18280,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-irish.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-irish.ldf}[polyglossia: module for Irish] @@ -18255,7 +18298,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-is.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-is.ldf}[polyglossia: module for is (Icelandic)] @@ -18272,7 +18315,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-it.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-it.ldf}[polyglossia: module for it (Italian)] @@ -18290,7 +18333,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % \subsection{gloss-italian.ldf} % \begin{macrocode} % !TEX encoding = UTF-8 Unicode -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-italian.ldf}[polyglossia: module for Italian] \PolyglossiaSetup{italian}{ @@ -18442,7 +18485,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ja.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ja.ldf}[polyglossia: module for ja (Japanese)] @@ -18459,7 +18502,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-japanese.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-japanese.ldf}[polyglossia: module for Japanese] @@ -18469,6 +18512,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages bcp47-region=JP, bcp47-script=Hrkt, script=CJK, + scripttag=kana, language=Japanese, langtag=JAN, hyphennames={nohyphenation}, @@ -18697,7 +18741,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ka.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ka.ldf}[polyglossia: module for ka (Georgian)] @@ -18715,7 +18759,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % \subsection{gloss-kannada.ldf} % \begin{macrocode} %% gloss-kannada.ldf -%% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +%% Language definition file (part of polyglossia v2.0 -- 2024/02/17) %% %% Copyright 2011 Aravinda VK , %% Shankar Prasad , @@ -18838,7 +18882,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-khmer.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-khmer.ldf}[polyglossia: module for Khmer] \PolyglossiaSetup{khmer}{ @@ -19021,7 +19065,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-km.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-km.ldf}[polyglossia: module for km (Khmer)] @@ -19038,7 +19082,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-kmr-Arab.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-kmr-Arab.ldf}[polyglossia: module for kmr-Arab (Kurdish)] @@ -19055,7 +19099,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-kmr-Latn.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-kmr-Latn.ldf}[polyglossia: module for kmr-Latn (Kurdish)] @@ -19072,7 +19116,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-kmr.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-kmr.ldf}[polyglossia: module for kmr (Kurdish)] @@ -19089,7 +19133,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-kn.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-kn.ldf}[polyglossia: module for kn (Kannada)] @@ -19106,7 +19150,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ko.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ko.ldf}[polyglossia: module for ko (Korean)] @@ -19123,7 +19167,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-korean.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-korean.ldf}[polyglossia: module for Korean] @@ -19603,7 +19647,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ku-Arab.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ku-Arab.ldf}[polyglossia: module for ku-Arab (Kurdish)] @@ -19620,7 +19664,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ku-Latn.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ku-Latn.ldf}[polyglossia: module for ku-Latn (Kurdish)] @@ -19637,7 +19681,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ku.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ku.ldf}[polyglossia: module for ku (Kurdish)] @@ -19654,7 +19698,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-kurdish.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % % Created on September 1, 2019 % Last updated on May 17, 2020 @@ -20151,7 +20195,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-kurmanji.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-kurmanji.ldf}[polyglossia: module for Kurmanji Kurdish] @@ -20168,7 +20212,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-la-x-classic.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-la-xclassic.ldf}[polyglossia: module for la-xclassic (Latin)] @@ -20185,7 +20229,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-la-x-ecclesia.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-la-xecclesiastic.ldf}[polyglossia: module for la-xecclesiastic (Latin)] @@ -20202,7 +20246,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-la-x-medieval.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-la-xmedieval.ldf}[polyglossia: module for la-xmedieval (Latin)] @@ -20219,7 +20263,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-la.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-la.ldf}[polyglossia: module for la (Latin)] @@ -20236,7 +20280,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-lao.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-lao.ldf}[polyglossia: module for Lao] @@ -20341,13 +20385,63 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % \end{macrocode} % \iffalse % +%<*gloss-latex.ldf> +% \fi +% \clearpage +% +% \subsection{gloss-latex.ldf} +% \begin{macrocode} +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) +% +\ProvidesFile{gloss-latex.ldf}[polyglossia: module for default language] + +\PolyglossiaSetup{latex}{ + bcp47=en-US, + bcp47-language=en, + bcp47-region=US, + bcp47-script=Latn, + hyphennames={english}, + hyphenmins={2,3}, + langtag=ENG, + fontsetup=true, + % ignore command + DefineCommandsCmd={use_none:n} +} + +\def\captionslatex{% + \def\prefacename{Preface}% + \def\refname{References}% + \def\abstractname{Abstract}% + \def\bibname{Bibliography}% + \def\chaptername{Chapter}% + \def\appendixname{Appendix}% + \def\contentsname{Contents}% + \def\listfigurename{List of Figures}% + \def\listtablename{List of Tables}% + \def\indexname{Index}% + \def\figurename{Figure}% + \def\tablename{Table}% + \def\partname{Part}% + \def\enclname{encl}% + \def\ccname{cc}% + \def\headtoname{To}% + \def\pagename{Page}% + \def\seename{see}% + \def\alsoname{see also}% + \def\proofname{Proof}% +} + + +% \end{macrocode} +% \iffalse +% %<*gloss-latin.ldf> % \fi % \clearpage % % \subsection{gloss-latin.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-latin.ldf}[polyglossia: module for Latin] @@ -21462,7 +21556,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-latinclassic.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-latinclassic.ldf}[polyglossia: module for classic Latin] @@ -21479,7 +21573,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-latinecclesiastic.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-latinecclesiastic.ldf}[polyglossia: module for ecclesiastic Latin] @@ -21496,7 +21590,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-latinmedieval.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-latinmedieval.ldf}[polyglossia: module for medieval Latin] @@ -21513,7 +21607,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-latvian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-latvian.ldf}[polyglossia: module for Latvian] \PolyglossiaSetup{latvian}{ @@ -21571,7 +21665,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-lithuanian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % % Translated by Paulius Sladkevičius @@ -21653,7 +21747,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-lo.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-lo.ldf}[polyglossia: module for lo (Lao)] @@ -21670,7 +21764,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-lowersorbian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-lowersorbian.ldf}[polyglossia: module for Lower Sorbian] @@ -21687,7 +21781,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-lsorbian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-lsorbian.ldf}[polyglossia: module for Lower Sorbian] @@ -21705,7 +21799,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-lt.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-lt.ldf}[polyglossia: module for lt (Lithuanian)] @@ -21722,7 +21816,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-lv.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-lv.ldf}[polyglossia: module for lv (Latvian)] @@ -21739,7 +21833,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-macedonian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-macedonian.ldf}[polyglossia: module for Macedonian] \PolyglossiaSetup{macedonian}{ @@ -21838,7 +21932,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-magyar.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-magyar.ldf}[polyglossia: module for Hungarian (Magyar)] @@ -21855,7 +21949,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-malay.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-malay.ldf}[polyglossia: module for Malay] @@ -22054,7 +22148,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-malayalam.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-malayalam.ldf}[polyglossia: module for Malayalam] @@ -22124,7 +22218,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-marathi.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % % Translations provided by Abhijit Navale % Ordinals (1-100) added by Niranjan Tambe on 14th December, 2019 @@ -22274,7 +22368,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-mk.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-mk.ldf}[polyglossia: module for mk (Macedonian)] @@ -22291,7 +22385,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ml.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ml.ldf}[polyglossia: module for ml (Malayalam)] @@ -22308,7 +22402,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-mn.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-mn.ldf}[polyglossia: module for mn (Mongolian)] @@ -22325,7 +22419,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-mongolian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-mongolian.ldf}[polyglossia: module for Mongolian] @@ -22564,7 +22658,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-mr.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-mr.ldf}[polyglossia: module for mr (Marathi)] @@ -22581,7 +22675,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-naustrian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-naustrian.ldf}[polyglossia: module for Austrian German (current spelling)] @@ -22598,7 +22692,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-nb.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-nb.ldf}[polyglossia: module for nb (Norwegian)] @@ -22615,7 +22709,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-newzealand.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-newzealand.ldf}[polyglossia: module for Newzealand English] @@ -22632,7 +22726,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ngerman.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ngerman.ldf}[polyglossia: module for German (current spelling)] @@ -22649,7 +22743,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-nko.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-nko.ldf}[Polyglossia: module for N’Ko] \PolyglossiaSetup{nko}{% @@ -22747,7 +22841,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-norsk.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-norsk.ldf}[polyglossia: module for Norwegian (Bokmal)] @@ -22765,7 +22859,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-norwegian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-norwegian.ldf}[polyglossia: module for Norwegian] \PolyglossiaSetup{norwegian}{ @@ -22892,7 +22986,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-nswissgerman.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-nswissgerman.ldf}[polyglossia: module for Swiss German (current spelling)] @@ -22909,7 +23003,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-nynorsk.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-nynorsk.ldf}[polyglossia: module for Norwegian (Nynorsk)] @@ -22927,7 +23021,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-occitan.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % %% %% This is file `gloss-occitan.ldf', @@ -23108,7 +23202,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-odia.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % % Translations provided by ଅଶୋକ ଦାସ୍ and ଅଭିଷେକ ଜେନା % TODO implement Odia calendar @@ -23268,7 +23362,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-or.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-odia.ldf}[polyglossia: module for or (Odia)] @@ -23285,7 +23379,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-pa.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-pa.ldf}[polyglossia: module for pa (Punjabi)] @@ -23302,7 +23396,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-persian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-persian.ldf}[polyglossia: module for Persian] @@ -23543,7 +23637,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % \subsection{gloss-piedmontese.ldf} % \begin{macrocode} % !TEX encoding = UTF-8 Unicode -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-piedmontese.ldf}[2013/02/12 v1.0 polyglossia: module for Piedmontese] \makeatletter @@ -23673,7 +23767,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-polish.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-polish.ldf}[polyglossia: module for Polish] @@ -23932,7 +24026,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-polutonikogreek.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-polutonikogreek.ldf}[polyglossia: module for polytonic Greek] @@ -23949,7 +24043,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-portuges.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-portuges.ldf}[polyglossia: module for Portuguese] @@ -23969,7 +24063,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-portuguese.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-portuguese.ldf}[polyglossia: module for Portuguese] @@ -24200,7 +24294,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-punjabi.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % % UTF-8 strings kindly provided by % Arvinder Singh Kang, <17-11-2022> @@ -24308,7 +24402,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-romanian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-romanian.ldf}[polyglossia: module for Romanian] @@ -24367,7 +24461,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-romansh.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-romansh.ldf}[polyglossia: module for Romansh] \makeatletter @@ -24425,7 +24519,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-russian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-russian.ldf}[polyglossia: module for Russian] @@ -24824,7 +24918,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-sami.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-sami.ldf}[polyglossia: module for Sami] @@ -24928,7 +25022,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-samin.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-samin.ldf}[polyglossia: module for Northern Sami] @@ -24946,7 +25040,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-sanskrit.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-sanskrit.ldf}[polyglossia: module for Sanskrit] @@ -25105,7 +25199,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-scottish.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-scottish.ldf}[polyglossia: module for Scottish Gaelic] @@ -25123,7 +25217,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-serbian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-serbian.ldf}[polyglossia: module for Serbian] %TODO split into gloss-serbiancyr.ldf and gloss-serbianlat.ldf @@ -25546,7 +25640,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-serbianc.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-serbianc.ldf}[polyglossia: module for Serbian (cyrillic)] @@ -25563,7 +25657,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-slovak.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-slovak.ldf}[polyglossia: module for Slovak] @@ -25830,7 +25924,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-slovene.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-slovene.ldf}[polyglossia: module for Slovenian] @@ -25847,7 +25941,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-slovenian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-slovenian.ldf}[polyglossia: module for Slovenian] @@ -25939,7 +26033,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-sorbian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-sorbian.ldf}[polyglossia: module for Sorbian] @@ -26130,7 +26224,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-spanish.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-spanish.ldf}[polyglossia: module for Spanish] @@ -26370,7 +26464,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-spanishmx.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-spanishmx.ldf}[polyglossia: module for Mexican Spanish] @@ -26387,7 +26481,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-swedish.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-swedish.ldf}[polyglossia: module for Swedish] @@ -26452,7 +26546,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-swissgerman.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-swissgerman.ldf}[polyglossia: module for Swiss German (old spelling)] @@ -26469,7 +26563,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-syriac.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-syriac.ldf}[polyglossia: module for Syriac] @@ -26742,7 +26836,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-tamil.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-tamil.ldf}[polyglossia: module for Tamil] @@ -26812,7 +26906,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-telugu.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-telugu.ldf}[polyglossia: module for Telugu] @@ -26885,7 +26979,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-thai.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-thai.ldf}[polyglossia: module for Thai] %% This is partly based on thai-latex for Babel: @@ -27043,7 +27137,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-tibetan.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-tibetan.ldf}[polyglossia: module for Tibetan] %% Copyright 2013 Elie Roux @@ -27269,7 +27363,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-turkish.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-turkish.ldf}[polyglossia: module for Turkish] \RequirePackage{hijrical} @@ -27387,7 +27481,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-turkmen.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-turkmen.ldf}[polyglossia: module for Turkmen] %% Translations provided by Nazar Annagurban @@ -27445,7 +27539,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ug.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ug.ldf}[polyglossia: module for ug (Uyghur)] % BCP 47 tag for Uyghur @@ -27461,7 +27555,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ukrainian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ukrainian.ldf}[polyglossia: module for Ukrainian] % Strings taken from Babel @@ -27760,7 +27854,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-uppersorbian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-uppersorbian.ldf}[polyglossia: module for Upper Sorbian] @@ -27777,7 +27871,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-urdu.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % %%% Adapted from a file contributed by Kamal Abdali \ProvidesFile{gloss-urdu.ldf}[polyglossia: module for Urdu] @@ -28027,7 +28121,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-usorbian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-usorbian.ldf}[polyglossia: module for Upper Sorbian] @@ -28045,7 +28139,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-uyghur.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-uyghur.ldf}[polyglossia: module for Uyghur] %% Translations provided by Osman Tursun (Github Account: neouyghur) @@ -28486,7 +28580,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-vietnamese.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-vietnamese.ldf}[polyglossia: module for Vietnamese] %% Strings contributed by Daniel Owens < dhowens . pmbx . net > @@ -28545,7 +28639,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-welsh.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-welsh.ldf}[polyglossia: module for Welsh] @@ -28645,7 +28739,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-zh-CN.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-zh-CN.ldf}[polyglossia: module for zh-CN (Chinese)] @@ -28662,7 +28756,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-zh-TW.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-zh-TW.ldf}[polyglossia: module for zh-TW (Chinese)] @@ -28856,7 +28950,7 @@ U+0039 <> U+0E59 ; % \begin{macrocode} -- -- polyglossia-punct.lua --- part of polyglossia v1.66 -- 2023/12/11 +-- part of polyglossia v2.0 -- 2024/02/17 -- require('polyglossia-punct') @@ -28923,7 +29017,7 @@ polyglossia.deactivate_french_punct = deactivate_french_punct % \begin{macrocode} -- -- polyglossia-korean.lua --- part of polyglossia v1.66 -- 2023/12/11 +-- part of polyglossia v2.0 -- 2024/02/17 -- local glyph_id = node.id"glyph" @@ -29541,7 +29635,7 @@ prepend_to_callback ("hpack_filter", % \begin{macrocode} -- -- polyglossia-latin.lua --- part of polyglossia v1.66 -- 2023/12/11 +-- part of polyglossia v2.0 -- 2024/02/17 -- require('polyglossia-punct') @@ -29596,7 +29690,7 @@ polyglossia.deactivate_latin_punct = deactivate_latin_punct % \begin{macrocode} -- -- polyglossia-punct.lua --- part of polyglossia v1.66 -- 2023/12/11 +-- part of polyglossia v2.0 -- 2024/02/17 -- require('polyglossia') -- just in case... @@ -29964,7 +30058,7 @@ polyglossia.clear_spaced_characters = clear_spaced_characters % \begin{macrocode} -- -- polyglossia-sanskrit.lua --- part of polyglossia v1.66 -- 2023/12/11 +-- part of polyglossia v2.0 -- 2024/02/17 -- require('polyglossia-punct') @@ -30014,7 +30108,7 @@ polyglossia.deactivate_sanskrit_punct = deactivate_sanskrit_punct % \begin{macrocode} -- -- polyglossia-tibt.lua --- part of polyglossia v1.66 -- 2023/12/11 +-- part of polyglossia v2.0 -- 2024/02/17 -- require('polyglossia') -- just in case... @@ -30117,7 +30211,7 @@ polyglossia.desactivate_tibt_eol = desactivate % \begin{macrocode} -- -- polyglossia.lua --- part of polyglossia v1.66 -- 2023/12/11 +-- part of polyglossia v2.0 -- 2024/02/17 -- local module_name = "polyglossia" @@ -30143,20 +30237,13 @@ end polyglossia = polyglossia or {} local polyglossia = polyglossia -local function select_language(lang, id) - polyglossia.current_language = lang -end - -local function set_default_language(lang, id) - polyglossia.default_language = lang -end - local function load_tibt_eol() require('polyglossia-tibt') end -- predefined l@nohyphenation or LuaTeX's maximum value for \language local nohyphid = luatexbase.registernumber'l@nohyphenation' or 16383 +token.set_char('l@nohyphenation', nohyphid) -- key `nohyphenation` is for .sty file when possibly undefined l@nohyphenation local newloader_loaded_languages = { nohyphenation = nohyphid } @@ -30268,14 +30355,9 @@ local function newloader(langentry) end end -polyglossia.select_language = select_language -polyglossia.set_default_language = set_default_language polyglossia.load_tibt_eol = load_tibt_eol polyglossia.newloader = newloader polyglossia.newloader_loaded_languages = newloader_loaded_languages --- global variables: --- polyglossia.default_language --- polyglossia.current_language % \end{macrocode} % \iffalse % diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-acadien.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-acadien.ldf index cbdc35a43da..920b4e7be1b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-acadien.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-acadien.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-acadien.ldf}[polyglossia: module for Canadian (Acadian) French] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-aeb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-aeb.ldf index bc1e1dc8cde..010a2bbcee1 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-aeb.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-aeb.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-aeb.ldf}[polyglossia: module for aeb (Arabic)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-af.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-af.ldf index 2d63fee2dd9..482f0bc3659 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-af.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-af.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-af.ldf}[polyglossia: module for af (Afrikaans)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-afb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-afb.ldf index 1614779feac..9dfbc8bb33d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-afb.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-afb.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-afb.ldf}[polyglossia: module for afb (Arabic)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-afrikaans.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-afrikaans.ldf index 80e3e1148b3..343f4829bfa 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-afrikaans.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-afrikaans.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-afrikaans.ldf}[polyglossia: module for Afrikaans] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf index 21df993a19a..003e567fe45 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-albanian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-albanian.ldf}[polyglossia: module for Albanian] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-am.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-am.ldf index c40820c616e..f066518a653 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-am.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-am.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-am.ldf}[polyglossia: module for am (Amharic)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-american.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-american.ldf index 2c04cef197f..e85d3b8c902 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-american.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-american.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-american.ldf}[polyglossia: module for American English] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf index 54f241e46f7..dc96f89a876 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-amharic.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-amharic.ldf}[polyglossia: module for Amharic] \PolyglossiaSetup{amharic}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-apd.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-apd.ldf index 234bad64dbe..83bcbc38cef 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-apd.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-apd.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-apd.ldf}[polyglossia: module for apd (Arabic)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-IQ.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-IQ.ldf index 4010aedd6a1..72670ba49dd 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-IQ.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-IQ.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ar-IQ.ldf}[polyglossia: module for ar-IQ (Arabic)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-JO.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-JO.ldf index ab3760e75ab..eb3254224a5 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-JO.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-JO.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ar-JO.ldf}[polyglossia: module for ar-JO (Arabic)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-LB.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-LB.ldf index bf52d9a9b51..c5b9b3bcaf6 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-LB.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-LB.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ar-LB.ldf}[polyglossia: module for ar-LB (Arabic)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-MR.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-MR.ldf index 34d951e8875..a8e9cdcc83d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-MR.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-MR.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ar-MR.ldf}[polyglossia: module for ar-MR (Arabic)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-PS.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-PS.ldf index 94c2caaaae9..7d2dfa22ebd 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-PS.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-PS.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ar-PS.ldf}[polyglossia: module for ar-PS (Arabic)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-SY.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-SY.ldf index 4db4d729b4a..359d20bb47a 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-SY.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-SY.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ar-SY.ldf}[polyglossia: module for ar-SY (Arabic)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-YE.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-YE.ldf index 12da7077ffa..8ac5d0af392 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-YE.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar-YE.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ar-YE.ldf}[polyglossia: module for ar-YE (Arabic)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar.ldf index 9b0749133c2..96d48a57977 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ar.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ar.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ar.ldf}[polyglossia: module for ar (Arabic)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf index dd1d3c2d744..1551b9840db 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-arabic.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-arabic.ldf}[polyglossia: module for Arabic] \RequireBidi diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf index 8eccdcd5600..79140568309 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-armenian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-armenian.ldf}[polyglossia: module for Armenian] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-arq.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-arq.ldf index 8fa6b9e7f77..63e98620b80 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-arq.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-arq.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-arq.ldf}[polyglossia: module for arq (Arabic)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ary.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ary.ldf index 235264b95e6..3259f0abc1d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ary.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ary.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ary.ldf}[polyglossia: module for ary (Arabic)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-arz.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-arz.ldf index 130b2e5ca8d..58dc621dd22 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-arz.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-arz.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-arz.ldf}[polyglossia: module for arz (Arabic)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ast.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ast.ldf index 7df66ccfed9..e0c6eb1b5b8 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ast.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ast.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ast.ldf}[polyglossia: module for ast (Asturian)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf index b7ea937e96c..082d01a6555 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-asturian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % % Translated by Xuacu % Contributed by Kevin Godby diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-australian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-australian.ldf index fe72a54ea41..9f3dcc46fed 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-australian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-australian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-australian.ldf}[polyglossia: module for Australian English] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-austrian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-austrian.ldf index 88bcbaa507e..601463a06d5 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-austrian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-austrian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-austrian.ldf}[polyglossia: module for Austrian German (old spelling)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ayl.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ayl.ldf index 7e5c477d996..60225d31b8a 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ayl.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ayl.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ayl.ldf}[polyglossia: module for ayl (Arabic)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasa.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasa.ldf index e8f003f51f7..2f19e7ddfd0 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasa.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasa.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-bahasa.ldf}[polyglossia: module for Bahasa Indonesia] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf index 833c447a1af..c1f838324a3 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasai.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-bahasai.ldf}[polyglossia: module for Bahasa Indonesia] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf index e4acd501c1b..532c40cb1af 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bahasam.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-bahasam.ldf}[polyglossia: module for Bahasa Melayu] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf index 4f51b99e939..38c76de7f20 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-basque.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-basque.ldf}[polyglossia: module for Basque] \PolyglossiaSetup{basque}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-be-tarask.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-be-tarask.ldf index 343b7b3b295..562e94ee352 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-be-tarask.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-be-tarask.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-be-tarask.ldf}[polyglossia: module for be-tarask (Belarusian)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-be.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-be.ldf index 4fb7a9331fd..576db779615 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-be.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-be.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-be.ldf}[polyglossia: module for be (Belarusian)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-belarusian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-belarusian.ldf index f3c383b32db..83f531e4a8e 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-belarusian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-belarusian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-belarusian.ldf}[polyglossia: module for Belarusian] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf index e1d3a18a310..b03007016f6 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bengali.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % % Translations provided by সাজেদুর রহিম জোয়ারদার % TODO implement Bengali calendar diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bg.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bg.ldf index a9775fdc23a..d4450a9a8ed 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bg.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bg.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-bg.ldf}[polyglossia: module for bg (Bulgarian)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bn.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bn.ldf index 69640dd3b09..9e94a94e1ab 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bn.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bn.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-bn.ldf}[polyglossia: module for bn (Bengali)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bo.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bo.ldf index 018a380252e..5427d29e1b1 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bo.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bo.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-bo.ldf}[polyglossia: module for bo (Tibetan)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bosnian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bosnian.ldf index 3810781eda6..9440fd4a943 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bosnian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bosnian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-bosnian.ldf}[polyglossia: module for Bosnian] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-br.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-br.ldf index 7c147a161ae..61504cfb60f 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-br.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-br.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-br.ldf}[polyglossia: module for br (Breton)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf index 72191333715..01cd3463b9c 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-brazil.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-brazil.ldf}[polyglossia: module for Brazilian Portuguese] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf index f6ac160947b..833130ee297 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-breton.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-breton.ldf}[polyglossia: module for Breton] \PolyglossiaSetup{breton}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-british.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-british.ldf index e091feec5ce..f5099652292 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-british.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-british.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-british.ldf}[polyglossia: module for British English] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bs.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bs.ldf index ac9c081dacb..804947341b9 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bs.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bs.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-bs.ldf}[polyglossia: module for bs (Bosnian)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf index 57f2fa796fb..2737d157f7b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-bulgarian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-bulgarian.ldf}[polyglossia: module for Bulgarian] \PolyglossiaSetup{bulgarian}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ca.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ca.ldf index 39931aec1dd..8f14e67ccae 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ca.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ca.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ca.ldf}[polyglossia: module for ca (Catalan)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-canadian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-canadian.ldf index 4dcbe19a918..e1f1ae0f369 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-canadian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-canadian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-canadian.ldf}[polyglossia: module for Canadian English] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-canadien.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-canadien.ldf index 55bb71ace03..583fa6d5af4 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-canadien.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-canadien.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-canadien.ldf}[polyglossia: module for Canadian French] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf index 9ce8be21060..3eb91f5c5ac 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-catalan.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-catalan.ldf}[polyglossia: module for Catalan] \PolyglossiaSetup{catalan}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-chinese.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-chinese.ldf index 5da30430e54..c9c200aff8d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-chinese.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-chinese.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-chinese.ldf}[polyglossia: module for Chinese] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Arab.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Arab.ldf index 2e84c614df3..09984efd133 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Arab.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Arab.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ckb-Arab.ldf}[polyglossia: module for ckb-Arab (Kurdish)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Latn.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Latn.ldf index ffb125a0799..571925619b4 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Latn.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb-Latn.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ckb-Latn.ldf}[polyglossia: module for ckb-Latn (Kurdish)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb.ldf index 448b58b2310..bb64479412f 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ckb.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ckb.ldf}[polyglossia: module for ckb (Kurdish)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-cop.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-cop.ldf index b0ff38412f2..2d442eecf6c 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-cop.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-cop.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-cop.ldf}[polyglossia: module for cop (Coptic)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf index 7955c61c1a6..6e480fa7b0b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-coptic.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-coptic.ldf}[polyglossia: module for Coptic] \PolyglossiaSetup{coptic}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf index 4e572afa600..137a4311d59 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-croatian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-croatian.ldf}[polyglossia: module for Croatian] \PolyglossiaSetup{croatian}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-cy.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-cy.ldf index 73a2c4a412b..8b9de0cdef7 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-cy.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-cy.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-cy.ldf}[polyglossia: module for cy (Welsh)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-cz.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-cz.ldf index b02e262d587..43916fb8779 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-cz.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-cz.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-cz.ldf}[polyglossia: module for cz (Czech)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf index 47622c04120..0be4ee3f659 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-czech.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-czech.ldf}[polyglossia: module for Czech] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-da.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-da.ldf index 2346fbd4bd9..cd998d42b50 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-da.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-da.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-da.ldf}[polyglossia: module for da (Danish)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf index 633d8d55e7c..6dd33271ca0 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-danish.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-danish.ldf}[polyglossia: module for Danish] \PolyglossiaSetup{danish}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1901.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1901.ldf index 521e6540b2a..ce6c0043237 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1901.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1901.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-AT-1901.ldf}[polyglossia: module for de-AT-1901 (Austrian German, old spelling)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1996.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1996.ldf index 5c9a54682af..53e41df278a 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1996.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT-1996.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-AT-1996.ldf}[polyglossia: module for de-AT-1996 (Austrian German)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT.ldf index f520ddf0027..7495e2ceb53 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-AT.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-AT.ldf}[polyglossia: module for de-AT (Austrian German)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1901.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1901.ldf index 43d31af4bba..f8f54b6bb94 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1901.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1901.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-CH-1901.ldf}[polyglossia: module for de-CH-1901 (Swiss German, old spelling)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1996.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1996.ldf index 450627b4ddc..391d515a5f7 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1996.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH-1996.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-CH-1996.ldf}[polyglossia: module for de-CH-1996 (Swiss German)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH.ldf index 10ab4e55ddd..ce53d8f1c7e 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-CH.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-CH.ldf}[polyglossia: module for de-CH (Swiss German)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1901.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1901.ldf index 3c0d6422920..5afa7ba6948 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1901.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1901.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-DE-1901.ldf}[polyglossia: module for de-DE-1901 (Germany's German, old spelling)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1996.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1996.ldf index 40b320b71dc..80645be2c4f 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1996.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE-1996.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-DE-1996.ldf}[polyglossia: module for de-DE-1996 (Germany's German)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE.ldf index ae79891e83f..7f5eff27fe2 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-DE.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-DE.ldf}[polyglossia: module for de-DE (Germany's German)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1901.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1901.ldf index 580062bad81..6a07a603d9b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1901.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1901.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-AT-1901-Latf.ldf}[polyglossia: module for de-AT-1901-Latf (Austrian German, old spelling)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1996.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1996.ldf index 99088ef60ea..55656240902 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1996.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT-1996.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-AT-1996-Latf.ldf}[polyglossia: module for de-AT-1996-Latf (Austrian German)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT.ldf index cf5c8e0b4b2..ac96d06a42a 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-AT.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-AT-Latf.ldf}[polyglossia: module for de-AT-Latf (Austrian German)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1901.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1901.ldf index a8015e4fe04..21fb6b168f0 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1901.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1901.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-CH-1901-Latf.ldf}[polyglossia: module for de-CH-1901-Latf (Swiss German, old spelling)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1996.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1996.ldf index 0e466776d9a..f155a3caa59 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1996.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH-1996.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-CH-1996-Latf.ldf}[polyglossia: module for de-CH-1996-Latf (Swiss German)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH.ldf index 52408ab1149..de80541d110 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-CH.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-CH-Latf.ldf}[polyglossia: module for de-CH-Latf (Swiss German)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1901.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1901.ldf index 49533dd176f..781d5d23a29 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1901.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1901.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-DE-1901-Latf.ldf}[polyglossia: module for de-DE-1901-Latf (Germany's German, old spelling)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1996.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1996.ldf index d7d2748796d..05fc1458955 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1996.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE-1996.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-DE-1996-Latf.ldf}[polyglossia: module for de-DE-1996-Latf (Germany's German)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE.ldf index e4af9ed58c5..bb07d638cfc 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf-DE.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-DE-Latf.ldf}[polyglossia: module for de-DE-Latf (Germany's German)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf.ldf index fe590d5b3e8..8b7ef431616 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de-Latf.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de-Latf.ldf}[polyglossia: module for de-Latf (German)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-de.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-de.ldf index 01b1c85f96c..37710694e9a 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-de.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-de.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-de.ldf}[polyglossia: module for de (German)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf index d94a15d242b..c185501587c 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-divehi.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-divehi.ldf}[polyglossia: module for Divehi] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-dsb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-dsb.ldf index 4627954ae4b..f7884586b93 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-dsb.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-dsb.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-dsb.ldf}[polyglossia: module for dsb (Sorbian)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf index d8c95e75951..8c33f3cf15c 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-dutch.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-dutch.ldf}[polyglossia: module for Dutch] \PolyglossiaSetup{dutch}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-dv.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-dv.ldf index ff209fde4d1..31b087d1fca 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-dv.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-dv.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-dv.ldf}[polyglossia: module for dv (Divehi)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-el-monoton.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-el-monoton.ldf index 4ddaa6136d9..390e7c8342d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-el-monoton.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-el-monoton.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-el-monoton.ldf}[polyglossia: module for el-monoton (Greek)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-el-polyton.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-el-polyton.ldf index 644e74ce5eb..43964c518e3 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-el-polyton.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-el-polyton.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-el-polyton.ldf}[polyglossia: module for el-polyton (Greek)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-el.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-el.ldf index f1d4c6a76e0..a6f228adc34 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-el.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-el.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-el.ldf}[polyglossia: module for el (Greek)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-AU.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-AU.ldf index 59ab8cd3100..edf161d7911 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-AU.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-AU.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-en-AU.ldf}[polyglossia: module for en-AU (Australian English)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-CA.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-CA.ldf index b93792a8fee..9379f38093b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-CA.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-CA.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-en-CA.ldf}[polyglossia: module for en-CA (Canadan English)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-GB.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-GB.ldf index 6a7101bfc48..e3787c557e1 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-GB.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-GB.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-en-GB.ldf}[polyglossia: module for en-GB (British English)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-NZ.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-NZ.ldf index c11225a4f18..eacd262753e 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-NZ.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-NZ.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-en-NZ.ldf}[polyglossia: module for en-NZ (Newzealand English)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-US.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-US.ldf index ac580ec3649..aa19f5c5e78 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-en-US.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-en-US.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-en-US.ldf}[polyglossia: module for en-US (American English)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-en.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-en.ldf index 1e5150cc2f3..91c64b2727b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-en.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-en.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-en.ldf}[polyglossia: module for en (English)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf index ea690cbe91d..5987a5dd49a 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-english.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-english.ldf}[polyglossia: module for English] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-eo.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-eo.ldf index 952fadd701a..ed3d153f4b3 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-eo.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-eo.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-eo.ldf}[polyglossia: module for eo (Esperanto)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-es-ES.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-es-ES.ldf index 5586124aa86..827a78c3897 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-es-ES.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-es-ES.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-es-ES.ldf}[polyglossia: module for es-ES (Spain's Spanish)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-es-MX.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-es-MX.ldf index 828029596cd..4fa24b8ab82 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-es-MX.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-es-MX.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-es-MX.ldf}[polyglossia: module for es-MX (Mexican Spanish)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-es.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-es.ldf index 151cf49de19..7d6473cb46a 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-es.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-es.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-es.ldf}[polyglossia: module for es (Spanish)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf index 6a87e95b2e6..9734470cad2 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-esperanto.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-esperanto.ldf}[polyglossia: module for Esperanto] \PolyglossiaSetup{esperanto}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf index 87fe1f89080..096cf422d45 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-estonian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-estonian.ldf}[polyglossia: module for Estonian] \PolyglossiaSetup{estonian}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-et.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-et.ldf index b160b17ce54..3abfa391709 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-et.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-et.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-et.ldf}[polyglossia: module for et (Estonian)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-eu.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-eu.ldf index a40484f9f16..ff9f45ac7d3 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-eu.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-eu.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-eu.ldf}[polyglossia: module for eu (Basque)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fa.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fa.ldf index 03dcffdd572..d79cce2c0e9 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fa.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fa.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-fa.ldf}[polyglossia: module for fa (Persian)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf index e5a07d0f933..4ca04dfbbee 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-farsi.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-farsi.ldf}[polyglossia: module for Farsi] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fi.ldf index 7666aeab648..04a2ecbfd8b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fi.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fi.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-fi.ldf}[polyglossia: module for fi (Finnish)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf index 16d75c4192c..106e8a2be1e 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-finnish.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-finnish.ldf}[polyglossia: module for Finnish] \PolyglossiaSetup{finnish}{ @@ -18,10 +18,37 @@ \define@boolkey{finnish}[finnish@]{babelshorthands}[true]{} -\define@boolkey{finnish}[finnish@]{schoolhyphens}[true]{} +\newif\if@finnish@schoolhyphens +\newif\if@finnish@babelhyphens +\define@choicekey*+{finnish}{hyphens}[\xpg@val\xpg@nr]{default,school,babel}[default]{% + \ifcase\xpg@nr\relax + % default: + \@finnish@schoolhyphensfalse + \@finnish@babelhyphensfalse + \or + % school: + \@finnish@schoolhyphenstrue + \@finnish@babelhyphensfalse + \or + % babel: + \@finnish@schoolhyphensfalse + \@finnish@babelhyphenstrue + \fi + \xpg@info{Option: Finnish, hyphens=\xpg@val}% +}{\xpg@warning{Unknown Finnish hyphens `#1'}} + +% backwards compatibility +\define@boolkey{finnish}[finnish@]{schoolhyphens}[true]{% + \iffinnish@schoolhyphens + \@finnish@schoolhyphenstrue + \@finnish@babelhyphensfalse + \else + \@finnish@schoolhyphensfalse + \fi +} % Register default options -\xpg@initialize@gloss@options{finnish}{babelshorthands=false,schoolhyphens=false} +\xpg@initialize@gloss@options{finnish}{babelshorthands=false,hyphens=default} \ifsystem@babelshorthands \setkeys{finnish}{babelshorthands=true} @@ -42,7 +69,7 @@ \declare@shorthand{finnish}{"|}{\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}}{}}% \declare@shorthand{finnish}{""}{\hskip\z@skip}% \declare@shorthand{finnish}{"~}{\textormath{\leavevmode\hbox{-}}{-}}% - \declare@shorthand{finnish}{"=}{\penalty\@M-\hskip\z@skip}% + \declare@shorthand{finnish}{"=}{\hbox{-}\bbl@allowhyphens}% \declare@shorthand{finnish}{"/}{\textormath {\bbl@allowhyphens\discretionary{/}{}{/}\bbl@allowhyphens}{}}% } @@ -77,7 +104,7 @@ } \def\finnish@language{% - \iffinnish@schoolhyphens + \if@finnish@schoolhyphens \xpg@ifdefined{schoolfinnish}{% \polyglossia@setup@language@patterns{schoolfinnish}% }{% @@ -90,6 +117,28 @@ \fi } +% activate babel-style hyphen settings if requested +\AtBeginDocument{% + \if@finnish@babelhyphens + \let\xpg@save@hyphenpenalty\hyphenpenalty% + \let\xpg@save@exhyphenpenalty\exhyphenpenalty% + \let\xpg@save@doublehyphendemerits\doublehyphendemerits% + \let\xpg@save@finalhyphendemerits\finalhyphendemerits% + \addto\blockextras@finnish{% + \hyphenpenalty=30% + \exhyphenpenalty=30% + \doublehyphendemerits=5000% + \finalhyphendemerits=5000% + }% + \addto\noextras@finnish{% + \let\hyphenpenalty\xpg@save@hyphenpenalty% + \let\exhyphenpenalty\xpg@save@exhyphenpenalty% + \let\doublehyphendemerits\xpg@save@doublehyphendemerits% + \let\finalhyphendemerits\xpg@save@finalhyphendemerits% + }% + \fi +} + \def\datefinnish{% \def\today{\number\day.~\ifcase\month\or tammikuuta\or helmikuuta\or maaliskuuta\or huhtikuuta\or @@ -111,10 +160,3 @@ \endinput -% TODO ? this is set in babel: -\gappto\blockextrasfinnish{% - \babel@savevariable\hyphenpenalty\hyphenpenalty=30% - \babel@savevariable\exhyphenpenalty\exhyphenpenalty=30% - \babel@savevariable\doublehyphendemerits\doublehyphendemerits=5000% - \babel@savevariable\finalhyphendemerits\finalhyphendemerits=5000% -} diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA-u-sd-canb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA-u-sd-canb.ldf index 3d80587bdaf..3be6413490e 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA-u-sd-canb.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA-u-sd-canb.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-fr-CA-u-sd-canb.ldf}[polyglossia: module for fr-CA-u-sd-canb (Canadian French, Acadian subvariety)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA.ldf index 661e58fa131..69d2e3c698c 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CA.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-fr-CA.ldf}[polyglossia: module for fr-CA (Canadian French)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CH.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CH.ldf index 1955328f525..0275fc30462 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CH.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-CH.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-fr-CH.ldf}[polyglossia: module for fr-CH (Swiss French)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-FR.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-FR.ldf index 37377997957..0ebbd7aa840 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-FR.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr-FR.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-fr-FR.ldf}[polyglossia: module for fr-FR (France's French)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr.ldf index e5f5de40c17..5179a9263d7 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fr.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fr.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-fr.ldf}[polyglossia: module for fr (French)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf index c9379664d53..77278ef06d4 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-french.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-french.ldf}[polyglossia: module for French] @@ -473,8 +473,6 @@ \renewcommand{\labelitemiii}{\french@itemiii}% \renewcommand{\labelitemiv}{\french@itemiv}% }{\xpg@warning{Option 'frenchitemlabels' only supported if French is main language!}}% - \else - \let\@makefntext\xpg@orig@makefntext \fi \@xpg@french@itemlabels@settrue% \fi% diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf index c4fc7594107..1afa41ed9a3 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-friulan.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-friulan.ldf}[polyglossia: module for Friulian] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-friulian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-friulian.ldf index 4a594e0ccfa..a2d8a885512 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-friulian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-friulian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-friulian.ldf}[polyglossia: module for Friulian] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-fur.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-fur.ldf index 75b01685781..a5d8f97a7ec 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-fur.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-fur.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-fur.ldf}[polyglossia: module for fur (Friulian)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ga.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ga.ldf index 099ae8db3bd..ccdc75f1ce1 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ga.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ga.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ga.ldf}[polyglossia: module for ga (Gaelic)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-gaelic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-gaelic.ldf index 0487709dcad..0823b152641 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-gaelic.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-gaelic.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-gaelic.ldf}[polyglossia: module for Gaelic] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf index 388e8aa204a..6fc13785630 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-galician.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-galician.ldf}[polyglossia: module for Galician] \PolyglossiaSetup{galician}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-gd.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-gd.ldf index e5506ef5153..0193a8684b5 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-gd.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-gd.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-gd.ldf}[polyglossia: module for gd (Gaelic)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-georgian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-georgian.ldf index 4cfee940a6e..46c86568657 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-georgian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-georgian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-georgian.ldf}[polyglossia: module for Georgian] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf index de8ed4d7fea..46f308c11af 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-german.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-german.ldf}[polyglossia: module for German] @@ -231,6 +231,11 @@ \declare@shorthand{german}{"/}{\textormath {\bbl@allowhyphens\discretionary{/}{}{/}\bbl@allowhyphens}{}}% \def\ck{\allowhyphens\discretionary{k-}{k}{ck}\allowhyphens}% + \def\mkgender{*}% + \declare@shorthand{german}{":}{\nobreak:\bbl@allowhyphens}% + \declare@shorthand{german}{"*}{\nobreak*\bbl@allowhyphens}% + \declare@shorthand{german}{"_}{\nobreak\_\bbl@allowhyphens}% + \declare@shorthand{german}{"x}{\nobreak\mkgender\bbl@allowhyphens}% } \def\nogerman@shorthands{% diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-germanb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-germanb.ldf index a5e12699a6c..774ed674515 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-germanb.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-germanb.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-germanb.ldf}[polyglossia: module for German (old spelling)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-gl.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-gl.ldf index 458266b731a..ead8311f24f 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-gl.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-gl.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-gl.ldf}[polyglossia: module for gl (Galician)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-grc.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-grc.ldf index 73d980be75b..0767e30b6c2 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-grc.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-grc.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-grc.ldf}[polyglossia: module for grc (Greek)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf index cb9e70cd7a6..0baefede4e0 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-greek.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-greek.ldf}[polyglossia: module for Greek] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-he.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-he.ldf index 85d1611b530..eb9a5f70f33 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-he.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-he.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-he.ldf}[polyglossia: module for he (Hebrew)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf index e854baa198b..43d51d8a442 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hebrew.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-hebrew.ldf}[polyglossia: module for Hebrew] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hi.ldf index 209e2433d1b..7706f18126f 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hi.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hi.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-hi.ldf}[polyglossia: module for hi (Hindi)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf index 2468a6427b8..283d19938b6 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hindi.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % % UTF-8 strings kindly provided by Zdenĕk Wagner, 10-03-2008 % with corrections and additional contributions by Anshuman Pandey diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hr.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hr.ldf index 0799465a4f9..aa0d9cae8c0 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hr.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hr.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-hr.ldf}[polyglossia: module for hr (Croatian)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hsb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hsb.ldf index 5b75d2a0e86..e94cee93a70 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hsb.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hsb.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-hsb.ldf}[polyglossia: module for hsb (Higher Sorbian)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hu.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hu.ldf index 351d160c8e1..fc7517921c1 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hu.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hu.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-hu.ldf}[polyglossia: module for hu (Hungarian)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hungarian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hungarian.ldf index ce9932dc1d6..e519f029ee6 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hungarian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hungarian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-hungarian.ldf}[polyglossia: module for Hungarian] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-hy.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-hy.ldf index 8777d35d9d1..d743787678b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-hy.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-hy.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-hy.ldf}[polyglossia: module for hy (Armenian)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ia.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ia.ldf index ce5ff32eaba..da94fdb9611 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ia.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ia.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ia.ldf}[polyglossia: module for ia (Interlingua)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf index 60216089d50..94f3305038b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-icelandic.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-icelandic.ldf}[polyglossia: module for Icelandic] \PolyglossiaSetup{icelandic}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-id.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-id.ldf index 85acd63fb8b..6c2aa7da3f7 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-id.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-id.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-id.ldf}[polyglossia: module for id (Malay)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf index 1031238806d..61bc27a63e8 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-interlingua.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-interlingua.ldf}[polyglossia: module for Interlingua] \PolyglossiaSetup{interlingua}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf index 9003f58aa19..6cd3bdecd4e 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-irish.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-irish.ldf}[polyglossia: module for Irish] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-is.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-is.ldf index 8d011650769..2fecd4ac749 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-is.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-is.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-is.ldf}[polyglossia: module for is (Icelandic)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-it.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-it.ldf index 5cecd724346..f9ba73251c7 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-it.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-it.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-it.ldf}[polyglossia: module for it (Italian)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf index e62fc544b59..0e893717b5b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-italian.ldf @@ -1,5 +1,5 @@ % !TEX encoding = UTF-8 Unicode -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-italian.ldf}[polyglossia: module for Italian] \PolyglossiaSetup{italian}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ja.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ja.ldf index b932f24eefe..fcc793cf863 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ja.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ja.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ja.ldf}[polyglossia: module for ja (Japanese)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-japanese.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-japanese.ldf index 5f710de1a84..381124663ff 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-japanese.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-japanese.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-japanese.ldf}[polyglossia: module for Japanese] @@ -8,6 +8,7 @@ bcp47-region=JP, bcp47-script=Hrkt, script=CJK, + scripttag=kana, language=Japanese, langtag=JAN, hyphennames={nohyphenation}, diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ka.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ka.ldf index 4cd3da8a111..bebba66c568 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ka.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ka.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ka.ldf}[polyglossia: module for ka (Georgian)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf index a506c409abe..e6272065794 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-kannada.ldf @@ -1,5 +1,5 @@ %% gloss-kannada.ldf -%% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +%% Language definition file (part of polyglossia v2.0 -- 2024/02/17) %% %% Copyright 2011 Aravinda VK , %% Shankar Prasad , diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-khmer.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-khmer.ldf index 40f6bec3157..5efae8a20f9 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-khmer.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-khmer.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-khmer.ldf}[polyglossia: module for Khmer] \PolyglossiaSetup{khmer}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-km.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-km.ldf index abb6b48ec85..bb7be9252d3 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-km.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-km.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-km.ldf}[polyglossia: module for km (Khmer)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Arab.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Arab.ldf index be4434f4cb2..6c4c6becb75 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Arab.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Arab.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-kmr-Arab.ldf}[polyglossia: module for kmr-Arab (Kurdish)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Latn.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Latn.ldf index e79e5a72eec..03d03d49308 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Latn.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr-Latn.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-kmr-Latn.ldf}[polyglossia: module for kmr-Latn (Kurdish)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr.ldf index 37acda98835..b021a3631dc 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-kmr.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-kmr.ldf}[polyglossia: module for kmr (Kurdish)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-kn.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-kn.ldf index b728e57d984..c8f767bb96c 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-kn.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-kn.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-kn.ldf}[polyglossia: module for kn (Kannada)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ko.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ko.ldf index ff375bd194b..d6f7d3021ca 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ko.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ko.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ko.ldf}[polyglossia: module for ko (Korean)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf index eda7b390ea4..016307998c0 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-korean.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-korean.ldf}[polyglossia: module for Korean] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Arab.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Arab.ldf index 9b480dd8bce..44b08b18f62 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Arab.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Arab.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ku-Arab.ldf}[polyglossia: module for ku-Arab (Kurdish)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Latn.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Latn.ldf index 135796a38f1..c5a76743f26 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Latn.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ku-Latn.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ku-Latn.ldf}[polyglossia: module for ku-Latn (Kurdish)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ku.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ku.ldf index 483892fe34b..e88641546d2 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ku.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ku.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ku.ldf}[polyglossia: module for ku (Kurdish)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-kurdish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-kurdish.ldf index 7d9ad27a45b..3ea3b2e227a 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-kurdish.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-kurdish.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % % Created on September 1, 2019 % Last updated on May 17, 2020 diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-kurmanji.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-kurmanji.ldf index 9758b214abf..fff12787c26 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-kurmanji.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-kurmanji.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-kurmanji.ldf}[polyglossia: module for Kurmanji Kurdish] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-classic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-classic.ldf index b358abc65a5..a9c621daec8 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-classic.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-classic.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-la-xclassic.ldf}[polyglossia: module for la-xclassic (Latin)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-ecclesia.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-ecclesia.ldf index c9f2f06c973..f61bf4d42c8 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-ecclesia.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-ecclesia.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-la-xecclesiastic.ldf}[polyglossia: module for la-xecclesiastic (Latin)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-medieval.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-medieval.ldf index 18e9b415366..51bb75fb22a 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-medieval.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-la-x-medieval.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-la-xmedieval.ldf}[polyglossia: module for la-xmedieval (Latin)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-la.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-la.ldf index 70b7a7b12f9..fe02ee34b21 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-la.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-la.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-la.ldf}[polyglossia: module for la (Latin)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf index 296073b178c..dcf9800b094 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lao.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-lao.ldf}[polyglossia: module for Lao] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-latex.lde b/Master/texmf-dist/tex/latex/polyglossia/gloss-latex.lde deleted file mode 100644 index c31682b37a5..00000000000 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-latex.lde +++ /dev/null @@ -1,42 +0,0 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) -% -\ProvidesLanguageDefinitionExtension{gloss-latex}{2023/12/11}{v1.66}{polyglossia: module for default language} - -\PolyglossiaSetup{latex}{ - bcp47=en-US, - bcp47-language=en, - bcp47-region=US, - bcp47-script=Latn, - hyphennames={english}, - hyphenmins={2,3}, - langtag=ENG, - fontsetup=true, - % ignore command - DefineCommandsCmd={use_none:n} -} - -\def\captionslatex{% - \def\prefacename{Preface}% - \def\refname{References}% - \def\abstractname{Abstract}% - \def\bibname{Bibliography}% - \def\chaptername{Chapter}% - \def\appendixname{Appendix}% - \def\contentsname{Contents}% - \def\listfigurename{List of Figures}% - \def\listtablename{List of Tables}% - \def\indexname{Index}% - \def\figurename{Figure}% - \def\tablename{Table}% - \def\partname{Part}% - \def\enclname{encl}% - \def\ccname{cc}% - \def\headtoname{To}% - \def\pagename{Page}% - \def\seename{see}% - \def\alsoname{see also}% - \def\proofname{Proof}% -} - - -\endinput diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-latex.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-latex.ldf new file mode 100644 index 00000000000..07c18951380 --- /dev/null +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-latex.ldf @@ -0,0 +1,42 @@ +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) +% +\ProvidesFile{gloss-latex.ldf}[polyglossia: module for default language] + +\PolyglossiaSetup{latex}{ + bcp47=en-US, + bcp47-language=en, + bcp47-region=US, + bcp47-script=Latn, + hyphennames={english}, + hyphenmins={2,3}, + langtag=ENG, + fontsetup=true, + % ignore command + DefineCommandsCmd={use_none:n} +} + +\def\captionslatex{% + \def\prefacename{Preface}% + \def\refname{References}% + \def\abstractname{Abstract}% + \def\bibname{Bibliography}% + \def\chaptername{Chapter}% + \def\appendixname{Appendix}% + \def\contentsname{Contents}% + \def\listfigurename{List of Figures}% + \def\listtablename{List of Tables}% + \def\indexname{Index}% + \def\figurename{Figure}% + \def\tablename{Table}% + \def\partname{Part}% + \def\enclname{encl}% + \def\ccname{cc}% + \def\headtoname{To}% + \def\pagename{Page}% + \def\seename{see}% + \def\alsoname{see also}% + \def\proofname{Proof}% +} + + +\endinput diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf index 013e200b001..b9e1ab2e70d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-latin.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-latin.ldf}[polyglossia: module for Latin] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-latinclassic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-latinclassic.ldf index ad9eea40072..92b016909c3 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-latinclassic.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-latinclassic.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-latinclassic.ldf}[polyglossia: module for classic Latin] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-latinecclesiastic.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-latinecclesiastic.ldf index ae208c8ef8e..ad005d31821 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-latinecclesiastic.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-latinecclesiastic.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-latinecclesiastic.ldf}[polyglossia: module for ecclesiastic Latin] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-latinmedieval.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-latinmedieval.ldf index cec322e7704..866e0593810 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-latinmedieval.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-latinmedieval.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-latinmedieval.ldf}[polyglossia: module for medieval Latin] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf index 94c294b184c..df6fb9600d2 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-latvian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-latvian.ldf}[polyglossia: module for Latvian] \PolyglossiaSetup{latvian}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf index b9f522a4343..8078511cbc3 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lithuanian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % % Translated by Paulius Sladkevičius diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-lo.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lo.ldf index bd1820c237e..cef0309ed20 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-lo.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lo.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-lo.ldf}[polyglossia: module for lo (Lao)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-lowersorbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lowersorbian.ldf index 3b97eb81dcd..84626ecc840 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-lowersorbian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lowersorbian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-lowersorbian.ldf}[polyglossia: module for Lower Sorbian] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf index 5ea1c727eba..05b52433bc9 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lsorbian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-lsorbian.ldf}[polyglossia: module for Lower Sorbian] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-lt.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lt.ldf index 29a4a592951..5a146b54208 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-lt.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lt.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-lt.ldf}[polyglossia: module for lt (Lithuanian)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-lv.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-lv.ldf index 2211a2ef8ea..e0c9d98007a 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-lv.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-lv.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-lv.ldf}[polyglossia: module for lv (Latvian)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-macedonian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-macedonian.ldf index aa4d81f3cb4..604e1f0620f 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-macedonian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-macedonian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-macedonian.ldf}[polyglossia: module for Macedonian] \PolyglossiaSetup{macedonian}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf index fce475a5151..0e887d3c046 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-magyar.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-magyar.ldf}[polyglossia: module for Hungarian (Magyar)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-malay.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-malay.ldf index 87bd315b852..0eda13c316e 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-malay.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-malay.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-malay.ldf}[polyglossia: module for Malay] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf index 01f9cfc0113..4aeeb3cda80 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-malayalam.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-malayalam.ldf}[polyglossia: module for Malayalam] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf index 88123b9e046..b35a03083f0 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-marathi.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % % Translations provided by Abhijit Navale % Ordinals (1-100) added by Niranjan Tambe on 14th December, 2019 diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-mk.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-mk.ldf index 1c761a552d3..a5780626ae9 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-mk.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-mk.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-mk.ldf}[polyglossia: module for mk (Macedonian)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ml.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ml.ldf index 07a5b8d82f1..3244e4f512d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ml.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ml.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ml.ldf}[polyglossia: module for ml (Malayalam)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-mn.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-mn.ldf index 8cdbd84eae5..c5be57ff0a4 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-mn.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-mn.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-mn.ldf}[polyglossia: module for mn (Mongolian)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-mongolian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-mongolian.ldf index 23c8ed67cc1..66e162bc37f 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-mongolian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-mongolian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-mongolian.ldf}[polyglossia: module for Mongolian] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-mr.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-mr.ldf index 7bbfed11fd3..277083c6588 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-mr.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-mr.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-mr.ldf}[polyglossia: module for mr (Marathi)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-naustrian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-naustrian.ldf index 634494f7efd..fb58c806d40 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-naustrian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-naustrian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-naustrian.ldf}[polyglossia: module for Austrian German (current spelling)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-nb.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-nb.ldf index a3c7f020d00..b07bf3f9f16 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-nb.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-nb.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-nb.ldf}[polyglossia: module for nb (Norwegian)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-newzealand.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-newzealand.ldf index 2d8b7c93d2c..576995acddd 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-newzealand.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-newzealand.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-newzealand.ldf}[polyglossia: module for Newzealand English] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ngerman.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ngerman.ldf index f49beb59c63..0c248366787 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ngerman.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ngerman.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ngerman.ldf}[polyglossia: module for German (current spelling)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-nko.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-nko.ldf index 794af76fc53..afd175b85df 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-nko.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-nko.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-nko.ldf}[Polyglossia: module for N’Ko] \PolyglossiaSetup{nko}{% diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf index e4328fe89d1..d3e660a539a 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-norsk.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-norsk.ldf}[polyglossia: module for Norwegian (Bokmal)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-norwegian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-norwegian.ldf index 0e974629062..b197be3bfab 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-norwegian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-norwegian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-norwegian.ldf}[polyglossia: module for Norwegian] \PolyglossiaSetup{norwegian}{ diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-nswissgerman.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-nswissgerman.ldf index c6ac5bb3cda..b9ca059e7dc 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-nswissgerman.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-nswissgerman.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-nswissgerman.ldf}[polyglossia: module for Swiss German (current spelling)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf index f6a82a0edf8..bdcc29224b9 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-nynorsk.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-nynorsk.ldf}[polyglossia: module for Norwegian (Nynorsk)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf index e6311614819..ec2c750f6fd 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-occitan.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % %% %% This is file `gloss-occitan.ldf', diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-odia.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-odia.ldf index 3c5a838e081..19b6e6d050d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-odia.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-odia.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % % Translations provided by ଅଶୋକ ଦାସ୍ and ଅଭିଷେକ ଜେନା % TODO implement Odia calendar diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-or.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-or.ldf index 1b22965ea9e..1243ed1bab2 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-or.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-or.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-odia.ldf}[polyglossia: module for or (Odia)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-pa.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-pa.ldf index e30206d38cd..c086b1187d5 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-pa.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-pa.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-pa.ldf}[polyglossia: module for pa (Punjabi)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf index fc9d46da82d..83d296df7cd 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-persian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-persian.ldf}[polyglossia: module for Persian] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf index b7b2f914b6e..4cfa40e981f 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-piedmontese.ldf @@ -1,5 +1,5 @@ % !TEX encoding = UTF-8 Unicode -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-piedmontese.ldf}[2013/02/12 v1.0 polyglossia: module for Piedmontese] \makeatletter diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf index 49331943bb5..eee4bedde33 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-polish.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-polish.ldf}[polyglossia: module for Polish] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-polutonikogreek.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-polutonikogreek.ldf index 8c362d03371..18597716131 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-polutonikogreek.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-polutonikogreek.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-polutonikogreek.ldf}[polyglossia: module for polytonic Greek] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf index 02e845ef528..c6167d6028e 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-portuges.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-portuges.ldf}[polyglossia: module for Portuguese] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-portuguese.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-portuguese.ldf index 832fdabb0cf..f5dc2ef8e76 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-portuguese.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-portuguese.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-portuguese.ldf}[polyglossia: module for Portuguese] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-punjabi.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-punjabi.ldf index 309d84972d5..194e3acd142 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-punjabi.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-punjabi.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % % UTF-8 strings kindly provided by % Arvinder Singh Kang, <17-11-2022> diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf index c2eff7a244b..e637a8ac88d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-romanian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-romanian.ldf}[polyglossia: module for Romanian] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf index 45ce486f908..c0b585ac2bc 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-romansh.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-romansh.ldf}[polyglossia: module for Romansh] \makeatletter diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf index a834f9c14d2..388deea5ddd 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-russian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-russian.ldf}[polyglossia: module for Russian] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-sami.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-sami.ldf index d7609a713ca..189a526c30b 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-sami.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-sami.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-sami.ldf}[polyglossia: module for Sami] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf index 43a350ed6f5..53a4c1079bb 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-samin.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-samin.ldf}[polyglossia: module for Northern Sami] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf index a580499c90c..eb0b48f77ad 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-sanskrit.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-sanskrit.ldf}[polyglossia: module for Sanskrit] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf index 2150a030280..944838156a5 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-scottish.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-scottish.ldf}[polyglossia: module for Scottish Gaelic] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf index faa4846c7ea..80f3134e2f6 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-serbian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-serbian.ldf}[polyglossia: module for Serbian] %TODO split into gloss-serbiancyr.ldf and gloss-serbianlat.ldf diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-serbianc.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-serbianc.ldf index 7f3dc219375..6467057e2e9 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-serbianc.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-serbianc.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-serbianc.ldf}[polyglossia: module for Serbian (cyrillic)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf index 95c3691f30e..f69636a8bb2 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-slovak.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-slovak.ldf}[polyglossia: module for Slovak] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-slovene.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-slovene.ldf index d4e886c13cd..1497bf50948 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-slovene.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-slovene.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-slovene.ldf}[polyglossia: module for Slovenian] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf index ba42f544e28..3349aa611a3 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-slovenian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-slovenian.ldf}[polyglossia: module for Slovenian] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-sorbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-sorbian.ldf index bb1776c54b1..75946bf7076 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-sorbian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-sorbian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-sorbian.ldf}[polyglossia: module for Sorbian] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf index 403b84ec51c..0047b23004f 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-spanish.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-spanish.ldf}[polyglossia: module for Spanish] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-spanishmx.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-spanishmx.ldf index 2a834717be3..9f274cb3b3e 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-spanishmx.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-spanishmx.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-spanishmx.ldf}[polyglossia: module for Mexican Spanish] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf index 0160688f9fc..26541a09a19 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-swedish.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-swedish.ldf}[polyglossia: module for Swedish] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-swissgerman.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-swissgerman.ldf index 0e5753af3f9..18a435e244e 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-swissgerman.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-swissgerman.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-swissgerman.ldf}[polyglossia: module for Swiss German (old spelling)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf index d7756dcef2c..dcbaf105503 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-syriac.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-syriac.ldf}[polyglossia: module for Syriac] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf index f7c2200a16c..bbb4ac622b8 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-tamil.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-tamil.ldf}[polyglossia: module for Tamil] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf index 5b5e11d1027..6bfbf8daa70 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-telugu.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-telugu.ldf}[polyglossia: module for Telugu] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf index fe71bf1da7f..c553e160e80 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-thai.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-thai.ldf}[polyglossia: module for Thai] %% This is partly based on thai-latex for Babel: diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf index 9fb9c741570..4b3661341cd 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-tibetan.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-tibetan.ldf}[polyglossia: module for Tibetan] %% Copyright 2013 Elie Roux diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf index 6596b4f6428..a6a10647f61 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-turkish.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-turkish.ldf}[polyglossia: module for Turkish] \RequirePackage{hijrical} diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf index e0faf70b8fd..384337ebfac 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-turkmen.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-turkmen.ldf}[polyglossia: module for Turkmen] %% Translations provided by Nazar Annagurban diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf index bad190d4d38..9f357b18c6a 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ug.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ug.ldf}[polyglossia: module for ug (Uyghur)] % BCP 47 tag for Uyghur diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf index 0a256c3546e..4281449b4a3 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-ukrainian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-ukrainian.ldf}[polyglossia: module for Ukrainian] % Strings taken from Babel diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-uppersorbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-uppersorbian.ldf index 3f3cbd85653..5f6740394a4 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-uppersorbian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-uppersorbian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-uppersorbian.ldf}[polyglossia: module for Upper Sorbian] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf index 15d02856121..1ff49b46c7d 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-urdu.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % %%% Adapted from a file contributed by Kamal Abdali \ProvidesFile{gloss-urdu.ldf}[polyglossia: module for Urdu] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf index 755342795a0..aee72dfae53 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-usorbian.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-usorbian.ldf}[polyglossia: module for Upper Sorbian] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf index 0fa7956fb2d..f7b130e9886 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-uyghur.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-uyghur.ldf}[polyglossia: module for Uyghur] %% Translations provided by Osman Tursun (Github Account: neouyghur) diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf index 90f9fe3daa9..ab463faeb04 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-vietnamese.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-vietnamese.ldf}[polyglossia: module for Vietnamese] %% Strings contributed by Daniel Owens < dhowens . pmbx . net > diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf index 050d500531c..b2d419536ea 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-welsh.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-welsh.ldf}[polyglossia: module for Welsh] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-CN.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-CN.ldf index 480ebc0e7e0..6ab93129dcb 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-CN.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-CN.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-zh-CN.ldf}[polyglossia: module for zh-CN (Chinese)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-TW.ldf b/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-TW.ldf index 16b95d6f341..49741091487 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-TW.ldf +++ b/Master/texmf-dist/tex/latex/polyglossia/gloss-zh-TW.ldf @@ -1,4 +1,4 @@ -% Language definition file (part of polyglossia v1.66 -- 2023/12/11) +% Language definition file (part of polyglossia v2.0 -- 2024/02/17) % \ProvidesFile{gloss-zh-TW.ldf}[polyglossia: module for zh-TW (Chinese)] diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-french.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-french.lua index 495b369c713..af72f6131da 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-french.lua +++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-french.lua @@ -1,6 +1,6 @@ -- -- polyglossia-punct.lua --- part of polyglossia v1.66 -- 2023/12/11 +-- part of polyglossia v2.0 -- 2024/02/17 -- require('polyglossia-punct') diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-korean.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-korean.lua index d24a320ce43..ebadcfddb59 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-korean.lua +++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-korean.lua @@ -1,6 +1,6 @@ -- -- polyglossia-korean.lua --- part of polyglossia v1.66 -- 2023/12/11 +-- part of polyglossia v2.0 -- 2024/02/17 -- local glyph_id = node.id"glyph" diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-latin.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-latin.lua index a85001b5fe0..c6c1a0ebc61 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-latin.lua +++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-latin.lua @@ -1,6 +1,6 @@ -- -- polyglossia-latin.lua --- part of polyglossia v1.66 -- 2023/12/11 +-- part of polyglossia v2.0 -- 2024/02/17 -- require('polyglossia-punct') diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-punct.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-punct.lua index 276590bd015..4e238af1154 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-punct.lua +++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-punct.lua @@ -1,6 +1,6 @@ -- -- polyglossia-punct.lua --- part of polyglossia v1.66 -- 2023/12/11 +-- part of polyglossia v2.0 -- 2024/02/17 -- require('polyglossia') -- just in case... diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-sanskrit.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-sanskrit.lua index 351f65ceed8..e4c22934c29 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-sanskrit.lua +++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-sanskrit.lua @@ -1,6 +1,6 @@ -- -- polyglossia-sanskrit.lua --- part of polyglossia v1.66 -- 2023/12/11 +-- part of polyglossia v2.0 -- 2024/02/17 -- require('polyglossia-punct') diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-tibt.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-tibt.lua index fc2806d955c..1d693d3bb06 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia-tibt.lua +++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia-tibt.lua @@ -1,6 +1,6 @@ -- -- polyglossia-tibt.lua --- part of polyglossia v1.66 -- 2023/12/11 +-- part of polyglossia v2.0 -- 2024/02/17 -- require('polyglossia') -- just in case... diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua b/Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua index bc6e98633c7..45c5e5932b7 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua +++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia.lua @@ -1,6 +1,6 @@ -- -- polyglossia.lua --- part of polyglossia v1.66 -- 2023/12/11 +-- part of polyglossia v2.0 -- 2024/02/17 -- local module_name = "polyglossia" @@ -26,20 +26,13 @@ end polyglossia = polyglossia or {} local polyglossia = polyglossia -local function select_language(lang, id) - polyglossia.current_language = lang -end - -local function set_default_language(lang, id) - polyglossia.default_language = lang -end - local function load_tibt_eol() require('polyglossia-tibt') end -- predefined l@nohyphenation or LuaTeX's maximum value for \language local nohyphid = luatexbase.registernumber'l@nohyphenation' or 16383 +token.set_char('l@nohyphenation', nohyphid) -- key `nohyphenation` is for .sty file when possibly undefined l@nohyphenation local newloader_loaded_languages = { nohyphenation = nohyphid } @@ -151,11 +144,6 @@ local function newloader(langentry) end end -polyglossia.select_language = select_language -polyglossia.set_default_language = set_default_language polyglossia.load_tibt_eol = load_tibt_eol polyglossia.newloader = newloader polyglossia.newloader_loaded_languages = newloader_loaded_languages --- global variables: --- polyglossia.default_language --- polyglossia.current_language diff --git a/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty b/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty index 353a6442723..2e0ff2d59ec 100644 --- a/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty +++ b/Master/texmf-dist/tex/latex/polyglossia/polyglossia.sty @@ -1,43 +1,51 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesExplPackage - {polyglossia} {2023/12/11} {v1.66} + {polyglossia} {2024/02/17} {v2.0} {Modern multilingual typesetting with XeLaTeX and LuaLaTeX} + \RequirePackage{etoolbox} \RequirePackage{xkeyval}[2008/08/13] % Will raise error if used with anything else than XeTeX or LuaTeX \RequirePackage{fontspec}[2010/06/08]% v2.0 \RequirePackage{iftex} -% Execute code #3 if package #1 has been loaded already, else -% add to package hook #2 -\cs_new_nopar:Nn \__xpg_at_package_hook:nnn{ - \@ifpackageloaded{#1}{#3}{\AddToHook{#2}{#3}}% -} - \prg_generate_conditional_variant:Nnn \clist_if_in:Nn {Ne} {TF, T, F} % check if needed + % correct a bug in tracklang -\__xpg_at_package_hook:nnn{tracklang}{file/tracklang.sty/after}{% - \@ifpackagelater{tracklang}{2019/08/30}{}{\global\def\AddTrackedLangage{\AddTrackedLanguage}} +\AddToHook{package/tracklang/after}{% + \IfPackageAtLeastTF{tracklang}{2019/08/30} + {} + {\cs_gset_eq:NN \AddTrackedLangage \AddTrackedLanguage} } -%% This is for compatibility with Babel-aware package: -\def\languageshorthands#1{\relax} % this is for scrlttr2 class -\def\bbl@cs#1{\csname bbl@#1\endcsname} +%% The following is for compatibility with Babel-aware package: +% \languageshorthands is provided by babelsh.def, which is +% only loaded by some glosses, but some classes presuppose +% it is there generally. So let's provide a stub: +\ProvideDocumentCommand \languageshorthands { m } {} +% These have to be provided at the end of the preamble \AddToHook{begindocument/before}{ - \let\bbl@set@language\xpg@set@language@aux % for biblatex - \let\bbl@main@language\xpg@main@language % for biblatex - \providecommand\texorpdfstring[2]{#1} % dummy command if hyperref is not loaded + \cs_gset_eq:NN \bbl@set@language \xpg@set@language@aux % for biblatex + \cs_gset_eq:NN \bbl@main@language \xpg@main@language % for biblatex + \ProvideDocumentCommand \texorpdfstring { m m } { #1 } % dummy command if hyperref is not loaded } -\sys_if_engine_luatex:T{ - \RequirePackage{luatexbase} % already included by fontspec, but needed here - \RequireLuaModule{polyglossia} -} +%% when no patterns are available, we use \l@nohyphenation, assigned to 255 +%% (suggestion by Enrico Gregorio) +%% \l@nohyphenation is defined in polyglossia.lua +\sys_if_engine_luatex:TF + { + \RequirePackage{luatexbase} % already included by fontspec, but needed here + \RequireLuaModule{polyglossia} + }{ + \cs_if_free:cT { l@nohyphenation } + { \chardef\l@nohyphenation=255 } + } % Which version of XeTeX do we use? What is the boudary class? 4095 or 255 -\@ifundefined{e@alloc@intercharclass@top} - {\chardef\xpg@boundaryclass=\@cclv} - {\let\xpg@boundaryclass=\e@alloc@intercharclass@top} +\cs_if_exist:cTF { e@alloc@intercharclass@top } + { \let\xpg@boundaryclass=\e@alloc@intercharclass@top } + { \chardef\xpg@boundaryclass=\@cclv } % Useful for getting list of loaded languages and variants. Like babel's bbl@loaded % all language loaded @@ -51,17 +59,26 @@ % list of loaded languages (bcp-47 id) \clist_new:N \xpg@bcp@loaded -% counter in latin -\def\latinalph#1{\expandafter\latin@alph\csname c@#1\endcsname} -\def\latinAlph#1{\expandafter\latin@Alph\csname c@#1\endcsname} +% output counter as lower-case latin letter +\DeclareExpandableDocumentCommand \latinalph { m } +{ + \exp_args:Nc \latin@alph {c@#1} +} +% output counter as upper-case latin letter +\DeclareExpandableDocumentCommand \latinAlph { m } +{ + \exp_args:Nc \latin@Alph {c@#1} +} +%% Internal hooks % select language hook -\cs_new_nopar:Nn \polyglossia@AtBeginDocument@selectlanguage: {} +\cs_new_nopar:Nn \__xpg_at_begin_document_selectlanguage: {} % \disablehyphenation hook -\cs_new_nopar:Nn \polyglossia@AtBeginDocument@hyphenation: {} +\cs_new_nopar:Nn \__xpg_at_begin_document_hyphenation: {} % hook to be executed at begin of document -\cs_new_nopar:Nn \polyglossia@AtBeginDocument: { +\cs_new_nopar:Nn \__xpg_at_begin_document: +{ % save various command \let\latin@alph\@alph % TODO rename when we have the C locale \let\latin@Alph\@Alph % TODO rename when we have the C locale @@ -69,22 +86,25 @@ \let\polyglossia@Clang@@arabic\@arabic \let\polyglossia@Clang@arabic\arabic - \xpg@initial@setup + \xpg_initial_setup: % apply \familydefault changes \xpg@set@familydefault } -\AtBeginDocument{ - \polyglossia@AtBeginDocument: +\AddToHook{begindocument}{ + \__xpg_at_begin_document: } % The following needs to go after any \AtBeginDocument (also of packages % loaded after \set[main|other]language -\AfterEndPreamble{ +% Track whether the main language has been set +\bool_new:N \g_xpg_main_lang_set_bool +\AddToHook{begindocument/end}{ % now we have the C locale definition: select the language - \polyglossia@AtBeginDocument@selectlanguage: + \__xpg_at_begin_document_selectlanguage: + \bool_gset_true:N \g_xpg_main_lang_set_bool % If hyphenation disabling has been requested in preamble, do it now - \polyglossia@AtBeginDocument@hyphenation: + \__xpg_at_begin_document_hyphenation: } %% custom message macros @@ -117,7 +137,7 @@ \xpg@warning{Illegal~ value~ (#1)~ for~ #2}} % error out if lang is not loaded -\cs_new_nopar:Nn \polyglossia@error@iflangnotloaded:n +\cs_new_nopar:Nn \xpg_error_if_lang_not_loaded:n { \seq_if_in:NeF \__xpg_langs_loaded {#1} { @@ -137,7 +157,16 @@ } \msg_redirect_name:nnn { polyglossia } { languagenolongerloaded } { warning } -% +\msg_new:nnn { polyglossia } { unknownlocalnumeral } +{ + Unknown~ key~ "#1"~ in~ \string\localnumeral. +} + +\msg_new:nnn { polyglossia } { localnumeralemptyvalue } +{ + Keys~ of~ \string\localnumeral~ must~ have~ value. +} + %% use macro if defined, else warn that it is not \cs_new_nopar:Nn \__xpg_use_or_warn:N @@ -155,12 +184,12 @@ \def\@@ensure@maindir#1{\ifcsundef{@ensure@maindir}{#1}{\@ensure@maindir{#1}}} %% Used by the language definitions files for right-to-left languages -\def\RequireBidi - { +\NewDocumentCommand \RequireBidi {} +{ \sys_if_engine_luatex:TF {\ifx\@onlypreamble\@notprerr\else\RequirePackage{luabidi}\fi} {\ifx\@onlypreamble\@notprerr\else\RequirePackage{bidi}\fi} - } +} % if #1 is LR run #2 else #3 \prg_set_conditional:Nnn \__xpg_if_LR_str:n {p, T, F, TF} @@ -179,20 +208,23 @@ % (lua)bidi commands to change directionality for paragraphs % and inline text. % overwritten with correct package -\cs_new_nopar:Nn{\polyglossia@setpardirection:n}{ +\cs_new_nopar:Nn \__xpg_set_par_direction:n +{ \__xpg_if_LR_str:nF {#1} { \xpg@error{right-to-left,~ but~ (lua)bidi~ package~ was~ not~ loaded!} } } -\cs_new_nopar:Nn{\polyglossia@settextdirection:n}{ +\cs_new_nopar:Nn \__xpg_set_text_direction:n +{ \__xpg_if_LR_str:nF {#1} { \xpg@error{right-to-left,~ but~ (lua)bidi~ package~ was~ not~ loaded!} } } -\__xpg_at_package_hook:nnn{bidi}{package/bidi/after}{ - \cs_gset_nopar:Nn{\polyglossia@setpardirection:n}{ +\AddToHook{package/bidi/after}{ + \cs_gset_nopar:Nn \__xpg_set_par_direction:n + { \__xpg_if_LR_str:nTF{#1} { \setLR @@ -201,7 +233,8 @@ \setRL } } - \cs_gset_nopar:Nn{\polyglossia@settextdirection:n}{ + \cs_gset_nopar:Nn \__xpg_set_text_direction:n + { \__xpg_if_LR_str:nTF{#1} { \LRE @@ -211,8 +244,9 @@ } } } -\__xpg_at_package_hook:nnn{luabidi}{package/luabidi/after}{ - \cs_gset_nopar:Nn{\polyglossia@setpardirection:n}{ +\AddToHook{package/luabidi/after}{ + \cs_gset_nopar:Nn \__xpg_set_par_direction:n + { \__xpg_if_LR_str:nTF{#1} { \setLR @@ -221,7 +255,8 @@ \setRL } } - \cs_gset_nopar:Nn{\polyglossia@settextdirection:n}{ + \cs_gset_nopar:Nn \__xpg_set_text_direction:n + { \__xpg_if_LR_str:nTF{#1} { \LRE @@ -256,18 +291,17 @@ %% TODO: localalph = {,} %% TODO: localnumeral = %% or even better localdigits = {0123456789} for fully automatic setup -\newif\if@xpg@language@really@defined@ \newcommand*\PolyglossiaSetup[2]{ - \polyglossia@keys_define_lang:n{#1} + \__xpg_keys_define_lang:n{#1} \keys_set:nn { polyglossia / #1 } { #2 } - \polyglossia_setup_hyphen:n {#1} + \__xpg_setup_hyphen:n {#1} %define booleans etoolbox style and set defaults %% TODO ? \providetoggle{#1@setup@done}% % we initialize these so that we can use \gappto below \csgdef{init@extras@#1}{} \csgdef{init@noextras@#1}{} % we don't use this yet: remove? % here we do the fontsetup: - \xpg__auto_setupfont:n { #1 } + \__xpg_auto_setupfont:n { #1 } %% TODO? \toggletrue{#1@setup@done} % register base alias \xpg_language_alias { #1 } { #1 } @@ -286,15 +320,16 @@ % setup hyphennames from a str list of hyphen -\cs_new:Nn \polyglossia_setup_hyphen:n { - \clist_set:Ne{\l_tmpa_clist}{\prop_item:Nn \polyglossia@langsetup {#1 / hyphennames}} +\cs_new:Nn \__xpg_setup_hyphen:n +{ + \clist_set:Ne{\l_tmpa_clist}{\prop_item:Nn \g_xpg_langsetup_prop {#1 / hyphennames}} \providebool{havehyphen} \boolfalse{havehyphen} % for each hyphen in the set until we find one that works \clist_map_inline:Nn \l_tmpa_clist { \ifbool{havehyphen}{}{ % check if language hyphenname is defined - \__xpg_check_if_exist_l@:NF{#1}{ + \__xpg_check_if_exist_l@:nF{#1}{ % if not, first consider nohyphenation \str_if_eq:nnTF{##1}{nohyphenation} { @@ -331,7 +366,7 @@ } % setup hyphenmins \clist_set:Ne \l_tmpa_clist - { \prop_item:Nn \polyglossia@langsetup {#1 / hyphenmins} } + { \prop_item:Nn \g_xpg_langsetup_prop {#1 / hyphenmins} } \cs_if_eq:cNF {l@#1} \l@nohyphenation { \use:x @@ -344,8 +379,9 @@ } \newcommand*\polyglossia@setup@language@patterns[1]{ - \ifbool{xpg@hyphenation@disabled}{ - \xdef\xpg@lastlanguage{\the\csname l@#1\endcsname} + \bool_if:NTF \g__xpg_hyphenation_disabled_bool + { + \tl_gset:Ne \g__xpg_lastlanguage_tl {\the\csname l@#1\endcsname} }{ % first, test if \l@#1 exists % without that, \csname l@#1\endcsname will be defined as \relax @@ -372,15 +408,16 @@ } } -\prop_new:N \polyglossia@langsetup +\prop_new:N \g_xpg_langsetup_prop -\cs_new_protected:Npn \polyglossia@keys_define_lang:n #1 { +\cs_new_protected:Npn \__xpg_keys_define_lang:n #1 +{ \keys_define:nn {polyglossia}{ % the script font #1 / script .code:n = { - \prop_gput:Nnn{\polyglossia@langsetup}{#1/script}{##1} - \prop_gput:Nne{\polyglossia@langsetup}{#1/lcscript} + \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/script}{##1} + \prop_gput:Nne{\g_xpg_langsetup_prop}{#1/lcscript} {\tl_if_empty:nF{##1}{\str_lowercase:n{##1}}} }, #1 / script @@ -389,84 +426,84 @@ .initial:n = latin, % the opentype script tag #1 / scripttag - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/scripttag}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/scripttag}{##1}}, #1 / scripttag .default:n = {}, #1 / scripttag .initial:n = {}, % the language full name #1 / language - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/language}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/language}{##1}}, #1 / language .value_required:n = true, #1 / language .initial:x = {\str_uppercase:n#1}, % the language tag #1 / langtag - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/langtag}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/langtag}{##1}}, #1 / langtag .value_required:n = true, #1 / langtag .initial:n = {}, % the BCP-47 tag #1 / bcp47 - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47}{##1}}, #1 / bcp47 .value_required:n = true, #1 / bcp47 .initial:n = {}, % the BCP-47 language tag #1 / bcp47-language - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-language}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-language}{##1}}, #1 / bcp47-language .value_required:n = true, #1 / bcp47-language .initial:n = {}, % the BCP-47 region tag #1 / bcp47-region - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-region}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-region}{##1}}, #1 / bcp47-region .value_required:n = false, #1 / bcp47-region .initial:n = {}, % the BCP-47 script tag #1 / bcp47-script - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-script}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-script}{##1}}, #1 / bcp47-script .value_required:n = true, #1 / bcp47-script .initial:n = {}, % the BCP-47 variant tag #1 / bcp47-variant - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-variant}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-variant}{##1}}, #1 / bcp47-variant .value_required:n = false, #1 / bcp47-variant .initial:n = {}, % the BCP-47 extension-t tag #1 / bcp47-extension-t - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-extension-t}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-extension-t}{##1}}, #1 / bcp47-extension-t .value_required:n = false, #1 / bcp47-extension-t .initial:n = {}, % the BCP-47 extension-u tag #1 / bcp47-extension-u - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-extension-u}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-extension-u}{##1}}, #1 / bcp47-extension-u .value_required:n = false, #1 / bcp47-extension-u .initial:n = {}, % the BCP-47 extension-x tag #1 / bcp47-extension-x - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-extension-x}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-extension-x}{##1}}, #1 / bcp47-extension-x .value_required:n = false, #1 / bcp47-extension-x .initial:n = {}, % the BCP-47 casing alias #1 / bcp47-casing - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-casing}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-casing}{##1}}, #1 / bcp47-casing .value_required:n = false, #1 / bcp47-casing @@ -475,7 +512,7 @@ #1 / hyphennames .code:n = { \clist_set:Nn{\l_tmpa_clist}{##1} - \prop_gput:Nne{\polyglossia@langsetup}{#1/hyphennames}{\clist_use:Nn \l_tmpa_clist {,}} + \prop_gput:Nne{\g_xpg_langsetup_prop}{#1/hyphennames}{\clist_use:Nn \l_tmpa_clist {,}} }, #1 / hyphennames .value_required:n = true, @@ -488,7 +525,7 @@ {LR}{} {RL}{\RequireBidi} } - {\prop_gput:Nnn{\polyglossia@langsetup}{#1/direction}{##1}} + {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/direction}{##1}} {\xpg@error{Unknown~ direction~ "##1"~ for~ language~ "#1"}} }, #1 / direction @@ -502,7 +539,7 @@ \int_compare:nNnF { \clist_count:n {##1} } = {2} {\xpg@error{hypenmins~should~be~a~list~of~two~entries,~got~"##1"}} % set prop - \prop_gput:Nnn \polyglossia@langsetup {#1/hyphenmins} {##1} + \prop_gput:Nnn \g_xpg_langsetup_prop {#1/hyphenmins} {##1} }, #1 / hyphenmins .value_required:n = true, @@ -515,7 +552,7 @@ \int_compare:nNnF { \clist_count:n {##1} } = {1} {\xpg@error{totalhyphenhypenmin~should~be~a~single~entry,~got~"##1"}} % set prop - \prop_gput:Nnn \polyglossia@langsetup {#1/totalhyphenmin} {##1} + \prop_gput:Nnn \g_xpg_langsetup_prop {#1/totalhyphenmin} {##1} }, #1 / totalhyphenmin .value_required:n = false, @@ -534,35 +571,35 @@ % environment name #1 / envname .code:n = { - \prop_gput:Nnn{\polyglossia@langsetup}{#1/envname}{##1} + \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/envname}{##1} }, #1/ envname.value_required:n = true, #1/ envname.initial:n = {#1}, % babel name #1 / babelname .code:n = { - \prop_gput:Nnn{\polyglossia@langsetup}{#1/babelname}{##1} + \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/babelname}{##1} }, #1/ babelname.value_required:n = true, #1/ babelname.initial:n = {#1}, % default numerals #1 / localnumeral . code:n = { - \prop_gput:Nnn{\polyglossia@langsetup}{#1/localnumeral}{##1} - \prop_gput:Nnn{\polyglossia@langsetup}{#1/Localnumeral}{##1} + \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/localnumeral}{##1} + \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/Localnumeral}{##1} }, #1 / localnumeral.value_required:n = true, #1 / localnumeral.initial:n = {polyglossia@C@localnumeral}, % uppercased #1 / Localnumeral . code:n = { - \prop_gput:Nnn{\polyglossia@langsetup}{#1/Localnumeral}{##1} + \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/Localnumeral}{##1} }, #1 / Localnumeral.value_required:n = true, #1 / Localnumeral.initial:n = {polyglossia@C@localnumeral}, % environment define command (by default create the environment) #1 / DefineCommandsCmd - .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/DefineCommandsCmd}{##1}}, + .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/DefineCommandsCmd}{##1}}, #1 / DefineCommandsCmd .value_required:n = true, #1 / DefineCommandsCmd @@ -575,29 +612,32 @@ \polyglossia@Clang@@arabic{#2} } -\tl_new:N \l__xpg_localnumeral_tl -\bool_new:N \l__xpg_localnumeral_bool - -\keys_define:nn { polyglossia / localnumeral } +\cs_new:Npn \__xpg_localnumeral_parse:nn #1 #2 { - lang .choice:, - lang / main .code:n = \tl_set:Nn \l__xpg_localnumeral_tl { \mainlanguagename } , - lang / local .code:n = \tl_set:Nn \l__xpg_localnumeral_tl { \languagename } - \bool_set_true:N \l__xpg_localnumeral_bool , - lang / unknown .code:n = \tl_set:Nn \l__xpg_localnumeral_tl { #1 } , + \str_if_eq:eeF { #1 } { lang } { \msg_error:nnn { polyglossia } { unknownlocalnumeral } { #1 } } + \exp_args:Ne \str_case:nnF { #2 } + { + { local } { } + { main } { \foreignlanguage { \mainlanguagename } } + } + { \foreignlanguage { #2 } } } \cs_new:Npn \__xpg_localnumeral:nnn #1 #2 #3 { - \group_begin: - \keys_set:ne { polyglossia / localnumeral } { #2 } - \bool_if:NF \l__xpg_localnumeral_bool { \foreignlanguage { \l__xpg_localnumeral_tl } } - { \use:c { \prop_item:Ne \polyglossia@langsetup - { \l__xpg_localnumeral_tl / #3 } } { } { #1 } } - \group_end: + \use:e + { + \keyval_parse:nnn + { \msg_error:nnn { polyglossia } { localnumeralemptyvalue } } + { + \__xpg_localnumeral_parse:nn + } { #2 } + } + { \use:c { \prop_item:Ne \g_xpg_langsetup_prop + { \languagename / #3 } } { } { #1 } } } - -\NewDocumentCommand \localnumeral { s ={ lang } O{ local } m } + +\NewExpandableDocumentCommand \localnumeral { s O{ lang=local } m } { \IfBooleanTF { #1 } { @@ -608,7 +648,7 @@ } } -\NewDocumentCommand \Localnumeral { s ={ lang } O{ local } m } +\NewExpandableDocumentCommand \Localnumeral { s O{ lang=local } m } { \IfBooleanTF { #1 } { @@ -619,86 +659,90 @@ } } -\cs_new_nopar:Npn \xpg__french_spacing:n #1 +\cs_new_nopar:Npn \__xpg_french_spacing:n #1 { \bool_if:cTF { g__xpg_#1_fs_bool } { \frenchspacing } { \nonfrenchspacing } } -\cs_new_nopar:Npn \xpg__indent_first:n #1 +\cs_new_nopar:Npn \__xpg_indent_first:n #1 { \bool_if:cTF { g__xpg_#1_if_bool } { \french@indent } { \nofrench@indent } } -\cs_new:Nn{\polyglossia@lang@setpardirection:n}{ - \prop_get:NeNTF \polyglossia@langsetup {#1/direction} \l_tmpa_tl +\cs_new:Nn \__xpg_lang_set_par_direction:n +{ + \prop_get:NeNTF \g_xpg_langsetup_prop {#1/direction} \l_tmpa_tl { - \polyglossia@setpardirection:n{\l_tmpa_tl} + \__xpg_set_par_direction:n{\l_tmpa_tl} } { \xpg@error{Could~ not~ retrieve~ key~ direction~ for~ language~ "#1"} - \prop_show:N{\polyglossia@langsetup} + \prop_show:N{\g_xpg_langsetup_prop} } } -\cs_new:Nn{\polyglossia@lang@settextdirection:nn}{ - \prop_get:NeNTF \polyglossia@langsetup {#1/direction} \l_tmpa_tl +\cs_new:Nn \__xpg_lang_set_text_direction:nn +{ + \prop_get:NeNTF \g_xpg_langsetup_prop {#1/direction} \l_tmpa_tl { - \polyglossia@settextdirection:n{\l_tmpa_tl}{#2} + \__xpg_set_text_direction:n{\l_tmpa_tl}{#2} } { \xpg@error{Could~ not~ retrieve~ key~ direction~ for~ language~ "#1"} - \prop_show:N{\polyglossia@langsetup} + \prop_show:N{\g_xpg_langsetup_prop} } } -\def\xpg@lastlanguage{0} +\tl_new:N \g__xpg_lastlanguage_tl +\tl_set:Nn \g__xpg_lastlanguage_tl { 0 } -\providebool{xpg@hyphenation@disabled} -\boolfalse{xpg@hyphenation@disabled} +% Track whether hyphenation is disabled +\bool_new:N \g__xpg_hyphenation_disabled_bool -\def\xpg@disablehyphenation{ - \ifx\@onlypreamble\@notprerr - \xpg@@disablehyphenation - \else - % if this is used in the preamble, we have to postpone - % the execution until the main language has been set (#125). - \cs_gset_nopar:Nn \polyglossia@AtBeginDocument@hyphenation: { - \xpg@@disablehyphenation +\DeclareDocumentCommand \disablehyphenation {} +{ + \bool_if:NTF \g_xpg_main_lang_set_bool + { + \__xpg_disable_hyphenation: + } + { + % we have to postpone the execution until the main language + % has been set (#125). + \cs_gset_nopar:Nn \__xpg_at_begin_document_hyphenation: { + \__xpg_disable_hyphenation: } - \fi + } } -\def\xpg@@disablehyphenation{ - \ifbool{xpg@hyphenation@disabled}{}{ - \booltrue{xpg@hyphenation@disabled} - \xdef\xpg@lastlanguage{\the\language} +\cs_new:Nn \__xpg_disable_hyphenation: +{ + \bool_if:NF \g__xpg_hyphenation_disabled_bool + { + \bool_gset_true:N \g__xpg_hyphenation_disabled_bool + \tl_gset:Ne \g__xpg_lastlanguage_tl { \the\language } % We do not call \xpg@set@hyphenation@patterns here to avoid a warning message. % "nohyphenation" is not listed in language.dat.lua. \language=\l@nohyphenation } } -\def\xpg@enablehyphenation{ - \ifbool{xpg@hyphenation@disabled}{ - \boolfalse{xpg@hyphenation@disabled} - \language=\csname xpg@lastlanguage\endcsname - }{}% +\DeclareDocumentCommand \enablehyphenation {} +{ + \bool_if:NT \g__xpg_hyphenation_disabled_bool + { + \bool_gset_false:N \g__xpg_hyphenation_disabled_bool + \language=\tl_use:N{\g__xpg_lastlanguage_tl} + }% } -\let\disablehyphenation\xpg@disablehyphenation -\let\enablehyphenation\xpg@enablehyphenation - -%\def\xpg@fontsetup#1{\xpg@csifdef@warn{xpg@fontsetup@#1}} -%\def\xpg@fontsetup@none#1{\csgdef{#1@font}{\ifcsdef{#1font}{\csname #1font\endcsname}{}}} %<-- simplistic -%\def\xpg@fontsetup@custom#1{\csuse{#1@font}} - -\cs_new:Npn \xpg__auto_setupfont:n #1 { +\cs_new:Npn \__xpg_auto_setupfont:n #1 +{ \bool_if:cTF { g__xpg_#1_fontsetup_bool } { - \str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#1/lcscript}}{latin} + \str_if_eq:eeTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/lcscript}}{latin} {\xpg@fontsetup@latin{#1}} {\xpg@fontsetup@nonlatin{#1}} } @@ -710,11 +754,12 @@ % add fontfeature Language=#2 to langtag #1 % do nothing if #1 or #2 is empty -\cs_new:Nn \polyglossia@addfontfeature@language:nn { +\cs_new:Nn \__xpg_add_font_feature_language:nn +{ \bool_if:nTF{\tl_if_empty_p:n{#1} || \tl_if_empty_p:n{#2}} { % maybe an error ? - \xpg@warning{Asking~ to~ add~ empty~ feature~to~ latin~ font~ + \xpg@warning{Asking~ to~ add~ empty~ feature~to~ main~ font~ (Language="#2"~ to~ langtag~ "#1")} } { @@ -738,67 +783,82 @@ } } } -\cs_generate_variant:Nn \polyglossia@addfontfeature@language:nn { on , no, oo , Vn, nV, VV , xn, nx, xx} +\cs_generate_variant:Nn \__xpg_add_font_feature_language:nn { on , no, oo , Vn, nV, VV , xn, nx, xx} % add fontfeature Script=#2 to scripttag #1 % do nothing if #1 or #2 is empty -\cs_new:Nn \polyglossia@addfontfeature@script:nnn { +\cs_new:Nn \__xpg_add_font_feature_script:nnn +{ \bool_if:nTF{\tl_if_empty_p:n{#2} || \tl_if_empty_p:n{#3}} { % maybe an error ? - \xpg@warning{Asking~ to~ add~ empty~ feature~to~ latin~ font + \xpg@warning{Asking~ to~ add~ empty~ feature~to~ main~ font (Script="#3"~ to~ scripttag~ "#2")} } { \fontspec_if_script:nTF{#2} {\addfontfeature{Script=#3}} { - \tl_set:Nn \l_ffamily_tl {} - \tl_set:Nn \l_ffamilysh_tl { #1 } + \tl_set:Nn \xpg_ffamily_tl {} + \tl_set:Nn \xpg_ffamilysh_tl { #1 } \str_if_eq:nnT { #1 } { rm } { - \tl_set:Nn \l_ffamily_tl { roman } - \tl_set:Nn \l_ffamilysh_tl {} + \tl_set:Nn \xpg_ffamily_tl { roman } + \tl_set:Nn \xpg_ffamilysh_tl {} } \str_if_eq:nnT { #1 } { sf } { - \tl_set:Nn \l_ffamily_tl { sans~ serif } + \tl_set:Nn \xpg_ffamily_tl { sans~ serif } } \str_if_eq:nnT { #1 } { tt } { - \tl_set:Nn \l_ffamily_tl { monospace } + \tl_set:Nn \xpg_ffamily_tl { monospace } } + % Strip font family name for error message + % Courtesy of egreg, https://tex.stackexchange.com/a/613996 + \str_set:Nx \xpg_fname_str { \fontname\font } + % Remove all after : + \regex_replace_once:nnN { \:.* } { } \xpg_fname_str + % ... and all after / + \regex_replace_once:nnN { /.* } { } \xpg_fname_str + % ... and brackets + \regex_replace_once:nnN { \[ } { } \xpg_fname_str + \regex_replace_once:nnN { \] } { } \xpg_fname_str + % ... and extensions + \regex_replace_once:nnN { \.[^\.]* \Z } { } \xpg_fname_str + % ... and, finally, quotation marks + \regex_replace_once:nnN { " } { } \xpg_fname_str \xpg@error{ - The~ current~ latin ~ \l_ffamily_tl\space font~ does~ not~ contain~ the~"#3"~ script!\MessageBreak - Please~ define~\csname\tl_if_empty:nF{#3}{\str_lowercase:n#3}font\l_ffamilysh_tl\endcsname~ + The~ current~ main ~ \xpg_ffamily_tl\space font,~ \xpg_fname_str,~ does~ not~ contain~ the~"#3"~ script!\MessageBreak + Please~ define~\csname\tl_if_empty:nF{#3}{\str_lowercase:n{#3}}font\xpg_ffamilysh_tl\endcsname~ with~ \string\newfontfamily\space command } } } } -\cs_generate_variant:Nn \polyglossia@addfontfeature@script:nnn { non , nno, noo , nVn, nnV, nVV , nxn, nnx, nxx} +\cs_generate_variant:Nn \__xpg_add_font_feature_script:nnn { non , nno, noo , nVn, nnV, nVV , nxn, nnx, nxx} \def\xpg@fontsetup@latin#1{ \begingroup \csgdef{#1@font@rm}{ \cs_if_exist_use:cF{#1font}{ \rmfamilylatin - \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}} - {\prop_item:Nn{\polyglossia@langsetup}{#1/language}} + \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}} } } \csgdef{#1@font@sf}{ \cs_if_exist_use:cF{#1fontsf}{ \sffamilylatin - \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}} - {\prop_item:Nn{\polyglossia@langsetup}{#1/language}} + \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}} } } \csgdef{#1@font@tt}{ \cs_if_exist_use:cF{#1fonttt}{ \ttfamilylatin - \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}} - {\prop_item:Nn{\polyglossia@langsetup}{#1/language}} + \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}} } } \endgroup @@ -810,9 +870,9 @@ \cs_if_exist_use:cF{#1font} { \providetoggle{#1@use@script@font} - \str_if_eq:nnTF{\prop_item:Nn{\polyglossia@langsetup}{#1/script}}{\prop_item:Nn{\polyglossia@langsetup}{#1/language}} + \str_if_eq:nnTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}}{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}} {\rmfamilylatin} - {\cs_if_exist_use:cTF{\prop_item:Nn{\polyglossia@langsetup}{#1/lcscript} font} + {\cs_if_exist_use:cTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/lcscript} font} { \toggletrue{#1@use@script@font} } @@ -821,12 +881,12 @@ } } \iftoggle{#1@use@script@font}{}{ - \polyglossia@addfontfeature@script:nxx{rm} - {\prop_item:Nn{\polyglossia@langsetup}{#1/scripttag}} - {\prop_item:Nn{\polyglossia@langsetup}{#1/script}} + \__xpg_add_font_feature_script:nxx{rm} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/scripttag}} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}} }% - \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}} - {\prop_item:Nn{\polyglossia@langsetup}{#1/language}} + \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}} }% \def\familytype{rm} }% @@ -834,9 +894,9 @@ \cs_if_exist_use:cF{#1fontsf} { \providetoggle{#1@use@script@fontsf} - \str_if_eq:nnTF{\prop_item:Nn{\polyglossia@langsetup}{#1/script}}{\prop_item:Nn{\polyglossia@langsetup}{#1/language}} + \str_if_eq:nnTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}}{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}} {\sffamilylatin} - {\cs_if_exist_use:cTF{\prop_item:Nn{\polyglossia@langsetup}{#1/lcscript} fontsf} + {\cs_if_exist_use:cTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/lcscript} fontsf} { \toggletrue{#1@use@script@fontsf} } @@ -845,12 +905,12 @@ } } \iftoggle{#1@use@script@fontsf}{}{ - \polyglossia@addfontfeature@script:nxx{sf} - {\prop_item:Nn{\polyglossia@langsetup}{#1/scripttag}} - {\prop_item:Nn{\polyglossia@langsetup}{#1/script}} + \__xpg_add_font_feature_script:nxx{sf} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/scripttag}} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}} }% - \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}} - {\prop_item:Nn{\polyglossia@langsetup}{#1/language}} + \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}} }% \def\familytype{sf} }% @@ -858,9 +918,9 @@ \cs_if_exist_use:cF{#1fonttt} { \providetoggle{#1@use@script@fonttt} - \str_if_eq:nnTF{\prop_item:Nn{\polyglossia@langsetup}{#1/script}}{\prop_item:Nn{\polyglossia@langsetup}{#1/language}} + \str_if_eq:nnTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}}{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}} {\ttfamilylatin} - {\cs_if_exist_use:cTF{\prop_item:Nn{\polyglossia@langsetup}{#1/lcscript} fonttt} + {\cs_if_exist_use:cTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/lcscript} fonttt} { \toggletrue{#1@use@script@fonttt} } @@ -869,12 +929,12 @@ } } \iftoggle{#1@use@script@fonttt}{}{ - \polyglossia@addfontfeature@script:nxx{tt} - {\prop_item:Nn{\polyglossia@langsetup}{#1/scripttag}} - {\prop_item:Nn{\polyglossia@langsetup}{#1/script}} + \__xpg_add_font_feature_script:nxx{tt} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/scripttag}} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}} } - \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}} - {\prop_item:Nn{\polyglossia@langsetup}{#1/language}} + \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}} + {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}} } \def\familytype{tt} } @@ -885,71 +945,42 @@ %% ensure localization of \markright and \markboth commands %%% THIS IS NOW DISABLED BY DEFAULT -\cs_new_nopar:Nn {\polyglossia@local@marks:n} {} -\cs_new_nopar:Nn {\polyglossia@enable@local@marks:} -{ - \xpg@info{Option:~ localmarks} - \cs_gset_nopar:Nn \polyglossia@local@marks:n - {% - \def\xpg@tmp@lang{##1} - \DeclareRobustCommand\markboth[2]{ - \begingroup - \let\label\relax \let\index\relax \let\glossary\relax - \unrestored@protected@xdef\@themark - {% - {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####1}}} - {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####2}}} - }% - \@temptokena \expandafter{\@themark} - \mark{\the\@temptokena} - \endgroup - \if@nobreak\ifvmode\nobreak\fi\fi - }% - \DeclareRobustCommand\markright[1]{ - \begingroup - \let\label\relax \let\index\relax \let\glossary\relax - \expandafter\@markright\@themark - {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####1}}} - \@temptokena \expandafter{\@themark} - \mark{\the\@temptokena} - \endgroup - \if@nobreak\ifvmode\nobreak\fi\fi - } -% This part seems wrong (see #396 for explanation). Remove after a while. -% \def\@markright####1####2####3{% -% \@temptokena{\protect\@@ensure@maindir{####1}}% -% \unrestored@protected@xdef\@themark{% -% {\the\@temptokena}% -% {\protect\@@ensure@maindir{####3}}% -% }% -% }% - }% +\cs_new_nopar:Nn \__xpg_local_marks:n { } +\cs_new_nopar:Nn \__xpg_enable_local_marks: +{ + \xpg@info{Option:~ localmarks} + \cs_gset_nopar:Nn \__xpg_local_marks:n + { + \def\xpg@tmp@lang{##1} + \DeclareRobustCommand\markboth[2]{ + \begingroup + \let\label\relax \let\index\relax \let\glossary\relax + \unrestored@protected@xdef\@themark + { + {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####1}}} + {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####2}}} + } + \@temptokena \expandafter{\@themark} + \mark{\the\@temptokena} + \endgroup + \if@nobreak\ifvmode\nobreak\fi\fi + } + \DeclareRobustCommand\markright[1]{ + \begingroup + \let\label\relax \let\index\relax \let\glossary\relax + \expandafter\@markright\@themark + {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####1}}} + \@temptokena \expandafter{\@themark} + \mark{\the\@temptokena} + \endgroup + \if@nobreak\ifvmode\nobreak\fi\fi + } + } } - -% Easy way out – Arthur, 2012-08-01 -\ifcsdef{newXeTeXintercharclass}{ -% to reset the intercharclass of a character to "normal" -\newXeTeXintercharclass\xpg@normalclass %TODO -}{} - -%% when no patterns are available, we use \l@nohyphenation, assigned to 255 -%% (suggestion by Enrico Gregorio) -\sys_if_engine_luatex:TF - { - \@ifundefined{l@nohyphenation} - {\chardef\l@nohyphenation=\directlua{ - tex.sprint(polyglossia.newloader_loaded_languages.nohyphenation)}\relax - } - {} - } - { - \@ifundefined{l@nohyphenation}{\chardef\l@nohyphenation=255 }{} - } - %we call this macro when a gloss file is not found for a given language \def\xpg@nogloss#1{ - \xpg@warning{Neither~ file~ gloss-#1.ldf~ nor file~ gloss-#1.lde~ exists!\MessageBreak + \xpg@warning{File~ gloss-#1.ldf~ do~ not~ exists!\MessageBreak I~ will~ nevertheless~ try~ to~ use~ hyphenation~ patterns~ for~ #1.} \PolyglossiaSetup{#1}{hyphenmins={2,3},hyphennames={#1},fontsetup=true} % the above amounts to: @@ -968,96 +999,39 @@ \catcode`\@=\xpg@saved@at@catcode } -%% Load a lde file -\cs_new_nopar:Nn \__xpg_gloss_ext: {lde} -\cs_new_nopar:Ne \__xpg_saved_@pkgextension: {\@pkgextension} - -\msg_new:nnn { polyglossia } { directloadgloss } -{ - You~ should~ not~ load~ directly~ the~ gloss~ file. ~ - You~ must~ use~ `\string\setotherlanguage\{#1\}' or `\string\setmainlanguage\{#1\}'. -} -\msg_redirect_name:nnn { polyglossia } { directloadgloss } { critical } -\NewDocumentCommand{\__xpg_ProvidesLanguageDefinitionExtension_error}{m m m m} -{ - \msg_critical:nn { polyglossia } { directloadgloss } -} -% ProvideExplPackage but for language file -\cs_new_eq:NN \ProvidesLanguageDefinitionExtension \__xpg_ProvidesLanguageDefinitionExtension_error -\cs_new_eq:NN \__xpg_saved_ProvidesExplPackage \ProvidesExplPackage -\NewDocumentCommand{\__xpg_ProvidesLanguageDefinitionExtension}{m m m m} -{ - \__xpg_saved_ProvidesExplPackage{#1}{#2}{#3}{#4} - \cs_gset_eq:NN \@pkgextension \__xpg_saved_@pkgextension: - \cs_gset_eq:NN \ProvidesLanguageDefinitionExtension \__xpg_ProvidesLanguageDefinitionExtension_error -} - - -% wrapper for loading a gle file -\NewDocumentCommand{\RequireLanguageDefinitionExtension}{O{} m} -{ - \cs_gset_eq:NN \__xpg_saved_@pkgextension: \@pkgextension - \cs_gset_eq:NN \__xpg_saved_ProvidesExplPackage \ProvidesExplPackage - \cs_gset_eq:NN \@pkgextension \__xpg_gloss_ext: - \cs_gset_eq:NN \ProvidesLanguageDefinitionExtension \__xpg_ProvidesLanguageDefinitionExtension - \RequirePackage[#1]{gloss-#2} - % be paranoiac restore - \cs_gset_eq:NN \@pkgextension \__xpg_saved_@pkgextension: - \cs_gset_eq:NN \__xpg_ProvidesLanguageDefinitionExtension_error \ProvideLanguageDefinitionExtension -} - % try to load a language file -\cs_new:Nn \polyglossia_load_lang_definition:nn { - \file_if_exist:nTF{gloss-#2.lde} - { - \RequireLanguageDefinitionExtension[#1]{#2} - \setkeys{#2}{#1} - } - { - \file_if_exist:nTF{gloss-#2.ldf} - { - % Temporarily force catcode of ~ to 13 since babelsh.def - % requires it. This is needed particularly with LaTeX3 - % packages which force \ExplSyntaxOn (#425) - \protected\edef\xpg@restore@tilde@catcode{\catcode 126 = \the\catcode 126\relax} - \catcode 126 = 13 - \xpg@input{gloss-#2.ldf} - \setkeys{#2}{#1} - % restore former ~ catcode - \xpg@restore@tilde@catcode - } - { - \xpg@nogloss{#2} - } - } -} -\cs_generate_variant:Nn \polyglossia_load_lang_definition:nn { - ee, ef, en, eo, ex, - fe, ff, fn, fo, fx, - ne, nf, no, nx, - oe, of, on, oo, ox, - xe, xf, xn, xo, xx -} +\cs_new:Nn \__xpg_load_lang_definition:nn { + \file_if_exist:nTF{gloss-#2.ldf} + { + % Temporarily force catcode of ~ to 13 since babelsh.def + % requires it. This is needed particularly with LaTeX3 + % packages which force \ExplSyntaxOn (#425) + \protected\edef\xpg@restore@tilde@catcode{\catcode 126 = \the\catcode 126\relax} + \catcode 126 = 13 + \xpg@input{gloss-#2.ldf} + \setkeys{#2}{#1} + % restore former ~ catcode + \xpg@restore@tilde@catcode + } + { + \xpg@nogloss{#2} + } +} +\cs_generate_variant:Nn \__xpg_load_lang_definition:nn { ee } % load a master language from an alias file \newcommand*\xpg@load@master@language[1] { - \file_if_exist:nTF{gloss-#1.lde} - { - \RequireLanguageDefinitionExtension{#1} - } - { - \xpg@input{gloss-#1.ldf} - } + \xpg@input{gloss-#1.ldf} \seq_if_in:NeF \__xpg_langs_loaded {#1} { % define environment and command if not alias \str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#1/target}} {#1} { - \use:c{\prop_item:Nn{\polyglossia@langsetup} + \use:c{\prop_item:Nn{\g_xpg_langsetup_prop} {#1/DefineCommandsCmd}} {#1} } } - \polyglossia@register@language:nn{}{#1} + \__xpg_register_language:nn{}{#1} \seq_gput_right:Nn \__xpg_langs_loaded {#1} } @@ -1068,14 +1042,14 @@ \str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#1/target}} {#1} { \exp_args:Ne - \newenvironment {\prop_item:Nn{\polyglossia@langsetup}{#1/envname}} [1] [] + \NewDocumentEnvironment {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/envname}} { O{} } { - \begin{otherlanguage}[##1]{#1} + \otherlanguage [ ##1 ] { #1 } } { - \end{otherlanguage} + \endotherlanguage } - \exp_args:Nc \newcommand {text#1} [2][] + \exp_args:Nc \NewDocumentCommand {text#1} { O{} m } { \__xpg_textlanguage:een{##1}{#1}{##2} } @@ -1096,7 +1070,7 @@ % target to self fall back to language table \str_if_eq:eeTF { \prop_item:Ne \__xpg_alias {#1/target} } { #1 } { - \prop_item:Nn{\polyglossia@langsetup} {#1/#2} + \prop_item:Nn{\g_xpg_langsetup_prop} {#1/#2} } % load alias by recursion { @@ -1130,15 +1104,10 @@ % get base language -\cs_new:Nn \xpg_alias_base_lang:n { - \str_if_eq:eeTF { \prop_item:Ne \__xpg_alias {#1/target} } { #1 } +\cs_new:Nn \xpg_alias_base_lang:n { - #1 + \prop_item:Ne \__xpg_alias {#1/target} } - { - \xpg_alias_base_lang:n { \prop_item:Ne \__xpg_alias {#1/target} } - } -} \cs_generate_variant:Nn \xpg_alias_base_lang:n {e} \keys_define:nn { polyglossia/alias } @@ -1200,10 +1169,10 @@ } \DeclareDocumentEnvironment { #4 } { } { - \begin{otherlanguage}{#4} + \otherlanguage { #4 } } { - \end{otherlanguage} + \endotherlanguage } } \tl_clear_new:N \__xpg_alias_option_tl @@ -1219,19 +1188,20 @@ {#4} } -\cs_new:Nn \polyglossia@register@language:nn { +\cs_new:Nn \__xpg_register_language:nn +{ \clist_if_in:NeF \xpg@loaded {#2}{ \clist_gput_right:Ne \xpg@loaded {#2} } % Register the language options - \polyglossia@set@lang@options:nnn {#2} {#1} {@xpg@set@langvariant} + \__xpg_set_language_options:nnn {#2} {#1} {@xpg@set@langvariant} % register babelname - \prop_get:NeN \polyglossia@langsetup {#2/babelname} \l_tmpa_tl + \prop_get:NeN \g_xpg_langsetup_prop {#2/babelname} \l_tmpa_tl \clist_if_in:NeF \xpg@bloaded {\l_tmpa_tl}{ \clist_gput_right:Ne \xpg@bloaded {\l_tmpa_tl} } % register BCP-47 ID - \prop_get:NeN \polyglossia@langsetup {#2/bcp47} \l_tmpa_tl + \prop_get:NeN \g_xpg_langsetup_prop {#2/bcp47} \l_tmpa_tl \clist_if_in:NeF \xpg@bcp@loaded {\l_tmpa_tl}{ \clist_gput_right:Ne \xpg@bcp@loaded {\l_tmpa_tl} } @@ -1248,21 +1218,21 @@ } \seq_if_in:NeF \__xpg_langs_loaded {#2} { - \polyglossia_load_lang_definition:nn{#1}{#2} + \__xpg_load_lang_definition:nn{#1}{#2} % define environment and command if not alias \str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#2/target}} {#2} { - \use:c{\prop_item:Ne{\polyglossia@langsetup} + \use:c{\prop_item:Ne{\g_xpg_langsetup_prop} {#2/DefineCommandsCmd}} {#2} } \seq_gput_right:Ne \__xpg_langs_loaded {#2} } - \exp_args:Nee \polyglossia@set@default@language:nn {\xpg_alias_add_to_option_i:nn{#2}{#1}} + \exp_args:Nee \__xpg_set_default_language:nn {\xpg_alias_add_to_option_i:nn{#2}{#1}} {\xpg_alias_base_lang:n{#2}} } -\cs_new:Nn \polyglossia@set@default@language:nn +\cs_new:Nn \__xpg_set_default_language:nn { \gdef\xpg@main@language{#2} \tl_if_blank:nTF {#1} @@ -1271,16 +1241,16 @@ } { % Register the language options - \polyglossia@set@lang@options:nnn {#2} {#1} {@xpg@main@langvariant} + \__xpg_set_language_options:nnn {#2} {#1} {@xpg@main@langvariant} } \csgdef{#2@gvar}{\mainlanguagevariant} %% The following settings are for the default language and script % this tells bidi.sty or luabidi.sty that the document is RTL - \__xpg_if_LR_str:eF{\prop_item:Nn{\polyglossia@langsetup}{#2/direction}} + \__xpg_if_LR_str:eF{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/direction}} { \__xpg_setRTLmain: } - \cs_gset_nopar:Nn \polyglossia@AtBeginDocument@selectlanguage: { + \cs_gset_nopar:Nn \__xpg_at_begin_document_selectlanguage: { \selectbackgroundlanguage{#2} \selectlanguage[#1]{#2}% } @@ -1289,24 +1259,24 @@ \cs_gset_nopar:Npn \mainlanguagename {#2} % Store babelname of main language (for external packages such as biblatex) - \cs_gset_nopar:Npe \mainbabelname { \prop_item:Nn \polyglossia@langsetup {#2/babelname} } + \cs_gset_nopar:Npe \mainbabelname { \prop_item:Nn \g_xpg_langsetup_prop {#2/babelname} } % Store babelname of current language (for external packages such as biblatex) \cs_gset_eq:NN \babelname \mainbabelname \cs_gset_eq:cc{#2@gbabelname}{babelname}% % Store BCP-47 ID and subtags of main language: % 1. store main.* (sub)tags - \cs_gset_nopar:cpe {bcp47.main.tag} { \prop_item:Nn \polyglossia@langsetup { #2 / bcp47 } } - \cs_gset_nopar:cpe {bcp47.main.language} { \prop_item:Nn \polyglossia@langsetup { #2 / bcp47-language } } - \cs_gset_nopar:cpe {bcp47.main.region} { \prop_item:Nn \polyglossia@langsetup { #2 / bcp47-region } } - \cs_gset_nopar:cpe {bcp47.main.script} { \prop_item:Nn \polyglossia@langsetup { #2 / bcp47-script } } - \cs_gset_nopar:cpe {bcp47.main.variant} { \prop_item:Nn \polyglossia@langsetup { #2 / bcp47-variant } } - \cs_gset_nopar:cpe {bcp47.main.extension.t} { \prop_item:Nn \polyglossia@langsetup { #2 / bcp47extension-t } } - \cs_gset_nopar:cpe {bcp47.main.extension.u} { \prop_item:Nn \polyglossia@langsetup { #2 / bcp47-extension-u } } - \cs_gset_nopar:cpe {bcp47.main.extension.x} { \prop_item:Nn \polyglossia@langsetup { #2 / bcp47-extension-x } } + \cs_gset_nopar:cpe {bcp47.main.tag} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47 } } + \cs_gset_nopar:cpe {bcp47.main.language} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-language } } + \cs_gset_nopar:cpe {bcp47.main.region} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-region } } + \cs_gset_nopar:cpe {bcp47.main.script} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-script } } + \cs_gset_nopar:cpe {bcp47.main.variant} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-variant } } + \cs_gset_nopar:cpe {bcp47.main.extension.t} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47extension-t } } + \cs_gset_nopar:cpe {bcp47.main.extension.u} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-extension-u } } + \cs_gset_nopar:cpe {bcp47.main.extension.x} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-extension-x } } % For casing, we fall back to language if bcp47-casing is not explicitly set - \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \polyglossia@langsetup { #2 / bcp47-casing } } + \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \g_xpg_langsetup_prop { #2 / bcp47-casing } } \str_if_empty:NTF \tmpcasing - { \cs_gset_nopar:cpe {bcp47.main.casing} { \prop_item:Nn \polyglossia@langsetup {#2 / bcp47-language} } } + { \cs_gset_nopar:cpe {bcp47.main.casing} { \prop_item:Nn \g_xpg_langsetup_prop {#2 / bcp47-language} } } { \cs_gset_nopar:cpe {bcp47.main.casing} { \tmpcasing } } % 2. Store lang (sub)tags \cs_gset_eq:cc {bcp47.tag} {bcp47.main.tag} @@ -1328,11 +1298,6 @@ \cs_gset_eq:cc{#2@g.bcp47.extension.u}{bcp47.extension.u} \cs_gset_eq:cc{#2@g.bcp47.extension.x}{bcp47.extension.x} \cs_gset_eq:cc{#2@g.bcp47.casing}{bcp47.casing} - % Set luatex main language - \sys_if_engine_luatex:T - { - \directlua{polyglossia.set_default_language('\luaescapestring{\string#2}')}% - } } \DeclareCommandCopy \setmainlanguage \setdefaultlanguage @@ -1417,14 +1382,14 @@ \ifcsundef{#2@gvar}{\def\languagevariant{}}{\def\languagevariant{\csuse{#2@gvar}}} }{ % Register the language options - \polyglossia@set@lang@options:nnn {#2} {#1} {@xpg@set@langvariant} - \cs_set_eq:cc{#2@gvar}{languagevariant} + \__xpg_set_language_options:nnn {#2} {#1} {@xpg@set@langvariant} + \cs_set_eq:cc{#2@var}{languagevariant} }% } \newcommand*{\resetdefaultlanguage}[2][]{ - \polyglossia@reset@default@language:nn + \__xpg_reset_default_language:nn {\xpg_alias_add_to_option_i:nn{#2}{#1}} {\xpg_alias_base_lang:n{#2}} } @@ -1435,56 +1400,56 @@ \tl_if_blank:nTF {#1}{ % tag (e.g., en-US) \ifcsundef{#2@g.bcp47.tag}{ - \csedef{bcp47.tag}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47 } } + \csedef{bcp47.tag}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47 } } }{ \csedef{bcp47.tag}{\csuse{#2@g.bcp47.tag}} } % language (e.g., en) \ifcsundef{#2@g.bcp47.language}{ - \csedef{bcp47.language}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-language } } + \csedef{bcp47.language}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-language } } }{ \csedef{bcp47.language}{\csuse{#2@g.bcp47.language}} } % region (e.g., US) \ifcsundef{#2@g.bcp47.region}{% - \csedef{bcp47.region}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-region } } + \csedef{bcp47.region}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-region } } }{ \csedef{bcp47.region}{\csuse{#2@g.bcp47.region}}% } % script (e.g., Latn) \ifcsundef{#2@g.bcp47.script}{ - \csedef{bcp47.script}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-script } } + \csedef{bcp47.script}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-script } } }{ \csedef{bcp47.script}{\csuse{#2@g.bcp47.script}} } % variant (e.g., 1996) \ifcsundef{#2@g.bcp47.variant}{ - \csedef{bcp47.variant}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-variant } } + \csedef{bcp47.variant}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-variant } } }{ \csedef{bcp47.variant}{\csuse{#2@g.bcp47.variant}} } % extension.t (tranformation) \ifcsundef{#2@g.bcp47.extension.t}{% - \csedef{bcp47.extension.t}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-t } } + \csedef{bcp47.extension.t}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-t } } }{ \csedef{bcp47.extension.t}{\csuse{#2@g.bcp47.extension.t}} } % extension.u (additional locale information) \ifcsundef{#2@g.bcp47.extension.u}{% - \csedef{bcp47.extension.u}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-u } } + \csedef{bcp47.extension.u}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-u } } }{ \csedef{bcp47.extension.u}{\csuse{#2@g.bcp47.extension.u}} } % extension.x (private use area) \ifcsundef{#2@g.bcp47.extension.x}{ - \csedef{bcp47.extension.x}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-x } } + \csedef{bcp47.extension.x}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-x } } }{ \csedef{bcp47.extension.x}{\csuse{#2@g.bcp47.extension.x}} } % casing \ifcsundef{#2@g.bcp47.casing}{ % For casing, we fall back to language if bcp47-casing is not explicitly set - \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \polyglossia@langsetup { #2 / bcp47-casing } } + \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \g_xpg_langsetup_prop { #2 / bcp47-casing } } \str_if_empty:NTF \tmpcasing { \cs_gset_eq:cc {bcp47.casing} {bcp47.language} } { \csedef{bcp47.casing}{ \tmpcasing } } @@ -1492,25 +1457,25 @@ \csedef{bcp47.casing}{\csuse{#2@g.bcp47.casing}} } }{ - \csedef{bcp47.tag}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47 } } - \csedef{bcp47.language}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-language } } - \csedef{bcp47.region}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-region } } - \csedef{bcp47.script}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-script } } - \csedef{bcp47.variant}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-variant } } - \csedef{bcp47.extension.t}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-t } } - \csedef{bcp47.extension.u}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-u } } - \csedef{bcp47.extension.x}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-x } } + \csedef{bcp47.tag}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47 } } + \csedef{bcp47.language}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-language } } + \csedef{bcp47.region}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-region } } + \csedef{bcp47.script}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-script } } + \csedef{bcp47.variant}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-variant } } + \csedef{bcp47.extension.t}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-t } } + \csedef{bcp47.extension.u}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-u } } + \csedef{bcp47.extension.x}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-x } } % For casing, we fall back to language if bcp47-casing is not explicitly set - \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \polyglossia@langsetup { #2 / bcp47-casing } } + \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \g_xpg_langsetup_prop { #2 / bcp47-casing } } \str_if_empty:NTF \tmpcasing { \cs_gset_eq:cc {bcp47.casing} {bcp47.language} } { \csedef{bcp47.casing}{ \tmpcasing } } } } -\cs_new:Nn \polyglossia@reset@default@language:nn +\cs_new:Nn \__xpg_reset_default_language:nn { - \polyglossia@error@iflangnotloaded:n{#2} + \xpg_error_if_lang_not_loaded:n{#2} % disable globalnumbers of previously defined default language \csuse{no\xpg@main@language @globalnumbers} \csuse{noextras@\xpg@main@language}% @@ -1519,7 +1484,7 @@ \cs_if_exist_use:c{noextras@bbl@\mainbabelname}% \csuse{init@noextras@\xpg@main@language}% \polyglossia@set@language@name[#1]{#2}% - \__xpg_if_LR_str:eF{\prop_item:Ne{\polyglossia@langsetup}{#2/direction}} + \__xpg_if_LR_str:eF{\prop_item:Ne{\g_xpg_langsetup_prop}{#2/direction}} { \@rlmaintrue\@rl@footnotetrue } @@ -1528,23 +1493,26 @@ % Store babelname of current language (for external packages such as biblatex) \tl_if_blank:nTF {#1}{% \ifcsundef{#2@gbabelname}{ - \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}} + \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}} }{ \edef\babelname{\csuse{#2@gbabelname}} } }{ - \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}} + \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}} } + % Store variant + \tl_if_blank:nTF {#1} + { + \cs_gset_nopar:Npn \mainlanguagevariant {} + } + { + % Register the language options + \__xpg_set_language_options:nnn {#2} {#1} {@xpg@main@langvariant} + } + \csgdef{#2@gvar}{\mainlanguagevariant} % Store BCP-47 id of current language \__xpg_store_bcp_info:nn {#1}{#2} } -\cs_generate_variant:Nn \polyglossia@reset@default@language:nn { - ee, ef, en, eo, ex, - fe, ff, fn, fo, fx, - ne, nf, no, nx, - oe, of, on, oo, ox, - xe, xf, xn, xo, xx -} % This saves the normalfont for the latin script since we may change normalfont in other scripts \let\normalfontlatin=\normalfont @@ -1656,56 +1624,51 @@ \@afterindentfalse } -\cs_new_nopar:Npn \selectbackgroundlanguage #1 -{% - \polyglossia@select@background@language:n {\xpg_alias_base_lang:n{#1}} +\DeclareDocumentCommand \selectbackgroundlanguage { m } +{ + \__xpg_select_background_language:n {\xpg_alias_base_lang:n{#1}} } -\cs_new:Nn \polyglossia@select@background@language:n + +\cs_new:Nn \__xpg_select_background_language:n { - \str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#1/lcscript}}{latin} + \str_if_eq:eeTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/lcscript}}{latin} {} {\xpg@set@normalfont{#1}} \csuse{#1@globalnumbers} } -\cs_generate_variant:Nn \polyglossia@select@background@language:n {e} +\cs_generate_variant:Nn \__xpg_select_background_language:n {e} % Declare secondary language #2 with language options #1 \DeclareDocumentCommand \setotherlanguage { O{} m } { \seq_if_in:NeF \__xpg_langs_loaded {#2} { - \polyglossia_load_lang_definition:ee {#1} {#2} + \__xpg_load_lang_definition:ee {#1} {#2} % define environment and command if not alias \str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#2/target}} {#2} { - \use:c{\prop_item:Ne{\polyglossia@langsetup} + \use:c{\prop_item:Ne{\g_xpg_langsetup_prop} {#2/DefineCommandsCmd}} {#2} } - \polyglossia@set@other@language:ee {\xpg_alias_add_to_option_i:nn{#2}{#1}} + \__xpg_set_otherlanguage:ee {\xpg_alias_add_to_option_i:nn{#2}{#1}} {\xpg_alias_base_lang:n{#2}} \seq_gput_right:Ne \__xpg_langs_loaded {#2} } } -\cs_new:Nn \polyglossia@set@other@language:nn +\cs_new:Nn \__xpg_set_otherlanguage:nn { - \polyglossia@register@language:nn{#1}{#2} + \__xpg_register_language:nn{#1}{#2} % If a variant is set, store it. \gdef\otherlanguagevariant{} % Register the language options - \polyglossia@set@lang@options:nnn {#2} {#1} {@xpg@other@langvariant} + \__xpg_set_language_options:nnn {#2} {#1} {@xpg@other@langvariant} \csgdef{#2@gvar}{\otherlanguagevariant} - \prop_get:NeNT \polyglossia@langsetup {#2/babelname} \l_tmpa_tl + \prop_get:NeNT \g_xpg_langsetup_prop {#2/babelname} \l_tmpa_tl { \xdef\otherlanguagebabelname{\l_tmpa_tl} } \cs_gset_eq:cc{#2@gbabelname}{otherlanguagebabelname} } -\cs_generate_variant:Nn \polyglossia@set@other@language:nn { - ee, ef, en, eo, ex, - fe, ff, fn, fo, fx, - ne, nf, no, nx, - oe, of, on, oo, ox, - xe, xf, xn, xo, xx -} +\cs_generate_variant:Nn \__xpg_set_otherlanguage:nn { ee } % Store main language variant for external packages @@ -1718,17 +1681,20 @@ \clist_map_function:eN { #1 } \setotherlanguage } -\def\common@language{% FIXME is this really needed??? - \ifbool{xpg@hyphenation@disabled}{ - \xdef\xpg@lastlanguage{\z@} +\cs_set:Nn \xpg_common_language: +{% FIXME is this really needed??? + \bool_if:NTF \g__xpg_hyphenation_disabled_bool + { + \tl_gset:Ne \g__xpg_lastlanguage_tl {\z@} }{ \language=\z@ } \lefthyphenmin=\tw@ \righthyphenmin=\thr@@} -\def\xpg@initial@setup{ - \common@language +\cs_set:Nn \xpg_initial_setup: +{ + \xpg_common_language: } @@ -1749,27 +1715,21 @@ % for specific (esp. tag-based) aliases % where {} would cause clashes % (e.g., \fi) -\newenvironment{lang}[2][]{ - \begin{otherlanguage}[#1]{#2} -}{ - \end{otherlanguage} -} - -\providecommand{\foreignlanguage}{} +\DeclareEnvironmentCopy { lang } { otherlanguage } % wrapper for foreignlanguage and otherlanguage* \newcommand*\polyglossia@setforeignlanguage[2][]{ \select@@language[#1]{#2} - \polyglossia@register@language:nn{#1}{#2} + \__xpg_register_language:nn{#1}{#2} % Store babelname of current language (for external packages such as biblatex) \tl_if_blank:nTF {#1}{ \ifcsundef{#2@gbabelname}{ - \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}} + \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}} }{ \edef\babelname{\csuse{#2@gbabelname}} } }{ - \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}} + \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}} } % Store BCP-47 id of current language \__xpg_store_bcp_info:nn {#1}{#2} @@ -1786,7 +1746,7 @@ } % lowercase options before passing to setkeys -\cs_new:Nn \polyglossia@set@keys:nn +\cs_new:Nn \__xpg_set_keys:nn { \xpg@str@lowercase{\xpg@tmp@opts}{#2} \exp_args:Nne \setkeys{#1}{\xpg@tmp@opts} @@ -1796,10 +1756,10 @@ % and \text % #1 option % #2 language -\newcommand{\xpg@otherlanguage}[2][] +\cs_new:Nn \xpg_otherlanguage:nn { - \polyglossia@error@iflangnotloaded:n{#2} - \polyglossia@set@keys:nn{#2}{#1} + \xpg_error_if_lang_not_loaded:n{#2} + \__xpg_set_keys:nn{#2}{#1} \polyglossia@setforeignlanguage[#1]{#2} % Hook for external packages such as biblatex \polyglossia@language@switched @@ -1810,10 +1770,13 @@ \cs_if_exist_use:c{inlineextras@bbl@\babelname} } -\renewcommand{\foreignlanguage}[3][] -{ - \__xpg_foreignlanguage:eeen {#1} {#2} {\xpg_alias_base_lang:n{#2}} {#3} -} +\DeclareDocumentCommand { \foreignlanguage } { O{} m m } + { + \__xpg_foreignlanguage:eeen {#1} {#2} {\xpg_alias_base_lang:n{#2}} {#3} + } + +% prevent case changing of language name in \foreignlanguage +\tl_put_right:Nn \l_text_case_exclude_arg_tl { \foreignlanguage } % Direct access to polyglossia@setforeignlanguage % used in captions @@ -1840,7 +1803,7 @@ { \cs_set_eq:NN \__xpg_current_matrixlang \l_tmpa_tl } { \cs_set_eq:NN \__xpg_current_matrixlang \mainlanguagename } % Reset the language's/script's font families if the embedding script is latin - \str_if_eq:eeT{\prop_item:Ne{\polyglossia@langsetup}{\__xpg_current_matrixlang/lcscript}}{latin} + \str_if_eq:eeT{\prop_item:Ne{\g_xpg_langsetup_prop}{\__xpg_current_matrixlang/lcscript}}{latin} {\resetfontlatin} % In case a \font is defined, re-activate that \exp_args:Ne \xpg@set@normalfont{\__xpg_current_matrixlang} @@ -1859,8 +1822,8 @@ }{ \__xpg_store_matrixlang: \group_begin: - \xpg@otherlanguage[\xpg_alias_add_to_option_i:nn{#2}{#1}]{#3} - \polyglossia@lang@settextdirection:nn{#3}{#4} + \xpg_otherlanguage:nn{ \xpg_alias_add_to_option_i:nn{#2}{#1} }{ #3 } + \__xpg_lang_set_text_direction:nn{#3}{#4} \group_end: \__xpg_reset_to_matrixlang: } @@ -1869,17 +1832,14 @@ % otherlanguage* is the environment equivalent of \foreignlanguage -\expandafter\providecommand\csname otherlanguage*\endcsname{} - -\renewenvironment{otherlanguage*}[2][] -{% - \__xpg_store_matrixlang: - \__xpg_otherlanguage:eee {#1} {#2} {\xpg_alias_base_lang:n{#2}} -} -{ - \egroup - \__xpg_reset_to_matrixlang: -} +\DeclareDocumentEnvironment { otherlanguage* } { O{} m } + { + \__xpg_store_matrixlang: + \__xpg_otherlanguage:eee { #1 } { #2 } { \xpg_alias_base_lang:n { #2 } } + }{ + \group_end: + \__xpg_reset_to_matrixlang: + } % internal wrapper % #1 option @@ -1891,14 +1851,12 @@ { \msg_show:nnn { polyglossia } { languagenotloaded } {#2} }{ - \xpg@otherlanguage[\xpg_alias_add_to_option_i:nn{#2}{#1}]{#3} - \polyglossia@lang@settextdirection:nn{#3}% + \xpg_otherlanguage:nn{ \xpg_alias_add_to_option_i:nn{#2}{#1} }{ #3 } + \__xpg_lang_set_text_direction:nn{#3}% \bgroup } } -\cs_generate_variant:Nn \__xpg_otherlanguage:nnn { - eee -} +\cs_generate_variant:Nn \__xpg_otherlanguage:nnn { eee } % use by \text and \textlang. Equivalent to \foreignlanguage, % except that dates are localized. @@ -1912,7 +1870,7 @@ \cs_generate_variant:Nn \__xpg_textlanguage:nnn {een} % Track whether we are in an inline lang (\text...) switch -\bool_new:N \__xpg_inline_lang +\bool_new:N \l__xpg_inline_lang_bool % use by \text and \textlang. Equivalent to \foreignlanguage, % except that dates are localized. @@ -1929,13 +1887,13 @@ { \__xpg_store_matrixlang: \group_begin: - \bool_set_true:N \__xpg_inline_lang - \xpg@otherlanguage[#1]{#3} + \bool_set_true:N \l__xpg_inline_lang_bool + \xpg_otherlanguage:nn{#1}{#3} \csuse{date#3} % This is a hook for external packages which want to access variants % via babelname (such as biblatex) \cs_if_exist_use:c{date@bbl@\babelname} - \polyglossia@lang@settextdirection:nn{#3}{#4} + \__xpg_lang_set_text_direction:nn{#3}{#4} \group_end: \__xpg_reset_to_matrixlang: } @@ -1945,7 +1903,7 @@ % Define language-specific hyphenation exceptions \newcommand\pghyphenation[3][]{ \bgroup - \polyglossia@error@iflangnotloaded:n{#2} + \xpg_error_if_lang_not_loaded:n{#2} \setkeys{#2}{#1} \select@@language[#1]{#2} \hyphenation{#3} @@ -1955,6 +1913,7 @@ % Hook that other package authors can use % (for instance biblatex): +% Do not rename! \newcommand*{\xpg@hook@setlanguage}{} \def\xpg@pop@language@i#1#2{ @@ -1962,55 +1921,39 @@ \xpg@hook@setlanguage \let\emp@langname\@undefined} -\newif\ifxpginauxfile\xpginauxfilefalse - \DeclareDocumentCommand \selectlanguage {s O{} m} -{ - \tl_if_blank:eTF {\xpg_alias_base_lang:n{#3}} - { - \ifxpginauxfile - \msg_show:nnn { polyglossia } { languagenolongerloaded } {#3} - \else - \msg_show:nnn { polyglossia } { languagenotloaded } {#3} - \fi - } { - \polyglossia@select@language:nee {#1} - {\xpg_alias_add_to_option_i:nn{#3}{#2}} - {\xpg_alias_base_lang:n{#3}} + \tl_if_blank:eTF {\xpg_alias_base_lang:n{#3}} + { + \IfBooleanTF { #1 } + { \msg_show:nnn { polyglossia } { languagenolongerloaded } {#3} } + { \msg_show:nnn { polyglossia } { languagenotloaded } {#3} } + }{ + \__xpg_select_language:nee {#1} + { \xpg_alias_add_to_option_i:nn{#3}{#2} } + { \xpg_alias_base_lang:n{#3} } + } } -} -\cs_new:Nn \polyglossia@select@language:nnn +\cs_new:Nn \__xpg_select_language:nnn { - \IfBooleanF {#1} - { - \cs_set_nopar:Npx \xpg@pop@language { \exp_not:N \xpg@pop@language@i {#2} {#3} } - \group_insert_after:N \xpg@pop@language - } % Register the language options - \polyglossia@set@lang@options:nnn {#3} {#2} {@xpg@set@langvariant} - % The starred variant does not write to the aux - \IfBooleanTF#1{% - \xpg@set@language@nonaux[#2]{#3} - } - { - \xpg@set@language@aux[#2]{#3} - } - \sys_if_engine_luatex:T - { - \directlua{polyglossia.select_language('\luaescapestring{\string#3}', - \the\csname l@#3\endcsname)} - } - \polyglossia@register@language:nn{#2}{#3} -} -\cs_generate_variant:Nn \polyglossia@select@language:nnn { - nee, nne + \__xpg_set_language_options:nnn {#3} {#2} {@xpg@set@langvariant} + \IfBooleanTF { #1 } % The starred variant does not write to the aux + { + \xpg@set@language@nonaux[#2]{#3} + }{ + \cs_set_nopar:Npe \xpg@pop@language { \exp_not:N \xpg@pop@language@i {#2} {#3} } + \group_insert_after:N \xpg@pop@language + \xpg@set@language@aux[#2]{#3} + } + \__xpg_register_language:nn{#2}{#3} } +\cs_generate_variant:Nn \__xpg_select_language:nnn { nee, nne } % set lang option #2 for lang #1 -\cs_new:Nn \polyglossia@set@lang@options:nnn +\cs_new:Nn \__xpg_set_language_options:nnn { \tl_if_blank:nF {#2} { @@ -2018,7 +1961,7 @@ \clist_map_inline:nn { #2 } { \xpg@parsevariantkeyvalue##1=#3:#1\relax }% - \polyglossia@set@keys:nn{#1}{#2} + \__xpg_set_keys:nn{#1}{#2} } } @@ -2026,7 +1969,7 @@ % \iflanguageoption has the info it needs also % for default settings \newcommand*\xpg@initialize@gloss@options[2]{ - \polyglossia@set@lang@options:nnn {#1} {#2} {@xpg@set@langvariant} + \__xpg_set_language_options:nnn {#1} {#2} {@xpg@set@langvariant} } % Record synonymous keyvals such as variant=us and variant=american @@ -2036,6 +1979,8 @@ { \prop_new:c {xpg@alias@keyvals@#1@#3} } \prop_put:cnn { xpg@alias@keyvals@#1@#3 } {#2}{#4} + \prop_if_exist:cF { xpg@alias@keyvals@#1@#4 } + { \prop_new:c {xpg@alias@keyvals@#1@#4} } \prop_put:cnn { xpg@alias@keyvals@#1@#4 } {#2}{#3} } @@ -2072,7 +2017,7 @@ } -\prg_set_conditional:Npnn \polyglossia@check@option@value:NNN #1#2#3 { p , T , F , TF } +\prg_set_conditional:Npnn \__xpg_check_option_value:NNN #1#2#3 { p , T , F , TF } { \prop_get:cnNTF {xpg@current@options@#1} {#2} \l_tmpa_tl { @@ -2101,8 +2046,9 @@ } % Test if option value is set -\newcommand*\iflanguageoption[5]{ - \polyglossia@check@option@value:NNNTF{#1}{#2}{#3}{#4}{#5} +\DeclareDocumentCommand \iflanguageoption { m m m m m } +{ + \__xpg_check_option_value:NNNTF{#1}{#2}{#3}{#4}{#5} } @@ -2114,21 +2060,23 @@ } % Test if language is loaded -\newcommand*\iflanguageloaded[3]{ +\DeclareDocumentCommand \iflanguageloaded { m m m } +{ \AddToHook{begindocument/end}{ \clist_if_in:NeTF \xpg@loaded{#1}{#2}{#3} } } % Same for babellanguage is loaded -\newcommand*\ifbabellanguageloaded[3]{ +\DeclareDocumentCommand \ifbabellanguageloaded { m m m } +{ \AddToHook{begindocument/end}{ \clist_if_in:NeTF \xpg@bloaded{#1}{#2}{#3} } } % Same for languageid -\DeclareDocumentCommand \iflanguageidloaded {mmmm} +\DeclareDocumentCommand \iflanguageidloaded { m m m m } { \AddToHook{begindocument/end}{ \str_case:nnTF {#1} @@ -2144,7 +2092,7 @@ } % Check if the current font has a given glyph -\prg_new_conditional:Npnn \__polyglossia_if_char:N #1 { TF } +\prg_new_conditional:Npnn \__xpg_if_char:N #1 { TF } { \iffontchar\font\int_from_hex:n { #1 }~ \prg_return_true: @@ -2157,14 +2105,14 @@ % and print it, if so, otherwise print the replacement #2 \NewExpandableDocumentCommand \charifavailable { m m } { - \exp_args:Nno \__polyglossia_if_char:NTF { #1 } { \Uchar"#1 } { #2 } + \exp_args:Nno \__xpg_if_char:NTF { #1 } { \Uchar"#1 } { #2 } } % Test if a char (by char code) is available in the current font % if so, do #2, else do #3 -\NewDocumentCommand \IfCharIsAvailableTF { m m m } +\NewExpandableDocumentCommand \IfCharIsAvailableTF { m m m } { - \__polyglossia_if_char:NTF{#1}{#2}{#3} + \__xpg_if_char:NTF { #1 } { #2 } { #3 } } @@ -2177,12 +2125,12 @@ % Store babelname of current language (for external packages such as biblatex) \tl_if_blank:nTF {#1}{ \ifcsundef{#2@gbabelname}{ - \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}} + \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}} }{ \edef\babelname{\csuse{#2@gbabelname}} } }{ - \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}} + \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}} } % Store BCP-47 id of current language \__xpg_store_bcp_info:nn {#1}{#2} @@ -2194,29 +2142,14 @@ \newcommand*{\xpg@set@language@only@aux}[2][]{ % Write to the aux (toc files) \if@filesw - \ifx#1\\\\ - \addtocontents{toc}{\protect\selectlanguage*{#2}} - \else - \addtocontents{toc}{\protect\selectlanguage*[#1]{#2}} - \fi + \addtocontents{toc}{\selectlanguage*[#1]{#2}} \fi } \AtBeginDocument{ - % Tell polyglossia that we are in an aux file - \if@filesw - \addtocontents{toc}{\protect\xpginauxfiletrue} - \addtocontents{lof}{\protect\xpginauxfiletrue} - \addtocontents{lot}{\protect\xpginauxfiletrue} - \fi -} - -\AtEndDocument{ - % Tell polyglossia that we are no longer in an aux file \if@filesw - \addtocontents{toc}{\protect\xpginauxfilefalse} - \addtocontents{lof}{\protect\xpginauxfilefalse} - \addtocontents{lot}{\protect\xpginauxfilefalse} + \immediate\write\@mainaux + {\ProvideDocumentCommand\selectlanguage{sO{}m}{}} \fi } @@ -2228,49 +2161,22 @@ \addtocontents{lot}{\protect\setforeignlanguage{\languagename}} } -% The bidi package swaps the output stream within RTL tables -% (to get the column order right). This also swaps group -% delimiters inserted to the aux files via otherlanguage (see #354). -% We therefore patch bidi and insert a bool that tells us -% whether we are in such a table. -\newbool{xpg@inbiditable} -\AtBeginDocument{ - \@ifpackageloaded{bidi}{ - \patchcmd{\@tabular} - {\if@RTLtab} - {\if@RTLtab\booltrue{xpg@inbiditable}} - {} % success - {\xpg@warning{Patching bidi table failed!}} - }{} -} - % check if language is defined -\prg_set_conditional:Npnn \__xpg_check_if_exist_l@:N #1 { p , T , F , TF }{ - \cs_if_exist:cTF {l@#1} - { - \cs_if_eq:cNTF {l@#1} \l@nohyphenation - { - \prg_return_false: - } - { - % it's possible that sometimes \csname l@#1\endcsname becomes \relax - \cs_if_eq:cNTF {l@#1} \relax - { \prg_return_false: } - { \prg_return_true: } - } - } - { - \prg_return_false: - } -} +\prg_set_conditional:Npnn \__xpg_check_if_exist_l@:n #1 { F, TF } + { + \bool_lazy_and:nnTF + { \cs_if_exist_p:c { l@#1 } } + { ! (\cs_if_eq_p:cc { l@#1 } { l@nohyphenation }) } + { \prg_return_true: } + { \prg_return_false: } + } \def\polyglossia@luatex@load@lang#1{ % if \l@#1 is not properly defined, call lua function newloader(#1), % and assign the returned number to \l@#1 - \__xpg_check_if_exist_l@:NF {#1} + \__xpg_check_if_exist_l@:nF {#1} { - \expandafter\chardef\csname l@#1\endcsname= - \directlua{ tex.sprint(polyglossia.newloader'#1') }\relax + \directlua { token.set_char('l@#1', polyglossia.newloader'#1') } } } @@ -2282,7 +2188,7 @@ { \polyglossia@luatex@load@lang{#1} } - \__xpg_check_if_exist_l@:NTF{#1}{#2}{#3} + \__xpg_check_if_exist_l@:nTF{#1}{#2}{#3} } % Set \bbl@hyphendata@\the\language, which is (lua)babel's @@ -2308,20 +2214,20 @@ % hook for compatibility with biblatex \select@language{#2} \xpg@set@bbl@hyphendata{\the\language} - \xpg@initial@setup% + \xpg_initial_setup: \select@@language[#1]{#2}% % Hook for external packages such as biblatex \polyglossia@language@switched% - \polyglossia@lang@setpardirection:n{#2} + \__xpg_lang_set_par_direction:n{#2} \csuse{captions#2}% \csuse{date#2}% % These are hooks for external packages which want to access variants % via babelname (such as biblatex) \cs_if_exist_use:c{captions@bbl@\babelname} \cs_if_exist_use:c{date@bbl@\babelname} - \polyglossia@local@marks:n{#2} + \__xpg_local_marks:n{#2} \csuse{init@extras@#2}% - \xpg__indent_first:n { #2 } + \__xpg_indent_first:n { #2 } \csuse{blockextras@#2}% % This is a hook for external packages which want to access variants % via babelname (such as biblatex) @@ -2335,6 +2241,7 @@ \def\select@language#1{} % Hook for external packages such as biblatex +% do not rename! \def\polyglossia@language@switched{} % remove all custumization for language #1 @@ -2354,24 +2261,24 @@ \noextrascurrent{\languagename} \cs_if_exist_use:c{no\languagename @numbers} \sys_if_engine_xetex:T{ - \__xpg_if_LR_str:eTF{\prop_item:Ne{\polyglossia@langsetup}{\languagename/direction}} + \__xpg_if_LR_str:eTF{\prop_item:Ne{\g_xpg_langsetup_prop}{\languagename/direction}} { - \__xpg_if_LR_str:eF{\prop_item:Nn{\polyglossia@langsetup}{#2/direction}} + \__xpg_if_LR_str:eF{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/direction}} {\setnonlatin} % LTR -> RTL } { - \__xpg_if_LR_str:eT{\prop_item:Nn{\polyglossia@langsetup}{#2/direction}} + \__xpg_if_LR_str:eT{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/direction}} {\setlatin} % RTL -> LTR } } } \polyglossia@set@language@name[#1]{#2} % Set the language's/script's font families - \str_if_eq:eeT{\prop_item:Nn{\polyglossia@langsetup}{#2/lcscript}} {latin} + \str_if_eq:eeT{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/lcscript}} {latin} { \resetfontlatin } - \bool_if:NF \__xpg_inline_lang + \bool_if:NF \l__xpg_inline_lang_bool { % This for non-inline font switches % in case a \font is defined \xpg@set@normalfont{#2} @@ -2380,7 +2287,7 @@ \__xpg_use_or_warn:c{#2@language} \cs_if_exist_use:c{#2@numbers} \use@localhyphenmins[#1]{#2} - \xpg__french_spacing:n { #2 } + \__xpg_french_spacing:n { #2 } } @@ -2391,14 +2298,14 @@ % \clist_new:N \l_xpg_lang_stack -\cs_new:Nn \polyglossia@stack@language:nn +\cs_new:Nn \__xpg_stack_language:nn { \clist_gpush:Nn \l_xpg_lang_stack {#1:#2} } -\cs_generate_variant:Nn \polyglossia@stack@language:nn {nx} +\cs_generate_variant:Nn \__xpg_stack_language:nn {nx} -\cs_new:Nn \polyglossia@unstack@language:n +\cs_new:Nn \__xpg_unstack_language:n { \clist_gpop:NNTF \l_xpg_lang_stack \l_tmpa_tl { % Stored format = options:language => split: @@ -2408,7 +2315,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}} - {\polyglossia@set@keys:nn{\l_tmpc_tl}{\l_tmpb_tl} + {\__xpg_set_keys:nn{\l_tmpc_tl}{\l_tmpb_tl} \cs_if_exist_use:c{#1}[\l_tmpb_tl]{\l_tmpc_tl} } } @@ -2419,17 +2326,19 @@ { % Get real current (pre-switch) options (incl. defaults) \clist_clear_new:N \l_xpg_current_options + \prop_if_exist:cF { xpg@current@options@\languagename } + { \prop_new:c {xpg@current@options@\languagename} } \prop_map_inline:cn {xpg@current@options@\languagename} { \clist_put_right:Nn \l_xpg_current_options {##1=##2} } % Store current (pre-switch) options and language on stack - \polyglossia@stack@language:nx{\clist_use:Nn \l_xpg_current_options {,}}{\languagename} + \__xpg_stack_language:nx{\clist_use:Nn \l_xpg_current_options {,}}{\languagename} \selectlanguage[#1]{#2} } { % restore previous language in aux file and remove closed one from stack - \polyglossia@unstack@language:n{xpg@set@language@only@aux} + \__xpg_unstack_language:n{xpg@set@language@only@aux} } \newcommand{\setlocalhyphenmins}[3]{ @@ -2450,17 +2359,17 @@ \edef\xpg@tmp@opts{\xpg_alias_add_to_option_i:nn{#2}{#1}} \edef\xpg@tmp@lang{\xpg_alias_base_lang:n{#2}} \bgroup - \polyglossia@error@iflangnotloaded:n{\xpg@tmp@lang} - \polyglossia@set@keys:nn{\xpg@tmp@lang}{\xpg@tmp@opts} + \xpg_error_if_lang_not_loaded:n{\xpg@tmp@lang} + \__xpg_set_keys:nn{\xpg@tmp@lang}{\xpg@tmp@opts} % Store bcp47.tag@hypenmins \tl_if_blank:nTF {\xpg@tmp@opts}{% \ifcsundef{\csname xpg@tmp@lang\endcsname @g.bcp47.tag}{ - \csedef{tmp@bcp47.tag}{\prop_item:Ne{\polyglossia@langsetup}{ \xpg@tmp@lang / bcp47 }} + \csedef{tmp@bcp47.tag}{\prop_item:Ne{\g_xpg_langsetup_prop}{ \xpg@tmp@lang / bcp47 }} }{ \csedef{tmp@bcp47.tag}{\csuse{#2@g.bcp47.tag}} } }{ - \csedef{tmp@bcp47.tag}{\prop_item:Ne{\polyglossia@langsetup}{ \xpg@tmp@lang / bcp47 }} + \csedef{tmp@bcp47.tag}{\prop_item:Ne{\g_xpg_langsetup_prop}{ \xpg@tmp@lang / bcp47 }} } \csgdef{\csname tmp@bcp47.tag\endcsname @hyphenmins}{{#3}{#4}} \egroup @@ -2469,17 +2378,17 @@ % \use@localhypenmins[options]{lang} \newcommand*\use@localhyphenmins[2][]{ \bgroup - \polyglossia@error@iflangnotloaded:n{#2} - \polyglossia@set@keys:nn{#2}{#1} + \xpg_error_if_lang_not_loaded:n{#2} + \__xpg_set_keys:nn{#2}{#1} % Use bcp47.tag@hypenmins \tl_if_blank:nTF {#1}{ \ifcsundef{#2@g.bcp47.tag}{ - \csxdef{tmp@bcp47.tag}{\prop_item:Nn{\polyglossia@langsetup}{ #2 / bcp47 }} + \csxdef{tmp@bcp47.tag}{\prop_item:Nn{\g_xpg_langsetup_prop}{ #2 / bcp47 }} }{ \csxdef{tmp@bcp47.tag}{\csuse{#2@g.bcp47.tag}} } }{ - \csxdef{tmp@bcp47.tag}{\prop_item:Nn{\polyglossia@langsetup}{ #2 / bcp47 }} + \csxdef{tmp@bcp47.tag}{\prop_item:Nn{\g_xpg_langsetup_prop}{ #2 / bcp47 }} } \egroup \ifcsundef{\csname tmp@bcp47.tag\endcsname @hyphenmins}{ @@ -2493,7 +2402,7 @@ } \sys_if_engine_luatex:T{ % Set \totalhyphenmin if specified - \prop_get:NeNTF \polyglossia@langsetup {#2/totalhyphenmin} \l_tmpa_tl + \prop_get:NeNTF \g_xpg_langsetup_prop {#2/totalhyphenmin} \l_tmpa_tl { \xpg@info{totalhyphenmin: '\l_tmpa_tl'} \expandafter\hyphenationmin \l_tmpa_tl @@ -2513,7 +2422,7 @@ \edef\xpg@tmp@opts{\xpg_alias_add_to_option_i:nn{#2}{#1}} \edef\xpg@tmp@lang{\xpg_alias_base_lang:n{#2}} % Register the language options - \polyglossia@set@lang@options:nnn {\xpg@tmp@lang} {\xpg@tmp@opts} {@xpg@set@langvariant} + \__xpg_set_language_options:nnn {\xpg@tmp@lang} {\xpg@tmp@opts} {@xpg@set@langvariant} % Now switch patterns \__xpg_use_or_warn:c{\use:c{xpg@tmp@lang}@language} % And activate hyphenmins @@ -2522,10 +2431,10 @@ { } \AddToHook{begindocument/before}{ - \@ifpackageloaded{bidi}{ + \IfPackageLoadedTF{bidi}{ \providecommand*{\aemph}[1]{$\overline{\hboxR{#1}}$} }{} - \@ifpackageloaded{luabidi}{ + \IfPackageLoadedTF{luabidi}{ \providecommand*{\aemph}[1]{$\overline{\hbox{\RL{#1}}}$} }{} } @@ -2534,7 +2443,7 @@ % keys for main package \keys_define:nn { polyglossia } { verbose - .bool_set:N = \l_polyglossia_verbose_bool, + .bool_set:N = \g_xpg_verbose_bool, verbose .default:n = true, % compatibility @@ -2542,7 +2451,7 @@ .meta:n = { verbose = false }, localmarks - .bool_set:N = \l_polyglossia_localmarks_bool, + .bool_set:N = \g_xpg_localmarks_bool, localmarks .default:n = true, % compatibility @@ -2550,12 +2459,12 @@ .meta:n = { localmarks = false }, babelshorthands - .bool_set:N = \l_polyglossia_babelshorthands_bool, + .legacy_if_set:n = system@babelshorthands, % compatibility babelshorthands .default:n = true, luatexrenderer - .cs_set:Np = \l_polyglossia_luatex_renderer, + .str_set:N = \g_xpg_luatex_renderer_str, luatexrenderer .value_required:n = true, } @@ -2575,14 +2484,14 @@ % Set the LuaTeX renderer. As opposed to fontspec, we use Harfbuzz by default. % This can be changed via the luatexrenderer package option. \sys_if_engine_luatex:T{ - \str_if_eq:eeF{\l_polyglossia_luatex_renderer}{none} + \str_if_eq:eeF{\g_xpg_luatex_renderer_str}{none} { - \xpg@info{Setting~ LuaTeX~ font~ renderer~ to~ \l_polyglossia_luatex_renderer} - \exp_args:Ne \defaultfontfeatures{Renderer=\l_polyglossia_luatex_renderer} + \xpg@info{Setting~ LuaTeX~ font~ renderer~ to~ \g_xpg_luatex_renderer_str} + \exp_args:Ne \defaultfontfeatures{Renderer=\g_xpg_luatex_renderer_str} } } -\bool_if:nF \l_polyglossia_verbose_bool { +\bool_if:nF \g_xpg_verbose_bool { \gdef\@latex@info#1{\relax} % no latex info \gdef\@font@info#1{\relax} % no latex font info \gdef\@font@warning#1{\relax} % no latex font warnings @@ -2590,46 +2499,92 @@ \gdef\xpg@info#1{\relax} % no polyglossia info } -\bool_if:nT \l_polyglossia_localmarks_bool { - \polyglossia@enable@local@marks: +\bool_if:nT \g_xpg_localmarks_bool { + \__xpg_enable_local_marks: } % Control shorthand (de-)activation % This checks that the shorthand char is only deactivated % if we have activated it ourselves and hence keeps % activation of other packages if no shorthands are used. -\seq_new:N \__xpg_active_shorthands +\seq_new:N \g__xpg_active_shorthands_seq \DeclareDocumentCommand \xpg@activate@shorthands { O{"} } { - \seq_if_in:NnF \__xpg_active_shorthands { #1 } + \seq_if_in:NnF \g__xpg_active_shorthands_seq { #1 } { \bbl@activate{#1} - \seq_gpush:Nn \__xpg_active_shorthands { #1 } + \seq_gpush:Nn \g__xpg_active_shorthands_seq { #1 } } } \DeclareDocumentCommand \xpg@deactivate@shorthands { O{"} } { - \seq_if_in:NnT \__xpg_active_shorthands { #1 } + \seq_if_in:NnT \g__xpg_active_shorthands_seq { #1 } { \cs_if_exist:cT{initiate@active@char}{\bbl@deactivate{#1}} - \seq_remove_all:Nn \__xpg_active_shorthands {#1} + \seq_remove_all:Nn \g__xpg_active_shorthands_seq {#1} } } -% compatibility -\newif\ifsystem@babelshorthands -\bool_if:nTF \l_polyglossia_babelshorthands_bool { - \system@babelshorthandstrue -}{ - \system@babelshorthandsfalse +% Inherit shorthands in other languages +\NewDocumentCommand \inheritbabelshorthands { m m } +{ + \AddToHook{begindocument/before}{ + % Load the involved languages if necessary + % Error if they do not exist + \tl_set:Nn \l__xpg_tmpa_lang_tl { \xpg_alias_base_lang:n{#1} } + \clist_if_in:NeF \xpg@loaded {\l__xpg_tmpa_lang_tl}{ + \file_if_exist:nTF{gloss-\l__xpg_tmpa_lang_tl .ldf} + { \setotherlanguage{#1} } + { \xpg@error{ Source~ language~ #1,~ used~ in~ + \string\inheritbabelshorthands,~ does~ not~ exist } } + } + \tl_set:Nn \l__xpg_tmpb_lang_tl { \xpg_alias_base_lang:n{#2} } + \clist_if_in:NeF \xpg@loaded {\l__xpg_tmpb_lang_tl}{ + \file_if_exist:nTF{gloss-\l__xpg_tmpb_lang_tl .ldf} + { \setotherlanguage{#2} } + { \xpg@error{ Target~ language~ #2,~ used~ in~ + \string\inheritbabelshorthands,~ does~ not~ exist } } + } + % Test whether the requested shorthands exist + \bool_if_exist:NF \l__xpg_no_shorthands_bool + { \bool_new:N \l__xpg_no_shorthands_bool } + \cs_if_exist:cF { \l__xpg_tmpa_lang_tl @shorthands } + { \bool_set_true:N \l__xpg_no_shorthands_bool } + \cs_if_exist:cF { no\l__xpg_tmpa_lang_tl @shorthands } + { \bool_set_true:N \l__xpg_no_shorthands_bool } + \bool_if:nT { \l__xpg_no_shorthands_bool } + { + \xpg@error{ No~ babel~ shorthands~ exist~ for~ language~ #1 } + } + % If so, apply: + \bool_if:nF { \l__xpg_no_shorthands_bool } + { + \exp_args:Ncc \addto { blockextras@\l__xpg_tmpb_lang_tl } { \l__xpg_tmpa_lang_tl @shorthands } + \exp_args:Ncc \addto { inlineextras@\l__xpg_tmpb_lang_tl } { \l__xpg_tmpa_lang_tl @shorthands } + \exp_args:Ncc \addto { noextras@\l__xpg_tmpb_lang_tl } { no\l__xpg_tmpa_lang_tl @shorthands } + } + } } -% -% FIXME these should also be loaded \AtEndOfPackage !!! -\def\xpg@option#1#2{ - \ifcsundef{xpg@main@language}{\setdefaultlanguage}{\setotherlanguage} - [#1]{#2}} +% Activate shorthands of a (loaded) language inline +\NewDocumentCommand \usebabelshorthands { m } +{ + \str_if_eq:nnTF { #1 } { none } + { + % "none" deactivates any shorthands + \languageshorthands{none} + } + { + \tl_set:Nn \l__xpg_tmpa_lang_tl { \xpg_alias_base_lang:n{#1} } + \iflanguageloaded{\l__xpg_tmpa_lang_tl}{ + \use:c{\l__xpg_tmpa_lang_tl @shorthands} + }{ + \xpg@error{ Language~ #1,~ requested~ in~ + \string\startbabelshorthands,~ is~ not~ loaded } + } + } +} \endinput -- cgit v1.2.3