summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FILES.byname449
-rw-r--r--FILES.byname.gzbin2168891 -> 2170287 bytes
-rw-r--r--FILES.last07days552
-rw-r--r--fonts/nimbus15/README6
-rw-r--r--fonts/nimbus15/afm/zco-Bold.afm15
-rw-r--r--fonts/nimbus15/afm/zco-BoldOblique.afm15
-rw-r--r--fonts/nimbus15/afm/zco-Oblique.afm15
-rw-r--r--fonts/nimbus15/afm/zco-Regular.afm51
-rw-r--r--fonts/nimbus15/afm/zcoN-Oblique.afm13
-rw-r--r--fonts/nimbus15/afm/zcoN-Regular.afm13
-rw-r--r--fonts/nimbus15/opentype/zco-Bold.otfbin88696 -> 89568 bytes
-rw-r--r--fonts/nimbus15/opentype/zco-BoldOblique.otfbin92112 -> 93188 bytes
-rw-r--r--fonts/nimbus15/opentype/zco-Oblique.otfbin103584 -> 104844 bytes
-rw-r--r--fonts/nimbus15/opentype/zco-Regular.otfbin94164 -> 94816 bytes
-rw-r--r--fonts/nimbus15/opentype/zcoN-Oblique.otfbin104704 -> 106036 bytes
-rw-r--r--fonts/nimbus15/opentype/zcoN-Regular.otfbin95356 -> 95092 bytes
-rw-r--r--fonts/nimbus15/type1/zco-Bold.pfbbin134089 -> 130321 bytes
-rw-r--r--fonts/nimbus15/type1/zco-BoldOblique.pfbbin126314 -> 127342 bytes
-rw-r--r--fonts/nimbus15/type1/zco-Oblique.pfbbin146323 -> 147469 bytes
-rw-r--r--fonts/nimbus15/type1/zco-Regular.pfbbin150113 -> 151168 bytes
-rw-r--r--fonts/nimbus15/type1/zcoN-Oblique.pfbbin163988 -> 165122 bytes
-rw-r--r--fonts/nimbus15/type1/zcoN-Regular.pfbbin151927 -> 153144 bytes
-rw-r--r--fonts/utilities/fontools/README2
-rwxr-xr-xfonts/utilities/fontools/bin/afm2afm8
-rwxr-xr-xfonts/utilities/fontools/bin/autoinst151
-rwxr-xr-xfonts/utilities/fontools/bin/ot2kpx8
-rwxr-xr-xfonts/utilities/fontools/bin/splitttc8
-rw-r--r--fonts/utilities/fontools/doc/afm2afm.pdfbin27061 -> 26948 bytes
-rw-r--r--fonts/utilities/fontools/doc/autoinst.pdfbin69935 -> 69988 bytes
-rw-r--r--fonts/utilities/fontools/doc/ot2kpx.pdfbin27439 -> 27327 bytes
-rw-r--r--fonts/utilities/fontools/doc/splitttc.pdfbin20550 -> 20436 bytes
-rw-r--r--graphics/pstricks/contrib/pst-eucl/Changes2
-rw-r--r--graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.bib8
-rw-r--r--graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.pdfbin1708406 -> 1709884 bytes
-rw-r--r--graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex23
-rw-r--r--graphics/pstricks/contrib/pst-eucl/latex/pst-eucl.sty2
-rw-r--r--graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex18
-rw-r--r--macros/latex/contrib/curve2e/README.txt2
-rw-r--r--macros/latex/contrib/curve2e/curve2e-manual.pdfbin565933 -> 566234 bytes
-rw-r--r--macros/latex/contrib/curve2e/curve2e-manual.tex27
-rw-r--r--macros/latex/contrib/curve2e/curve2e.dtx4
-rw-r--r--macros/latex/contrib/curve2e/curve2e.pdfbin613238 -> 607171 bytes
-rw-r--r--macros/latex/contrib/musicography/README.md2
-rw-r--r--macros/latex/contrib/musicography/musicography.pdfbin328394 -> 350188 bytes
-rw-r--r--macros/latex/contrib/musicography/musicography.sty10
-rw-r--r--macros/latex/contrib/musicography/musicography.tex20
-rw-r--r--macros/latex/contrib/polyglossia/README6
-rw-r--r--macros/latex/contrib/polyglossia/polyglossia.dtx5911
-rw-r--r--macros/latex/contrib/polyglossia/polyglossia.ins164
-rw-r--r--macros/latex/contrib/polyglossia/polyglossia.pdfbin224709 -> 267795 bytes
-rw-r--r--macros/latex/contrib/semantic-markup/semantic-markup.pdfbin274152 -> 266707 bytes
-rw-r--r--macros/latex/contrib/semantic-markup/semantic-markup.sty24
-rw-r--r--macros/latex/contrib/semantic-markup/semantic-markup.tex5
-rw-r--r--macros/latex/contrib/suftesi/suftesi.dtx214
-rw-r--r--macros/latex/contrib/suftesi/suftesi.pdfbin1098391 -> 1104231 bytes
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb98
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.md52
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha5122
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc14
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.xzbin2160136 -> 2161928 bytes
-rw-r--r--systems/win32/miktex/tm/packages/files.csv.lzmabin522356 -> 522338 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/files.csv.lzmabin519791 -> 522456 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/pr.ini8
-rw-r--r--systems/win32/miktex/tm/packages/pr.ini10
-rw-r--r--systems/win32/w32tex/ChangeLog9
-rw-r--r--timestamp2
66 files changed, 5919 insertions, 1974 deletions
diff --git a/FILES.byname b/FILES.byname
index 6910568936..bcfce1e0a7 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -4993,7 +4993,7 @@
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
2014/04/13 | 4600576 | dviware/xdvi/22.87/xdvik-22.87.tar.gz
-2020/01/28 | 164326 | FILES.last07days
+2020/01/29 | 156072 | FILES.last07days
2018/06/27 | 99883 | fonts/academicons/academicons.pdf
2018/06/27 | 10779 | fonts/academicons/academicons.sty
2018/06/27 | 5774 | fonts/academicons/academicons.tex
@@ -75182,14 +75182,14 @@
2005/10/24 | 79619 | fonts/niceframe/type1/umranda.pfb
2005/10/24 | 74600 | fonts/niceframe/type1/umrandb.pfb
2017/06/21 | 284711 | fonts/niceframe.zip
-2016/01/08 | 36453 | fonts/nimbus15/afm/zco-Bold.afm
-2016/01/08 | 36589 | fonts/nimbus15/afm/zco-BoldOblique.afm
+2020/01/29 | 36794 | fonts/nimbus15/afm/zco-Bold.afm
+2020/01/29 | 36930 | fonts/nimbus15/afm/zco-BoldOblique.afm
2016/01/08 | 36461 | fonts/nimbus15/afm/zco-Light.afm
2016/01/08 | 36640 | fonts/nimbus15/afm/zco-LightOblique.afm
-2016/01/08 | 36520 | fonts/nimbus15/afm/zcoN-Oblique.afm
-2016/01/08 | 36421 | fonts/nimbus15/afm/zcoN-Regular.afm
-2016/01/08 | 36572 | fonts/nimbus15/afm/zco-Oblique.afm
-2016/01/08 | 36456 | fonts/nimbus15/afm/zco-Regular.afm
+2020/01/29 | 36860 | fonts/nimbus15/afm/zcoN-Oblique.afm
+2020/01/29 | 36760 | fonts/nimbus15/afm/zcoN-Regular.afm
+2020/01/29 | 36913 | fonts/nimbus15/afm/zco-Oblique.afm
+2020/01/29 | 36797 | fonts/nimbus15/afm/zco-Regular.afm
2016/01/08 | 110315 | fonts/nimbus15/afm/zhv-Bol.afm
2016/01/08 | 111075 | fonts/nimbus15/afm/zhv-BolIta.afm
2016/01/08 | 111779 | fonts/nimbus15/afm/zhv-Reg.afm
@@ -75221,14 +75221,14 @@
2015/12/28 | 3015 | fonts/nimbus15/enc/nimbus15-t2c.enc
2015/12/28 | 3470 | fonts/nimbus15/enc/nimbus15-x2.enc
2016/01/08 | 13108 | fonts/nimbus15/map/nimbus15.map
-2016/01/08 | 92112 | fonts/nimbus15/opentype/zco-BoldOblique.otf
-2016/01/08 | 88696 | fonts/nimbus15/opentype/zco-Bold.otf
+2020/01/29 | 93188 | fonts/nimbus15/opentype/zco-BoldOblique.otf
+2020/01/29 | 89568 | fonts/nimbus15/opentype/zco-Bold.otf
2016/01/08 | 87164 | fonts/nimbus15/opentype/zco-LightOblique.otf
2016/01/08 | 80720 | fonts/nimbus15/opentype/zco-Light.otf
-2016/01/08 | 104704 | fonts/nimbus15/opentype/zcoN-Oblique.otf
-2016/07/08 | 95356 | fonts/nimbus15/opentype/zcoN-Regular.otf
-2016/01/08 | 103584 | fonts/nimbus15/opentype/zco-Oblique.otf
-2016/07/08 | 94164 | fonts/nimbus15/opentype/zco-Regular.otf
+2020/01/29 | 106036 | fonts/nimbus15/opentype/zcoN-Oblique.otf
+2020/01/29 | 95092 | fonts/nimbus15/opentype/zcoN-Regular.otf
+2020/01/29 | 104844 | fonts/nimbus15/opentype/zco-Oblique.otf
+2020/01/29 | 94816 | fonts/nimbus15/opentype/zco-Regular.otf
2016/01/08 | 87348 | fonts/nimbus15/opentype/zhv-BolIta.otf
2016/01/08 | 81376 | fonts/nimbus15/opentype/zhv-Bol.otf
2016/01/08 | 86716 | fonts/nimbus15/opentype/zhv-RegIta.otf
@@ -75239,7 +75239,7 @@
2016/01/08 | 135820 | fonts/nimbus15/opentype/ztm-RegIta.otf
2016/01/08 | 128192 | fonts/nimbus15/opentype/ztm-RegObl.otf
2016/01/08 | 124272 | fonts/nimbus15/opentype/ztm-Reg.otf
-2019/10/18 | 1818 | fonts/nimbus15/README
+2020/01/29 | 2103 | fonts/nimbus15/README
2015/12/29 | 1216 | fonts/nimbus15/tex/LGRNimbuSans.fd
2015/12/31 | 1519 | fonts/nimbus15/tex/LGRNimbusMono.fd
2016/01/08 | 1416 | fonts/nimbus15/tex/LGRNimbusMonoN.fd
@@ -75446,14 +75446,14 @@
2016/01/08 | 9152 | fonts/nimbus15/tfm/ztm-Reg-t2b.tfm
2016/01/08 | 8924 | fonts/nimbus15/tfm/ztm-Reg-t2c.tfm
2016/01/08 | 1336 | fonts/nimbus15/tfm/ztm-Reg-ts1.tfm
-2016/01/08 | 126314 | fonts/nimbus15/type1/zco-BoldOblique.pfb
-2016/01/08 | 134089 | fonts/nimbus15/type1/zco-Bold.pfb
+2020/01/29 | 127342 | fonts/nimbus15/type1/zco-BoldOblique.pfb
+2020/01/29 | 130321 | fonts/nimbus15/type1/zco-Bold.pfb
2016/01/08 | 126415 | fonts/nimbus15/type1/zco-LightOblique.pfb
2016/01/08 | 124851 | fonts/nimbus15/type1/zco-Light.pfb
-2016/01/08 | 163988 | fonts/nimbus15/type1/zcoN-Oblique.pfb
-2016/07/08 | 151927 | fonts/nimbus15/type1/zcoN-Regular.pfb
-2016/01/08 | 146323 | fonts/nimbus15/type1/zco-Oblique.pfb
-2016/07/08 | 150113 | fonts/nimbus15/type1/zco-Regular.pfb
+2020/01/29 | 165122 | fonts/nimbus15/type1/zcoN-Oblique.pfb
+2020/01/29 | 153144 | fonts/nimbus15/type1/zcoN-Regular.pfb
+2020/01/29 | 147469 | fonts/nimbus15/type1/zco-Oblique.pfb
+2020/01/29 | 151168 | fonts/nimbus15/type1/zco-Regular.pfb
2016/01/08 | 110719 | fonts/nimbus15/type1/zhv-BolIta.pfb
2016/01/08 | 103812 | fonts/nimbus15/type1/zhv-Bol.pfb
2016/01/08 | 107142 | fonts/nimbus15/type1/zhv-RegIta.pfb
@@ -75482,7 +75482,7 @@
2016/01/08 | 816 | fonts/nimbus15/vf/ztm-RegIta-ot2.vf
2016/01/08 | 816 | fonts/nimbus15/vf/ztm-RegObl-ot2.vf
2016/01/08 | 816 | fonts/nimbus15/vf/ztm-Reg-ot2.vf
-2019/10/19 | 5653680 | fonts/nimbus15.zip
+2020/01/30 | 5659027 | fonts/nimbus15.zip
2009/12/16 | 58144 | fonts/nkarta/figtable.pdf
2009/10/23 | 760 | fonts/nkarta/figtable.tex
2009/12/16 | 80033 | fonts/nkarta/fonttable.pdf
@@ -121588,27 +121588,27 @@
1995/01/27 | 48128 | fonts/utilities/fontload/vms/subfont.exe-alpha
1995/01/27 | 89600 | fonts/utilities/fontload/vms/subfont.exe-vax
2007/11/24 | 136238 | fonts/utilities/fontload.zip
-2019/11/26 | 13334 | fonts/utilities/fontools/bin/afm2afm
-2019/11/26 | 114778 | fonts/utilities/fontools/bin/autoinst
-2019/11/26 | 27582 | fonts/utilities/fontools/bin/ot2kpx
-2019/11/26 | 7628 | fonts/utilities/fontools/bin/splitttc
-2019/11/26 | 27061 | fonts/utilities/fontools/doc/afm2afm.pdf
-2019/11/26 | 69935 | fonts/utilities/fontools/doc/autoinst.pdf
-2019/11/26 | 27439 | fonts/utilities/fontools/doc/ot2kpx.pdf
-2019/11/26 | 20550 | fonts/utilities/fontools/doc/splitttc.pdf
-2019/11/26 | 17997 | fonts/utilities/fontools/GPLv2.txt
-2019/11/26 | 2906 | fonts/utilities/fontools/README
-2019/11/26 | 8032 | fonts/utilities/fontools/share/fontools_lgr.enc
-2019/11/26 | 2855 | fonts/utilities/fontools/share/fontools_ly1.enc
-2019/11/26 | 2587 | fonts/utilities/fontools/share/fontools_ot1.enc
-2019/11/26 | 2815 | fonts/utilities/fontools/share/fontools_t1.enc
-2019/11/26 | 2907 | fonts/utilities/fontools/share/fontools_t2a.enc
-2019/11/26 | 3729 | fonts/utilities/fontools/share/fontools_t2b.enc
-2019/11/26 | 3651 | fonts/utilities/fontools/share/fontools_t2c.enc
-2019/11/26 | 2656 | fonts/utilities/fontools/share/fontools_t3.enc
-2019/11/26 | 3080 | fonts/utilities/fontools/share/fontools_ts1.enc
-2019/11/26 | 2751 | fonts/utilities/fontools/share/fontools_ts3.enc
-2019/11/26 | 195399 | fonts/utilities/fontools.zip
+2020/01/29 | 13334 | fonts/utilities/fontools/bin/afm2afm
+2020/01/29 | 115033 | fonts/utilities/fontools/bin/autoinst
+2020/01/29 | 27582 | fonts/utilities/fontools/bin/ot2kpx
+2020/01/29 | 7628 | fonts/utilities/fontools/bin/splitttc
+2020/01/29 | 26948 | fonts/utilities/fontools/doc/afm2afm.pdf
+2020/01/29 | 69988 | fonts/utilities/fontools/doc/autoinst.pdf
+2020/01/29 | 27327 | fonts/utilities/fontools/doc/ot2kpx.pdf
+2020/01/29 | 20436 | fonts/utilities/fontools/doc/splitttc.pdf
+2020/01/29 | 17997 | fonts/utilities/fontools/GPLv2.txt
+2020/01/29 | 2906 | fonts/utilities/fontools/README
+2020/01/29 | 8032 | fonts/utilities/fontools/share/fontools_lgr.enc
+2020/01/29 | 2855 | fonts/utilities/fontools/share/fontools_ly1.enc
+2020/01/29 | 2587 | fonts/utilities/fontools/share/fontools_ot1.enc
+2020/01/29 | 2815 | fonts/utilities/fontools/share/fontools_t1.enc
+2020/01/29 | 2907 | fonts/utilities/fontools/share/fontools_t2a.enc
+2020/01/29 | 3729 | fonts/utilities/fontools/share/fontools_t2b.enc
+2020/01/29 | 3651 | fonts/utilities/fontools/share/fontools_t2c.enc
+2020/01/29 | 2656 | fonts/utilities/fontools/share/fontools_t3.enc
+2020/01/29 | 3080 | fonts/utilities/fontools/share/fontools_ts1.enc
+2020/01/29 | 2751 | fonts/utilities/fontools/share/fontools_ts3.enc
+2020/01/29 | 195194 | fonts/utilities/fontools.zip
2007/11/26 | 1775673 | fonts/utilities/freetype/freetype-2.3.5.tar.gz
2007/11/26 | 189 | fonts/utilities/freetype/freetype-2.3.5.tar.gz.sig
2007/11/26 | 117706 | fonts/utilities/freetype/freetype-doc-2.3.5.tar.gz
@@ -134681,15 +134681,15 @@
2006/11/05 | 244 | graphics/pstricks/contrib/pst-eps/README
2006/11/05 | 25989 | graphics/pstricks/contrib/pst-eps/spirale.eps
2006/11/05 | 86129 | graphics/pstricks/contrib/pst-eps.zip
-2020/01/09 | 8416 | graphics/pstricks/contrib/pst-eucl/Changes
-2020/01/09 | 3094 | graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.bib
-2020/01/09 | 1708406 | graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.pdf
-2020/01/09 | 234917 | graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex
+2020/01/29 | 8577 | graphics/pstricks/contrib/pst-eucl/Changes
+2020/01/29 | 3106 | graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.bib
+2020/01/29 | 1709884 | graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.pdf
+2020/01/29 | 235341 | graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex
2020/01/09 | 9606 | graphics/pstricks/contrib/pst-eucl/dvips/pst-eucl.pro
-2020/01/09 | 538 | graphics/pstricks/contrib/pst-eucl/latex/pst-eucl.sty
+2020/01/29 | 538 | graphics/pstricks/contrib/pst-eucl/latex/pst-eucl.sty
2020/01/09 | 426 | graphics/pstricks/contrib/pst-eucl/README
-2020/01/09 | 457167 | graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex
-2020/01/09 | 1332741 | graphics/pstricks/contrib/pst-eucl.zip
+2020/01/29 | 457350 | graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex
+2020/01/29 | 1333736 | graphics/pstricks/contrib/pst-eucl.zip
2017/09/12 | 127 | graphics/pstricks/contrib/pst-exa/Changes
2017/09/12 | 2279 | graphics/pstricks/contrib/pst-exa/doc/pst-exa-doc.bib
2017/09/12 | 6736 | graphics/pstricks/contrib/pst-exa/doc/pst-exa-doc.inc
@@ -160442,7 +160442,7 @@
2020/01/09 | 3291778 | install/fonts/newpx.tds.zip
2020/01/26 | 6945973 | install/fonts/newtx.tds.zip
2017/05/21 | 350847 | install/fonts/newtxtt.tds.zip
-2019/10/18 | 5679844 | install/fonts/nimbus15.tds.zip
+2020/01/29 | 5685191 | install/fonts/nimbus15.tds.zip
2019/12/10 | 107860149 | install/fonts/noto.tds.zip
2019/12/17 | 3394404 | install/fonts/oldstandard.tds.zip
2019/06/24 | 4612348 | install/fonts/opensans.tds.zip
@@ -160810,7 +160810,7 @@
2019/12/09 | 301956 | install/macros/latex/contrib/picture.tds.zip
2019/11/17 | 557858 | install/macros/latex/contrib/pkuthss.tds.zip
2019/12/05 | 621416 | install/macros/latex/contrib/pmboxdraw.tds.zip
-2019/11/15 | 854008 | install/macros/latex/contrib/polyglossia.tds.zip
+2020/01/29 | 977643 | install/macros/latex/contrib/polyglossia.tds.zip
2014/09/10 | 1054773 | install/macros/latex/contrib/pressrelease.tds.zip
2017/07/10 | 1127276 | install/macros/latex/contrib/probsoln.tds.zip
2016/04/15 | 1441089 | install/macros/latex/contrib/proposal.tds.zip
@@ -160852,7 +160852,7 @@
2019/03/20 | 7942984 | install/macros/latex/contrib/stex.tds.zip
2011/12/21 | 204538 | install/macros/latex/contrib/storebox.tds.zip
2019/11/30 | 800764 | install/macros/latex/contrib/stringenc.tds.zip
-2019/10/26 | 1141108 | install/macros/latex/contrib/suftesi.tds.zip
+2020/01/29 | 1147698 | install/macros/latex/contrib/suftesi.tds.zip
2012/05/06 | 463336 | install/macros/latex/contrib/svn-multi.tds.zip
2010/04/24 | 261363 | install/macros/latex/contrib/svn-prov.tds.zip
2014/05/20 | 721827 | install/macros/latex/contrib/sympytexpackage.tds.zip
@@ -182334,12 +182334,12 @@
1999/01/19 | 1335 | macros/latex/contrib/cursor/cursor.tex
1999/01/19 | 420 | macros/latex/contrib/cursor/read.me
2007/01/01 | 16025 | macros/latex/contrib/cursor.zip
-2020/01/17 | 176556 | macros/latex/contrib/curve2e/curve2e.dtx
-2020/01/18 | 565933 | macros/latex/contrib/curve2e/curve2e-manual.pdf
-2020/01/18 | 71768 | macros/latex/contrib/curve2e/curve2e-manual.tex
-2020/01/17 | 613238 | macros/latex/contrib/curve2e/curve2e.pdf
-2020/01/17 | 5178 | macros/latex/contrib/curve2e/README.txt
-2020/01/18 | 1248270 | macros/latex/contrib/curve2e.zip
+2020/01/29 | 176556 | macros/latex/contrib/curve2e/curve2e.dtx
+2020/01/29 | 566234 | macros/latex/contrib/curve2e/curve2e-manual.pdf
+2020/01/20 | 72071 | macros/latex/contrib/curve2e/curve2e-manual.tex
+2020/01/29 | 607171 | macros/latex/contrib/curve2e/curve2e.pdf
+2020/01/29 | 5178 | macros/latex/contrib/curve2e/README.txt
+2020/01/29 | 1242529 | macros/latex/contrib/curve2e.zip
2010/12/14 | 88817 | macros/latex/contrib/curve/curve.dtx
2010/12/14 | 3268 | macros/latex/contrib/curve/curve.el
2010/12/14 | 1746 | macros/latex/contrib/curve/curve.ins
@@ -192764,11 +192764,11 @@
2019/05/31 | 612701 | macros/latex/contrib/multirow/multirow.pdf
2019/05/31 | 3871 | macros/latex/contrib/multirow/README
2019/05/31 | 630616 | macros/latex/contrib/multirow.zip
-2019/05/28 | 328394 | macros/latex/contrib/musicography/musicography.pdf
-2019/05/28 | 7654 | macros/latex/contrib/musicography/musicography.sty
-2019/05/28 | 8288 | macros/latex/contrib/musicography/musicography.tex
-2019/05/28 | 597 | macros/latex/contrib/musicography/README.md
-2019/05/28 | 332909 | macros/latex/contrib/musicography.zip
+2020/01/29 | 350188 | macros/latex/contrib/musicography/musicography.pdf
+2020/01/29 | 7885 | macros/latex/contrib/musicography/musicography.sty
+2020/01/29 | 8684 | macros/latex/contrib/musicography/musicography.tex
+2020/01/29 | 629 | macros/latex/contrib/musicography/README.md
+2020/01/29 | 354953 | macros/latex/contrib/musicography.zip
2018/04/05 | 393969 | macros/latex/contrib/musikui/kake.pdf
2018/04/28 | 46129 | macros/latex/contrib/musikui/musikui.pdf
2018/04/28 | 7330 | macros/latex/contrib/musikui/musikui.sty
@@ -195317,11 +195317,10 @@
2007/12/18 | 1396 | macros/latex/contrib/polski/sample-rysunek.mp
2007/12/18 | 17316 | macros/latex/contrib/polski/strony.dtx
2017/05/05 | 332109 | macros/latex/contrib/polski.zip
-2019/11/15 | 566703 | macros/latex/contrib/polyglossia/polyglossia.dtx
-2019/11/15 | 11325 | macros/latex/contrib/polyglossia/polyglossia.ins
-2019/11/15 | 224709 | macros/latex/contrib/polyglossia/polyglossia.pdf
-2019/11/15 | 2331 | macros/latex/contrib/polyglossia/README
-2019/11/15 | 363955 | macros/latex/contrib/polyglossia.zip
+2020/01/29 | 688720 | macros/latex/contrib/polyglossia/polyglossia.dtx
+2020/01/29 | 267795 | macros/latex/contrib/polyglossia/polyglossia.pdf
+2020/01/29 | 2341 | macros/latex/contrib/polyglossia/README
+2020/01/29 | 421472 | macros/latex/contrib/polyglossia.zip
2007/03/18 | 14445 | macros/latex/contrib/polynomial/polynomial.dtx
2007/03/18 | 994 | macros/latex/contrib/polynomial/polynomial.ins
2007/03/18 | 144575 | macros/latex/contrib/polynomial/polynomial.pdf
@@ -199071,11 +199070,11 @@
2019/12/10 | 24550 | macros/latex/contrib/selinput/selinput.dtx
2019/12/10 | 537307 | macros/latex/contrib/selinput/selinput.pdf
2019/12/11 | 541126 | macros/latex/contrib/selinput.zip
-2018/05/21 | 1014 | macros/latex/contrib/semantic-markup/README
-2018/05/21 | 274152 | macros/latex/contrib/semantic-markup/semantic-markup.pdf
-2018/05/21 | 4582 | macros/latex/contrib/semantic-markup/semantic-markup.sty
-2018/05/21 | 7275 | macros/latex/contrib/semantic-markup/semantic-markup.tex
-2018/05/24 | 278341 | macros/latex/contrib/semantic-markup.zip
+2020/01/29 | 1014 | macros/latex/contrib/semantic-markup/README
+2020/01/29 | 266707 | macros/latex/contrib/semantic-markup/semantic-markup.pdf
+2020/01/29 | 4666 | macros/latex/contrib/semantic-markup/semantic-markup.sty
+2020/01/29 | 7245 | macros/latex/contrib/semantic-markup/semantic-markup.tex
+2020/01/29 | 270996 | macros/latex/contrib/semantic-markup.zip
2003/10/28 | 116939 | macros/latex/contrib/semantic/semantic.dtx
2003/10/28 | 1309 | macros/latex/contrib/semantic/semantic.ins
2005/06/27 | 392885 | macros/latex/contrib/semantic/semantic.pdf
@@ -200829,10 +200828,10 @@
2006/03/25 | 2275 | macros/latex/contrib/sudoku/sudoku.ins
2006/03/25 | 67384 | macros/latex/contrib/sudoku/sudoku.pdf
2006/03/25 | 60808 | macros/latex/contrib/sudoku.zip
-2019/10/26 | 1680 | macros/latex/contrib/suftesi/README
-2019/10/26 | 173042 | macros/latex/contrib/suftesi/suftesi.dtx
-2019/10/26 | 1098391 | macros/latex/contrib/suftesi/suftesi.pdf
-2019/10/26 | 1126315 | macros/latex/contrib/suftesi.zip
+2020/01/29 | 1680 | macros/latex/contrib/suftesi/README
+2020/01/29 | 178067 | macros/latex/contrib/suftesi/suftesi.dtx
+2020/01/29 | 1104231 | macros/latex/contrib/suftesi/suftesi.pdf
+2020/01/29 | 1132594 | macros/latex/contrib/suftesi.zip
2002/10/06 | 857 | macros/latex/contrib/supertabular/CATALOG
2004/03/01 | 11380 | macros/latex/contrib/supertabular/ChangeLog
2004/04/15 | 453 | macros/latex/contrib/supertabular/MANIFEST
@@ -252512,7 +252511,7 @@
2019/02/28 | 270912 | systems/texlive/tlnet/archive/collectbox.doc.tar.xz
2019/02/28 | 8068 | systems/texlive/tlnet/archive/collectbox.source.tar.xz
2019/02/28 | 2836 | systems/texlive/tlnet/archive/collectbox.tar.xz
-2020/01/27 | 640 | systems/texlive/tlnet/archive/collection-basic.r53554.tar.xz
+2020/01/29 | 644 | systems/texlive/tlnet/archive/collection-basic.r53585.tar.xz
2019/12/29 | 1180 | systems/texlive/tlnet/archive/collection-bibtexextra.r53243.tar.xz
2020/01/22 | 924 | systems/texlive/tlnet/archive/collection-binextra.r53491.tar.xz
2019/02/28 | 600 | systems/texlive/tlnet/archive/collection-context.tar.xz
@@ -255450,9 +255449,9 @@
2019/02/28 | 1672 | systems/texlive/tlnet/archive/hvindex.tar.xz
2019/12/02 | 96644 | systems/texlive/tlnet/archive/hvqrurl.doc.r52993.tar.xz
2019/12/02 | 1240 | systems/texlive/tlnet/archive/hvqrurl.r52993.tar.xz
-2019/12/18 | 360356 | systems/texlive/tlnet/archive/hycolor.doc.r53169.tar.xz
-2019/12/18 | 3968 | systems/texlive/tlnet/archive/hycolor.r53169.tar.xz
-2019/12/18 | 9740 | systems/texlive/tlnet/archive/hycolor.source.r53169.tar.xz
+2020/01/29 | 375200 | systems/texlive/tlnet/archive/hycolor.doc.r53584.tar.xz
+2020/01/29 | 4044 | systems/texlive/tlnet/archive/hycolor.r53584.tar.xz
+2020/01/29 | 9676 | systems/texlive/tlnet/archive/hycolor.source.r53584.tar.xz
2019/12/21 | 471212 | systems/texlive/tlnet/archive/hypdvips.doc.r53197.tar.xz
2019/12/21 | 24028 | systems/texlive/tlnet/archive/hypdvips.r53197.tar.xz
2019/02/28 | 442692 | systems/texlive/tlnet/archive/hyperbar.doc.tar.xz
@@ -257361,13 +257360,13 @@
2019/04/06 | 146028 | systems/texlive/tlnet/archive/metafont.armhf-linux.tar.xz
2019/02/28 | 178916 | systems/texlive/tlnet/archive/metafont-beginners.doc.tar.xz
2019/02/28 | 496 | systems/texlive/tlnet/archive/metafont-beginners.tar.xz
-2019/11/19 | 71968 | systems/texlive/tlnet/archive/metafont.doc.tar.xz
+2020/01/29 | 71964 | systems/texlive/tlnet/archive/metafont.doc.r53585.tar.xz
2019/04/08 | 135648 | systems/texlive/tlnet/archive/metafont.i386-cygwin.tar.xz
2019/04/02 | 183604 | systems/texlive/tlnet/archive/metafont.i386-freebsd.tar.xz
2019/04/02 | 176584 | systems/texlive/tlnet/archive/metafont.i386-linux.tar.xz
2019/04/02 | 148252 | systems/texlive/tlnet/archive/metafont.i386-netbsd.tar.xz
2019/04/02 | 177252 | systems/texlive/tlnet/archive/metafont.i386-solaris.tar.xz
-2019/11/19 | 33572 | systems/texlive/tlnet/archive/metafont.tar.xz
+2020/01/29 | 8752 | systems/texlive/tlnet/archive/metafont.r53585.tar.xz
2019/03/24 | 142632 | systems/texlive/tlnet/archive/metafont.win32.tar.xz
2019/04/10 | 141980 | systems/texlive/tlnet/archive/metafont.x86_64-cygwin.tar.xz
2019/04/02 | 182664 | systems/texlive/tlnet/archive/metafont.x86_64-darwinlegacy.tar.xz
@@ -257681,6 +257680,8 @@
2019/03/05 | 184868 | systems/texlive/tlnet/archive/moderntimeline.doc.tar.xz
2019/03/05 | 6048 | systems/texlive/tlnet/archive/moderntimeline.source.tar.xz
2019/03/05 | 2304 | systems/texlive/tlnet/archive/moderntimeline.tar.xz
+2020/01/29 | 273212 | systems/texlive/tlnet/archive/modes.doc.r53585.tar.xz
+2020/01/29 | 26764 | systems/texlive/tlnet/archive/modes.r53585.tar.xz
2019/11/01 | 534332 | systems/texlive/tlnet/archive/modiagram.doc.tar.xz
2019/11/01 | 8860 | systems/texlive/tlnet/archive/modiagram.tar.xz
2019/02/28 | 148376 | systems/texlive/tlnet/archive/modref.doc.tar.xz
@@ -258517,9 +258518,9 @@
2019/11/04 | 2720 | systems/texlive/tlnet/archive/pdfoverlay.tar.xz
2019/02/28 | 740816 | systems/texlive/tlnet/archive/pdfpagediff.doc.tar.xz
2019/02/28 | 2924 | systems/texlive/tlnet/archive/pdfpagediff.tar.xz
-2019/12/19 | 315136 | systems/texlive/tlnet/archive/pdfpages.doc.r53180.tar.xz
-2019/12/19 | 13756 | systems/texlive/tlnet/archive/pdfpages.r53180.tar.xz
-2019/12/19 | 34364 | systems/texlive/tlnet/archive/pdfpages.source.r53180.tar.xz
+2020/01/29 | 314640 | systems/texlive/tlnet/archive/pdfpages.doc.r53583.tar.xz
+2020/01/29 | 13908 | systems/texlive/tlnet/archive/pdfpages.r53583.tar.xz
+2020/01/29 | 34712 | systems/texlive/tlnet/archive/pdfpages.source.r53583.tar.xz
2019/02/28 | 74980 | systems/texlive/tlnet/archive/pdfpc-movie.doc.tar.xz
2019/02/28 | 5716 | systems/texlive/tlnet/archive/pdfpc-movie.source.tar.xz
2019/02/28 | 2196 | systems/texlive/tlnet/archive/pdfpc-movie.tar.xz
@@ -262659,16 +262660,16 @@
2020/01/24 | 138180 | systems/texlive/tlnet/archive/zxjatype.doc.r53500.tar.xz
2020/01/24 | 8760 | systems/texlive/tlnet/archive/zxjatype.r53500.tar.xz
2020/01/17 | 107147 | systems/texlive/tlnet/install-tl
-2020/01/28 | 3949187 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2020/01/28 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2020/01/28 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2020/01/29 | 3949209 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2020/01/29 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2020/01/29 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2019/05/09 | 4543 | systems/texlive/tlnet/install-tl-windows.bat
-2020/01/28 | 18695659 | systems/texlive/tlnet/install-tl-windows.exe
-2020/01/28 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2020/01/28 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2020/01/28 | 22541600 | systems/texlive/tlnet/install-tl.zip
-2020/01/28 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2020/01/28 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2020/01/29 | 18698492 | systems/texlive/tlnet/install-tl-windows.exe
+2020/01/29 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2020/01/29 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2020/01/29 | 22541603 | systems/texlive/tlnet/install-tl.zip
+2020/01/29 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2020/01/29 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2019/04/29 | 1221 | systems/texlive/tlnet/README.md
2019/03/13 | 5351 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
2016/04/12 | 600 | systems/texlive/tlnet/tlpkg/gpg/random_seed
@@ -262723,12 +262724,12 @@
2019/09/23 | 18176 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2016/10/11 | 4618 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2017/11/14 | 27560 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2020/01/28 | 16075199 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2020/01/28 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2020/01/29 | 16076637 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2020/01/29 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2019/12/10 | 87503 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2020/01/28 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2020/01/28 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2020/01/28 | 2160136 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2020/01/29 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2020/01/29 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2020/01/29 | 2161928 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2019/12/22 | 58727 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2020/01/17 | 40906 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2018/08/31 | 14972 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -265293,7 +265294,7 @@
2019/01/26 | 159176 | systems/win32/miktex/tm/packages/biblatex-nejm.tar.lzma
2016/07/06 | 114407 | systems/win32/miktex/tm/packages/biblatex-nottsclassic.tar.lzma
2018/10/26 | 113014 | systems/win32/miktex/tm/packages/biblatex-opcit-booktitle.tar.lzma
-2019/09/24 | 2028167 | systems/win32/miktex/tm/packages/biblatex-oxref.tar.lzma
+2020/01/29 | 2000846 | systems/win32/miktex/tm/packages/biblatex-oxref.tar.lzma
2018/03/31 | 941513 | systems/win32/miktex/tm/packages/biblatex-philosophy.tar.lzma
2019/12/04 | 461163 | systems/win32/miktex/tm/packages/biblatex-phys.tar.lzma
2019/04/17 | 338250 | systems/win32/miktex/tm/packages/biblatex-publist.tar.lzma
@@ -266133,7 +266134,7 @@
2019/10/04 | 281928 | systems/win32/miktex/tm/packages/filehook.tar.lzma
2012/12/04 | 924573 | systems/win32/miktex/tm/packages/fileinfo.tar.lzma
2011/09/21 | 281409 | systems/win32/miktex/tm/packages/filemod.tar.lzma
-2020/01/28 | 522356 | systems/win32/miktex/tm/packages/files.csv.lzma
+2020/01/29 | 522338 | systems/win32/miktex/tm/packages/files.csv.lzma
2001/05/14 | 5617 | systems/win32/miktex/tm/packages/finbib.tar.lzma
2015/10/20 | 44379 | systems/win32/miktex/tm/packages/findhyph.tar.lzma
2011/10/21 | 89323 | systems/win32/miktex/tm/packages/fink.tar.lzma
@@ -266172,7 +266173,7 @@
2014/10/08 | 1843614 | systems/win32/miktex/tm/packages/flowfram.tar.lzma
2004/11/28 | 45984 | systems/win32/miktex/tm/packages/fltpoint.cab
2016/07/19 | 140099 | systems/win32/miktex/tm/packages/fmp.tar.lzma
-2017/12/31 | 468346 | systems/win32/miktex/tm/packages/fmtcount.tar.lzma
+2020/01/29 | 475470 | systems/win32/miktex/tm/packages/fmtcount.tar.lzma
2009/01/02 | 5788 | systems/win32/miktex/tm/packages/fn2end.tar.lzma
2012/01/10 | 213244 | systems/win32/miktex/tm/packages/fnbreak.tar.lzma
2010/12/13 | 283775 | systems/win32/miktex/tm/packages/fncychap.tar.lzma
@@ -266482,7 +266483,7 @@
2016/07/19 | 9825 | systems/win32/miktex/tm/packages/hvmath.tar.lzma
2019/12/02 | 98102 | systems/win32/miktex/tm/packages/hvqrurl.tar.lzma
2018/10/03 | 1542774 | systems/win32/miktex/tm/packages/hybrid-latex.tar.lzma
-2019/12/20 | 374553 | systems/win32/miktex/tm/packages/hycolor.tar.lzma
+2020/01/29 | 385525 | systems/win32/miktex/tm/packages/hycolor.tar.lzma
2019/08/02 | 853172 | systems/win32/miktex/tm/packages/hypdvips.tar.lzma
2018/07/06 | 450979 | systems/win32/miktex/tm/packages/hyperbar.tar.lzma
2020/01/03 | 188886 | systems/win32/miktex/tm/packages/hypernat.tar.lzma
@@ -266641,7 +266642,7 @@
2010/03/08 | 138756 | systems/win32/miktex/tm/packages/knittingpattern.tar.lzma
2019/04/06 | 1396129 | systems/win32/miktex/tm/packages/knitting.tar.lzma
2007/10/15 | 6579 | systems/win32/miktex/tm/packages/knot.tar.lzma
-2019/12/04 | 801789 | systems/win32/miktex/tm/packages/knowledge.tar.lzma
+2020/01/29 | 821765 | systems/win32/miktex/tm/packages/knowledge.tar.lzma
2016/11/04 | 42608 | systems/win32/miktex/tm/packages/knuth-lib.tar.lzma
2016/11/04 | 29279 | systems/win32/miktex/tm/packages/knuth-local.tar.lzma
2018/11/05 | 875632 | systems/win32/miktex/tm/packages/komacv-rg.tar.lzma
@@ -266892,7 +266893,7 @@
2015/07/21 | 246219 | systems/win32/miktex/tm/packages/luasseq.tar.lzma
2016/06/21 | 176793 | systems/win32/miktex/tm/packages/luatex85.tar.lzma
2015/10/06 | 276167 | systems/win32/miktex/tm/packages/luatexbase.tar.lzma
-2019/11/20 | 3312297 | systems/win32/miktex/tm/packages/luatexja.tar.lzma
+2020/01/29 | 3358856 | systems/win32/miktex/tm/packages/luatexja.tar.lzma
2019/12/03 | 323255 | systems/win32/miktex/tm/packages/luatexko.tar.lzma
2010/12/23 | 322873 | systems/win32/miktex/tm/packages/luatextra.tar.lzma
2017/10/03 | 253167 | systems/win32/miktex/tm/packages/luatodonotes.tar.lzma
@@ -266998,7 +266999,7 @@
2010/11/05 | 212169 | systems/win32/miktex/tm/packages/mdputu.tar.lzma
2012/12/04 | 1319640 | systems/win32/miktex/tm/packages/mdsymbol.tar.lzma
2008/06/26 | 726578 | systems/win32/miktex/tm/packages/mdwtools.tar.lzma
-2019/11/10 | 5856482 | systems/win32/miktex/tm/packages/media9.tar.lzma
+2020/01/29 | 5856685 | systems/win32/miktex/tm/packages/media9.tar.lzma
2015/11/17 | 3952 | systems/win32/miktex/tm/packages/medstarbeamer.tar.lzma
2013/10/23 | 704021 | systems/win32/miktex/tm/packages/meetingmins.tar.lzma
2018/09/15 | 1792533 | systems/win32/miktex/tm/packages/memdesign.tar.lzma
@@ -267014,7 +267015,7 @@
2009/03/07 | 123043 | systems/win32/miktex/tm/packages/menu.tar.lzma
2019/10/15 | 2391720 | systems/win32/miktex/tm/packages/merriweather.tar.lzma
2012/03/09 | 67807 | systems/win32/miktex/tm/packages/messagebubbles.tar.lzma
-2016/11/04 | 33499 | systems/win32/miktex/tm/packages/metafont.tar.lzma
+2020/01/29 | 8754 | systems/win32/miktex/tm/packages/metafont.tar.lzma
2008/08/28 | 31767 | systems/win32/miktex/tm/packages/metago.tar.lzma
2010/06/04 | 91605 | systems/win32/miktex/tm/packages/metalogo.tar.lzma
2019/01/26 | 442005 | systems/win32/miktex/tm/packages/metalogox.tar.lzma
@@ -267257,9 +267258,9 @@
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2019/11/11 | 38784 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
2019/11/11 | 42872 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2020/01/28 | 195905 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2020/01/28 | 1169744 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2020/01/28 | 1089869 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2020/01/29 | 195949 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2020/01/29 | 1169231 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2020/01/29 | 1090018 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2019/11/11 | 13040 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
2019/11/11 | 14027 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma
2016/07/15 | 35914 | systems/win32/miktex/tm/packages/mil3.tar.lzma
@@ -267296,6 +267297,7 @@
2015/08/04 | 1177267 | systems/win32/miktex/tm/packages/moderncv.tar.lzma
2018/04/04 | 395594 | systems/win32/miktex/tm/packages/modernposter.tar.lzma
2019/03/07 | 193178 | systems/win32/miktex/tm/packages/moderntimeline.tar.lzma
+2020/01/29 | 299242 | systems/win32/miktex/tm/packages/modes.tar.lzma
2019/11/02 | 547640 | systems/win32/miktex/tm/packages/modiagram.tar.lzma
2009/02/07 | 33580 | systems/win32/miktex/tm/packages/modref.tar.lzma
2010/04/13 | 1319837 | systems/win32/miktex/tm/packages/modroman.tar.lzma
@@ -267408,34 +267410,184 @@
2018/04/09 | 400132 | systems/win32/miktex/tm/packages/newunicodechar.tar.lzma
2011/09/19 | 101312 | systems/win32/miktex/tm/packages/newvbtm.tar.lzma
2019/09/11 | 231430 | systems/win32/miktex/tm/packages/newverbs.tar.lzma
-2020/01/28 | 519791 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2020/01/28 | 29260 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2020/01/28 | 33410 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2020/01/28 | 863694 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2020/01/28 | 954295 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2020/01/28 | 24023 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2020/01/28 | 26188 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2020/01/28 | 29307 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2020/01/28 | 34915 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2020/01/28 | 49764 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2020/01/28 | 57199 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2020/01/28 | 84619 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2020/01/28 | 94324 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2020/01/28 | 60208 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2020/01/28 | 67198 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2020/01/28 | 26659 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2020/01/28 | 30216 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2020/01/28 | 328790 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2020/01/28 | 391563 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2020/01/28 | 32248 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2020/01/28 | 36357 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2020/01/28 | 49269 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2020/01/28 | 54128 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2020/01/28 | 188836 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2020/01/28 | 1154712 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2020/01/28 | 1076313 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2020/01/29 | 522456 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2020/01/29 | 29252 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2020/01/29 | 33383 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2020/01/29 | 864210 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2020/01/29 | 952857 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2020/01/29 | 24063 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2020/01/29 | 26186 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2020/01/29 | 29262 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2020/01/29 | 34872 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2020/01/29 | 49563 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2020/01/29 | 57178 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2020/01/29 | 84490 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2020/01/29 | 94254 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2020/01/29 | 60320 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2020/01/29 | 67198 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2020/01/29 | 26655 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2020/01/29 | 30285 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2020/01/29 | 328823 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2020/01/29 | 391678 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2020/01/29 | 32202 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2020/01/29 | 36390 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2020/01/29 | 49213 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2020/01/29 | 54038 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2020/01/29 | 4807 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma
+2020/01/29 | 198911 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2020/01/29 | 214005 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2020/01/29 | 169329 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2020/01/29 | 184258 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2020/01/29 | 51978 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2020/01/29 | 58839 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2020/01/29 | 20650 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2020/01/29 | 22945 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2020/01/29 | 450447 | systems/win32/miktex/tm/packages/next/miktex-doc-2.9.tar.lzma
+2020/01/29 | 40978 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2020/01/29 | 45760 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2020/01/29 | 272788 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2020/01/29 | 310060 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2020/01/29 | 40679 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2020/01/29 | 44928 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2020/01/29 | 114891 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2020/01/29 | 129585 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2020/01/29 | 1251240 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2020/01/29 | 1384417 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2020/01/29 | 33544 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2020/01/29 | 38849 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2020/01/29 | 43429 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2020/01/29 | 47990 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2020/01/29 | 45460 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2020/01/29 | 50555 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2020/01/29 | 56645 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2020/01/29 | 61725 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2020/01/29 | 133101 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2020/01/29 | 152087 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2020/01/29 | 69737 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2020/01/29 | 72664 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2020/01/29 | 68779 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2020/01/29 | 77425 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2020/01/29 | 246444 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2020/01/29 | 281583 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2020/01/29 | 25300 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2020/01/29 | 28718 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2020/01/29 | 100512 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2020/01/29 | 116873 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2020/01/29 | 63255 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2020/01/29 | 72498 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2020/01/29 | 94112 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2020/01/29 | 110951 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2020/01/29 | 57821 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2020/01/29 | 64377 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2020/01/29 | 457626 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2020/01/29 | 544211 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2020/01/29 | 137176 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2020/01/29 | 150040 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2020/01/29 | 92923 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2020/01/29 | 108826 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2020/01/29 | 15892 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2020/01/29 | 17676 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2020/01/29 | 27784 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2020/01/29 | 29709 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2020/01/29 | 615790 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2020/01/29 | 670062 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2020/01/29 | 498800 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2020/01/29 | 561083 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2020/01/29 | 539465 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2020/01/29 | 575662 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2020/01/29 | 93401 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2020/01/29 | 102468 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2020/01/29 | 1696838 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2020/01/29 | 1941564 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2020/01/29 | 67252 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2020/01/29 | 73628 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2020/01/29 | 26978 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2020/01/29 | 31188 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2020/01/29 | 7505 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2020/01/29 | 8453 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2020/01/29 | 167805 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2020/01/29 | 182763 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2020/01/29 | 247821 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2020/01/29 | 281200 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2020/01/29 | 87335 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2020/01/29 | 92130 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2020/01/29 | 77947 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2020/01/29 | 86502 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2020/01/29 | 165684 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2020/01/29 | 185187 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2020/01/29 | 148342 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2020/01/29 | 167233 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2020/01/29 | 195210 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2020/01/29 | 177471 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2020/01/29 | 80517 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2020/01/29 | 91196 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2020/01/29 | 30988 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2020/01/29 | 34819 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2020/01/29 | 56463 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2020/01/29 | 62855 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2020/01/29 | 41839 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2020/01/29 | 45724 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2020/01/29 | 45550 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2020/01/29 | 52036 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2020/01/29 | 354524 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-2.9.tar.lzma
+2020/01/29 | 388027 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-x64-2.9.tar.lzma
+2020/01/29 | 321700 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2020/01/29 | 356106 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2020/01/29 | 186878 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2020/01/29 | 193774 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2020/01/29 | 202164 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2020/01/29 | 237522 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2020/01/29 | 77973 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2020/01/29 | 87267 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2020/01/29 | 932524 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2020/01/29 | 1042313 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2020/01/29 | 19798 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2020/01/29 | 23330 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2020/01/29 | 31149 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2020/01/29 | 36616 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2020/01/29 | 63210 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2020/01/29 | 71744 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2020/01/29 | 42614 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2020/01/29 | 50737 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2020/01/29 | 1068971 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2020/01/29 | 1196105 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2020/01/29 | 41887 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2020/01/29 | 50879 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2020/01/29 | 53432 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-2.9.tar.lzma
+2020/01/29 | 59456 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64-2.9.tar.lzma
+2020/01/29 | 26798 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2020/01/29 | 29100 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2020/01/29 | 16035 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2020/01/29 | 17753 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2020/01/29 | 63072 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2020/01/29 | 69247 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2020/01/29 | 147094 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2020/01/29 | 160570 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2020/01/29 | 70254 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2020/01/29 | 79810 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2020/01/29 | 91223 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2020/01/29 | 96202 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2020/01/29 | 2458454 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2020/01/29 | 2580136 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2020/01/29 | 54835 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2020/01/29 | 61327 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2020/01/29 | 26493 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2020/01/29 | 32364 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2020/01/29 | 61560 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2020/01/29 | 65008 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2020/01/29 | 246873 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2020/01/29 | 276565 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2020/01/29 | 533534 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2020/01/29 | 563346 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2020/01/29 | 39202 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2020/01/29 | 42910 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2020/01/29 | 196084 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2020/01/29 | 1169612 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2020/01/29 | 1090049 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2020/01/29 | 13054 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2020/01/29 | 14046 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2019/03/12 | 1412 | systems/win32/miktex/tm/packages/nextpage.tar.lzma
-2020/01/28 | 652 | systems/win32/miktex/tm/packages/next/pr.ini
+2020/01/29 | 652 | systems/win32/miktex/tm/packages/next/pr.ini
2018/07/06 | 145915 | systems/win32/miktex/tm/packages/nexus-otf.tar.lzma
2017/03/30 | 191149 | systems/win32/miktex/tm/packages/nfssext-cfr.tar.lzma
2012/12/20 | 612251 | systems/win32/miktex/tm/packages/nicefilelist.tar.lzma
@@ -267488,7 +267640,7 @@
2007/07/06 | 3278 | systems/win32/miktex/tm/packages/numname.tar.lzma
2012/12/28 | 1188155 | systems/win32/miktex/tm/packages/numprint.tar.lzma
2017/10/01 | 235240 | systems/win32/miktex/tm/packages/numspell.tar.lzma
-2019/03/19 | 5642168 | systems/win32/miktex/tm/packages/nwejm.tar.lzma
+2020/01/29 | 5652493 | systems/win32/miktex/tm/packages/nwejm.tar.lzma
2005/12/30 | 63383 | systems/win32/miktex/tm/packages/oands.cab
2020/01/02 | 9404699 | systems/win32/miktex/tm/packages/oberdiek.tar.lzma
2016/07/16 | 285629 | systems/win32/miktex/tm/packages/objectz.tar.lzma
@@ -267596,7 +267748,7 @@
2011/08/11 | 384460 | systems/win32/miktex/tm/packages/pdfmarginpar.tar.lzma
2019/11/04 | 553574 | systems/win32/miktex/tm/packages/pdfoverlay.tar.lzma
2015/07/28 | 1817839 | systems/win32/miktex/tm/packages/pdfpagediff.tar.lzma
-2019/12/20 | 364074 | systems/win32/miktex/tm/packages/pdfpages.tar.lzma
+2020/01/29 | 363992 | systems/win32/miktex/tm/packages/pdfpages.tar.lzma
2018/07/22 | 82751 | systems/win32/miktex/tm/packages/pdfpc-movie.tar.lzma
2017/12/04 | 270667 | systems/win32/miktex/tm/packages/pdfprivacy.tar.lzma
2019/02/23 | 585467 | systems/win32/miktex/tm/packages/pdfreview.tar.lzma
@@ -267658,9 +267810,10 @@
2016/07/18 | 67696 | systems/win32/miktex/tm/packages/phonetic.tar.lzma
2017/04/23 | 45295 | systems/win32/miktex/tm/packages/phonrule.tar.lzma
2004/07/22 | 25826 | systems/win32/miktex/tm/packages/photo.cab
-2020/01/27 | 135387 | systems/win32/miktex/tm/packages/physconst.tar.lzma
+2020/01/29 | 147495 | systems/win32/miktex/tm/packages/physconst.tar.lzma
2016/07/18 | 48144 | systems/win32/miktex/tm/packages/physe.tar.lzma
2013/01/07 | 239400 | systems/win32/miktex/tm/packages/physics.tar.lzma
+2020/01/29 | 106877 | systems/win32/miktex/tm/packages/physunits.tar.lzma
2011/05/25 | 304898 | systems/win32/miktex/tm/packages/physymb.tar.lzma
2016/07/18 | 59013 | systems/win32/miktex/tm/packages/phyzzx.tar.lzma
2011/03/02 | 2187 | systems/win32/miktex/tm/packages/piano.tar.lzma
@@ -267746,7 +267899,7 @@
2008/11/07 | 35981 | systems/win32/miktex/tm/packages/prettyref.tar.lzma
2017/07/26 | 201385 | systems/win32/miktex/tm/packages/preview.tar.lzma
2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma
-2020/01/28 | 339 | systems/win32/miktex/tm/packages/pr.ini
+2020/01/29 | 337 | systems/win32/miktex/tm/packages/pr.ini
2010/09/27 | 248469 | systems/win32/miktex/tm/packages/printlen.tar.lzma
2008/06/17 | 77313 | systems/win32/miktex/tm/packages/proba.tar.lzma
2017/07/12 | 988486 | systems/win32/miktex/tm/packages/probsoln.tar.lzma
@@ -268525,7 +268678,7 @@
2005/06/02 | 90162 | systems/win32/miktex/tm/packages/ttcmex.cab
2016/11/04 | 106224 | systems/win32/miktex/tm/packages/ttf2pk.tar.lzma
2010/12/13 | 260868 | systems/win32/miktex/tm/packages/tucv.tar.lzma
-2019/12/20 | 1536216 | systems/win32/miktex/tm/packages/tuda-ci.tar.lzma
+2020/01/29 | 1505669 | systems/win32/miktex/tm/packages/tuda-ci.tar.lzma
2020/01/15 | 4262168 | systems/win32/miktex/tm/packages/tudscr.tar.lzma
2019/02/17 | 800587 | systems/win32/miktex/tm/packages/tufte-latex.tar.lzma
2006/06/12 | 143924 | systems/win32/miktex/tm/packages/tugboat-plain.cab
@@ -268869,9 +269022,9 @@
2019/08/12 | 14654 | systems/win32/w32tex/00FILES.euc
2019/08/12 | 14654 | systems/win32/w32tex/00FILES.sjis
2020/01/20 | 4908972 | systems/win32/w32tex/aleph-w32.tar.xz
-2020/01/21 | 64260164 | systems/win32/w32tex/biblatex-biber.tar.xz
+2020/01/28 | 64231716 | systems/win32/w32tex/biblatex-biber.tar.xz
2016/12/13 | 65971452 | systems/win32/w32tex/cbfonts.tar.xz
-2020/01/27 | 578641 | systems/win32/w32tex/ChangeLog
+2020/01/28 | 578889 | systems/win32/w32tex/ChangeLog
2009/08/03 | 141221 | systems/win32/w32tex/ChangeLog.0
2009/08/03 | 221890 | systems/win32/w32tex/ChangeLog.1
2009/08/03 | 116462 | systems/win32/w32tex/ChangeLog.2
@@ -268901,7 +269054,7 @@
2020/01/26 | 3915044 | systems/win32/w32tex/luajittex-w32.tar.xz
2020/01/26 | 15700524 | systems/win32/w32tex/luatex-dev-w32.tar.xz
2020/01/27 | 15691504 | systems/win32/w32tex/luatex-exp-w32.tar.xz
-2019/11/19 | 17264772 | systems/win32/w32tex/luatexja.tar.xz
+2020/01/28 | 17310292 | systems/win32/w32tex/luatexja.tar.xz
2020/01/26 | 14951652 | systems/win32/w32tex/luatex-w32.tar.xz
2020/01/20 | 1598940 | systems/win32/w32tex/makeindex-w32.tar.xz
2015/05/26 | 1542676 | systems/win32/w32tex/manual.tar.xz
@@ -268922,7 +269075,7 @@
2020/01/20 | 517548 | systems/win32/w32tex/psutils-w32.tar.xz
2020/01/24 | 5661372 | systems/win32/w32tex/ptex-ng-w32.tar.xz
2020/01/20 | 9050232 | systems/win32/w32tex/ptex-w32.tar.xz
-2019/11/18 | 1992916 | systems/win32/w32tex/qpdf-w32.tar.xz
+2020/01/27 | 1760916 | systems/win32/w32tex/qpdf-w32.tar.xz
2019/04/15 | 499188 | systems/win32/w32tex/sam2p-w32.tar.xz
2020/01/24 | 24929772 | systems/win32/w32tex/t1fonts.tar.xz
2020/01/19 | 135584 | systems/win32/w32tex/t1utils-w32.tar.xz
@@ -269085,7 +269238,7 @@
2004/06/04 | 404 | tds/tds.sed
2004/06/23 | 65418 | tds/tds.tex
2019/05/29 | 304264 | tds.zip
-2020/01/29 | 186 | timestamp
+2020/01/30 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2017/06/30 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index e4b533ead7..8b70eb2e49 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index ffc8a760cb..9aaf02f4ae 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,12 +1,302 @@
+2020/01/30 | 5659027 | fonts/nimbus15.zip
+2020/01/29 | 977643 | install/macros/latex/contrib/polyglossia.tds.zip
+2020/01/29 | 9676 | systems/texlive/tlnet/archive/hycolor.source.r53584.tar.xz
+2020/01/29 | 96202 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2020/01/29 | 952857 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2020/01/29 | 95092 | fonts/nimbus15/opentype/zcoN-Regular.otf
+2020/01/29 | 94816 | fonts/nimbus15/opentype/zco-Regular.otf
+2020/01/29 | 94254 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2020/01/29 | 94112 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2020/01/29 | 93401 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2020/01/29 | 932524 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2020/01/29 | 93188 | fonts/nimbus15/opentype/zco-BoldOblique.otf
+2020/01/29 | 92923 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2020/01/29 | 92130 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2020/01/29 | 91223 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2020/01/29 | 91196 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2020/01/29 | 89568 | fonts/nimbus15/opentype/zco-Bold.otf
+2020/01/29 | 8754 | systems/win32/miktex/tm/packages/metafont.tar.lzma
+2020/01/29 | 8752 | systems/texlive/tlnet/archive/metafont.r53585.tar.xz
+2020/01/29 | 87335 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2020/01/29 | 87267 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2020/01/29 | 8684 | macros/latex/contrib/musicography/musicography.tex
+2020/01/29 | 86502 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2020/01/29 | 864210 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2020/01/29 | 8577 | graphics/pstricks/contrib/pst-eucl/Changes
+2020/01/29 | 8453 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2020/01/29 | 84490 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2020/01/29 | 821765 | systems/win32/miktex/tm/packages/knowledge.tar.lzma
+2020/01/29 | 80517 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2020/01/29 | 8032 | fonts/utilities/fontools/share/fontools_lgr.enc
+2020/01/29 | 79810 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2020/01/29 | 7885 | macros/latex/contrib/musicography/musicography.sty
+2020/01/29 | 77973 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2020/01/29 | 77947 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2020/01/29 | 77425 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2020/01/29 | 7628 | fonts/utilities/fontools/bin/splitttc
+2020/01/29 | 7505 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2020/01/29 | 73628 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2020/01/29 | 72664 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2020/01/29 | 72498 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2020/01/29 | 7245 | macros/latex/contrib/semantic-markup/semantic-markup.tex
+2020/01/29 | 71964 | systems/texlive/tlnet/archive/metafont.doc.r53585.tar.xz
+2020/01/29 | 71744 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2020/01/29 | 70254 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2020/01/29 | 69988 | fonts/utilities/fontools/doc/autoinst.pdf
+2020/01/29 | 69737 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2020/01/29 | 69247 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2020/01/29 | 688720 | macros/latex/contrib/polyglossia/polyglossia.dtx
+2020/01/29 | 68779 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2020/01/29 | 67252 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2020/01/29 | 67198 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2020/01/29 | 670062 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2020/01/29 | 652 | systems/win32/miktex/tm/packages/next/pr.ini
+2020/01/29 | 65008 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2020/01/29 | 644 | systems/texlive/tlnet/archive/collection-basic.r53585.tar.xz
+2020/01/29 | 64377 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2020/01/29 | 63255 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2020/01/29 | 63210 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2020/01/29 | 63072 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2020/01/29 | 629 | macros/latex/contrib/musicography/README.md
+2020/01/29 | 62855 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2020/01/29 | 61725 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2020/01/29 | 615790 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2020/01/29 | 61560 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2020/01/29 | 61327 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2020/01/29 | 607171 | macros/latex/contrib/curve2e/curve2e.pdf
+2020/01/29 | 60320 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2020/01/29 | 59456 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64-2.9.tar.lzma
+2020/01/29 | 58839 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2020/01/29 | 5856685 | systems/win32/miktex/tm/packages/media9.tar.lzma
+2020/01/29 | 57821 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2020/01/29 | 575662 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2020/01/29 | 57178 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2020/01/29 | 5685191 | install/fonts/nimbus15.tds.zip
+2020/01/29 | 56645 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2020/01/29 | 566234 | macros/latex/contrib/curve2e/curve2e-manual.pdf
+2020/01/29 | 5652493 | systems/win32/miktex/tm/packages/nwejm.tar.lzma
+2020/01/29 | 56463 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2020/01/29 | 563346 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2020/01/29 | 561083 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2020/01/29 | 54835 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2020/01/29 | 544211 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2020/01/29 | 54038 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2020/01/29 | 539465 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2020/01/29 | 538 | graphics/pstricks/contrib/pst-eucl/latex/pst-eucl.sty
+2020/01/29 | 53432 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-2.9.tar.lzma
+2020/01/29 | 533534 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2020/01/29 | 522456 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2020/01/29 | 522338 | systems/win32/miktex/tm/packages/files.csv.lzma
+2020/01/29 | 52036 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2020/01/29 | 51978 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2020/01/29 | 5178 | macros/latex/contrib/curve2e/README.txt
+2020/01/29 | 50879 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2020/01/29 | 50737 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2020/01/29 | 50555 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2020/01/29 | 498800 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2020/01/29 | 49563 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2020/01/29 | 49213 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2020/01/29 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2020/01/29 | 4807 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma
+2020/01/29 | 47990 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2020/01/29 | 475470 | systems/win32/miktex/tm/packages/fmtcount.tar.lzma
+2020/01/29 | 4666 | macros/latex/contrib/semantic-markup/semantic-markup.sty
+2020/01/29 | 457626 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2020/01/29 | 45760 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2020/01/29 | 457350 | graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex
+2020/01/29 | 45724 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2020/01/29 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2020/01/29 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2020/01/29 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2020/01/29 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2020/01/29 | 45550 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2020/01/29 | 45460 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2020/01/29 | 450447 | systems/win32/miktex/tm/packages/next/miktex-doc-2.9.tar.lzma
+2020/01/29 | 44928 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2020/01/29 | 43429 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2020/01/29 | 42910 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2020/01/29 | 42614 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2020/01/29 | 421472 | macros/latex/contrib/polyglossia.zip
+2020/01/29 | 41887 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2020/01/29 | 41839 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2020/01/29 | 40978 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2020/01/29 | 40679 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2020/01/29 | 4044 | systems/texlive/tlnet/archive/hycolor.r53584.tar.xz
+2020/01/29 | 3949209 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2020/01/29 | 39202 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2020/01/29 | 391678 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2020/01/29 | 38849 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2020/01/29 | 388027 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-x64-2.9.tar.lzma
+2020/01/29 | 385525 | systems/win32/miktex/tm/packages/hycolor.tar.lzma
+2020/01/29 | 375200 | systems/texlive/tlnet/archive/hycolor.doc.r53584.tar.xz
+2020/01/29 | 3729 | fonts/utilities/fontools/share/fontools_t2b.enc
+2020/01/29 | 36930 | fonts/nimbus15/afm/zco-BoldOblique.afm
+2020/01/29 | 36913 | fonts/nimbus15/afm/zco-Oblique.afm
+2020/01/29 | 36860 | fonts/nimbus15/afm/zcoN-Oblique.afm
+2020/01/29 | 36797 | fonts/nimbus15/afm/zco-Regular.afm
+2020/01/29 | 36794 | fonts/nimbus15/afm/zco-Bold.afm
+2020/01/29 | 36760 | fonts/nimbus15/afm/zcoN-Regular.afm
+2020/01/29 | 36616 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2020/01/29 | 3651 | fonts/utilities/fontools/share/fontools_t2c.enc
+2020/01/29 | 363992 | systems/win32/miktex/tm/packages/pdfpages.tar.lzma
+2020/01/29 | 36390 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2020/01/29 | 356106 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2020/01/29 | 354953 | macros/latex/contrib/musicography.zip
+2020/01/29 | 354524 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-2.9.tar.lzma
+2020/01/29 | 350188 | macros/latex/contrib/musicography/musicography.pdf
+2020/01/29 | 34872 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2020/01/29 | 34819 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2020/01/29 | 34712 | systems/texlive/tlnet/archive/pdfpages.source.r53583.tar.xz
+2020/01/29 | 337 | systems/win32/miktex/tm/packages/pr.ini
+2020/01/29 | 3358856 | systems/win32/miktex/tm/packages/luatexja.tar.lzma
+2020/01/29 | 33544 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2020/01/29 | 33383 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2020/01/29 | 328823 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2020/01/29 | 32364 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2020/01/29 | 32202 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2020/01/29 | 321700 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2020/01/29 | 314640 | systems/texlive/tlnet/archive/pdfpages.doc.r53583.tar.xz
+2020/01/29 | 31188 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2020/01/29 | 31149 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2020/01/29 | 3106 | graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.bib
+2020/01/29 | 310060 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2020/01/29 | 30988 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2020/01/29 | 3080 | fonts/utilities/fontools/share/fontools_ts1.enc
+2020/01/29 | 30285 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2020/01/29 | 299242 | systems/win32/miktex/tm/packages/modes.tar.lzma
+2020/01/29 | 29709 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2020/01/29 | 29262 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2020/01/29 | 29252 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2020/01/29 | 29100 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2020/01/29 | 2907 | fonts/utilities/fontools/share/fontools_t2a.enc
+2020/01/29 | 2906 | fonts/utilities/fontools/README
+2020/01/29 | 28718 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2020/01/29 | 2855 | fonts/utilities/fontools/share/fontools_ly1.enc
+2020/01/29 | 2815 | fonts/utilities/fontools/share/fontools_t1.enc
+2020/01/29 | 281583 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2020/01/29 | 281200 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2020/01/29 | 27784 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2020/01/29 | 276565 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2020/01/29 | 27582 | fonts/utilities/fontools/bin/ot2kpx
+2020/01/29 | 2751 | fonts/utilities/fontools/share/fontools_ts3.enc
+2020/01/29 | 27327 | fonts/utilities/fontools/doc/ot2kpx.pdf
+2020/01/29 | 273212 | systems/texlive/tlnet/archive/modes.doc.r53585.tar.xz
+2020/01/29 | 272788 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2020/01/29 | 270996 | macros/latex/contrib/semantic-markup.zip
+2020/01/29 | 26978 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2020/01/29 | 26948 | fonts/utilities/fontools/doc/afm2afm.pdf
+2020/01/29 | 26798 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2020/01/29 | 267795 | macros/latex/contrib/polyglossia/polyglossia.pdf
+2020/01/29 | 26764 | systems/texlive/tlnet/archive/modes.r53585.tar.xz
+2020/01/29 | 266707 | macros/latex/contrib/semantic-markup/semantic-markup.pdf
+2020/01/29 | 26655 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2020/01/29 | 2656 | fonts/utilities/fontools/share/fontools_t3.enc
+2020/01/29 | 26493 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2020/01/29 | 26186 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2020/01/29 | 2587 | fonts/utilities/fontools/share/fontools_ot1.enc
+2020/01/29 | 2580136 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2020/01/29 | 25300 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2020/01/29 | 247821 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2020/01/29 | 246873 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2020/01/29 | 246444 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2020/01/29 | 2458454 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2020/01/29 | 24063 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2020/01/29 | 237522 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2020/01/29 | 235341 | graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex
+2020/01/29 | 2341 | macros/latex/contrib/polyglossia/README
+2020/01/29 | 23330 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2020/01/29 | 22945 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2020/01/29 | 22541603 | systems/texlive/tlnet/install-tl.zip
+2020/01/29 | 2161928 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2020/01/29 | 214005 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2020/01/29 | 2103 | fonts/nimbus15/README
+2020/01/29 | 20650 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2020/01/29 | 20436 | fonts/utilities/fontools/doc/splitttc.pdf
+2020/01/29 | 202164 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2020/01/29 | 2000846 | systems/win32/miktex/tm/packages/biblatex-oxref.tar.lzma
+2020/01/29 | 198911 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2020/01/29 | 19798 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2020/01/29 | 196084 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2020/01/29 | 195949 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2020/01/29 | 195210 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2020/01/29 | 195194 | fonts/utilities/fontools.zip
+2020/01/29 | 1941564 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2020/01/29 | 193774 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2020/01/29 | 18698492 | systems/texlive/tlnet/install-tl-windows.exe
+2020/01/29 | 186878 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2020/01/29 | 185187 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2020/01/29 | 184258 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2020/01/29 | 182763 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2020/01/29 | 17997 | fonts/utilities/fontools/GPLv2.txt
+2020/01/29 | 178067 | macros/latex/contrib/suftesi/suftesi.dtx
+2020/01/29 | 17753 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2020/01/29 | 177471 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2020/01/29 | 17676 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2020/01/29 | 176556 | macros/latex/contrib/curve2e/curve2e.dtx
+2020/01/29 | 1709884 | graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.pdf
+2020/01/29 | 1696838 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2020/01/29 | 169329 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2020/01/29 | 1680 | macros/latex/contrib/suftesi/README
+2020/01/29 | 167805 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2020/01/29 | 167233 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2020/01/29 | 165684 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2020/01/29 | 165122 | fonts/nimbus15/type1/zcoN-Oblique.pfb
+2020/01/29 | 16076637 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2020/01/29 | 160570 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2020/01/29 | 16035 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2020/01/29 | 15892 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2020/01/29 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2020/01/29 | 153144 | fonts/nimbus15/type1/zcoN-Regular.pfb
+2020/01/29 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2020/01/29 | 152087 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2020/01/29 | 151168 | fonts/nimbus15/type1/zco-Regular.pfb
+2020/01/29 | 1505669 | systems/win32/miktex/tm/packages/tuda-ci.tar.lzma
+2020/01/29 | 150040 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2020/01/29 | 148342 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2020/01/29 | 147495 | systems/win32/miktex/tm/packages/physconst.tar.lzma
+2020/01/29 | 147469 | fonts/nimbus15/type1/zco-Oblique.pfb
+2020/01/29 | 147094 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2020/01/29 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2020/01/29 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2020/01/29 | 14046 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2020/01/29 | 13908 | systems/texlive/tlnet/archive/pdfpages.r53583.tar.xz
+2020/01/29 | 1384417 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2020/01/29 | 137176 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2020/01/29 | 1333736 | graphics/pstricks/contrib/pst-eucl.zip
+2020/01/29 | 13334 | fonts/utilities/fontools/bin/afm2afm
+2020/01/29 | 133101 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2020/01/29 | 13054 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2020/01/29 | 130321 | fonts/nimbus15/type1/zco-Bold.pfb
+2020/01/29 | 129585 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2020/01/29 | 127342 | fonts/nimbus15/type1/zco-BoldOblique.pfb
+2020/01/29 | 1251240 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2020/01/29 | 1242529 | macros/latex/contrib/curve2e.zip
+2020/01/29 | 1196105 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2020/01/29 | 1169612 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2020/01/29 | 1169231 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2020/01/29 | 116873 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2020/01/29 | 115033 | fonts/utilities/fontools/bin/autoinst
+2020/01/29 | 114891 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2020/01/29 | 1147698 | install/macros/latex/contrib/suftesi.tds.zip
+2020/01/29 | 1132594 | macros/latex/contrib/suftesi.zip
+2020/01/29 | 110951 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2020/01/29 | 1104231 | macros/latex/contrib/suftesi/suftesi.pdf
+2020/01/29 | 1090049 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2020/01/29 | 1090018 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2020/01/29 | 108826 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2020/01/29 | 1068971 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2020/01/29 | 106877 | systems/win32/miktex/tm/packages/physunits.tar.lzma
+2020/01/29 | 106036 | fonts/nimbus15/opentype/zcoN-Oblique.otf
+2020/01/29 | 104844 | fonts/nimbus15/opentype/zco-Oblique.otf
+2020/01/29 | 1042313 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2020/01/29 | 102468 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2020/01/29 | 1014 | macros/latex/contrib/semantic-markup/README
+2020/01/29 | 100512 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
2020/01/28 | 95640 | fonts/modes/modes.mf
-2020/01/28 | 954295 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2020/01/28 | 94324 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
2020/01/28 | 9061 | macros/latex/contrib/tuda-ci/README.md
2020/01/28 | 9000 | macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
-2020/01/28 | 863694 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
2020/01/28 | 854 | fonts/modes/README
2020/01/28 | 847954 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
-2020/01/28 | 84619 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
2020/01/28 | 822920 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
2020/01/28 | 815860 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
2020/01/28 | 7971921 | install/macros/latex/contrib/nwejm.tds.zip
@@ -14,21 +304,19 @@
2020/01/28 | 7544 | macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
2020/01/28 | 7512 | macros/latex/contrib/fmtcount/fc-lang.tex
2020/01/28 | 7186 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
-2020/01/28 | 67198 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
2020/01/28 | 6639 | macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
2020/01/28 | 6594 | macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
-2020/01/28 | 652 | systems/win32/miktex/tm/packages/next/pr.ini
+2020/01/28 | 64231716 | systems/win32/w32tex/biblatex-biber.tar.xz
2020/01/28 | 6391123 | systems/texlive/tlnet/update-tlmgr-r53576.sh
2020/01/28 | 6341330 | macros/latex/contrib/tuda-ci.zip
2020/01/28 | 618259 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
2020/01/28 | 6036 | macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
-2020/01/28 | 60208 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
2020/01/28 | 589081 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
2020/01/28 | 586723 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
2020/01/28 | 5820 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
2020/01/28 | 579239 | macros/latex/contrib/nwejm/doc/nwejm-fr.pdf
+2020/01/28 | 578889 | systems/win32/w32tex/ChangeLog
2020/01/28 | 574099 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
-2020/01/28 | 57199 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
2020/01/28 | 567645 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
2020/01/28 | 562977 | macros/latex/contrib/fmtcount/fmtcount.pdf
2020/01/28 | 5618 | macros/latex/contrib/tuda-ci/tex/tudarules.sty
@@ -36,13 +324,7 @@
2020/01/28 | 558957 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
2020/01/28 | 550780 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
2020/01/28 | 54933 | macros/latex/contrib/fmtcount/fmtcount.perl
-2020/01/28 | 54128 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
2020/01/28 | 537038 | install/macros/latex/contrib/fmtcount.tds.zip
-2020/01/28 | 522356 | systems/win32/miktex/tm/packages/files.csv.lzma
-2020/01/28 | 519791 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2020/01/28 | 49764 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2020/01/28 | 49269 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2020/01/28 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2020/01/28 | 4825 | macros/latex/contrib/tuda-ci/tex/tudacolors.sty
2020/01/28 | 481524 | macros/latex/contrib/fmtcount.zip
2020/01/28 | 4753 | macros/latex/contrib/fmtcount/CHANGES
@@ -51,15 +333,9 @@
2020/01/28 | 4632 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
2020/01/28 | 455 | systems/texlive/tlnet/update-tlmgr-r53576.sh.sha512.asc
2020/01/28 | 455 | systems/texlive/tlnet/update-tlmgr-r53576.exe.sha512.asc
-2020/01/28 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2020/01/28 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2020/01/28 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2020/01/28 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2020/01/28 | 4441 | macros/latex/contrib/tuda-ci/tex/tudacolors.def
2020/01/28 | 4328 | macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
2020/01/28 | 4076 | fonts/modes/GNUmakefile
-2020/01/28 | 3949187 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2020/01/28 | 391563 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
2020/01/28 | 3891 | macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
2020/01/28 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r53579.tar.xz
2020/01/28 | 382838 | install/macros/latex/contrib/pdfpages.tds.zip
@@ -68,53 +344,37 @@
2020/01/28 | 379542 | macros/latex/contrib/hycolor/hycolor.pdf
2020/01/28 | 3667 | macros/latex/contrib/fmtcount/fmtcount.ins
2020/01/28 | 36518 | macros/latex/contrib/tuda-ci/tex/tudapub.cls
-2020/01/28 | 36357 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
2020/01/28 | 3622 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
2020/01/28 | 352676 | macros/latex/contrib/pdfpages.zip
-2020/01/28 | 34915 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2020/01/28 | 339 | systems/win32/miktex/tm/packages/pr.ini
-2020/01/28 | 33410 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2020/01/28 | 328790 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2020/01/28 | 32248 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
2020/01/28 | 321904 | macros/latex/contrib/fmtcount/fmtcount.dtx
2020/01/28 | 3101 | macros/latex/contrib/tuda-ci/tex/tudafonts.sty
2020/01/28 | 30894 | macros/latex/contrib/pdfpages/dummy.pdf
-2020/01/28 | 30216 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
2020/01/28 | 301971 | fonts/modes.zip
2020/01/28 | 2983 | macros/latex/contrib/pdfpages/pdfpages.ins
2020/01/28 | 2931 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
-2020/01/28 | 29307 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2020/01/28 | 29260 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
2020/01/28 | 292531 | macros/latex/contrib/pdfpages/pdfpages.pdf
-2020/01/28 | 26659 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
2020/01/28 | 265103 | fonts/modes/modes.pdf
-2020/01/28 | 26188 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
2020/01/28 | 2443863 | systems/texlive/tlnet/update-tlmgr-r53576.exe
2020/01/28 | 24099 | macros/latex/contrib/nwejm/source/nwejm-examples-template.dtx
-2020/01/28 | 24023 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
2020/01/28 | 238982 | macros/latex/contrib/nwejm/doc/examples/article-in-french.pdf
2020/01/28 | 23243 | macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
-2020/01/28 | 22541600 | systems/texlive/tlnet/install-tl.zip
2020/01/28 | 2227 | macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
2020/01/28 | 22247 | macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
2020/01/28 | 2175 | macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
-2020/01/28 | 2160136 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2020/01/28 | 2097 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
2020/01/28 | 209359 | macros/latex/contrib/nwejm/source/nwejm.dtx
2020/01/28 | 20052 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
2020/01/28 | 1967561 | macros/latex/contrib/nwejm.zip
2020/01/28 | 19631 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
-2020/01/28 | 195905 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
2020/01/28 | 192 | macros/latex/contrib/nwejm/doc/README-TRANSLATION.md
2020/01/28 | 189448 | macros/latex/contrib/nwejm/doc/examples/article-in-german.pdf
-2020/01/28 | 188836 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
2020/01/28 | 188077 | macros/latex/contrib/nwejm/doc/examples/article-in-dutch.pdf
-2020/01/28 | 18695659 | systems/texlive/tlnet/install-tl-windows.exe
2020/01/28 | 183 | macros/latex/contrib/hycolor/README.md
2020/01/28 | 183735 | macros/latex/contrib/nwejm/doc/examples/article-in-english.pdf
2020/01/28 | 182347 | macros/latex/contrib/nwejm/doc/examples/sample.pdf
2020/01/28 | 17900 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
2020/01/28 | 174851 | macros/latex/contrib/pdfpages/pdfpages.dtx
+2020/01/28 | 17310292 | systems/win32/w32tex/luatexja.tar.xz
2020/01/28 | 17015 | macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
2020/01/28 | 16818 | macros/latex/contrib/tuda-ci/tex/tudaposter.cls
2020/01/28 | 1678 | macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
@@ -125,23 +385,14 @@
2020/01/28 | 1668 | macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
2020/01/28 | 1621 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
2020/01/28 | 1611 | macros/latex/contrib/fmtcount/README
-2020/01/28 | 16075199 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
2020/01/28 | 158512 | systems/texlive/tlnet/archive/texlive-docindex.doc.r53579.tar.xz
2020/01/28 | 154 | systems/texlive/tlnet/update-tlmgr-r53576.exe.sha512
2020/01/28 | 153 | systems/texlive/tlnet/update-tlmgr-r53576.sh.sha512
-2020/01/28 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2020/01/28 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
2020/01/28 | 15030 | fonts/modes/ChangeLog
-2020/01/28 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2020/01/28 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2020/01/28 | 14399 | macros/latex/contrib/tuda-ci/tex/tudaletter.cls
2020/01/28 | 1382 | macros/latex/contrib/pdfpages/README
2020/01/28 | 12470 | macros/latex/contrib/pdfpages/dummy-l.pdf
2020/01/28 | 1214 | fonts/modes/modenames.txt
-2020/01/28 | 1169744 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2020/01/28 | 1154712 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2020/01/28 | 1089869 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
-2020/01/28 | 1076313 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
2020/01/28 | 10683 | fonts/modes/modelist.txt
2020/01/28 | 10474 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
2020/01/27 | 99544 | systems/texlive/tlnet/archive/physunits.doc.r53574.tar.xz
@@ -192,7 +443,6 @@
2020/01/27 | 6891 | macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty
2020/01/27 | 6715 | macros/luatex/generic/luatexja/src/ltj-pretreat.lua
2020/01/27 | 6699 | macros/latex/contrib/knowledge/knowledge-example.tex
-2020/01/27 | 640 | systems/texlive/tlnet/archive/collection-basic.r53554.tar.xz
2020/01/27 | 617 | macros/luatex/generic/luatexja/src/patches/lltjp-array.sty
2020/01/27 | 6060 | macros/luatex/generic/luatexja/tool/kyoikukanjiChars.tex
2020/01/27 | 596 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-darwinlegacy.r53555.tar.xz
@@ -215,7 +465,6 @@
2020/01/27 | 580 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r53555.tar.xz
2020/01/27 | 580 | macros/luatex/generic/luatexja/tool/blocks2defcharrange.rb
2020/01/27 | 5804 | systems/texlive/tlnet/archive/physunits.source.r53574.tar.xz
-2020/01/27 | 578641 | systems/win32/w32tex/ChangeLog
2020/01/27 | 57332 | systems/texlive/tlnet/archive/ps2eps.doc.r53559.tar.xz
2020/01/27 | 5681 | macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty
2020/01/27 | 551 | macros/luatex/generic/luatexja/tool/jfm-readable.rb
@@ -387,6 +636,7 @@
2020/01/27 | 18036 | macros/luatex/generic/luatexja/src/ltj-kinsoku_make.tex
2020/01/27 | 1776720 | systems/texlive/tlnet/archive/media9.source.r53573.tar.xz
2020/01/27 | 176639 | macros/luatex/generic/luatexja/src/ltjclasses.dtx
+2020/01/27 | 1760916 | systems/win32/w32tex/qpdf-w32.tar.xz
2020/01/27 | 1759 | macros/latex/contrib/knowledge/knowledge.ins
2020/01/27 | 17106 | macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
2020/01/27 | 1700 | systems/texlive/tlnet/archive/physunits.r53574.tar.xz
@@ -410,7 +660,6 @@
2020/01/27 | 13964 | systems/texlive/tlnet/archive/latex-bin-dev.doc.r53553.tar.xz
2020/01/27 | 1388 | systems/texlive/tlnet/archive/collection-mathscience.r53574.tar.xz
2020/01/27 | 135843 | macros/latex/contrib/physconst/physconst.pdf
-2020/01/27 | 135387 | systems/win32/miktex/tm/packages/physconst.tar.lzma
2020/01/27 | 13429 | macros/luatex/generic/luatexja/doc/lltjp-geometry.tex
2020/01/27 | 132948 | systems/texlive/tlnet/archive/physconst.doc.r53570.tar.xz
2020/01/27 | 13258 | macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
@@ -1797,208 +2046,3 @@
2020/01/23 | 1016 | fonts/domitian/README
2020/01/23 | 1013 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty
2020/01/23 | 10082 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex
-2020/01/22 | 9990 | macros/latex/contrib/l3kernel/l3news10.tex
-2020/01/22 | 990 | systems/win32/miktex/tm/packages/miktex-latex.tar.lzma
-2020/01/22 | 98855 | macros/latex/contrib/l3kernel/l3keys.dtx
-2020/01/22 | 98160 | systems/texlive/tlnet/archive/hyperref.r53481.tar.xz
-2020/01/22 | 9772 | macros/latex/contrib/l3kernel/l3docstrip.dtx
-2020/01/22 | 9656 | macros/latex/contrib/l3kernel/l3unicode.dtx
-2020/01/22 | 9465 | macros/latex/contrib/l3kernel/l3news08.tex
-2020/01/22 | 9450 | macros/latex/contrib/l3kernel/l3flag.dtx
-2020/01/22 | 924 | systems/texlive/tlnet/archive/collection-binextra.r53491.tar.xz
-2020/01/22 | 89996 | macros/latex/contrib/caption/ltcaption.pdf
-2020/01/22 | 88271 | macros/latex/contrib/l3kernel/l3int.dtx
-2020/01/22 | 859412 | macros/latex/contrib/widows-and-orphans.zip
-2020/01/22 | 85507 | macros/latex/contrib/l3kernel/l3coffins.dtx
-2020/01/22 | 84833 | macros/latex/contrib/l3kernel/l3fp-basics.dtx
-2020/01/22 | 8424 | macros/latex/contrib/l3kernel/l3news11.tex
-2020/01/22 | 8298 | language/japanese/zxjatype/README-ja.md
-2020/01/22 | 82562 | macros/latex/contrib/l3kernel/l3seq.dtx
-2020/01/22 | 82006 | macros/latex/contrib/caption/totalcount.pdf
-2020/01/22 | 771 | macros/latex/contrib/parskip/changes.txt
-2020/01/22 | 77128 | macros/latex/contrib/l3kernel/l3box.dtx
-2020/01/22 | 76066 | macros/latex/contrib/dashundergaps/l3doc-TUB.cls
-2020/01/22 | 75907 | macros/latex/contrib/l3kernel/l3skip.dtx
-2020/01/22 | 74349 | macros/latex/contrib/l3kernel/l3clist.dtx
-2020/01/22 | 73859 | macros/latex/contrib/l3kernel/l3fp-trig.dtx
-2020/01/22 | 72855 | macros/latex/contrib/l3kernel/l3str.dtx
-2020/01/22 | 725051 | systems/win32/miktex/tm/packages/pmhanguljamo.tar.lzma
-2020/01/22 | 719562 | support/autosp.zip
-2020/01/22 | 718117 | macros/latex/contrib/caption/caption-rus.pdf
-2020/01/22 | 71688 | macros/latex/contrib/l3kernel/l3msg.dtx
-2020/01/22 | 70305 | macros/latex/contrib/l3kernel/l3fp.dtx
-2020/01/22 | 6970 | macros/latex/contrib/l3kernel/l3fp-assign.dtx
-2020/01/22 | 690785 | macros/latex/contrib/nicematrix/nicematrix.pdf
-2020/01/22 | 68272 | macros/latex/contrib/l3kernel/l3candidates.dtx
-2020/01/22 | 6677 | macros/latex/contrib/l3kernel/l3news02.tex
-2020/01/22 | 6482 | macros/latex/contrib/l3kernel/l3news03.tex
-2020/01/22 | 6431 | macros/latex/contrib/l3kernel/l3news06.tex
-2020/01/22 | 6430 | macros/latex/contrib/caption/CHANGELOG
-2020/01/22 | 64264 | macros/latex/contrib/l3kernel/l3prg.dtx
-2020/01/22 | 6236 | macros/latex/contrib/l3kernel/l3alloc.dtx
-2020/01/22 | 6203 | macros/latex/contrib/l3kernel/l3color-base.dtx
-2020/01/22 | 61208 | macros/latex/contrib/l3kernel/expl3.dtx
-2020/01/22 | 6104 | macros/latex/contrib/l3kernel/l3syntax-changes.tex
-2020/01/22 | 6074 | macros/latex/contrib/l3kernel/l3.ins
-2020/01/22 | 597014 | macros/latex/contrib/dashundergaps/dashundergaps-code.pdf
-2020/01/22 | 59390 | macros/latex/contrib/l3kernel/l3prefixes.pdf
-2020/01/22 | 59212 | support/autosp/MacOSX/autosp
-2020/01/22 | 584331 | macros/latex/contrib/l3kernel/expl3.pdf
-2020/01/22 | 5763116 | macros/latex/contrib/l3kernel/source3.pdf
-2020/01/22 | 5701 | macros/latex/contrib/l3kernel/l3format.ins
-2020/01/22 | 557 | macros/latex/contrib/dashundergaps/README.md
-2020/01/22 | 556802 | macros/latex/contrib/widows-and-orphans/widows-and-orphans-code.pdf
-2020/01/22 | 5429 | macros/latex/contrib/l3kernel/l3news04.tex
-2020/01/22 | 53076 | macros/generic/expkv/expkv.dtx
-2020/01/22 | 5300 | systems/win32/miktex/tm/packages/latino-sine-flexione.tar.lzma
-2020/01/22 | 51073 | macros/latex/contrib/l3kernel/l3fp-extended.dtx
-2020/01/22 | 4974 | macros/latex/contrib/l3kernel/l3news07.tex
-2020/01/22 | 49619 | macros/latex/contrib/l3kernel/l3prop.dtx
-2020/01/22 | 49394 | macros/latex/contrib/l3kernel/l3fp-expo.dtx
-2020/01/22 | 49377 | macros/latex/contrib/caption/caption2.dtx
-2020/01/22 | 4935 | macros/latex/contrib/l3kernel/l3news01.tex
-2020/01/22 | 48975 | macros/latex/contrib/caption/bicaption.dtx
-2020/01/22 | 4809 | support/pdfbook2/README
-2020/01/22 | 47215 | macros/latex/contrib/l3kernel/l3fp-aux.dtx
-2020/01/22 | 4716 | macros/latex/contrib/l3kernel/l3news05.tex
-2020/01/22 | 46646 | macros/latex/contrib/l3kernel/l3text-case.dtx
-2020/01/22 | 466392 | macros/latex/contrib/dashundergaps/dashundergaps-doc.pdf
-2020/01/22 | 46619 | macros/latex/contrib/caption/subcaption.dtx
-2020/01/22 | 4592 | language/japanese/zxjatype/example/example.tex
-2020/01/22 | 447400 | systems/texlive/tlnet/archive/hyperref.source.r53481.tar.xz
-2020/01/22 | 426 | macros/latex/contrib/parskip/README.md
-2020/01/22 | 42142 | macros/latex/contrib/l3kernel/l3debug.dtx
-2020/01/22 | 413933 | macros/latex/contrib/l3kernel/l3news.pdf
-2020/01/22 | 40930 | macros/latex/contrib/l3kernel/l3sort.dtx
-2020/01/22 | 40820 | macros/latex/contrib/widows-and-orphans/widows-and-orphans.dtx
-2020/01/22 | 40709 | macros/latex/contrib/l3kernel/l3tl-analysis.dtx
-2020/01/22 | 403435 | macros/latex/contrib/parskip.zip
-2020/01/22 | 40242 | macros/latex/contrib/dashundergaps/dashundergaps.dtx
-2020/01/22 | 4022 | macros/latex/contrib/l3kernel/l3news.tex
-2020/01/22 | 396869 | systems/win32/miktex/tm/packages/scontents.tar.lzma
-2020/01/22 | 3944 | systems/texlive/tlnet/archive/latino-sine-flexione.doc.r53485.tar.xz
-2020/01/22 | 38547 | macros/latex/contrib/l3kernel/l3deprecation.dtx
-2020/01/22 | 3733 | support/pdfbook2/pdfbook2.1
-2020/01/22 | 3610704 | systems/win32/miktex/tm/packages/hyperref.tar.lzma
-2020/01/22 | 347516 | systems/texlive/tlnet/archive/pst-poker.r53482.tar.xz
-2020/01/22 | 346352 | install/macros/generic/expkv.tds.zip
-2020/01/22 | 342257 | macros/generic/expkv.zip
-2020/01/22 | 333595 | macros/generic/expkv/expkv.pdf
-2020/01/22 | 32703 | language/japanese/zxjatype/zxjatype.sty
-2020/01/22 | 320 | macros/latex/contrib/widows-and-orphans/changes.txt
-2020/01/22 | 318839 | macros/latex/contrib/caption/caption-deu.pdf
-2020/01/22 | 3172 | systems/texlive/tlnet/archive/biblatex-bookinother.r53484.tar.xz
-2020/01/22 | 312813 | systems/win32/miktex/tm/packages/cmupint.tar.lzma
-2020/01/22 | 311089 | macros/latex/contrib/nicematrix/nicematrix-french.pdf
-2020/01/22 | 30974 | macros/latex/contrib/l3kernel/l3text.dtx
-2020/01/22 | 307635 | macros/latex/contrib/caption/caption-eng.pdf
-2020/01/22 | 3066144 | systems/texlive/tlnet/archive/hyperref.doc.r53481.tar.xz
-2020/01/22 | 30020 | macros/latex/contrib/l3kernel/l3prefixes.csv
-2020/01/22 | 2997 | macros/latex/contrib/l3kernel/README.md
-2020/01/22 | 2926 | macros/latex/contrib/caption/README
-2020/01/22 | 292468 | macros/latex/contrib/widows-and-orphans/widows-and-orphans-doc.pdf
-2020/01/22 | 28846 | macros/latex/contrib/caption/ltcaption.dtx
-2020/01/22 | 285895 | systems/win32/miktex/tm/packages/biblatex-bookinother.tar.lzma
-2020/01/22 | 282356 | systems/texlive/tlnet/archive/biblatex-bookinother.doc.r53484.tar.xz
-2020/01/22 | 2814946 | systems/win32/miktex/tm/packages/pst-poker.tar.lzma
-2020/01/22 | 279782 | macros/latex/contrib/l3kernel/l3styleguide.pdf
-2020/01/22 | 2757 | macros/latex/contrib/parskip/parskip-2001-04-09.sty
-2020/01/22 | 272037 | systems/win32/miktex/tm/packages/epspdf.tar.lzma
-2020/01/22 | 268293 | macros/latex/contrib/nicematrix/nicematrix.dtx
-2020/01/22 | 26532 | macros/latex/contrib/l3kernel/l3sys.dtx
-2020/01/22 | 264773 | macros/latex/contrib/caption/caption-rus.tex
-2020/01/22 | 263528 | systems/win32/miktex/tm/packages/beamerswitch.tar.lzma
-2020/01/22 | 263041 | macros/latex/contrib/l3kernel/l3docstrip.pdf
-2020/01/22 | 2592 | macros/latex/contrib/l3kernel/l3prefixes.tex
-2020/01/22 | 25753 | macros/latex/contrib/l3kernel/l3fp-random.dtx
-2020/01/22 | 250949 | macros/latex/contrib/l3kernel/l3regex.dtx
-2020/01/22 | 2484 | macros/latex/contrib/l3kernel/l3legacy.dtx
-2020/01/22 | 2444488 | systems/texlive/tlnet/archive/pst-poker.doc.r53482.tar.xz
-2020/01/22 | 244282 | macros/latex/contrib/l3kernel/l3news12.pdf
-2020/01/22 | 235323 | macros/latex/contrib/l3kernel/l3news09.pdf
-2020/01/22 | 23068 | macros/latex/contrib/l3kernel/l3fp-logic.dtx
-2020/01/22 | 228451 | macros/latex/contrib/mcmthesis/mcmthesis-demo.pdf
-2020/01/22 | 227512 | macros/latex/contrib/l3kernel/l3syntax-changes.pdf
-2020/01/22 | 223578 | macros/latex/contrib/parskip/parskip-code.pdf
-2020/01/22 | 21817 | macros/latex/contrib/l3kernel/l3quark.dtx
-2020/01/22 | 2153 | macros/latex/contrib/l3kernel/source3.tex
-2020/01/22 | 2148 | macros/latex/contrib/caption/caption.ins
-2020/01/22 | 21191 | macros/latex/contrib/caption/elephant.eps
-2020/01/22 | 21165 | macros/latex/contrib/l3kernel/source3body.tex
-2020/01/22 | 2057671 | install/macros/latex/contrib/caption.tds.zip
-2020/01/22 | 2017353 | macros/latex/contrib/caption.zip
-2020/01/22 | 2005 | macros/latex/contrib/dashundergaps/dashundergaps.ins
-2020/01/22 | 19804 | support/autosp/MacOSX/tex2aspc
-2020/01/22 | 19693 | macros/latex/contrib/l3kernel/l3intarray.dtx
-2020/01/22 | 19661 | macros/latex/contrib/l3kernel/l3fp-convert.dtx
-2020/01/22 | 1958 | macros/latex/contrib/parskip/parskip.ins
-2020/01/22 | 19408 | support/autosp/MacOSX/rebar
-2020/01/22 | 19309 | macros/latex/contrib/l3kernel/l3bootstrap.dtx
-2020/01/22 | 19219 | macros/latex/contrib/l3kernel/l3kernel-functions.dtx
-2020/01/22 | 1909 | macros/latex/contrib/l3kernel/interface3.tex
-2020/01/22 | 1863 | macros/latex/contrib/widows-and-orphans/widows-and-orphans.ins
-2020/01/22 | 186295 | macros/latex/contrib/l3kernel/l3term-glossary.pdf
-2020/01/22 | 18622 | macros/latex/contrib/l3kernel/CHANGELOG.md
-2020/01/22 | 18605 | macros/latex/contrib/l3kernel/l3fp-round.dtx
-2020/01/22 | 184506 | macros/latex/contrib/mcmthesis/mcmthesis.pdf
-2020/01/22 | 17918 | macros/latex/contrib/l3kernel/l3luatex.dtx
-2020/01/22 | 176251 | systems/win32/miktex/tm/packages/wasysym.tar.lzma
-2020/01/22 | 174740 | macros/latex/contrib/parskip/parskip.pdf
-2020/01/22 | 174241 | macros/latex/contrib/l3kernel/l3news11.pdf
-2020/01/22 | 171739 | macros/latex/contrib/caption/caption.dtx
-2020/01/22 | 167 | macros/latex/contrib/widows-and-orphans/widows-and-orphans-doc.tex
-2020/01/22 | 166680 | macros/latex/contrib/caption/caption-deu.tex
-2020/01/22 | 1664 | systems/texlive/tlnet/archive/xcite.source.r53486.tar.xz
-2020/01/22 | 1642 | macros/latex/contrib/l3kernel/l3term-glossary.tex
-2020/01/22 | 161707 | systems/win32/miktex/tm/packages/xcite.tar.lzma
-2020/01/22 | 159256 | systems/texlive/tlnet/archive/xcite.doc.r53486.tar.xz
-2020/01/22 | 15737 | macros/latex/contrib/caption/cat.eps
-2020/01/22 | 15708 | macros/latex/contrib/l3kernel/l3final.dtx
-2020/01/22 | 154507 | macros/latex/contrib/caption/subcaption.pdf
-2020/01/22 | 1539597 | macros/latex/contrib/l3kernel/interface3.pdf
-2020/01/22 | 152413 | macros/latex/contrib/l3kernel/l3news08.pdf
-2020/01/22 | 151528 | macros/latex/contrib/caption/caption-eng.tex
-2020/01/22 | 149148 | macros/latex/contrib/l3kernel/l3doc.dtx
-2020/01/22 | 148302 | macros/latex/contrib/caption/caption3.dtx
-2020/01/22 | 147099 | macros/latex/contrib/l3kernel/l3news10.pdf
-2020/01/22 | 144780 | macros/latex/contrib/l3kernel/l3news03.pdf
-2020/01/22 | 1413 | language/japanese/zxjatype/README.md
-2020/01/22 | 14139 | macros/latex/contrib/l3kernel/l3news12.tex
-2020/01/22 | 14120 | macros/latex/contrib/parskip/parskip.dtx
-2020/01/22 | 140796 | macros/latex/contrib/l3kernel/l3news06.pdf
-2020/01/22 | 140776 | macros/latex/contrib/l3kernel/l3news02.pdf
-2020/01/22 | 1392 | systems/texlive/tlnet/archive/latino-sine-flexione.r53485.tar.xz
-2020/01/22 | 1368 | macros/latex/contrib/dashundergaps/changes.txt
-2020/01/22 | 132279 | macros/latex/contrib/l3kernel/l3tl.dtx
-2020/01/22 | 12979 | macros/latex/contrib/l3kernel/l3fp-traps.dtx
-2020/01/22 | 127036 | macros/latex/contrib/l3kernel/l3basics.dtx
-2020/01/22 | 126798 | macros/latex/contrib/l3kernel/l3file.dtx
-2020/01/22 | 1264 | macros/generic/expkv/README.md
-2020/01/22 | 12628 | macros/latex/contrib/caption/totalcount.dtx
-2020/01/22 | 118 | macros/latex/contrib/dashundergaps/dashundergaps-doc.tex
-2020/01/22 | 118976 | macros/latex/contrib/l3kernel/l3news07.pdf
-2020/01/22 | 11884 | macros/latex/contrib/l3kernel/l3styleguide.tex
-2020/01/22 | 11826 | macros/latex/contrib/l3kernel/l3fparray.dtx
-2020/01/22 | 11801297 | install/macros/latex/contrib/l3kernel.tds.zip
-2020/01/22 | 115778 | macros/latex/contrib/caption/bicaption.pdf
-2020/01/22 | 113527 | macros/latex/contrib/l3kernel/l3news01.pdf
-2020/01/22 | 112 | macros/latex/contrib/parskip/parskip.tex
-2020/01/22 | 112 | macros/latex/contrib/caption/SUMMARY
-2020/01/22 | 112873 | macros/latex/contrib/l3kernel/l3names.dtx
-2020/01/22 | 111 | macros/latex/contrib/widows-and-orphans/widows-and-orphans-code.tex
-2020/01/22 | 1110469 | systems/win32/miktex/tm/packages/clara.tar.lzma
-2020/01/22 | 1098 | macros/latex/contrib/widows-and-orphans/README.md
-2020/01/22 | 109736 | macros/latex/contrib/l3kernel/l3str-convert.dtx
-2020/01/22 | 1091 | language/japanese/zxjatype/LICENSE
-2020/01/22 | 1088903 | macros/latex/contrib/dashundergaps.zip
-2020/01/22 | 108823 | macros/latex/contrib/l3kernel/l3token.dtx
-2020/01/22 | 107 | macros/latex/contrib/dashundergaps/dashundergaps-code.tex
-2020/01/22 | 107379 | macros/latex/contrib/l3kernel/l3news09.tex
-2020/01/22 | 107119 | macros/latex/contrib/l3kernel/l3news04.pdf
-2020/01/22 | 106742 | macros/latex/contrib/l3kernel/l3expan.dtx
-2020/01/22 | 10595 | support/pdfbook2/pdfbook2
-2020/01/22 | 105629 | macros/latex/contrib/l3kernel/l3fp-parse.dtx
-2020/01/22 | 105092 | macros/latex/contrib/l3kernel/l3news05.pdf
-2020/01/22 | 1048 | systems/texlive/tlnet/archive/xcite.r53486.tar.xz
-2020/01/22 | 1045974 | macros/latex/contrib/nicematrix.zip
-2020/01/22 | 101 | macros/latex/contrib/parskip/parskip-code.tex
diff --git a/fonts/nimbus15/README b/fonts/nimbus15/README
index f887297bbf..4803cede97 100644
--- a/fonts/nimbus15/README
+++ b/fonts/nimbus15/README
@@ -10,7 +10,11 @@ http://www.ctan.org/license/lppl1.3
for the details of that license.
The support files for Latin characters are quite meager compared to those in other Times text packages (no small caps, no old-style figures, no proportional figures), and it is recommended to use these fonts only as a supplement providing Greek and Cyrillic. See the documentation for examples.
-Current version 1.012 2019-10-18
+Current version 1.013 2020-01-29
+
+Changes in version 1.013
+1. Added U+0300 .. U+0303 to zco-{Regular, Oblique, Bold, BoldOblique} and zcoB-{Regular,Oblique}. Fontspec seems to require three of these to be present.
+2. Added psili accent to the same fonts, as well as U_1E9E (Capital sharp S) and U+1F48 (Omicronpsili).
Changes in version 1.012
Modified some sty files to prevent warnings due to mweights in use by another package.
diff --git a/fonts/nimbus15/afm/zco-Bold.afm b/fonts/nimbus15/afm/zco-Bold.afm
index 1969f2b0e0..07444321d7 100644
--- a/fonts/nimbus15/afm/zco-Bold.afm
+++ b/fonts/nimbus15/afm/zco-Bold.afm
@@ -1,13 +1,13 @@
StartFontMetrics 2.0
-Comment Generated by FontForge 20150526
-Comment Creation Date: Thu Jan 7 20:03:12 2016
+Comment Generated by FontForge 20190801
+Comment Creation Date: Wed Jan 29 12:52:10 2020
FontName zco-Bold
FullName zco Bold
FamilyName zco
Weight Bold
Notice (Copyright (URW)++,Copyright 2014 by (URW)++ Design & Development. Copyright 2015 by Michael Sharpe, AGPL)
ItalicAngle 0
-IsFixedPitch true
+IsFixedPitch false
UnderlinePosition -87
UnderlineThickness 77
Version 1.00
@@ -17,7 +17,7 @@ CapHeight 583
XHeight 437
Ascender 623
Descender -205
-StartCharMetrics 763
+StartCharMetrics 770
C 32 ; WX 600 ; N space ; B 0 0 0 0 ;
C 33 ; WX 600 ; N exclam ; B 220 -15 381 638 ;
C 34 ; WX 600 ; N quotedbl ; B 136 312 464 602 ;
@@ -358,6 +358,10 @@ C -1 ; WX 600 ; N ring ; B 177 486 423 727 ;
C -1 ; WX 600 ; N ogonek ; B 250 -208 463 0 ;
C -1 ; WX 600 ; N tilde ; B 115 523 485 656 ;
C -1 ; WX 600 ; N hungarumlaut ; B 125 496 475 694 ;
+C -1 ; WX 600 ; N gravecomb ; B 125 496 350 696 ;
+C -1 ; WX 600 ; N acutecomb ; B 250 496 475 696 ;
+C -1 ; WX 600 ; N uni0302 ; B 125 497 476 696 ;
+C -1 ; WX 600 ; N tildecomb ; B 115 523 485 656 ;
C -1 ; WX 600 ; N tonos ; B 204 491 393 656 ;
C -1 ; WX 600 ; N dieresistonos ; B 106 473 490 674 ;
C -1 ; WX 600 ; N Alphatonos ; B -18 0 617 583 ;
@@ -575,8 +579,11 @@ C -1 ; WX 600 ; N Wacute ; B -10 0 610 839 ;
C -1 ; WX 600 ; N wacute ; B 0 0 600 696 ;
C -1 ; WX 600 ; N Wdieresis ; B -10 0 610 798 ;
C -1 ; WX 600 ; N wdieresis ; B 0 0 600 654 ;
+C -1 ; WX 600 ; N uni1E9E ; B 8 -16 588 626 ;
C -1 ; WX 600 ; N Ygrave ; B 21 0 579 839 ;
C -1 ; WX 600 ; N ygrave ; B 21 -205 579 696 ;
+C -1 ; WX 600 ; N uni1F48 ; B -29 -14 579 598 ;
+C -1 ; WX 600 ; N uni1FBF ; B 251 350 384 598 ;
C -1 ; WX 600 ; N uni2002 ; B 0 0 0 0 ;
C -1 ; WX 600 ; N endash ; B 42 229 558 329 ;
C -1 ; WX 600 ; N emdash ; B -29 229 629 329 ;
diff --git a/fonts/nimbus15/afm/zco-BoldOblique.afm b/fonts/nimbus15/afm/zco-BoldOblique.afm
index 843acab2d8..598c9fa8b6 100644
--- a/fonts/nimbus15/afm/zco-BoldOblique.afm
+++ b/fonts/nimbus15/afm/zco-BoldOblique.afm
@@ -1,13 +1,13 @@
StartFontMetrics 2.0
-Comment Generated by FontForge 20150526
-Comment Creation Date: Thu Jan 7 20:04:13 2016
+Comment Generated by FontForge 20190801
+Comment Creation Date: Wed Jan 29 12:52:18 2020
FontName zco-BoldOblique
FullName zco Bold Oblique
FamilyName zco
Weight Bold
Notice (Copyright (URW)++,Copyright 2014 by (URW)++ Design & Development. Copyright 2015 by Michael Sharpe, AGPL)
ItalicAngle -12
-IsFixedPitch true
+IsFixedPitch false
UnderlinePosition -87
UnderlineThickness 77
Version 1.00
@@ -17,7 +17,7 @@ CapHeight 583
XHeight 437
Ascender 623
Descender -205
-StartCharMetrics 763
+StartCharMetrics 770
C 32 ; WX 600 ; N space ; B 0 0 0 0 ;
C 33 ; WX 600 ; N exclam ; B 234 -15 501 638 ;
C 34 ; WX 600 ; N quotedbl ; B 243 312 592 602 ;
@@ -358,6 +358,10 @@ C -1 ; WX 600 ; N ring ; B 303 486 554 727 ;
C -1 ; WX 600 ; N ogonek ; B 222 -208 433 0 ;
C -1 ; WX 600 ; N tilde ; B 233 523 619 656 ;
C -1 ; WX 600 ; N hungarumlaut ; B 237 496 616 694 ;
+C -1 ; WX 600 ; N gravecomb ; B 264 496 464 696 ;
+C -1 ; WX 600 ; N acutecomb ; B 362 496 616 696 ;
+C -1 ; WX 600 ; N uni0302 ; B 237 497 590 696 ;
+C -1 ; WX 600 ; N tildecomb ; B 233 523 619 656 ;
C -1 ; WX 600 ; N tonos ; B 281 491 486 650 ;
C -1 ; WX 600 ; N dieresistonos ; B 150 491 575 650 ;
C -1 ; WX 600 ; N Alphatonos ; B -54 0 584 583 ;
@@ -575,8 +579,11 @@ C -1 ; WX 600 ; N Wacute ; B 98 0 725 839 ;
C -1 ; WX 600 ; N wacute ; B 82 0 684 689 ;
C -1 ; WX 600 ; N Wdieresis ; B 98 0 725 793 ;
C -1 ; WX 600 ; N wdieresis ; B 82 0 684 654 ;
+C -1 ; WX 600 ; N uni1E9E ; B 18 -16 646 626 ;
C -1 ; WX 600 ; N Ygrave ; B 128 0 694 839 ;
C -1 ; WX 600 ; N ygrave ; B -13 -205 662 696 ;
+C -1 ; WX 600 ; N uni1F48 ; B 56 -14 660 598 ;
+C -1 ; WX 600 ; N uni1FBF ; B 336 351 492 598 ;
C -1 ; WX 600 ; N uni2002 ; B 0 0 0 0 ;
C -1 ; WX 600 ; N endash ; B 101 229 619 329 ;
C -1 ; WX 600 ; N emdash ; B 30 229 690 329 ;
diff --git a/fonts/nimbus15/afm/zco-Oblique.afm b/fonts/nimbus15/afm/zco-Oblique.afm
index 30c3b2face..759b58b867 100644
--- a/fonts/nimbus15/afm/zco-Oblique.afm
+++ b/fonts/nimbus15/afm/zco-Oblique.afm
@@ -1,13 +1,13 @@
StartFontMetrics 2.0
-Comment Generated by FontForge 20150526
-Comment Creation Date: Thu Jan 7 19:59:58 2016
+Comment Generated by FontForge 20190801
+Comment Creation Date: Wed Jan 29 12:55:01 2020
FontName zco-Oblique
FullName zco Oblique
FamilyName zco
Weight Regular
Notice (Copyright (URW)++,Copyright 2014 by (URW)++ Design & Development. Copyright 2015 by Michael Sharpe, AGPL)
ItalicAngle -12
-IsFixedPitch true
+IsFixedPitch false
UnderlinePosition -100
UnderlineThickness 50
Version 1.00
@@ -17,7 +17,7 @@ CapHeight 575
XHeight 429
Ascender 616
Descender -198
-StartCharMetrics 763
+StartCharMetrics 770
C 32 ; WX 600 ; N space ; B 0 0 0 0 ;
C 33 ; WX 600 ; N exclam ; B 234 -15 474 641 ;
C 34 ; WX 600 ; N quotedbl ; B 254 315 582 604 ;
@@ -358,6 +358,10 @@ C -1 ; WX 600 ; N ring ; B 314 468 528 673 ;
C -1 ; WX 600 ; N ogonek ; B 246 -166 452 23 ;
C -1 ; WX 600 ; N tilde ; B 246 504 590 617 ;
C -1 ; WX 600 ; N hungarumlaut ; B 252 478 588 645 ;
+C -1 ; WX 600 ; N gravecomb ; B 274 478 441 651 ;
+C -1 ; WX 600 ; N acutecomb ; B 376 478 588 651 ;
+C -1 ; WX 600 ; N uni0302 ; B 252 478 566 654 ;
+C -1 ; WX 600 ; N tildecomb ; B 246 504 590 617 ;
C -1 ; WX 600 ; N tonos ; B 288 479 500 651 ;
C -1 ; WX 600 ; N dieresistonos ; B 180 479 542 651 ;
C -1 ; WX 600 ; N Alphatonos ; B -18 0 581 575 ;
@@ -575,8 +579,11 @@ C -1 ; WX 600 ; N Wacute ; B 109 0 707 804 ;
C -1 ; WX 600 ; N wacute ; B 102 0 667 654 ;
C -1 ; WX 600 ; N Wdieresis ; B 109 0 708 774 ;
C -1 ; WX 600 ; N wdieresis ; B 102 0 667 623 ;
+C -1 ; WX 600 ; N uni1E9E ; B 20 -16 623 616 ;
C -1 ; WX 600 ; N Ygrave ; B 142 0 677 804 ;
C -1 ; WX 600 ; N ygrave ; B 10 -198 646 651 ;
+C -1 ; WX 600 ; N uni1F48 ; B 64 -16 664 589 ;
+C -1 ; WX 600 ; N uni1FBF ; B 325 342 462 589 ;
C -1 ; WX 600 ; N uni2002 ; B 0 0 0 0 ;
C -1 ; WX 600 ; N endash ; B 120 249 600 314 ;
C -1 ; WX 600 ; N emdash ; B 48 249 670 314 ;
diff --git a/fonts/nimbus15/afm/zco-Regular.afm b/fonts/nimbus15/afm/zco-Regular.afm
index 81c18521d3..c141cc188c 100644
--- a/fonts/nimbus15/afm/zco-Regular.afm
+++ b/fonts/nimbus15/afm/zco-Regular.afm
@@ -1,6 +1,6 @@
StartFontMetrics 2.0
-Comment Generated by FontForge 20150526
-Comment Creation Date: Thu Jan 7 20:02:12 2016
+Comment Generated by FontForge 20190801
+Comment Creation Date: Wed Jan 29 12:52:50 2020
FontName zco-Regular
FullName zco Regular
FamilyName zco
@@ -17,7 +17,7 @@ CapHeight 575
XHeight 429
Ascender 616
Descender -198
-StartCharMetrics 763
+StartCharMetrics 770
C 32 ; WX 600 ; N space ; B 0 0 0 0 ;
C 33 ; WX 600 ; N exclam ; B 228 -15 372 641 ;
C 34 ; WX 600 ; N quotedbl ; B 146 315 454 604 ;
@@ -82,33 +82,33 @@ C 92 ; WX 600 ; N backslash ; B 102 -92 498 680 ;
C 93 ; WX 600 ; N bracketright ; B 144 -136 332 616 ;
C 94 ; WX 600 ; N asciicircum ; B 102 342 498 633 ;
C 95 ; WX 600 ; N underscore ; B -24 -137 624 -63 ;
-C 96 ; WX 600 ; N grave ; B 144 478 332 651 ;
-C 97 ; WX 600 ; N a ; B 60 -16 552 443 ;
-C 98 ; WX 600 ; N b ; B 10 -16 552 616 ;
-C 99 ; WX 600 ; N c ; B 72 -16 546 443 ;
-C 100 ; WX 600 ; N d ; B 52 -16 594 616 ;
-C 101 ; WX 600 ; N e ; B 52 -16 532 443 ;
-C 102 ; WX 600 ; N f ; B 94 0 552 616 ;
-C 103 ; WX 600 ; N g ; B 52 -199 574 443 ;
-C 104 ; WX 600 ; N h ; B 32 0 562 616 ;
+C 96 ; WX 600 ; N grave ; B 206 478 394 651 ;
+C 97 ; WX 600 ; N a ; B 54 -16 546 443 ;
+C 98 ; WX 600 ; N b ; B 29 -16 571 616 ;
+C 99 ; WX 600 ; N c ; B 63 -16 537 443 ;
+C 100 ; WX 600 ; N d ; B 29 -16 571 616 ;
+C 101 ; WX 600 ; N e ; B 60 -16 540 443 ;
+C 102 ; WX 600 ; N f ; B 71 0 529 616 ;
+C 103 ; WX 600 ; N g ; B 39 -199 561 443 ;
+C 104 ; WX 600 ; N h ; B 35 0 565 616 ;
C 105 ; WX 600 ; N i ; B 80 0 520 636 ;
-C 106 ; WX 600 ; N j ; B 136 -199 471 636 ;
-C 107 ; WX 600 ; N k ; B 52 0 553 616 ;
+C 106 ; WX 600 ; N j ; B 133 -199 468 636 ;
+C 107 ; WX 600 ; N k ; B 50 0 551 616 ;
C 108 ; WX 600 ; N l ; B 80 0 520 616 ;
C 109 ; WX 600 ; N m ; B 0 0 604 443 ;
-C 110 ; WX 600 ; N n ; B 42 0 552 443 ;
+C 110 ; WX 600 ; N n ; B 45 0 555 443 ;
C 111 ; WX 600 ; N o ; B 60 -16 540 443 ;
-C 112 ; WX 600 ; N p ; B 10 -198 552 443 ;
-C 113 ; WX 600 ; N q ; B 52 -198 594 443 ;
-C 114 ; WX 600 ; N r ; B 72 0 552 439 ;
+C 112 ; WX 600 ; N p ; B 29 -198 571 443 ;
+C 113 ; WX 600 ; N q ; B 29 -198 571 443 ;
+C 114 ; WX 600 ; N r ; B 60 0 540 439 ;
C 115 ; WX 600 ; N s ; B 92 -16 508 443 ;
-C 116 ; WX 600 ; N t ; B 32 -16 510 578 ;
-C 117 ; WX 600 ; N u ; B 32 -16 552 429 ;
+C 116 ; WX 600 ; N t ; B 61 -16 539 578 ;
+C 117 ; WX 600 ; N u ; B 40 -16 560 429 ;
C 118 ; WX 600 ; N v ; B 18 0 581 429 ;
C 119 ; WX 600 ; N w ; B 18 0 581 429 ;
-C 120 ; WX 600 ; N x ; B 40 0 562 429 ;
+C 120 ; WX 600 ; N x ; B 39 0 561 429 ;
C 121 ; WX 600 ; N y ; B 40 -198 561 429 ;
-C 122 ; WX 600 ; N z ; B 104 0 501 429 ;
+C 122 ; WX 600 ; N z ; B 102 0 499 429 ;
C 123 ; WX 600 ; N braceleft ; B 186 -136 414 616 ;
C 124 ; WX 600 ; N bar ; B 268 -136 332 616 ;
C 125 ; WX 600 ; N braceright ; B 186 -136 414 616 ;
@@ -358,6 +358,10 @@ C -1 ; WX 600 ; N ring ; B 196 467 404 673 ;
C -1 ; WX 600 ; N ogonek ; B 268 -167 448 12 ;
C -1 ; WX 600 ; N tilde ; B 134 504 466 616 ;
C -1 ; WX 600 ; N hungarumlaut ; B 144 478 456 645 ;
+C -1 ; WX 600 ; N gravecomb ; B 206 478 394 651 ;
+C -1 ; WX 600 ; N acutecomb ; B 268 478 456 651 ;
+C -1 ; WX 600 ; N uni0302 ; B 144 478 456 654 ;
+C -1 ; WX 600 ; N tildecomb ; B 134 504 466 616 ;
C -1 ; WX 600 ; N tonos ; B 206 479 394 651 ;
C -1 ; WX 600 ; N dieresistonos ; B 120 479 480 651 ;
C -1 ; WX 600 ; N Alphatonos ; B 24 0 625 575 ;
@@ -575,8 +579,11 @@ C -1 ; WX 600 ; N Wacute ; B 8 0 591 804 ;
C -1 ; WX 600 ; N wacute ; B 18 0 581 654 ;
C -1 ; WX 600 ; N Wdieresis ; B 8 0 591 773 ;
C -1 ; WX 600 ; N wdieresis ; B 18 0 581 623 ;
+C -1 ; WX 600 ; N uni1E9E ; B 14 -16 588 616 ;
C -1 ; WX 600 ; N Ygrave ; B 40 0 560 804 ;
C -1 ; WX 600 ; N ygrave ; B 40 -198 561 651 ;
+C -1 ; WX 600 ; N uni1F48 ; B -19 -16 595 589 ;
+C -1 ; WX 600 ; N uni1FBF ; B 251 341 364 589 ;
C -1 ; WX 600 ; N uni2002 ; B 0 0 0 0 ;
C -1 ; WX 600 ; N endash ; B 60 249 540 314 ;
C -1 ; WX 600 ; N emdash ; B -10 249 610 314 ;
diff --git a/fonts/nimbus15/afm/zcoN-Oblique.afm b/fonts/nimbus15/afm/zcoN-Oblique.afm
index 107d0caa3f..9a37b596b6 100644
--- a/fonts/nimbus15/afm/zcoN-Oblique.afm
+++ b/fonts/nimbus15/afm/zcoN-Oblique.afm
@@ -1,6 +1,6 @@
StartFontMetrics 2.0
-Comment Generated by FontForge 20150526
-Comment Creation Date: Fri Jan 8 12:44:39 2016
+Comment Generated by FontForge 20190801
+Comment Creation Date: Wed Jan 29 13:38:51 2020
FontName zcoN-Oblique
FullName zco Narrow Oblique
FamilyName zcoN
@@ -17,7 +17,7 @@ CapHeight 575
XHeight 429
Ascender 616
Descender -198
-StartCharMetrics 763
+StartCharMetrics 770
C 32 ; WX 500 ; N space ; B 0 0 0 0 ;
C 33 ; WX 500 ; N exclam ; B 186 -15 425 641 ;
C 34 ; WX 500 ; N quotedbl ; B 213 314 516 604 ;
@@ -358,6 +358,10 @@ C -1 ; WX 500 ; N ring ; B 272 466 470 673 ;
C -1 ; WX 500 ; N ogonek ; B 147 -168 333 12 ;
C -1 ; WX 500 ; N tilde ; B 198 503 540 616 ;
C -1 ; WX 500 ; N hungarumlaut ; B 227 477 511 645 ;
+C -1 ; WX 500 ; N gravecomb ; B 284 477 453 651 ;
+C -1 ; WX 500 ; N acutecomb ; B 270 487 473 667 ;
+C -1 ; WX 500 ; N uni0302 ; B 202 477 518 654 ;
+C -1 ; WX 500 ; N tildecomb ; B 198 503 540 616 ;
C -1 ; WX 500 ; N tonos ; B 265 478 475 651 ;
C -1 ; WX 500 ; N dieresistonos ; B 193 478 532 651 ;
C -1 ; WX 500 ; N Alphatonos ; B 6 0 507 575 ;
@@ -575,8 +579,11 @@ C -1 ; WX 500 ; N Wacute ; B 78 0 610 808 ;
C -1 ; WX 500 ; N wacute ; B 85 0 585 660 ;
C -1 ; WX 500 ; N Wdieresis ; B 78 0 610 773 ;
C -1 ; WX 500 ; N wdieresis ; B 85 0 585 623 ;
+C -1 ; WX 500 ; N uni1E9E ; B -3 -16 566 616 ;
C -1 ; WX 500 ; N Ygrave ; B 98 0 611 804 ;
C -1 ; WX 500 ; N ygrave ; B -6 -199 584 651 ;
+C -1 ; WX 500 ; N uni1F48 ; B 69 -16 552 589 ;
+C -1 ; WX 500 ; N uni1FBF ; B 289 342 427 589 ;
C -1 ; WX 500 ; N uni2002 ; B 0 0 0 0 ;
C -1 ; WX 500 ; N endash ; B 108 248 511 313 ;
C -1 ; WX 500 ; N emdash ; B 50 248 569 313 ;
diff --git a/fonts/nimbus15/afm/zcoN-Regular.afm b/fonts/nimbus15/afm/zcoN-Regular.afm
index a0dc826280..73c7b8aedd 100644
--- a/fonts/nimbus15/afm/zcoN-Regular.afm
+++ b/fonts/nimbus15/afm/zcoN-Regular.afm
@@ -1,6 +1,6 @@
StartFontMetrics 2.0
-Comment Generated by FontForge 20150526
-Comment Creation Date: Thu Jan 7 20:13:29 2016
+Comment Generated by FontForge 20190801
+Comment Creation Date: Wed Jan 29 13:39:04 2020
FontName zcoN-Regular
FullName zco Narrow Regular
FamilyName zcoN
@@ -17,7 +17,7 @@ CapHeight 575
XHeight 429
Ascender 616
Descender -198
-StartCharMetrics 763
+StartCharMetrics 770
C 32 ; WX 500 ; N space ; B 0 0 0 0 ;
C 33 ; WX 500 ; N exclam ; B 178 -15 322 641 ;
C 34 ; WX 500 ; N quotedbl ; B 112 314 388 604 ;
@@ -358,6 +358,10 @@ C -1 ; WX 500 ; N ring ; B 154 466 346 673 ;
C -1 ; WX 500 ; N ogonek ; B 170 -168 330 12 ;
C -1 ; WX 500 ; N tilde ; B 85 503 415 616 ;
C -1 ; WX 500 ; N hungarumlaut ; B 120 477 380 645 ;
+C -1 ; WX 500 ; N gravecomb ; B 156 478 344 651 ;
+C -1 ; WX 500 ; N acutecomb ; B 218 478 406 651 ;
+C -1 ; WX 500 ; N uni0302 ; B 94 478 406 654 ;
+C -1 ; WX 500 ; N tildecomb ; B 85 503 415 616 ;
C -1 ; WX 500 ; N tonos ; B 157 478 343 651 ;
C -1 ; WX 500 ; N dieresistonos ; B 83 478 417 651 ;
C -1 ; WX 500 ; N Alphatonos ; B -10 0 499 575 ;
@@ -575,8 +579,11 @@ C -1 ; WX 500 ; N Wacute ; B 10 0 492 808 ;
C -1 ; WX 500 ; N wacute ; B 2 0 498 660 ;
C -1 ; WX 500 ; N Wdieresis ; B 10 0 492 773 ;
C -1 ; WX 500 ; N wdieresis ; B 2 0 498 623 ;
+C -1 ; WX 500 ; N uni1E9E ; B -9 -16 491 616 ;
C -1 ; WX 500 ; N Ygrave ; B 6 0 494 804 ;
C -1 ; WX 500 ; N ygrave ; B 1 -199 499 651 ;
+C -1 ; WX 500 ; N uni1F48 ; B -14 -16 480 589 ;
+C -1 ; WX 500 ; N uni1FBF ; B 216 341 329 589 ;
C -1 ; WX 500 ; N uni2002 ; B 0 0 0 0 ;
C -1 ; WX 500 ; N endash ; B 50 248 450 313 ;
C -1 ; WX 500 ; N emdash ; B -8 248 508 313 ;
diff --git a/fonts/nimbus15/opentype/zco-Bold.otf b/fonts/nimbus15/opentype/zco-Bold.otf
index f868eeeac0..8f68e35ce2 100644
--- a/fonts/nimbus15/opentype/zco-Bold.otf
+++ b/fonts/nimbus15/opentype/zco-Bold.otf
Binary files differ
diff --git a/fonts/nimbus15/opentype/zco-BoldOblique.otf b/fonts/nimbus15/opentype/zco-BoldOblique.otf
index 046ca65945..c3816f00fd 100644
--- a/fonts/nimbus15/opentype/zco-BoldOblique.otf
+++ b/fonts/nimbus15/opentype/zco-BoldOblique.otf
Binary files differ
diff --git a/fonts/nimbus15/opentype/zco-Oblique.otf b/fonts/nimbus15/opentype/zco-Oblique.otf
index 87c26706b9..5631e56c84 100644
--- a/fonts/nimbus15/opentype/zco-Oblique.otf
+++ b/fonts/nimbus15/opentype/zco-Oblique.otf
Binary files differ
diff --git a/fonts/nimbus15/opentype/zco-Regular.otf b/fonts/nimbus15/opentype/zco-Regular.otf
index 21f68bd9ba..6700fd1167 100644
--- a/fonts/nimbus15/opentype/zco-Regular.otf
+++ b/fonts/nimbus15/opentype/zco-Regular.otf
Binary files differ
diff --git a/fonts/nimbus15/opentype/zcoN-Oblique.otf b/fonts/nimbus15/opentype/zcoN-Oblique.otf
index 540f5bcddd..f2a7925bd2 100644
--- a/fonts/nimbus15/opentype/zcoN-Oblique.otf
+++ b/fonts/nimbus15/opentype/zcoN-Oblique.otf
Binary files differ
diff --git a/fonts/nimbus15/opentype/zcoN-Regular.otf b/fonts/nimbus15/opentype/zcoN-Regular.otf
index 5e48c29688..3c4ebda555 100644
--- a/fonts/nimbus15/opentype/zcoN-Regular.otf
+++ b/fonts/nimbus15/opentype/zcoN-Regular.otf
Binary files differ
diff --git a/fonts/nimbus15/type1/zco-Bold.pfb b/fonts/nimbus15/type1/zco-Bold.pfb
index 20830b4a70..6defefbfc4 100644
--- a/fonts/nimbus15/type1/zco-Bold.pfb
+++ b/fonts/nimbus15/type1/zco-Bold.pfb
Binary files differ
diff --git a/fonts/nimbus15/type1/zco-BoldOblique.pfb b/fonts/nimbus15/type1/zco-BoldOblique.pfb
index c02a95d67f..46b2e94b60 100644
--- a/fonts/nimbus15/type1/zco-BoldOblique.pfb
+++ b/fonts/nimbus15/type1/zco-BoldOblique.pfb
Binary files differ
diff --git a/fonts/nimbus15/type1/zco-Oblique.pfb b/fonts/nimbus15/type1/zco-Oblique.pfb
index c31b725b9f..c18a83777b 100644
--- a/fonts/nimbus15/type1/zco-Oblique.pfb
+++ b/fonts/nimbus15/type1/zco-Oblique.pfb
Binary files differ
diff --git a/fonts/nimbus15/type1/zco-Regular.pfb b/fonts/nimbus15/type1/zco-Regular.pfb
index 1a2150dba8..f2855037b7 100644
--- a/fonts/nimbus15/type1/zco-Regular.pfb
+++ b/fonts/nimbus15/type1/zco-Regular.pfb
Binary files differ
diff --git a/fonts/nimbus15/type1/zcoN-Oblique.pfb b/fonts/nimbus15/type1/zcoN-Oblique.pfb
index 622de4d3d6..b45ec6ec56 100644
--- a/fonts/nimbus15/type1/zcoN-Oblique.pfb
+++ b/fonts/nimbus15/type1/zcoN-Oblique.pfb
Binary files differ
diff --git a/fonts/nimbus15/type1/zcoN-Regular.pfb b/fonts/nimbus15/type1/zcoN-Regular.pfb
index c932b6e33d..0a31242101 100644
--- a/fonts/nimbus15/type1/zcoN-Regular.pfb
+++ b/fonts/nimbus15/type1/zcoN-Regular.pfb
Binary files differ
diff --git a/fonts/utilities/fontools/README b/fonts/utilities/fontools/README
index 4ceee70eff..50e0114ac2 100644
--- a/fonts/utilities/fontools/README
+++ b/fonts/utilities/fontools/README
@@ -78,6 +78,6 @@ See the GNU General Public License for more details.
LICENSE & COPYRIGHT
===================
-This software is copyright (C) 2005-2019 Marc Penninga.
+This software is copyright (C) 2005-2020 Marc Penninga.
It is released under the terms of the GNU General Public Licence;
see the file GPLv2.txt for the license conditions.
diff --git a/fonts/utilities/fontools/bin/afm2afm b/fonts/utilities/fontools/bin/afm2afm
index 65d03e3ef3..90b5c0bd4f 100755
--- a/fonts/utilities/fontools/bin/afm2afm
+++ b/fonts/utilities/fontools/bin/afm2afm
@@ -4,7 +4,7 @@
----------------------------------------------------------------------------
- Copyright (C) 2005-2019 Marc Penninga.
+ Copyright (C) 2005-2020 Marc Penninga.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -37,7 +37,7 @@ use File::Basename;
use Getopt::Long;
use Pod::Usage;
-my $VERSION = "20191126";
+my $VERSION = "20200129";
parse_commandline();
@@ -398,7 +398,7 @@ Marc Penninga <marcpenninga@gmail.com>
=head1 COPYRIGHT
-Copyright (C) 2005-2019 Marc Penninga.
+Copyright (C) 2005-2020 Marc Penninga.
=head1 LICENSE
@@ -421,7 +421,7 @@ See the GNU General Public License for more details.
=head1 VERSION
-This document describes B<afm2afm> version 20191126.
+This document describes B<afm2afm> version 20200129.
=head1 RECENT CHANGES
diff --git a/fonts/utilities/fontools/bin/autoinst b/fonts/utilities/fontools/bin/autoinst
index 038769de76..7ca9cad378 100755
--- a/fonts/utilities/fontools/bin/autoinst
+++ b/fonts/utilities/fontools/bin/autoinst
@@ -4,7 +4,7 @@
----------------------------------------------------------------------------
- Copyright (C) 2005-2019 Marc Penninga.
+ Copyright (C) 2005-2020 Marc Penninga.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -40,7 +40,7 @@ use Getopt::Long ();
use Pod::Usage ();
use POSIX ();
-my $VERSION = '20191126';
+my $VERSION = '20200129';
my ($d, $m, $y) = (localtime time)[3 .. 5];
my $TODAY = sprintf "%04d/%02d/%02d", $y + 1900, $m + 1, $d;
@@ -89,7 +89,7 @@ for my $full (keys %ABBREV) {
- width: uc, ec, c, sc, m, sx, x, ex, ux
These codes are not always a perfect match with the weights and widths
- present in a font family; some families (especially sanserif ones)
+ present in a font family; some families (especially many sans serif ones)
contain more or different weights and widths, and the naming of those
weights and widths isn't always consistent between font families.
To handle this situation, we use a two-tiered approach:
@@ -199,15 +199,6 @@ my @WIDTHS = grep { $_ ne 'regular' } map { @{$_} } values %NFSS_WIDTH;
The NFSS_SHAPE table maps various shape names to NFSS codes.
- Note that this table works the other way around compared to
- the two previous tables; it directly maps shape names to NFSS codes.
- The reason the other tables are a bit contorted is that there,
- we might have multiple weighs or widths mapping to the same code,
- and we need a way to prioritise some weights/widths over others.
-
- For shapes, that's not the case; font families don't have both Slanted
- and Oblique shapes, since these are different names for the same thing.
-
Like in the other NFSS_* tables, entries may be added to teach autoinst
about new shapes.
@@ -219,8 +210,6 @@ my @NFSS_SHAPE = (
roman => 'n',
upright => 'n',
italic => 'it',
- cursive => 'it',
- kursiv => 'it',
inclined => 'sl',
oblique => 'sl',
slanted => 'sl',
@@ -304,7 +293,7 @@ my %SHAPE = (
=begin Comment
- The next table is used to generate extra ssub rules in the .fd files
+ The SSUB_SHAPE table is used to generate extra ssub rules in .fd files
to map missing Slanted shapes to Italic and vice versa.
=end Comment
@@ -463,15 +452,18 @@ my %STYLE_DEFAULTS = (
sub main {
+ print "autoinst, version $VERSION\n";
+
ARGV::parse_options();
my @fonts = map { Fontinfo::parse_fontinfo($_) } @ARGV;
+ $ARGV{logfile} ||= sprintf "%s.log", lc $fonts[0]->{family};
create_logfile(@fonts);
Fontinfo::assert_unique(@fonts);
# We can only handle the '-inferiors=auto' option now,
- # since this requires knowing which inferior figures this font supports;
+ # since we need to know which inferior figures this font supports;
# so we have to do the font info parsing first.
if ($ARGV{inferiors} eq 'auto') {
Fontinfo::handle_auto_inferiors(@fonts);
@@ -517,6 +509,7 @@ sub main {
}
close $ARGV{logfile};
+ print "\n";
return;
}
@@ -751,6 +744,7 @@ sub create_logfile {
}
open my $LOG, '>>', $ARGV{logfile}
or die "$0: cannot create $ARGV{logfile}: $!";
+ $ARGV{logfile} = $LOG;
print {$LOG} <<"END_ARGUMENTS";
@@ -787,44 +781,21 @@ I'm using the following options:
fractions: @{[ $ARGV{fractions} ? 'yes' : 'no' ]}
ligatures: @{[ $ARGV{ligatures} ? 'yes' : 'no' ]}
- dry run/real: @{[ $ARGV{dryrun} ? 'dry run' : 'real' ]}
auto/manual: @{[ $ARGV{manual} ? 'manual' : 'auto' ]}
target: $ARGV{target}
- extra: @{[ $ARGV{extra} || '<empty>' ]}
+ extra: $ARGV{extra}
figurekern: @{[ $ARGV{figurekern} ? 'keep' : 'remove' ]}
mergewidths: @{[ $ARGV{mergewidths} ? 'yes' : 'no' ]}
mergeweights: @{[ $ARGV{mergeweights} ? 'yes' : 'no' ]}
mergeshapes: @{[ $ARGV{mergeshapes} ? 'yes' : 'no' ]}
- nfssweight: @{[ join q{, }, @{$ARGV{nfssweight}} or '-' ]}
- nfsswidth: @{[ join q{, }, @{$ARGV{nfsswidth}} or '-' ]}
+ nfssweight: @{[ join q{, }, @{$ARGV{nfssweight}} ]}
+ nfsswidth: @{[ join q{, }, @{$ARGV{nfsswidth}} ]}
-END_ARGUMENTS
+ @{[ $ARGV{dryrun} ? 'DRY RUN' : '' ]}
- my %fontfamilies = map { ( $_->{family} => 1 ) } @fonts;
- my @fontfamilies = keys %fontfamilies;
- if (scalar @fontfamilies > 1) {
- warn <<"END_WARNING_MULTIPLE_FAMILIES";
-[WARNING] Your fonts seem to belong to multiple families:
-
- @{[ join( "\n" . q{ } x 12, sort @fontfamilies ) ]}
-
- "autoinst" performs best when installing one family at a time.
- If you think your fonts should all be in the same family,
- you might have found a bug in autoinst's font info parsing.
-
- Please see the log file $ARGV{logfile} for details on how
- the fonts' families, weights, widths and shapes were parsed.
-END_WARNING_MULTIPLE_FAMILIES
-
- # increase verbosity if necessary, to log all relevant info
- if ($ARGV{verbose} < 1) {
- $ARGV{verbose} = 1;
- }
- }
-
- $ARGV{logfile} = $LOG;
+END_ARGUMENTS
return if $ARGV{verbose} < 1;
@@ -836,10 +807,11 @@ END_WARNING_MULTIPLE_FAMILIES
$font->{filename}
Name: $font->{name}
Family: $font->{family}
+ Subfamily: $font->{subfamily}
Weight: $font->{weight} ($font->{weight_class})
Width: $font->{width} ($font->{width_class})
Shape: $font->{shape} @{[ $font->{is_smallcaps}
- ? '(smallcaps)' : '' ]}
+ ? 'smallcaps' : '' ]}
Size: $font->{minsize}-$font->{maxsize}
Features: @{[ join ', ', sort keys %{$font->{feature}} ]}
END_PARSE_FONT
@@ -905,6 +877,7 @@ END_FONTINFO
}
return if $ARGV{verbose} < 2;
+ print {$LOG} "\n\n";
print {$LOG} join "\n\n", @cmds;
print {$LOG} "\n";
}
@@ -981,7 +954,7 @@ sub make_cmdline {
return join ' ', 'otftotfm',
($ARGV{manual} ? '--pl' : '--automatic'),
"--encoding=$item->{encoding}[0]",
- set_targetdirs($item->{font}{family}),
+ set_targetdirs($item->{font}),
'--no-updmap',
($item->{font}{filename} =~ m/[.]ttf\z/xmsi
? '--no-type1'
@@ -1008,23 +981,34 @@ sub make_cmdline {
#-----------------------------------------------------------------------
# Return a string with all "directory" options for otftotfm set
#-----------------------------------------------------------------------
-my @FILETYPES = qw(tfm vf type1 truetype);
-
sub set_targetdirs {
- my $family = shift;
-
- my %dir = map { ($_ => File::Spec->catdir(
- $ARGV{target},
- 'fonts',
- $_,
- $ARGV{vendor},
- $ARGV{typeface} || $family))
+ my $font = shift;
+
+ my $family = $font->{family};
+ my ($fonttype) = map { lc $_ } $font->{filename} =~ m/[.]([ot]tf)\z/xmsi;
+
+ my @FILETYPES = qw(tfm vf);
+ push @FILETYPES, $fonttype eq 'otf' ? qw(type1)
+ : $fonttype eq 'ttf' ? qw(truetype)
+ : qw(type1 truetype)
+ ;
+
+ my %dir = map { (
+ $_ => File::Spec->catdir(
+ $ARGV{target},
+ 'fonts',
+ $_,
+ $ARGV{vendor},
+ $ARGV{typeface} || $family
+ )
+ )
}
@FILETYPES;
- $dir{$_} = File::Spec->catdir(
- $ARGV{target}, 'fonts', $_, 'dvips', $ARGV{typeface} || $family)
- for qw(enc map);
+ $dir{$_}
+ = File::Spec->catdir(
+ $ARGV{target}, 'fonts', $_, 'dvips', $ARGV{typeface} || $family
+ ) for qw(enc map);
File::Path::make_path(values %dir) unless $ARGV{dryrun};
@@ -1085,7 +1069,7 @@ Possible options:
-manual Manual mode (see documentation)
-(no)figurekern Keep or remove kerns between tabular figures
- -(no)mergewidths Merge Condended/Extended subfamilies with main
+ -(no)mergewidths Merge condended/extended subfamilies with main
-(no)mergeweights Merge separate weights with main family
-(no)mergeshapes Merge separate shapes with main family
@@ -1461,7 +1445,6 @@ sub parse_basicinfo {
# In many font families, each font is in a subfamily of its own;
# so we remove width, weight and shape from the 'subfamily' value.
- my $subst;
$data{subfamily} =~ s/$info->{width}//xmsi;
$data{subfamily} =~ s/$info->{weight}//xmsi;
$data{subfamily} =~ s/$info->{shape}//xmsi;
@@ -1520,8 +1503,13 @@ sub parse_basicinfo {
# Some font families put extreme weights into separate families;
# we provide an option to merge these with the 'main' font family.
+ # Note that if the font's family name includes the word "Text"
+ # (as in Libre Caslon Text) this should not be mistaken for a weight.
if ($ARGV{mergeweights}) {
my $weights = join '|', mqrs(@WEIGHTS), qw(medium regular);
+ if ( $info->{family} =~ m/text \z/xmsi ) {
+ $weights =~ s/text[|]?//xms;
+ }
if ( $info->{family} =~ m/(.+?) (${weights}) \z/xmsi
and ( $info->{weight} eq 'regular'
or $info->{weight} eq ( $UNABBREVIATE{ lc($2) } // lc($2) )
@@ -1532,14 +1520,11 @@ sub parse_basicinfo {
}
}
- # Fix confusion about "Text": weight vs part of familyname.
- # In the latter case, we strip it off anyway.
+ # Strip off the "Text" from family names that contain this string.
+ # This was a crude way to fix a bug in the previous paragraph;
+ # it's unnecessary now, but we don't want to break the old behaviour.
$info->{family} =~ s/text \z//xmsi;
- if ( !$ARGV{logfile} ) {
- $ARGV{logfile} = sprintf "%s.log", lc $info->{family}
- }
-
$info->{basicshape} = $NFSS_SHAPE{$info->{shape}};
# We define 'series' as 'weight + width'. This matches NFSS,
@@ -1708,6 +1693,28 @@ sub assert_unique {
die $err_details, $ERR_PARSE;
}
+ my %fontfamilies = map { ( $_->{family} => 1 ) } @fonts;
+ my @fontfamilies = keys %fontfamilies;
+ if (scalar @fontfamilies > 1) {
+ warn <<"END_WARNING_MULTIPLE_FAMILIES";
+[WARNING] Your fonts seem to belong to multiple families:
+
+ @{[ join( "\n" . q{ } x 16, sort @fontfamilies ) ]}
+
+ "autoinst" performs best when installing one family at a time.
+ If you think your fonts should all be in the same family,
+ you may have found a bug in autoinst's font info parsing.
+
+ Please see the log file for details on how the fonts' families,
+ weights, widths and shapes were parsed.
+END_WARNING_MULTIPLE_FAMILIES
+
+ # increase verbosity if necessary, to log all relevant info
+ if ($ARGV{verbose} < 1) {
+ $ARGV{verbose} = 1;
+ }
+ }
+
return 1;
}
@@ -2461,7 +2468,7 @@ The mapping of shapes to NFSS codes is done using the following table:
SHAPE CODE
-------------------------------- ----
Roman, Upright n
- Italic, Cursive, Kursive it
+ Italic it
Oblique, Slant(ed), Incline(d) sl
(I<Exception:> Adobe Silentium Pro contains two Roman shapes;
@@ -2810,7 +2817,7 @@ don't paraphase.
=head1 COPYRIGHT
-Copyright (C) 2005-2019 Marc Penninga.
+Copyright (C) 2005-2020 Marc Penninga.
=head1 LICENSE
@@ -2833,7 +2840,7 @@ GNU General Public License for more details.
=head1 VERSION
-This document describes B<autoinst> version 20191126.
+This document describes B<autoinst> version 20200129.
=head1 RECENT CHANGES
@@ -2842,6 +2849,10 @@ This document describes B<autoinst> version 20191126.
=over 12
+=item I<2020-01-29>
+
+Don't create empty subdirectories in the target TEXMF tree.
+
=item I<2019-11-18>
Fine-tuned calling of F<kpsewhich> on Windows (patch by Akira Kakuto).
diff --git a/fonts/utilities/fontools/bin/ot2kpx b/fonts/utilities/fontools/bin/ot2kpx
index 91e34e0fa8..2fa8d8c456 100755
--- a/fonts/utilities/fontools/bin/ot2kpx
+++ b/fonts/utilities/fontools/bin/ot2kpx
@@ -4,7 +4,7 @@
----------------------------------------------------------------------------
- Copyright (C) 2005-2019 Marc Penninga.
+ Copyright (C) 2005-2020 Marc Penninga.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -38,7 +38,7 @@ use Getopt::Long ();
use List::Util @List::Util::EXPORT_OK;
use Pod::Usage;
-my $VERSION = "20191126";
+my $VERSION = "20200129";
our ($NUM_GLYPHS, $UNITS_PER_EM, %kern);
@@ -835,7 +835,7 @@ Marc Penninga <marcpenninga@gmail.com>
=head1 COPYRIGHT
-Copyright (C) 2005-2019 Marc Penninga.
+Copyright (C) 2005-2020 Marc Penninga.
=head1 LICENSE
@@ -858,7 +858,7 @@ See the GNU General Public License for more details.
=head1 VERSION
-This document describes B<ot2kpx> version 20191126.
+This document describes B<ot2kpx> version 20200129.
=head1 RECENT CHANGES
diff --git a/fonts/utilities/fontools/bin/splitttc b/fonts/utilities/fontools/bin/splitttc
index 44da4eafff..5f609f3003 100755
--- a/fonts/utilities/fontools/bin/splitttc
+++ b/fonts/utilities/fontools/bin/splitttc
@@ -4,7 +4,7 @@
----------------------------------------------------------------------------
- Copyright (C) 2019 Marc Penninga.
+ Copyright (C) 2020 Marc Penninga.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -37,7 +37,7 @@ use File::Basename;
use Getopt::Long;
use Pod::Usage;
-my $VERSION = "20191126";
+my $VERSION = "20200129";
parse_commandline();
@@ -222,7 +222,7 @@ Marc Penninga <marcpenninga@gmail.com>
=head1 COPYRIGHT
-Copyright (C) 2019 Marc Penninga.
+Copyright (C) 2020 Marc Penninga.
=head1 LICENSE
@@ -245,7 +245,7 @@ See the GNU General Public License for more details.
=head1 VERSION
-This document describes B<splitttc> version 20191126.
+This document describes B<splitttc> version 20200129.
=head1 RECENT CHANGES
diff --git a/fonts/utilities/fontools/doc/afm2afm.pdf b/fonts/utilities/fontools/doc/afm2afm.pdf
index 436dbc988e..d3d5ffd085 100644
--- a/fonts/utilities/fontools/doc/afm2afm.pdf
+++ b/fonts/utilities/fontools/doc/afm2afm.pdf
Binary files differ
diff --git a/fonts/utilities/fontools/doc/autoinst.pdf b/fonts/utilities/fontools/doc/autoinst.pdf
index ec9d0c5124..af3b7c64b0 100644
--- a/fonts/utilities/fontools/doc/autoinst.pdf
+++ b/fonts/utilities/fontools/doc/autoinst.pdf
Binary files differ
diff --git a/fonts/utilities/fontools/doc/ot2kpx.pdf b/fonts/utilities/fontools/doc/ot2kpx.pdf
index 25e7b37726..1efb69c3ed 100644
--- a/fonts/utilities/fontools/doc/ot2kpx.pdf
+++ b/fonts/utilities/fontools/doc/ot2kpx.pdf
Binary files differ
diff --git a/fonts/utilities/fontools/doc/splitttc.pdf b/fonts/utilities/fontools/doc/splitttc.pdf
index a1549ee1f1..a8a8d9ff7a 100644
--- a/fonts/utilities/fontools/doc/splitttc.pdf
+++ b/fonts/utilities/fontools/doc/splitttc.pdf
Binary files differ
diff --git a/graphics/pstricks/contrib/pst-eucl/Changes b/graphics/pstricks/contrib/pst-eucl/Changes
index 31cbe6c090..671f670121 100644
--- a/graphics/pstricks/contrib/pst-eucl/Changes
+++ b/graphics/pstricks/contrib/pst-eucl/Changes
@@ -6,6 +6,8 @@ pst-eucl.pro --------
pst-eucl.tex --------
+1.70 2020/01/29 - add optional argument RightAngleDotDistance to controll the the dot
+ position for right angles (type german or swissromand)
1.69 2020/01/09 - add macro to get the chord with specified length, \pstCircleChordNode.
- add macro to draw the center of the triangle's escribed circle, \pstTriangleEC.
- add macro to draw the orthocenter of triangle, \pstTriangleHC.
diff --git a/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.bib b/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.bib
index 19eaf8f2ab..9fc9a97eaf 100644
--- a/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.bib
+++ b/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.bib
@@ -55,7 +55,7 @@ version = {1.42}
edition = {7},
publisher = {DANTE -- Lehmanns},
year = {2016},
- address = {Heidelberg/Hamburg}
+ address = {Heidelberg and Hamburg}
}
@Book{PSTricksE,
@@ -82,7 +82,7 @@ version = {1.42}
edition = {1},
publisher = {DANTE -- Lehmanns Media},
year = {2012},
- address = {Heidelberg/Berlin}
+ address = {Heidelberg and Berlin}
}
@@ -90,9 +90,9 @@ version = {1.42}
author = {Victor Eijkhout},
title = {\TeX\ by Topic -- {A} \TeX{}nician Reference},
edition = {1},
- publisher = {DANTE -- lehmanns media},
+ publisher = {DANTE -- Lehmanns media},
year = {2014},
- address = {Heidelberg/Berlin}
+ address = {Heidelberg and Berlin}
}
diff --git a/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.pdf b/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.pdf
index 5a40bbc7af..65737c9ba1 100644
--- a/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.pdf
+++ b/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.pdf
Binary files differ
diff --git a/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex b/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex
index f719f56f39..6100efcb86 100644
--- a/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex
+++ b/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex
@@ -370,6 +370,8 @@ to display it.
\end{pspicture}
\end{LTXexample}
+%$
+
\subsection{Triangles}
The more classical figure, it has its own macro \Lcs{pstTriangle} for a quick definition:
@@ -413,6 +415,8 @@ or angles.
\Lcs{pstTriangleASA}\OptArgs\Largr{pos}\Largb{A}\Largr{$\angle{A}$,c,$\angle{B}$}\Largb{B}\Largb{C}
\end{BDef}
+%$
+
- Macro \Lcs{pstTriangleSSS} create a triangle $ABC$ with given $A(x_1,y_1)$, and the three sides $a,b,c$,
it output $B(x_2,y_2)$ and $C(x_3,y_3)$.\\
- Macro \Lcs{pstTriangleSAS} create a triangle $ABC$ with given $A(x_1,y_1)$, the angle of $\angle{A}$, and the other two sides $b,c$,
@@ -527,12 +531,12 @@ right angle:
\begin{sloppypar}
-Valid optional arguments are \Lkeyword{RightAngleType}, \Lkeyword{RightAngleSize}, and
- \Lkeyword{RightAngleSize}
+Valid optional arguments are \Lkeyword{RightAngleType}, \Lkeyword{RightAngleSize},
+ \Lkeyword{RightAngleSize}, and \Lkeyword{RightAngleDotDistance}
\end{sloppypar}
-The symbol used is controlled by the parameter \Lkeyword{RightAngleType}
-\nxLkeyval{default}. Its possible values are :
+The symbol is controlled by the parameter \Lkeyword{RightAngleType}
+\nxLkeyval{default}. Its possible values are:
\begin{compactitem}
\item \Lkeyval{*} : standard symbol ;
@@ -540,9 +544,16 @@ The symbol used is controlled by the parameter \Lkeyword{RightAngleType}
\item \Lkeyval{suisseromand} : swiss romand symbol (given P. Schnewlin).
\end{compactitem}
-The only parameter controlling this command, excepting the ones which
+The only parameters controlling this command, excepting the ones which
controlled the line, is \Lkeyword{RightAngleSize} which defines the size
-of the symbol \DefaultVal{0.28 unit}.
+of the symbol \DefaultVal{0.28 unit} and \Lkeyword{RightAngleDotDistance}. For a
+right angle style \Lkeyval{german} or \Lkeyval{swissromand} the distance of the dot
+is preset to 0.5 (\Lkeyval{german}) or 0.45 (\Lkeyval{swissromand}), relative to the radius.
+It can be controlled by the optional argument \Lkeyword{RightAngleDotDistance} which is
+preset to 1. A greater value moves the dot away from the reference point.
+
+
+
For other angles, there is the command:
diff --git a/graphics/pstricks/contrib/pst-eucl/latex/pst-eucl.sty b/graphics/pstricks/contrib/pst-eucl/latex/pst-eucl.sty
index 3d58b855d0..0d6347c3d2 100644
--- a/graphics/pstricks/contrib/pst-eucl/latex/pst-eucl.sty
+++ b/graphics/pstricks/contrib/pst-eucl/latex/pst-eucl.sty
@@ -10,6 +10,6 @@
[\filedate\space v\fileversion\space `PST-eucl' (dr,hv)]
\IfFileExists{pst-eucl.pro}{%
\ProvidesFile{pst-eucl.pro}
- [2020/01/09 v. 1.02, PostScript prologue file (hv)]
+ [2020/01/29 v. 1.03, PostScript prologue file (hv)]
\@addtofilelist{pst-eucl.pro}}{}%
\endinput
diff --git a/graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex b/graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex
index 6cc2f9b54e..68dbf939fb 100644
--- a/graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex
+++ b/graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex
@@ -1,13 +1,13 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -*- Mode: Latex -*- %%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% pst-eucl.tex --- Generation of geometric figures in euclidean geometry
%% Copyright 2000-2013 Dominique RODRIGUEZ
-%% Copyright 2014- Dominique RODRIGUEZ, Herbert Voß
+%% Copyright 2014-... Dominique RODRIGUEZ, Herbert Voß
%%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN
%% archives in directory macros/latex/base/lppl.txt.
%%
-%% Author : Dominique RODRIGUEZ (EN) <dominique.rodriguez@waika9.com>
+%% Authors : Dominique RODRIGUEZ (EN) <dominique.rodriguez@waika9.com>
%% : hv hvoss@tug.org
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Require PSTricks and pst-node packages
@@ -20,8 +20,8 @@
\csname PSTEuclideLoaded\endcsname
\let\PSTEuclideLoaded\endinput
%
-\def\fileversion{1.69}
-\def\filedate{2020/01/09}
+\def\fileversion{1.70}
+\def\filedate{2020/01/29}
%%
\message{`PST-Euclide v\fileversion, \filedate\space (dr,hv)}%
%% prologue for postcript
@@ -73,7 +73,7 @@
\iffalse
\define@key[psset]{pst-eucl}{PosAngle}{\expandafter\psk@@Pos@Angle#1,,!}%
\def\psk@@Pos@Angle#1,#2,#3#4#5!{%
- \typeout{1: #1; 2: #2; 3: #3; 4: #4; 5: #5}%
+% \typeout{1: #1; 2: #2; 3: #3; 4: #4; 5: #5}%
\def\psk@PosAngle{#1}%
\def\@temp{#1}%
\ifx\@temp\@undef \typeout{Nichts machen}\else\typeout{Winkel setzen}%
@@ -89,6 +89,7 @@
% dimension of the right angle mark
\define@key[psset]{pst-eucl}{RightAngleSize}[4]{\def\psk@RightAngleSize{#1}}%
\define@key[psset]{pst-eucl}{RightAngleType}[default]{\def\psk@RightAngleType{#1}}%
+\define@key[psset]{pst-eucl}{RightAngleDotDistance}[1]{\def\psk@RightAngleDotDistance{#1 }}%
% radius of an angle mark
\define@key[psset]{pst-eucl}{MarkAngleRadius}[0.4]{\def\psk@MarkAngleRadius{#1}}%
\define@key[psset]{pst-eucl}{MarkAngleType}[default]{\def\psk@MarkAngleType{#1}}%
@@ -156,7 +157,8 @@
PosAngleA=undef,
PosAngleB=undef, PosAngleC=undef, Mark=undef, mark=undef,SegmentSymbol=MarkHashh,
SegmentSymbolA=MarkHashh, SegmentSymbolB=MarkHash, SegmentSymbolC=MarkHashhh,
- RightAngleSize=.4, RightAngleType=default, LabelAngleOffset=0, LabelSep=1,
+ RightAngleSize=.4, RightAngleType=default, RightAngleDotDistance=1,
+ LabelAngleOffset=0, LabelSep=1,
LabelRefPt=c, MarkAngle=undef, MarkAngleType=default, MarkAngleRadius=.4,
HomCoef=.5, RotAngle=60,
CurveType=none, TransformLabel=none, Central@Sym=false, DrawCirABC=true,
@@ -465,13 +467,13 @@
% \psline(0,0)
% }
% \fi
- \pstMarkAngle[MarkAngleRadius=\psk@RightAngleSize,LabelSep=\psk@RightAngleSize\space .5 mul]{#1}{#2}{#3}%
+ \pstMarkAngle[MarkAngleRadius=\psk@RightAngleSize,LabelSep=\psk@RightAngleSize\space .5 mul \psk@RightAngleDotDistance mul]{#1}{#2}{#3}%
{\psscalebox{\psk@RightAngleSize}{\pscircle*{!.08 \psk@xdotscale\space mul}}}%
\else
\ifx\psk@RightAngleType\@suisseromand
\rput{*0}%
(!tx@EcldDict begin /N@#3 GetNode exch Atan /N@#1 GetNode exch Atan
- 2 copy lt { exch 360 sub exch } if add 2 div .45 \psk@RightAngleSize\space mul exch PtoC end)%
+ 2 copy lt { exch 360 sub exch } if add 2 div .45 \psk@RightAngleSize\space mul \psk@RightAngleDotDistance mul exch PtoC end)%
{\psscalebox{\psk@RightAngleSize}{\pscircle*{.08}}}%
\psline(0,0)%
(!tx@EcldDict begin /N@#3 GetNode exch Atan \psk@RightAngleSize\space exch PtoC end )%
diff --git a/macros/latex/contrib/curve2e/README.txt b/macros/latex/contrib/curve2e/README.txt
index faddfe1ed4..ea1f941352 100644
--- a/macros/latex/contrib/curve2e/README.txt
+++ b/macros/latex/contrib/curve2e/README.txt
@@ -10,7 +10,7 @@
%% License information appended
%%
File README.txt for package curve2e
- [2020-01-18 v.2.2.0 Extension package for pict2e]
+ [2020-01-29 v.2.2.1 Extension package for pict2e]
The package bundle curve2e is composed of the following files
curve2e.dtx
diff --git a/macros/latex/contrib/curve2e/curve2e-manual.pdf b/macros/latex/contrib/curve2e/curve2e-manual.pdf
index 32691f5d9b..27ace5e0ca 100644
--- a/macros/latex/contrib/curve2e/curve2e-manual.pdf
+++ b/macros/latex/contrib/curve2e/curve2e-manual.pdf
Binary files differ
diff --git a/macros/latex/contrib/curve2e/curve2e-manual.tex b/macros/latex/contrib/curve2e/curve2e-manual.tex
index 7e0a5dc1b4..442bb42650 100644
--- a/macros/latex/contrib/curve2e/curve2e-manual.tex
+++ b/macros/latex/contrib/curve2e/curve2e-manual.tex
@@ -1337,14 +1337,14 @@ Remember to delete all these subfolders if you decide to install a complete upda
and
\cs{fpdowhile}\meta{test}\meta{operations to be repeated}
\end{flushleft}
- The name of |\fptest| requires two further arguments that contain
+ The macro |\fptest| requires two further arguments that contain
what to do if the \meta{test} is true, and what to do if the
\meta{test} is false.
The \meta{test} is a logical expressions that connects math relation
- expressions, even floating pint ones, by means of \emph{logical
+ expressions, even floating point ones, by means of \emph{logical
operators}; such operators are \verb+||+, \verb|&&|, and \verb|!|,
respectively for OR, AND, NOT; for example \verb|!<| means “not lower
- than” which is equivalent to “equal or grater than”. The logical
+ than”, which is equivalent to “equal or grater than”. The logical
expression is parsed left to right and normal parentheses may be
used to alter this sequence. The logical operators work also
between logical variables, therefore the \meta{test} may contain
@@ -1415,11 +1415,11 @@ y = f_2(t)
The syntax is the following:
\begin{flushleft}\obeylines
-\cs{Lissajous}\marg{t}\Oarg{\meta{$A_1$},\meta{$N_1$},\meta{$\phi_1$},\meta{$A_2$},\meta{$N_2$},\meta{$\phi_2$}}\meta{$P_{\mathrm{out}}$}
+\cs{Lissajous}\marg{in}\Oarg{\meta{$A_1$},\meta{$N_1$},\meta{$\phi_1$},\meta{$A_2$},\meta{$N_2$},\meta{$\phi_2$}}\meta{$P_{\mathrm{out}}$}
\end{flushleft}
where \meta{$P_{\mathrm{out}}$} is a macro that gets
defined with the cartesian coordinates of the computed output
- point.
+ point.Arguments \meta{in} (the $t$ parameter) and \meta{out} (the computed coordinates) need not be enclosed within braces if they are given as macros; actually the code shown in figure~\ref{fig:lissajous} shows such procedure that renders the input code simpler to read.
After this definition the diagram is plotted in
figure~\ref{fig:lissajous}.
@@ -1432,14 +1432,15 @@ y = f_2(t)
\VECTOR(-50,0)(50,0)\Pbox(50,0)[tr]{x}[0]
\VECTOR(0,-50)(0,50)\Pbox(0,50)[tr]{y}[0]
\Pbox(0,0)[tr]{O}[2]
-\countdef\I=2560 \I=0
%
-\Lissajous\I[40,2,90,40,3,0]\Pout
-{\moveto(\Pout)\relax
+{\countdef\I=2560 \I=0
\fpdowhile{\I !> 360}{%
-\Lissajous\I\Pout
-\lineto(\Pout)\advance\I by1\relax}%
-\strokepath}
+ \fptest{\I=0}%
+ {\Lissajous\I[40,2,90,40,3,0]\Pout
+ \moveto(\Pout)}%
+ {\Lissajous\I\Pout
+ \lineto(\Pout)}%
+ \advance\I by1}\strokepath}%
\end{picture}
\end{Esempio}
\caption{A Lissajous diagram}\label{fig:lissajous}
@@ -1448,10 +1449,10 @@ y = f_2(t)
For the independent variable $t$, the parameter of the Lissajous
parametric equations, it is better to work with degrees instead
of radians, and with integer numbers, so that the whole range
- from $0^\circ$ to $369^\circ$ is certainly spanned. Notice the
+ from $0^\circ$ to $360^\circ$ is certainly spanned. Notice the
braces that include the code for the Lissajous diagram; they may
be useful to render that group suitable to be |\put| somewhere
- else than with its center in the origin of the canvas axes,
+ else than with its center at the origin of the canvas axes,
and/or to be used as the second argument of a
\cs{rotatebox}\marg{angle} command so as to rotate the whole
diagram.
diff --git a/macros/latex/contrib/curve2e/curve2e.dtx b/macros/latex/contrib/curve2e/curve2e.dtx
index 266ca29f25..d387706676 100644
--- a/macros/latex/contrib/curve2e/curve2e.dtx
+++ b/macros/latex/contrib/curve2e/curve2e.dtx
@@ -46,7 +46,7 @@ README.txt and curve2e-v161.sty.
%<+package>\ProvidesPackage{curve2e}%
%<+readme>File README.txt for package curve2e
%<*package|readme>
- [2020-01-18 v.2.2.0 Extension package for pict2e]
+ [2020-01-29 v.2.2.1 Extension package for pict2e]
%</package|readme>
%<*driver>
\documentclass{ltxdoc}\errorcontextlines=9
@@ -1198,7 +1198,7 @@ README.txt and curve2e-v161.sty.
\def\VVECTOR(#1)(#2){{\SubVect#1from#2to\@tempb
\ScaleVect\@tempb by0.5to\@tempb
\AddVect\@tempb and#1to\@tempb
-\VECTOR(\@tempb)(#2)\VECTOR(\@tempb)(#1)\ignorespaces}}
+\VECTOR(\@tempb)(#2)\VECTOR(\@tempb)(#1)}\ignorespaces}
% \end{macrocode}
%
% The \texttt{pict2e} documentation says that if the vector length is
diff --git a/macros/latex/contrib/curve2e/curve2e.pdf b/macros/latex/contrib/curve2e/curve2e.pdf
index d204e13d9a..536c56b9d5 100644
--- a/macros/latex/contrib/curve2e/curve2e.pdf
+++ b/macros/latex/contrib/curve2e/curve2e.pdf
Binary files differ
diff --git a/macros/latex/contrib/musicography/README.md b/macros/latex/contrib/musicography/README.md
index da3feec9f0..7fb0add3ec 100644
--- a/macros/latex/contrib/musicography/README.md
+++ b/macros/latex/contrib/musicography/README.md
@@ -2,7 +2,7 @@
This package makes available the most commonly used symbols in writing about
music in a way that can be used with `pdflatex` and looks consistent and
-attractive.
+attractive. (It also works with `xelatex`.)
It includes accidentals, meters, and notes of different rhythmic values.
The package provides a flexible, user-friendly interface written using `xparse`.
diff --git a/macros/latex/contrib/musicography/musicography.pdf b/macros/latex/contrib/musicography/musicography.pdf
index 3d8ab64a0b..59f48171c2 100644
--- a/macros/latex/contrib/musicography/musicography.pdf
+++ b/macros/latex/contrib/musicography/musicography.pdf
Binary files differ
diff --git a/macros/latex/contrib/musicography/musicography.sty b/macros/latex/contrib/musicography/musicography.sty
index dad5ff27f4..0e36b46a89 100644
--- a/macros/latex/contrib/musicography/musicography.sty
+++ b/macros/latex/contrib/musicography/musicography.sty
@@ -1,8 +1,8 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{musicography}[2019/05/28
+\ProvidesPackage{musicography}[2020/01/29
Symbols for music writing with pdflatex]
-% Copyright 2019 Andrew A. Cashner, andrewacashner@gmail.com
+% Copyright 2020 Andrew A. Cashner, andrewacashner@gmail.com
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -19,6 +19,9 @@
% and the documentation file musicography.tex.
% CHANGE LOG
+% 2020-01-29 - Reduced stack gap for \musFig
+% 2019-11-24 - Fix problem with \MeterCThreeTwo where numerals were being
+% printed next to each other instead of stacked.
% 2019-05-28 - Fix issue #1:
% + Correct notehead symbol for values < quarter note
% (was hollow, should be filled)
@@ -194,6 +197,7 @@
\let\musFontLarge\musFontBig
}
\NewDocumentCommand{\musFig}{ m }{%
+ \setstackgap{S}{1pt}%
\musStack[\musFigFont]{#1}%
}
\NewDocumentCommand{\noFig}{ O{5} }{%
@@ -211,7 +215,7 @@
\meterCplus{\musNumFont{3}}%
}
\NewDocumentCommand{\meterCThreeTwo}{}{%
- \meterCplus{\musStack{3}{2}}%
+ \meterCplus{{\footnotesize\stackanchor[1pt]{3}{2}}}%
}
% Ternary meter used in 17th-century Spanish music
\NewDocumentCommand{\meterCZ}{}{%
diff --git a/macros/latex/contrib/musicography/musicography.tex b/macros/latex/contrib/musicography/musicography.tex
index 2b7981c188..ce0777b3b7 100644
--- a/macros/latex/contrib/musicography/musicography.tex
+++ b/macros/latex/contrib/musicography/musicography.tex
@@ -14,8 +14,7 @@
{\end{tabular}\end{quote}}
\usepackage[
- pdftitle={The musicography Package: Symbols for Music Writing with
- pdflatex},
+ pdftitle={The musicography Package: Symbols for Music Writing},
pdfauthor={Andrew A. Cashner},
pdfsubject={LaTeX package}, pdfkeywords={LaTeX, symbols, music, musicology, humanities}
]{hyperref}
@@ -27,18 +26,19 @@
{\nolinkurl{andrewacashner@gmail.com}}%
}%
}
-\date{May 28, 2019}
+\date{January 29, 2020}
\begin{document}
\maketitle
-Font packages for \code{pdflatex} only provided a limited range of musical
-symbols.
+Most \LaTeX{} font packages and freely available fonts only provided a limited
+range of musical symbols.
The \code{lilyglyphs} package uses Lilypond's fonts, but requires
\code{lualatex}.
This package makes available the most commonly used symbols in writing about
-music in a way that can be used with \code{pdflatex} and looks consistent and
-attractive.
+music in a way that looks consistent and attractive.
+It is especially useful for \code{pdflatex} but also works alongside Unicode
+fonts with \code{xelatex}.
It includes accidentals, meters, notes of different rhythmic values, and
automatic formatting of figured bass.
@@ -46,6 +46,9 @@ This package builds on the approach used in the \code{harmony} package, where
the symbols are taken from the MusiXTeX fonts.
But it provides a larger range of symbols and a more flexible, user-friendly
interface written using \code{xparse}.
+The package is meant to work hand-in-hand with my \code{semantic-markup}
+package, and overrides some of its music-symbol commands with better
+alternatives.
\tableofcontents
@@ -193,6 +196,9 @@ See \verb|\musSymbol| and \verb|\musAccidental| in the code listing below.
\section{Changes}
\begin{itemize}
+ \item[2020-01-29] Reduced stack gap for \verb|\musFig|
+ \item[2019/11/24] Fix \verb|\MeterCThreeTwo| so that numbers are stacked
+ and aligned correctly
\item[2019/05/28] Bux fixes and new features, especially figured bass
\begin{itemize}
\item Fix issue 1 on Bitbucket, thanks to Christian Mondrup
diff --git a/macros/latex/contrib/polyglossia/README b/macros/latex/contrib/polyglossia/README
index 18b2c4746a..b2864ae1d1 100644
--- a/macros/latex/contrib/polyglossia/README
+++ b/macros/latex/contrib/polyglossia/README
@@ -1,7 +1,7 @@
¦----------------------------------------------¦
¦ ¦
- ¦ THE POLYGLOSSIA PACKAGE v1.46 ¦
+ ¦ THE POLYGLOSSIA PACKAGE v1.47 ¦
¦ ¦
¦ Modern multilingual typesetting ¦
¦ with XeLaTeX and LuaLaTeX ¦
@@ -34,8 +34,8 @@ Polyglossia makes it possible to automate the following tasks:
LICENSE
-Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2019 Arthur Reutenauer,
-Copyright (c) 2019 Bastien Roucariès, 2019 Jürgen Spitzmüller
+Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2020 Arthur Reutenauer,
+Copyright (c) 2019-2020 Bastien Roucariès, 2019-2020 Jürgen Spitzmüller
Except where otherwise noted, Polyglossia is placed under the terms of the MIT licence
(https://opensource.org/licenses/MIT).
diff --git a/macros/latex/contrib/polyglossia/polyglossia.dtx b/macros/latex/contrib/polyglossia/polyglossia.dtx
index 6c669bbd57..3c85e2c6ff 100644
--- a/macros/latex/contrib/polyglossia/polyglossia.dtx
+++ b/macros/latex/contrib/polyglossia/polyglossia.dtx
@@ -11,7 +11,7 @@
¦----------------------------------------------¦
¦ ¦
- ¦ THE POLYGLOSSIA PACKAGE v1.46 ¦
+ ¦ THE POLYGLOSSIA PACKAGE v1.47 ¦
¦ ¦
¦ Modern multilingual typesetting ¦
¦ with XeLaTeX and LuaLaTeX ¦
@@ -44,8 +44,8 @@ Polyglossia makes it possible to automate the following tasks:
LICENSE
-Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2019 Arthur Reutenauer,
-Copyright (c) 2019 Bastien Roucariès, 2019 Jürgen Spitzmüller
+Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2020 Arthur Reutenauer,
+Copyright (c) 2019-2020 Bastien Roucariès, 2019-2020 Jürgen Spitzmüller
Except where otherwise noted, Polyglossia is placed under the terms of the MIT licence
(https://opensource.org/licenses/MIT).
@@ -74,7 +74,7 @@ to track the issues and follow progress.
The polyglossia package
(C) 2008–2010 François Charette
- (C) 2011-2019 Arthur Reutenauer
+ (C) 2011-2020 Arthur Reutenauer
(C) 2013 Elie Roux
License information appended
@@ -82,7 +82,7 @@ to track the issues and follow progress.
\endpreamble
\postamble
- Copyright (C) 2019 by Arthur Reutenauer <arthur 'dot' reutenauer 'at' normalesup 'dot' org>
+ Copyright (C) 2020 by Arthur Reutenauer <arthur 'dot' reutenauer 'at' normalesup 'dot' org>
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
@@ -101,61 +101,168 @@ to track the issues and follow progress.
\let\MetaPrefix\DoubleperCent
\askforoverwritefalse
\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}}}
+\generate{\file{gloss-afb.ldf}{\from{polyglossia.dtx}{gloss-afb.ldf}}}
\generate{\file{gloss-afrikaans.ldf}{\from{polyglossia.dtx}{gloss-afrikaans.ldf}}}
\generate{\file{gloss-albanian.ldf}{\from{polyglossia.dtx}{gloss-albanian.ldf}}}
+\generate{\file{gloss-am.ldf}{\from{polyglossia.dtx}{gloss-am.ldf}}}
\generate{\file{gloss-american.ldf}{\from{polyglossia.dtx}{gloss-american.ldf}}}
\generate{\file{gloss-amharic.ldf}{\from{polyglossia.dtx}{gloss-amharic.ldf}}}
+\generate{\file{gloss-apd.ldf}{\from{polyglossia.dtx}{gloss-apd.ldf}}}
+\generate{\file{gloss-ar-IQ.ldf}{\from{polyglossia.dtx}{gloss-ar-IQ.ldf}}}
+\generate{\file{gloss-ar-JO.ldf}{\from{polyglossia.dtx}{gloss-ar-JO.ldf}}}
+\generate{\file{gloss-ar-LB.ldf}{\from{polyglossia.dtx}{gloss-ar-LB.ldf}}}
+\generate{\file{gloss-ar-MR.ldf}{\from{polyglossia.dtx}{gloss-ar-MR.ldf}}}
+\generate{\file{gloss-ar-PS.ldf}{\from{polyglossia.dtx}{gloss-ar-PS.ldf}}}
+\generate{\file{gloss-ar-SY.ldf}{\from{polyglossia.dtx}{gloss-ar-SY.ldf}}}
+\generate{\file{gloss-ar-YE.ldf}{\from{polyglossia.dtx}{gloss-ar-YE.ldf}}}
+\generate{\file{gloss-ar.ldf}{\from{polyglossia.dtx}{gloss-ar.ldf}}}
\generate{\file{gloss-arabic.ldf}{\from{polyglossia.dtx}{gloss-arabic.ldf}}}
\generate{\file{gloss-armenian.ldf}{\from{polyglossia.dtx}{gloss-armenian.ldf}}}
+\generate{\file{gloss-arq.ldf}{\from{polyglossia.dtx}{gloss-arq.ldf}}}
+\generate{\file{gloss-ary.ldf}{\from{polyglossia.dtx}{gloss-ary.ldf}}}
+\generate{\file{gloss-arz.ldf}{\from{polyglossia.dtx}{gloss-arz.ldf}}}
+\generate{\file{gloss-ast.ldf}{\from{polyglossia.dtx}{gloss-ast.ldf}}}
\generate{\file{gloss-asturian.ldf}{\from{polyglossia.dtx}{gloss-asturian.ldf}}}
\generate{\file{gloss-australian.ldf}{\from{polyglossia.dtx}{gloss-australian.ldf}}}
\generate{\file{gloss-austrian.ldf}{\from{polyglossia.dtx}{gloss-austrian.ldf}}}
+\generate{\file{gloss-ayl.ldf}{\from{polyglossia.dtx}{gloss-ayl.ldf}}}
\generate{\file{gloss-bahasa.ldf}{\from{polyglossia.dtx}{gloss-bahasa.ldf}}}
\generate{\file{gloss-bahasai.ldf}{\from{polyglossia.dtx}{gloss-bahasai.ldf}}}
\generate{\file{gloss-bahasam.ldf}{\from{polyglossia.dtx}{gloss-bahasam.ldf}}}
\generate{\file{gloss-basque.ldf}{\from{polyglossia.dtx}{gloss-basque.ldf}}}
+\generate{\file{gloss-be-tarask.ldf}{\from{polyglossia.dtx}{gloss-be-tarask.ldf}}}
+\generate{\file{gloss-be.ldf}{\from{polyglossia.dtx}{gloss-be.ldf}}}
\generate{\file{gloss-belarusian.ldf}{\from{polyglossia.dtx}{gloss-belarusian.ldf}}}
\generate{\file{gloss-bengali.ldf}{\from{polyglossia.dtx}{gloss-bengali.ldf}}}
+\generate{\file{gloss-bg.ldf}{\from{polyglossia.dtx}{gloss-bg.ldf}}}
+\generate{\file{gloss-bn.ldf}{\from{polyglossia.dtx}{gloss-bn.ldf}}}
+\generate{\file{gloss-bo.ldf}{\from{polyglossia.dtx}{gloss-bo.ldf}}}
\generate{\file{gloss-bosnian.ldf}{\from{polyglossia.dtx}{gloss-bosnian.ldf}}}
+\generate{\file{gloss-br.ldf}{\from{polyglossia.dtx}{gloss-br.ldf}}}
\generate{\file{gloss-brazil.ldf}{\from{polyglossia.dtx}{gloss-brazil.ldf}}}
\generate{\file{gloss-breton.ldf}{\from{polyglossia.dtx}{gloss-breton.ldf}}}
\generate{\file{gloss-british.ldf}{\from{polyglossia.dtx}{gloss-british.ldf}}}
+\generate{\file{gloss-bs.ldf}{\from{polyglossia.dtx}{gloss-bs.ldf}}}
\generate{\file{gloss-bulgarian.ldf}{\from{polyglossia.dtx}{gloss-bulgarian.ldf}}}
+\generate{\file{gloss-ca.ldf}{\from{polyglossia.dtx}{gloss-ca.ldf}}}
\generate{\file{gloss-canadian.ldf}{\from{polyglossia.dtx}{gloss-canadian.ldf}}}
\generate{\file{gloss-canadien.ldf}{\from{polyglossia.dtx}{gloss-canadien.ldf}}}
\generate{\file{gloss-catalan.ldf}{\from{polyglossia.dtx}{gloss-catalan.ldf}}}
+\generate{\file{gloss-ckb-Arab.ldf}{\from{polyglossia.dtx}{gloss-ckb-Arab.ldf}}}
+\generate{\file{gloss-ckb-Latn.ldf}{\from{polyglossia.dtx}{gloss-ckb-Latn.ldf}}}
+\generate{\file{gloss-ckb.ldf}{\from{polyglossia.dtx}{gloss-ckb.ldf}}}
+\generate{\file{gloss-cop.ldf}{\from{polyglossia.dtx}{gloss-cop.ldf}}}
\generate{\file{gloss-coptic.ldf}{\from{polyglossia.dtx}{gloss-coptic.ldf}}}
\generate{\file{gloss-croatian.ldf}{\from{polyglossia.dtx}{gloss-croatian.ldf}}}
+\generate{\file{gloss-cy.ldf}{\from{polyglossia.dtx}{gloss-cy.ldf}}}
+\generate{\file{gloss-cz.ldf}{\from{polyglossia.dtx}{gloss-cz.ldf}}}
\generate{\file{gloss-czech.ldf}{\from{polyglossia.dtx}{gloss-czech.ldf}}}
+\generate{\file{gloss-da.ldf}{\from{polyglossia.dtx}{gloss-da.ldf}}}
\generate{\file{gloss-danish.ldf}{\from{polyglossia.dtx}{gloss-danish.ldf}}}
+\generate{\file{gloss-de-AT-1901.ldf}{\from{polyglossia.dtx}{gloss-de-AT-1901.ldf}}}
+\generate{\file{gloss-de-AT-1996.ldf}{\from{polyglossia.dtx}{gloss-de-AT-1996.ldf}}}
+\generate{\file{gloss-de-AT.ldf}{\from{polyglossia.dtx}{gloss-de-AT.ldf}}}
+\generate{\file{gloss-de-CH-1901.ldf}{\from{polyglossia.dtx}{gloss-de-CH-1901.ldf}}}
+\generate{\file{gloss-de-CH-1996.ldf}{\from{polyglossia.dtx}{gloss-de-CH-1996.ldf}}}
+\generate{\file{gloss-de-CH.ldf}{\from{polyglossia.dtx}{gloss-de-CH.ldf}}}
+\generate{\file{gloss-de-DE-1901.ldf}{\from{polyglossia.dtx}{gloss-de-DE-1901.ldf}}}
+\generate{\file{gloss-de-DE-1996.ldf}{\from{polyglossia.dtx}{gloss-de-DE-1996.ldf}}}
+\generate{\file{gloss-de-DE.ldf}{\from{polyglossia.dtx}{gloss-de-DE.ldf}}}
+\generate{\file{gloss-de-Latf-AT-1901.ldf}{\from{polyglossia.dtx}{gloss-de-Latf-AT-1901.ldf}}}
+\generate{\file{gloss-de-Latf-AT-1996.ldf}{\from{polyglossia.dtx}{gloss-de-Latf-AT-1996.ldf}}}
+\generate{\file{gloss-de-Latf-AT.ldf}{\from{polyglossia.dtx}{gloss-de-Latf-AT.ldf}}}
+\generate{\file{gloss-de-Latf-CH-1901.ldf}{\from{polyglossia.dtx}{gloss-de-Latf-CH-1901.ldf}}}
+\generate{\file{gloss-de-Latf-CH-1996.ldf}{\from{polyglossia.dtx}{gloss-de-Latf-CH-1996.ldf}}}
+\generate{\file{gloss-de-Latf-CH.ldf}{\from{polyglossia.dtx}{gloss-de-Latf-CH.ldf}}}
+\generate{\file{gloss-de-Latf-DE-1901.ldf}{\from{polyglossia.dtx}{gloss-de-Latf-DE-1901.ldf}}}
+\generate{\file{gloss-de-Latf-DE-1996.ldf}{\from{polyglossia.dtx}{gloss-de-Latf-DE-1996.ldf}}}
+\generate{\file{gloss-de-Latf-DE.ldf}{\from{polyglossia.dtx}{gloss-de-Latf-DE.ldf}}}
+\generate{\file{gloss-de-Latf.ldf}{\from{polyglossia.dtx}{gloss-de-Latf.ldf}}}
+\generate{\file{gloss-de.ldf}{\from{polyglossia.dtx}{gloss-de.ldf}}}
\generate{\file{gloss-divehi.ldf}{\from{polyglossia.dtx}{gloss-divehi.ldf}}}
+\generate{\file{gloss-dsb.ldf}{\from{polyglossia.dtx}{gloss-dsb.ldf}}}
\generate{\file{gloss-dutch.ldf}{\from{polyglossia.dtx}{gloss-dutch.ldf}}}
+\generate{\file{gloss-dv.ldf}{\from{polyglossia.dtx}{gloss-dv.ldf}}}
+\generate{\file{gloss-el-monoton.ldf}{\from{polyglossia.dtx}{gloss-el-monoton.ldf}}}
+\generate{\file{gloss-el-polyton.ldf}{\from{polyglossia.dtx}{gloss-el-polyton.ldf}}}
+\generate{\file{gloss-el.ldf}{\from{polyglossia.dtx}{gloss-el.ldf}}}
+\generate{\file{gloss-en-AU.ldf}{\from{polyglossia.dtx}{gloss-en-AU.ldf}}}
+\generate{\file{gloss-en-CA.ldf}{\from{polyglossia.dtx}{gloss-en-CA.ldf}}}
+\generate{\file{gloss-en-GB.ldf}{\from{polyglossia.dtx}{gloss-en-GB.ldf}}}
+\generate{\file{gloss-en-NZ.ldf}{\from{polyglossia.dtx}{gloss-en-NZ.ldf}}}
+\generate{\file{gloss-en-US.ldf}{\from{polyglossia.dtx}{gloss-en-US.ldf}}}
+\generate{\file{gloss-en.ldf}{\from{polyglossia.dtx}{gloss-en.ldf}}}
\generate{\file{gloss-english.ldf}{\from{polyglossia.dtx}{gloss-english.ldf}}}
+\generate{\file{gloss-eo.ldf}{\from{polyglossia.dtx}{gloss-eo.ldf}}}
+\generate{\file{gloss-es-ES.ldf}{\from{polyglossia.dtx}{gloss-es-ES.ldf}}}
+\generate{\file{gloss-es-MX.ldf}{\from{polyglossia.dtx}{gloss-es-MX.ldf}}}
+\generate{\file{gloss-es.ldf}{\from{polyglossia.dtx}{gloss-es.ldf}}}
\generate{\file{gloss-esperanto.ldf}{\from{polyglossia.dtx}{gloss-esperanto.ldf}}}
\generate{\file{gloss-estonian.ldf}{\from{polyglossia.dtx}{gloss-estonian.ldf}}}
+\generate{\file{gloss-et.ldf}{\from{polyglossia.dtx}{gloss-et.ldf}}}
+\generate{\file{gloss-eu.ldf}{\from{polyglossia.dtx}{gloss-eu.ldf}}}
+\generate{\file{gloss-fa.ldf}{\from{polyglossia.dtx}{gloss-fa.ldf}}}
\generate{\file{gloss-farsi.ldf}{\from{polyglossia.dtx}{gloss-farsi.ldf}}}
+\generate{\file{gloss-fi.ldf}{\from{polyglossia.dtx}{gloss-fi.ldf}}}
\generate{\file{gloss-finnish.ldf}{\from{polyglossia.dtx}{gloss-finnish.ldf}}}
+\generate{\file{gloss-fr-CA.ldf}{\from{polyglossia.dtx}{gloss-fr-CA.ldf}}}
+\generate{\file{gloss-fr-CH.ldf}{\from{polyglossia.dtx}{gloss-fr-CH.ldf}}}
+\generate{\file{gloss-fr-FR.ldf}{\from{polyglossia.dtx}{gloss-fr-FR.ldf}}}
+\generate{\file{gloss-fr.ldf}{\from{polyglossia.dtx}{gloss-fr.ldf}}}
\generate{\file{gloss-french.ldf}{\from{polyglossia.dtx}{gloss-french.ldf}}}
\generate{\file{gloss-friulan.ldf}{\from{polyglossia.dtx}{gloss-friulan.ldf}}}
\generate{\file{gloss-friulian.ldf}{\from{polyglossia.dtx}{gloss-friulian.ldf}}}
+\generate{\file{gloss-fur.ldf}{\from{polyglossia.dtx}{gloss-fur.ldf}}}
+\generate{\file{gloss-ga.ldf}{\from{polyglossia.dtx}{gloss-ga.ldf}}}
\generate{\file{gloss-gaelic.ldf}{\from{polyglossia.dtx}{gloss-gaelic.ldf}}}
\generate{\file{gloss-galician.ldf}{\from{polyglossia.dtx}{gloss-galician.ldf}}}
+\generate{\file{gloss-gd.ldf}{\from{polyglossia.dtx}{gloss-gd.ldf}}}
\generate{\file{gloss-georgian.ldf}{\from{polyglossia.dtx}{gloss-georgian.ldf}}}
\generate{\file{gloss-german.ldf}{\from{polyglossia.dtx}{gloss-german.ldf}}}
\generate{\file{gloss-germanb.ldf}{\from{polyglossia.dtx}{gloss-germanb.ldf}}}
+\generate{\file{gloss-gl.ldf}{\from{polyglossia.dtx}{gloss-gl.ldf}}}
+\generate{\file{gloss-grc.ldf}{\from{polyglossia.dtx}{gloss-grc.ldf}}}
\generate{\file{gloss-greek.ldf}{\from{polyglossia.dtx}{gloss-greek.ldf}}}
+\generate{\file{gloss-he.ldf}{\from{polyglossia.dtx}{gloss-he.ldf}}}
\generate{\file{gloss-hebrew.ldf}{\from{polyglossia.dtx}{gloss-hebrew.ldf}}}
+\generate{\file{gloss-hi.ldf}{\from{polyglossia.dtx}{gloss-hi.ldf}}}
\generate{\file{gloss-hindi.ldf}{\from{polyglossia.dtx}{gloss-hindi.ldf}}}
+\generate{\file{gloss-hr.ldf}{\from{polyglossia.dtx}{gloss-hr.ldf}}}
+\generate{\file{gloss-hsb.ldf}{\from{polyglossia.dtx}{gloss-hsb.ldf}}}
+\generate{\file{gloss-hu.ldf}{\from{polyglossia.dtx}{gloss-hu.ldf}}}
\generate{\file{gloss-hungarian.ldf}{\from{polyglossia.dtx}{gloss-hungarian.ldf}}}
+\generate{\file{gloss-hy.ldf}{\from{polyglossia.dtx}{gloss-hy.ldf}}}
+\generate{\file{gloss-ia.ldf}{\from{polyglossia.dtx}{gloss-ia.ldf}}}
\generate{\file{gloss-icelandic.ldf}{\from{polyglossia.dtx}{gloss-icelandic.ldf}}}
+\generate{\file{gloss-id.ldf}{\from{polyglossia.dtx}{gloss-id.ldf}}}
\generate{\file{gloss-interlingua.ldf}{\from{polyglossia.dtx}{gloss-interlingua.ldf}}}
\generate{\file{gloss-irish.ldf}{\from{polyglossia.dtx}{gloss-irish.ldf}}}
+\generate{\file{gloss-is.ldf}{\from{polyglossia.dtx}{gloss-is.ldf}}}
+\generate{\file{gloss-it.ldf}{\from{polyglossia.dtx}{gloss-it.ldf}}}
\generate{\file{gloss-italian.ldf}{\from{polyglossia.dtx}{gloss-italian.ldf}}}
+\generate{\file{gloss-ja.ldf}{\from{polyglossia.dtx}{gloss-ja.ldf}}}
\generate{\file{gloss-japanese.ldf}{\from{polyglossia.dtx}{gloss-japanese.ldf}}}
+\generate{\file{gloss-ka.ldf}{\from{polyglossia.dtx}{gloss-ka.ldf}}}
\generate{\file{gloss-kannada.ldf}{\from{polyglossia.dtx}{gloss-kannada.ldf}}}
\generate{\file{gloss-khmer.ldf}{\from{polyglossia.dtx}{gloss-khmer.ldf}}}
+\generate{\file{gloss-km.ldf}{\from{polyglossia.dtx}{gloss-km.ldf}}}
+\generate{\file{gloss-kmr-Arab.ldf}{\from{polyglossia.dtx}{gloss-kmr-Arab.ldf}}}
+\generate{\file{gloss-kmr-Latn.ldf}{\from{polyglossia.dtx}{gloss-kmr-Latn.ldf}}}
+\generate{\file{gloss-kmr.ldf}{\from{polyglossia.dtx}{gloss-kmr.ldf}}}
+\generate{\file{gloss-kn.ldf}{\from{polyglossia.dtx}{gloss-kn.ldf}}}
+\generate{\file{gloss-ko.ldf}{\from{polyglossia.dtx}{gloss-ko.ldf}}}
\generate{\file{gloss-korean.ldf}{\from{polyglossia.dtx}{gloss-korean.ldf}}}
+\generate{\file{gloss-ku-Arab.ldf}{\from{polyglossia.dtx}{gloss-ku-Arab.ldf}}}
+\generate{\file{gloss-ku-Latn.ldf}{\from{polyglossia.dtx}{gloss-ku-Latn.ldf}}}
+\generate{\file{gloss-ku.ldf}{\from{polyglossia.dtx}{gloss-ku.ldf}}}
\generate{\file{gloss-kurdish.ldf}{\from{polyglossia.dtx}{gloss-kurdish.ldf}}}
+\generate{\file{gloss-kurmanji.ldf}{\from{polyglossia.dtx}{gloss-kurmanji.ldf}}}
+\generate{\file{gloss-la-x-classic.ldf}{\from{polyglossia.dtx}{gloss-la-x-classic.ldf}}}
+\generate{\file{gloss-la-x-ecclesia.ldf}{\from{polyglossia.dtx}{gloss-la-x-ecclesia.ldf}}}
+\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}}}
@@ -164,15 +271,23 @@ to track the issues and follow progress.
\generate{\file{gloss-latinmedieval.ldf}{\from{polyglossia.dtx}{gloss-latinmedieval.ldf}}}
\generate{\file{gloss-latvian.ldf}{\from{polyglossia.dtx}{gloss-latvian.ldf}}}
\generate{\file{gloss-lithuanian.ldf}{\from{polyglossia.dtx}{gloss-lithuanian.ldf}}}
+\generate{\file{gloss-lo.ldf}{\from{polyglossia.dtx}{gloss-lo.ldf}}}
\generate{\file{gloss-lowersorbian.ldf}{\from{polyglossia.dtx}{gloss-lowersorbian.ldf}}}
\generate{\file{gloss-lsorbian.ldf}{\from{polyglossia.dtx}{gloss-lsorbian.ldf}}}
+\generate{\file{gloss-lt.ldf}{\from{polyglossia.dtx}{gloss-lt.ldf}}}
+\generate{\file{gloss-lv.ldf}{\from{polyglossia.dtx}{gloss-lv.ldf}}}
\generate{\file{gloss-macedonian.ldf}{\from{polyglossia.dtx}{gloss-macedonian.ldf}}}
\generate{\file{gloss-magyar.ldf}{\from{polyglossia.dtx}{gloss-magyar.ldf}}}
\generate{\file{gloss-malay.ldf}{\from{polyglossia.dtx}{gloss-malay.ldf}}}
\generate{\file{gloss-malayalam.ldf}{\from{polyglossia.dtx}{gloss-malayalam.ldf}}}
\generate{\file{gloss-marathi.ldf}{\from{polyglossia.dtx}{gloss-marathi.ldf}}}
+\generate{\file{gloss-mk.ldf}{\from{polyglossia.dtx}{gloss-mk.ldf}}}
+\generate{\file{gloss-ml.ldf}{\from{polyglossia.dtx}{gloss-ml.ldf}}}
+\generate{\file{gloss-mn.ldf}{\from{polyglossia.dtx}{gloss-mn.ldf}}}
\generate{\file{gloss-mongolian.ldf}{\from{polyglossia.dtx}{gloss-mongolian.ldf}}}
+\generate{\file{gloss-mr.ldf}{\from{polyglossia.dtx}{gloss-mr.ldf}}}
\generate{\file{gloss-naustrian.ldf}{\from{polyglossia.dtx}{gloss-naustrian.ldf}}}
+\generate{\file{gloss-nb.ldf}{\from{polyglossia.dtx}{gloss-nb.ldf}}}
\generate{\file{gloss-newzealand.ldf}{\from{polyglossia.dtx}{gloss-newzealand.ldf}}}
\generate{\file{gloss-ngerman.ldf}{\from{polyglossia.dtx}{gloss-ngerman.ldf}}}
\generate{\file{gloss-nko.ldf}{\from{polyglossia.dtx}{gloss-nko.ldf}}}
@@ -249,19 +364,19 @@ to track the issues and follow progress.
% !TeX TS-program = xelatex
\documentclass[11pt]{ltxdoc}
\usepackage{color}
-\usepackage{xspace,fancyvrb,booktabs}
+\usepackage{xspace,fancyvrb,longtable,booktabs}
\usepackage[neverdecrease]{paralist}
\usepackage[format=hang,labelfont=bf,labelsep=period]{caption}
-\definecolor{myblue}{rgb}{0.02,0.04,0.48}
+\definecolor{xpgblue}{rgb}{0.02,0.04,0.48}
\definecolor{lightblue}{rgb}{0.61,.8,.8}
-\definecolor{myred}{rgb}{0.65,0.04,0.07}
+\definecolor{xpgred}{rgb}{0.65,0.04,0.07}
\usepackage[
unicode=true,
bookmarks=true,
colorlinks=true,
- linkcolor=myblue,
- urlcolor=myblue,
- citecolor=myblue,
+ linkcolor=xpgblue,
+ urlcolor=xpgblue,
+ citecolor=xpgblue,
hyperindex=false,
hyperfootnotes=false,
pdftitle={Polyglossia: Modern multilingual typesetting with XeLaTeX and LuaLaTeX},
@@ -277,13 +392,13 @@ to track the issues and follow progress.
\setotherlanguages{arabic,armenian,hebrew,syriac,greek,russian,serbian,catalan,georgian}
\usepackage[protrusion]{microtype}
\newcommand*\Cmd[1]{\cmd{#1}\DescribeMacro{#1}\xspace}
-\newcommand*\pkg[1]{\textsf{\color{myblue}#1}}
-\newcommand*\file[1]{\texttt{\color{myblue}#1}}
-\newcommand*\TR[1]{\textcolor{myred}{#1}}
-\newcommand*\TX[1]{\hyperref[#1]{\textcolor{myred}{#1}}}
-\newcommand*\TB[1]{\textcolor{myblue}{\bf #1}}
-\newcommand*\TA[1]{\textsc{\color{myblue}#1}}
+\newcommand*\pkg[1]{\textsf{\color{xpgblue}#1}}
+\newcommand*\file[1]{\texttt{\color{xpgblue}#1}}
+\newcommand*\TR[1]{\textcolor{xpgred}{#1}}
+\newcommand*\TX[1]{\hyperref[#1]{\textcolor{xpgred}{#1}}}
+\newcommand*\TA[1]{\textsc{\color{xpgblue}#1}}
\newcommand*\link[1]{\href{#1}{#1}}
+\renewcommand*\meta[1]{\texttt{⟨#1⟩}}
\def\eg{\textit{e.g.,}\xspace}
\def\ie{\textit{i.e.,}\xspace}
\def\ca{\textit{ca.}\@\xspace}
@@ -291,14 +406,37 @@ to track the issues and follow progress.
\def\Ie{\textit{I.e.,}\xspace}
\def\etc{\@ifnextchar.{\textit{etc}}{\textit{etc.}\@\xspace}}
+%% Commands for documenting options
+\newcommand*\xpgoption[1]{\textcolor{xpgblue}{\ttfamily\bfseries #1}}
+\newcommand*\xpgvalue[1]{\texttt{#1}}
+\newcommand*\xpgpresetvalue[1]{\texttt{\textit{#1}}}
+\newcommand*\xpgdefaultvalue[1]{\texttt{*#1}}
+
+% arguments: #1 version number, #2 key name, #3 footnote, #4 possible values
+\NewDocumentCommand\xpgchoicekey{omom}{%
+ \xpgoption{#2}\IfValueT{#3}{\footnote{#3}}%
+ \IfValueT{#1}{\new{#1}} \xpgvalue{=} #4\par%
+}
+
+% arguments: #1 version number, #2 key name, #3 footnote
+\NewDocumentCommand\xpgboolkey{omo}{\xpgchoicekey[#1]{#2}[#3]{\xpgdefaultvalue{true} or \xpgvalue{false}}}
+\NewDocumentCommand\xpgboolkeytrue{omo}{\xpgchoicekey[#1]{#2}[#3]{\xpgdefaultvalue{\xpgpresetvalue{true}} or \xpgvalue{false}}}
+\NewDocumentCommand\xpgboolkeyfalse{omo}{\xpgchoicekey[#1]{#2}[#3]{\xpgdefaultvalue{true} or \xpgpresetvalue{false}}}
+
+% arguments: #1 version number, #2 key name, #3 default code
+\NewDocumentCommand\xpgcodekey{omv}{%
+ \xpgoption{#2}\IfValueT{#1}{\new{#1}}
+ \xpgvalue{=} \meta{code} (default value: \texttt{#3})\par%
+}
+
%% Sidenotes << copied from fontspec.dtx
\newcommand\new[1]{%
- \edef\thisversion{#1}%
+ \edef\thisversion{v#1}%
\ifhmode\unskip~\fi{\ifx\thisversion\fileversion\color{blue}\else\color[gray]{0.5}\fi
$\leftarrow$}%
\marginpar{\centering
\small\ifx\thisversion\fileversion\color{blue}\else\color[gray]{0.5}\fi
- \textsf{#1}}}
+ \textsf{v#1}}}
\newcommand\displaycmd[2]{%
\\\DescribeMacro{#2}\centerline{\cmd{#1}}}
\renewenvironment{itemize}{\begin{compactitem}[\char"2023]}%[{\fontspec{DejaVu Sans}\char"25BB}]}%
@@ -318,7 +456,7 @@ to track the issues and follow progress.
\pretocmd{\subsection}{\condbreak{2\baselineskip}}{}{}
%% fontspec declarations:
-\setmainfont{Linux Libertine O}
+\setmainfont{Linux Libertine O}[Numbers=OldStyle]
\setsansfont{Linux Biolinum O}
\setmonofont[Scale=MatchLowercase]{DejaVu Sans Mono}
\newfontfamily\arabicfont[Script=Arabic]{Amiri}
@@ -348,12 +486,12 @@ to track the issues and follow progress.
% \errorcontextlines=999
% \makeatletter
%
-% \hyphenation{Kha-li-ghi Reu-ten-auer}
+% \hyphenation{Kha-li-ghi Reu-ten-auer new-zea-land}
% \GetFileInfo{polyglossia.sty}
%
% \title{\textcolor{lightblue}{\Huge\fontspec[LetterSpace=40]{GFS Ambrosia} Πολυγλωσσια}
% \\[16pt]
-% \color{myblue}Polyglossia: Modern multilingual typesetting with \XeLaTeX\ and \LuaLaTeX}
+% \color{xpgblue}Polyglossia: Modern multilingual typesetting with \XeLaTeX\ and \LuaLaTeX}
% \author{\TA{François Charette} \and \TA{Arthur Reutenauer}\thanks{Current maintainer}
% \and \TA{Bastien Roucariès} \and \TA{Jürgen Spitzmüller}}
% \date{\filedate \qquad \fileversion\\
@@ -376,7 +514,7 @@ to track the issues and follow progress.
% \section{Introduction}
%
% \pkg{Polyglossia} is a package for facilitating multilingual typesetting with
-% \XeLaTeX\ and (with some exceptions) \LuaLaTeX. Basically, it
+% \XeLaTeX\ and (with some exceptions) \LuaLaTeX. Basically, it
% can be used as an alternative to \pkg{babel} for performing the following
% tasks automatically:
%
@@ -400,7 +538,7 @@ to track the issues and follow progress.
% that are written from right to left (via the package \pkg{bidi},
% available separately).
% \end{enumerate}
-%
+% ^^A
% Several features of \pkg{babel} that do not make sense in the \XeTeX\ world (like font
% encodings, shorthands, etc.) are not supported.
% Generally speaking, \pkg{polyglossia} aims to remain as compatible as possible
@@ -412,7 +550,7 @@ to track the issues and follow progress.
% macros defined in the \pkg{etoolbox} package by \TA{Philipp Lehmann} and \TA{Joseph Wright}.
% Being designed for \XeLaTeX\ and \LuaLaTeX, it obviously also relies on \pkg{fontspec} by
% \TA{Will Robertson}. For languages written from right to left, it needs the package \pkg{bidi}
-% (for \XeTeX) or \pkg{luabidi} (for \LuaTeX) by \TA{Vafa Khalighi} (\textarabic{وفا خليقي}) and
+% (for \XeTeX) or \pkg{luabidi} (for \LuaTeX) by \TA{Vafa Khalighi} (\textarabic{وفا خليقي}) and
% the \pkg{bidi-tex GitHub Organisation}.
% Polyglossia also bundles three packages for calendaric computations (\pkg{hebrewcal},
% \pkg{hijrical}, and \pkg{farsical}).
@@ -423,16 +561,16 @@ to track the issues and follow progress.
% \subsection{Activating languages}
%
% The default language of a document is specified by means of the command
-% \displaycmd{\setdefaultlanguage[⟨options⟩]\{⟨lang⟩\}}{\setdefaultlanguage}
+% \displaycmd{\setdefaultlanguage\oarg{options}\marg{lang}}{\setdefaultlanguage}
% (or, equivalently, \Cmd\setmainlanguage).
% Secondary languages are specified with
-% \displaycmd{\setotherlanguage[⟨options⟩]\{⟨lang⟩\}.}{\setotherlanguage}
+% \displaycmd{\setotherlanguage\oarg{options}\marg{lang}.}{\setotherlanguage}
% All these commands allow you to set language-specific options.\footnote{%
% Section~\ref{specific} documents these options for the respective languages.}
% It is also possible to load a series of secondary languages at once (but without options)
% using
-% \displaycmd{\setotherlanguages\{⟨lang1⟩,⟨lang2⟩,⟨lang3⟩,…\}.}{\setotherlanguages}
-%
+% \displaycmd{\setotherlanguages\marg{lang1⟩,⟨lang2⟩,⟨lang3⟩,⟨…}.}{\setotherlanguages}
+% ^^A
% All language-specific options can be modified locally by means of the
% language-switching commands described in section \ref{languageswitching}.
%
@@ -453,7 +591,7 @@ to track the issues and follow progress.
% ^^A Edited by hand -- JS, 2019-11-01
% \begin{tabular}{lllll}
% \toprule
-% \TX{afrikaans} & danish & \TX{hungarian} & marathi & \TX{slovenian} \\
+% \TX{afrikaans} & danish & \TX{hungarian} & \TX{marathi} & \TX{slovenian} \\
% albanian & divehi & icelandic & \TX{mongolian} & \TX{sorbian} \\
% amharic & \TX{dutch} & interlingua & nko & \TX{spanish} \\
% \TX{arabic} & \TX{english} & \TX{italian} & \TX{norwegian} & swedish \\
@@ -467,26 +605,26 @@ to track the issues and follow progress.
% bulgarian & \TX{georgian} & latvian & \TX{russian} & \TX{ukrainian} \\
% \TX{catalan} & \TX{german} & lithuanian & \TX{sami} & urdu \\
% coptic & \TX{greek} & macedonian & \TX{sanskrit} & vietnamese \\
-% croatian & \TX{hebrew} & \TX{malay} & \TX{serbian} & \TX{welsh} \\
+% \TX{croatian} & \TX{hebrew} & \TX{malay} & \TX{serbian} & \TX{welsh} \\
% \TX{czech} & \TX{hindi} & malayalam & \TX{slovak} & \\
% \bottomrule
% \end{tabular}
%
% \end{table}
%
-% \paragraph{Version Notes} The support for Amharic\new{v1.0.1} should be considered an experimental attempt to
+% \paragraph{Version Notes} The support for Amharic\new{1.0.1} should be considered an experimental attempt to
% port the package \pkg{ethiop}; feedback is welcome.
-% Version 1.1.1\new{v1.1.1} added support for Asturian, %\footnote{ Provided by Kevin Godby and Xuacu Saturio.},
+% Version 1.1.1\new{1.1.1} added support for Asturian, %\footnote{ Provided by Kevin Godby and Xuacu Saturio.},
% Lithuanian, %\footnote{ Provided by Kevin Godby and Paulius Sladkevičius.},
% and Urdu. %\footnote{ Provided by Kamal Abdali.}
% ^^A
-% Version 1.2\new{v1.2.0} introduced Armenian, Occitan, Bengali,
+% Version 1.2\new{1.2.0} introduced Armenian, Occitan, Bengali,
% Lao, Malayalam, Marathi, Tamil, Telugu, and Turkmen.\footnote{%
% See acknowledgements at the end for due credit to the various contributors.}
-% Version 1.43\new{v1.43} brought basic support for Japanese (this
+% Version 1.43\new{1.43} brought basic support for Japanese (this
% is considered experimental, feedback is appreciated).
-% In version 1.45\new{v1.45}, support for Kurdish and Mongolian as well as some new
-% variants (Canadian French and English) have been added. Furthermore, for consistency reasons, some language have
+% In version 1.45\new{1.45}, support for Kurdish and Mongolian as well as some new
+% variants (Canadian French and English) have been added. Furthermore, for consistency reasons, some language have
% been renamed (\emph{farsi}\textrightarrow\emph{persian}, \emph{friulan}\textrightarrow\emph{friulian},
% \emph{magyar}\textrightarrow\emph{hungarian}, \emph{portuges}\textrightarrow\emph{portuguese},
% \emph{samin}\textrightarrow\emph{sami}) or merged (\emph{bahasai}\slash\emph{bahasam}\textrightarrow\emph{malay},
@@ -495,10 +633,10 @@ to track the issues and follow progress.
% \emph{irish}\slash\emph{scottish}\textrightarrow\emph{gaelic},
% \emph{norsk}\slash\emph{nynorsk}\textrightarrow\emph{norwegian}). The old names are still supported for backwards
% compatibility reasons.
-% Version 1.46\new{v1.46} introduces support for Afrikaans, Belarusian, Bosnian and Georgian.
+% Version 1.46\new{1.46} introduces support for Afrikaans, Belarusian, Bosnian and Georgian.
%
%
-% \subsection{Relation to and use of Babel language names}
+% \subsection{Relation to and use of Babel language names}\label{sec:babelnames}
%
% If you are familiar with the \pkg{babel} package, you will note that \pkg{polyglossia}'s language naming
% slightly differs. Whereas \pkg{babel} has a unique name for each language variety (\eg\emph{american} and \emph{british}),
@@ -507,7 +645,7 @@ to track the issues and follow progress.
% Furthermore, \pkg{babel} sometimes uses abbreviated language names (\eg\emph{bahasam} for Bahasa Malayu) as well
% as endonyms, \ie language names coming from the designated languages (such as \emph{bahasa}, \emph{canadien} or \emph{magyar}).
% As opposed to this, \pkg{polyglossia} always uses spelled-out (lower-cased) English language names.
-% Please refer to table~\ref{tab:bbllang} for the differing language names in both packages.
+% Please refer to table~\ref{tab:bbllang} for the differing language names in both packages.
%
% \begin{table}
% \caption{\label{tab:bbllang}Babel-polyglossia language name matching}
@@ -515,7 +653,7 @@ to track the issues and follow progress.
% \begin{minipage}[t]{1\columnwidth}
% \small\centering
% \begin{tabular}{lll}
-% \toprule
+% \toprule
% \textbf{Babel name} & \textbf{Polyglossia name} & \textbf{Polyglossia options}\tabularnewline
% \midrule
% acadien & french & variant=acadian \\
@@ -528,20 +666,20 @@ to track the issues and follow progress.
% british & english & variant=british \\
% canadian & english & variant=canadian \\
% canadien & french & variant=canadian \\
+% classiclatin\footnote{In \pkg{babel} currently only selectable via dot modifier (\emph{latin.classic}).}
+% & latin & variant=classic \\
% farsi & persian & \\
+% ecclesiasticlatin\footnote{In \pkg{babel} currently only selectable via dot modifier (\emph{latin.ecclesiastic}).}
+% & latin & variant=ecclesiastic \\
% friulan & friulian & \\
% german\footnote{Due to the name conflict only available in \pkg{polyglossia} as \emph{germanb} (which is a \pkg{babel} synonym).}
% & german & spelling=old \\
% irish & gaelic & variant=irish [\emph{default}] \\
% kurmanji & kurdish & variant=kurmanji \\
-% latin.classic\footnote{Available in \pkg{polyglossia} as \emph{latinclassic} (as dots are invalid in command names).}
-% & latin & variant=classic \\
-% latin.ecclesiastic\footnote{Available in \pkg{polyglossia} as \emph{latinecclesiastic} (as dots are invalid in command names).}
-% & latin & variant=ecclesiastic \\
-% latin.medieval\footnote{Available in \pkg{polyglossia} as \emph{latinmedieval} (as dots are invalid in command names).}
-% & latin & variant=medieval \\
% lowersorbian & sorbian & variant=lower \\
% magyar & hungarian & \\
+% medievallatin\footnote{In \pkg{babel} currently only selectable via dot modifier (\emph{latin.medieval}).}
+% & latin & variant=medieval \\
% naustrian & german & variant=austrian \\
% newzealand & english & variant=newzealand \\
% ngerman & german & variant=german [\emph{default}] \\
@@ -556,62 +694,247 @@ to track the issues and follow progress.
% slovene & slovenian & \\
% spanishmx & spanish & variant=mexican \\
% swissgerman & german & variant=swiss, spelling=old \\
-% uppersorbian & sorbian & variant=upper \\
+% uppersorbian & sorbian & variant=upper [\emph{default}] \\
% \bottomrule
% \end{tabular}
% \end{minipage}
%
% \end{table}
%
-% For convenience reasons, \pkg{polyglossia} also supports the use of babel names\new{v1.46} (for the few justified
+% For convenience reasons, \pkg{polyglossia} also supports the use of babel names\new{1.46} (for the few justified
% exceptions, please refer to the notes in table~\ref{tab:bbllang}).
% The babel names listed in table~\ref{tab:bbllang} can be used instead of the corresponding polyglossia
% name\slash options in \cmd\setdefaultlanguage\ and \cmd\setotherlanguage\ as well as in the \pkg{polyglossia} and
% \pkg{babel} language switching commands\slash environments documented in section~\ref{sec:langcmds} and
-% \ref{sec:babelcmds} (\eg \cmd\textaustrian\ is synonymous to \cmd{\textgerman[variant=austrian,spelling=old]}).
+% \ref{sec:babelcmds} (\eg \cmd\textaustrian\ is synonymous to ¦\textgerman[variant=austrian,spelling=old]¦).
% However, unless you have special reasons, we strongly encourage you to use the \pkg{polyglossia} names.
%
%
+% \subsection{Using IETF language tags}\label{sec:langtags}
+%
+% \pkg{Polyglossia}\new{1.47} also supports the use of language tags that conform to the IETF BCP-47
+% \emph{Best Current Practice}.\footnote{Please refer to \url{https://tools.ietf.org/html/bcp47} and
+% \url{https://en.wikipedia.org/wiki/IETF_language_tag} for details.}
+% Thus, you can use tags such as ¦en-GB¦ (for British English) or ¦de-AT-1901¦ (for Austrian German, old spelling)
+% in \cmd\setdefaultlanguage\ and \cmd\setotherlanguage\ as well as in the language switching command
+% \cmd{\textlang\marg{tag}}, the environment \cmd{\begin\{lang\}\marg{tag}} \ldots\ \cmd{\end\{lang\}} and the \pkg{babel}
+% language switching commands\slash environments documented in section~\ref{sec:babelcmds}.
+% Table~\ref{tab:BCP47-polyglossia} lists the currently supported tags.
+%
+% \bgroup\small\addfontfeatures{Numbers={Monospaced,Lining}}
+% \begin{longtable}[c]{lll}
+% \caption{\label{tab:BCP47-polyglossia}BCP47-polyglossia language name matching}\\
+% \toprule
+% \textbf{BCP-47 tag} & \textbf{Polyglossia name} & \textbf{Polyglossia options}\\
+% \midrule
+% \endfirsthead
+% \caption[]{BCP47-polyglossia language name matching (\emph{continued})}\\
+% \toprule
+% \textbf{BCP-47 tag} & \textbf{Polyglossia name} & \textbf{Polyglossia options}\\
+% \midrule
+% \endhead
+% aeb & arabic & locale=tunisia \\
+% af & afrikaans & \\
+% afb & arabic & locale=default \\
+% am & amharic & \\
+% apd & arabic & locale=default \\
+% ar & arabic & \\
+% ar-IQ & arabic & locale=mashriq \\
+% ar-JO & arabic & locale=mashriq \\
+% ar-LB & arabic & locale=mashriq \\
+% ar-MR & arabic & locale=mauritania \\
+% ar-PS & arabic & locale=mashriq \\
+% ar-SY & arabic & locale=mashriq \\
+% ar-YE & arabic & locale=default \\
+% arq & arabic & locale=algeria \\
+% ary & arabic & locale=morocco \\
+% arz & arabic & locale=default \\
+% ast & asturian & \\
+% ayl & arabic & locale=libya \\
+% be & belarusian & \\
+% be-tarask & belarusian & spelling=classic \\
+% bg & bulgarian & \\
+% bn & bengali & \\
+% bo & tibetan & \\
+% br & breton & \\
+% bs & bosnian & \\
+% ca & catalan & \\
+% ckb & kurdish & variant=sorani [\emph{default}] \\
+% ckb-Arab & kurdish & variant=sorani, script=Arabic [\emph{default}] \\
+% ckb-Latn & kurdish & variant=sorani, script=Latin \\
+% cop & coptic & \\
+% cy & welsh & \\
+% cz & czech & \\
+% da & danish & \\
+% de & german & \\
+% de-AT & german & variant=austrian, spelling=new \\
+% de-AT-1901 & german & variant=austrian, spelling=old \\
+% de-AT-1996 & german & variant=austrian, spelling=new \\
+% de-CH & german & variant=swiss, spelling=new \\
+% de-CH-1901 & german & variant=swiss, spelling=old \\
+% de-CH-1996 & german & variant=swiss, spelling=new \\
+% de-DE & german & variant=german, spelling=new \\
+% de-DE-1901 & german & variant=german, spelling=old \\
+% de-DE-1996 & german & variant=german, spelling=new [\emph{default}] \\
+% de-Latf & german & script=blackletter \\
+% de-Latf-AT & german & variant=austrian, spelling=new, script=blackletter \\
+% de-Latf-AT-1901 & german & variant=austrian, spelling=old, script=blackletter \\
+% de-Latf-AT-1996 & german & variant=austrian, spelling=new, script=blackletter \\
+% de-Latf-CH & german & variant=swiss, spelling=new, script=blackletter \\
+% de-Latf-CH-1901 & german & variant=swiss, spelling=old, script=blackletter \\
+% de-Latf-CH-1996 & german & variant=swiss, spelling=new, script=blackletter \\
+% de-Latf-DE & german & variant=german, spelling=new, script=blackletter \\
+% de-Latf-DE-1901 & german & variant=german, spelling=old, script=blackletter \\
+% de-Latf-DE-1996 & german & variant=german, spelling=new, script=blackletter \\
+% dsb & sorbian & variant=lower \\
+% dv & divehi & \\
+% el & greek & \\
+% el-monoton & greek & variant=monotonic [\emph{default}] \\
+% el-polyton & greek & varant=polytonic \\
+% en & english & \\
+% en-AU & english & variant=australian \\
+% en-CA & english & variant=canadian \\
+% en-GB & english & variant=british \\
+% en-NZ & english & variant=newzealand \\
+% en-US & english & variant=us [\emph{default}] \\
+% eo & esperanto & \\
+% es & spanish & \\
+% es-ES & spanish & variant=spanish [\emph{default}] \\
+% es-MX & spanish & variant=mexican \\
+% et & estonian & \\
+% eu & basque & \\
+% fa & persian & \\
+% fi & finnish & \\
+% fr & french & \\
+% fr-CA & french & variant=canadian \\
+% fr-CH & french & variant=swiss \\
+% fr-FR & french & variant=french [\emph{default}] \\
+% fur & friulian & \\
+% ga & gaelic & variant=irish [\emph{default}] \\
+% gd & gaelic & variant=scottish \\
+% gl & galician & \\
+% grc & greek & variant=ancient \\
+% he & hebrew & \\
+% hi & hindi & \\
+% hr & croatian & \\
+% hsb & sorbian & variant=upper [\emph{default}] \\
+% hu & hungarian & \\
+% hy & armenian & \\
+% ia & interlingua & \\
+% id & malay & variant=indonesian \\
+% is & icelandic & \\
+% it & italian & \\
+% ja & japanese & \\
+% ka & georgian & \\
+% km & khmer & \\
+% kmr & kurdish & variant=kurmanji \\
+% kmr-Arab & kurdish & variant=kurmanji, script=Arabic \\
+% kmr-Latn & kurdish & variant=kurmanji, script=Latin \\
+% kn & kannada & \\
+% ko & korean & \\
+% ku & kurdish & \\
+% ku-Arab & kurdish & script=Arabic \\
+% ku-Latn & kurdish & script=Latin \\
+% la & latin & \\
+% la-x-classic & latin & variant=classic \\
+% la-x-ecclesia & latin & variant=ecclesiastic \\
+% la-x-medieval & latin & variant=medieval \\
+% lo & lao & \\
+% lt & lithuanian & \\
+% lv & latvian & \\
+% mk & macedonian & \\
+% ml & malayalam & \\
+% mn & mongolian & \\
+% mr & marathi & \\
+% nb & norwegian & variant=bokmal \\
+% nko & nko & \\
+% nl & dutch & \\
+% nn & norwegian & variant=nynorsk [\emph{default}] \\
+% oc & occitan & \\
+% pl & polish & \\
+% pms & piedmontese & \\
+% pt & portuguese & \\
+% pt-BR & portuguese & variant=brazilian \\
+% pt-PT & portuguese & variant=portuguese [\emph{default}] \\
+% rm & romansh & \\
+% ro & romanian & \\
+% ru & russian & \\
+% ru-luna1918 & russian & spelling=modern [\emph{default}] \\
+% ru-petr1708 & russian & spelling=old \\
+% sa & sanskrit & \\
+% sa-Beng & sanskrit & script=Bengali \\
+% sa-Deva & sanskrit & script=Devanagari [\emph{default}] \\
+% sa-Gujr & sanskrit & script=Gujarati \\
+% sa-Knda & sanskrit & script=Kannada \\
+% sa-Mlym & sanskrit & script=Malayalam \\
+% sa-Telu & sanskrit & script=Telugu \\
+% se & sami & \\
+% sk & slovak & \\
+% sl & slovenian & \\
+% sq & albanian & \\
+% sr & serbian & \\
+% sr-Cyrl & serbian & script=Cyrillic \\
+% sr-Latn & serbian & script=Latin [\emph{default}] \\
+% sv & swedish & \\
+% syr & syriac & \\
+% ta & tamil & \\
+% te & telugu & \\
+% th & thai & \\
+% tk & turkmen & \\
+% tr & turkish & \\
+% uk & ukrainian & \\
+% ur & urdu & \\
+% vi & vietnamese & \\
+% zsm & malay & variant=malaysian [\emph{default}] \\
+% \bottomrule
+% \end{longtable}
+% \egroup
+%
% \subsection{Global options}
%
% \pkg{Polyglossia} can be loaded with the following global package options:
%
% \begin{itemize}
-% \item \TB{babelshorthands}\new{v1.1.1} globally activates \pkg{babel}
-% shorthands whenever available. Currently shorthands are implemented for
-% Afrikaans, Belarusian, Catalan, Czech, Dutch, Finnish, Georgian, German,
-% Italian, Latin, Mongolian, Russian, and Slovak. Please refer to the respective
-% language descriptions (sec.~\ref{specific}) for details.
-%
-% \item \TB{localmarks} redefines the internal \LaTeX\ macros \cmd\markboth\ and
-% \cmd\markright. In earlier versions of \pkg{polyglossia},\new{v1.2.0} this
+% \item \xpgboolkeyfalse[1.1.1]{babelshorthands}
+% Globally activates \pkg{babel} shorthands whenever available. Currently
+% shorthands are implemented 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.
+%
+% \item \xpgoption{localmarks} redefines the internal \LaTeX\ macros \cmd\markboth\ and
+% \cmd\markright. In earlier versions of \pkg{polyglossia},\new{1.2.0} this
% option was set by default, but we now realize that it causes more problems
% than it helps, so it is now off by default. For backwards-compatibility, the
-% option \TB{nolocalmarks} which used to switch off the previous default, and
+% option \xpgoption{nolocalmarks} which used to switch off the previous default, and
% now does nothing, is still available.
%
-% \item \TB{quiet} turns off most info messages and some of the warnings issued
+% \item \xpgoption{quiet} turns off most info messages and some of the warnings issued
% by \LaTeX, \pkg{fontspec} and \pkg{polyglossia}.
% \end{itemize}
%
+% \condbreak{5\baselineskip}
% \section{Language-switching commands}\label{languageswitching}
%
% \subsection{Recommended commands}\label{sec:langcmds}
% For each activated language the command
-% \cmd{\text⟨lang⟩[⟨options⟩]\{…\}} \DescribeMacro{\text⟨lang⟩}
+% \cmd{\text\meta{lang}\oarg{options}\marg{…}} \DescribeMacro{\text\meta{lang}}
% (as well as the synonymous \DescribeMacro{\textlang}%
-% \cmd{\textlang[⟨options⟩]\{⟨lang⟩\}\{…\}}\new{1.46})
+% \cmd{\textlang\oarg{options}\marg{lang}\marg{…}}\new{1.46})
% becomes available for short insertions of text in that language.
+%
% For example ¦\textrussian{\today}¦ and ¦\textlang{russian}{\today}¦ yield \textrussian{\today}
% The commands switch to the correct hyphenation patterns, they activate
% some extra features for the selected language (such as extra spacing before
-% punctuation in French), and they translate the date when using ¦\today¦.
-% They do not, however, translate so-called \textit{caption strings},\ie
-% ``chapter'', ``figure'' etc., to the local language (these remain in the main
+% punctuation in French), and they translate the date when using \cmd\today.
+% They do not, however, translate so-called \textit{caption strings}, \ie
+% ``chapter'', ``figure'' etc., to the local language (these remain in the currently active `outer'
% language).
%
-% The\DescribeEnv{⟨lang⟩}\ environment ¦⟨lang⟩¦, which is also available for any activated language,
-% is meant for longer passages of text. It behaves slightly different than the \cmd{\text⟨lang⟩} and
+% The\DescribeEnv{\meta{lang}}\ environment \meta{lang}, which is also available for any activated language
+% (as well as the equivalent \DescribeMacro{lang}%
+% \cmd{\begin\{lang\}\oarg{options}\marg{lang}} \dots{} \cmd{\end\{lang\}}\new{1.47}),
+% is meant for longer passages of text. It behaves slightly different than the \cmd{\text\meta{lang}} and
% \cmd\textlang\ commands: It does everything the latter do, but additionally, the caption strings
% are translated as well, and the language is also passed to auxiliary files, the table of contents
% and the lists of figures/tables.
@@ -619,7 +942,7 @@ to track the issues and follow progress.
% For instance the following allows us to quote the beginning
% of Homer’s \textit{Iliad}:
%
-% \begin{Verbatim}[formatcom=\color{myblue}]
+% \begin{Verbatim}[formatcom=\color{xpgblue}]
% \begin{quote}
% \begin{greek}[variant=ancient]
% μῆνιν ἄειδε θεὰ Πηληϊάδεω Ἀχιλῆος οὐλομένην, ἣ μυρί' Ἀχαιοῖς
@@ -651,17 +974,17 @@ to track the issues and follow progress.
% compiled into the \XeLaTeX\ and \LuaLaTeX\ format) are redefined, but keep a
% similar behaviour.
% \begin{itemize}
-% \item \DescribeMacro{\selectlanguage}\cmd{\selectlanguage[⟨options⟩]\{⟨lang⟩\}}
-% \item \DescribeMacro{\foreignlanguage}\cmd{\foreignlanguage[⟨options⟩]\{⟨lang⟩\}\{…\}}
-% \item \DescribeEnv{otherlanguage}\cmd{\begin\{otherlanguage\}[⟨options⟩]\{⟨lang⟩\}} \dots{} \cmd{\end\{otherlanguage\}}
-% \item \DescribeEnv{otherlanguage*}\cmd{\begin\{otherlanguage*\}[⟨options⟩]\{⟨lang⟩\}} \dots{} \cmd{\end\{otherlanguage*\}}
+% \item \DescribeMacro{\selectlanguage}\cmd{\selectlanguage\oarg{options}\marg{lang}}
+% \item \DescribeMacro{\foreignlanguage}\cmd{\foreignlanguage\oarg{options}\marg{lang}\marg{…}}
+% \item \DescribeEnv{otherlanguage}\cmd{\begin\{otherlanguage\}\oarg{options}\marg{lang}} \dots{} \cmd{\end\{otherlanguage\}}
+% \item \DescribeEnv{otherlanguage*}\cmd{\begin\{otherlanguage*\}\oarg{options}\marg{lang}} \dots{} \cmd{\end\{otherlanguage*\}}
% \end{itemize}
% ^^A
-% ¦\selectlanguage{⟨lang⟩}¦ and the ¦otherlanguage¦ environment are identical to the
-% the ¦⟨lang⟩¦ environment, except that ¦\selectlanguage{⟨lang⟩}¦
-% does not need to be explicitly closed. The command ¦\foreinlanguage{⟨lang⟩}{…}¦ and the ¦otherlanguage*¦
-% environment are identical with the use of the ¦\text⟨lang⟩¦ or ¦\textlang¦ command, with the one
-% notable exception that they do not translate the date with ¦\today¦.
+% \cmd\selectlanguage\marg{lang} and the ¦otherlanguage¦ environment are identical to the
+% the \meta{lang} environment, except that \cmd\selectlanguage\marg{lang}
+% does not need to be explicitly closed. The command \cmd\foreinlanguage\marg{lang}\marg{…} and the ¦otherlanguage*¦
+% environment are identical with the use of the \cmd\text\meta{lang} or \cmd\textlang\ command, with the one
+% notable exception that they do not translate the date with \cmd\today.
%
% Since the \XeLaTeX\ and \LuaLaTeX\ format incorporate \pkg{babel}’s \file{hyphen.cfg},
% the low-level commands for hyphenation and language switching
@@ -669,13 +992,12 @@ to track the issues and follow progress.
%
% \subsection{Other commands}
% The following commands are probably of lesser interest to the end user, but
-% ought to be mentioned here.\footnote{Note that these commands require polyglossia
-% language names; they do not support language\slash babel aliases.}
+% ought to be mentioned here.
% \begin{itemize}
-% \item \DescribeMacro{\selectbackgroundlanguage}\cmd{\selectbackgroundlanguage\{⟨lang⟩\}}:
+% \item \DescribeMacro{\selectbackgroundlanguage}\cmd{\selectbackgroundlanguage\marg{lang}}:
% this selects the global font setup and the numbering definitions for the default language.
%
-% \item \DescribeMacro{\resetdefaultlanguage}\cmd{\resetdefaultlanguage[⟨options⟩]\{⟨lang⟩\}} (experimental):
+% \item \DescribeMacro{\resetdefaultlanguage}\cmd{\resetdefaultlanguage\oarg{options}\marg{lang}} (experimental):
% completely switches the default language
% to another one in the middle of a document: \textit{this may have adverse effects}!
%
@@ -693,43 +1015,49 @@ to track the issues and follow progress.
% \subsection{Setting up alias commands}
%
% By means of the macro
-% \displaycmd{\setlanguagealias[⟨options⟩]\{⟨language⟩\}\{⟨alias⟩\}}{\setlanguagealias}\new{v1.46}
+% \displaycmd{\setlanguagealias\oarg{options}\marg{language}\marg{alias}}{\setlanguagealias}\new{1.46}
% you can define alias commands for specific language (variants). \Eg
%
% \begin{quote}
% \begin{verbatim}
-% \setlanguagealias[variant=austrian]{german}{deAT}
+% \setlanguagealias[variant=austrian]{german}{AT}
% \end{verbatim}
% \end{quote}
% ^^A
-% will define a command \cmd{\textdeAT} as well as an environment ¦{deAT}¦ which will link towards
-% the command \cmd{\textgerman[variant=austrian]} and the environment ¦{german}[variant=austrian]¦,
+% will define a command \cmd{\textAT} as well as an environment ¦{AT}¦ which will link towards
+% the command ¦\textgerman[variant=austrian]¦ and the environment ¦{german}[variant=austrian]¦,
% respectively. The aliases can also be used in the language switching commands described in
% section~\ref{sec:langcmds} and \ref{sec:babelcmds}.
% Note, though, that the usual restrictions for command names apply, so something such as
-% ¦de-AT¦ or ¦de_AT¦ will not work since ¦-¦ and ¦_¦ are not allowed in command names.
+% ¦de-AT¦ or ¦de_AT¦ will not work since ¦-¦ and ¦_¦ are not allowed in command names (the same
+% holds true for any non-ASCII character and for digits).
+%
+% For the latter case, and for the case where an alias would clash with an existing command
+% (\eg ¦\fi¦) or a \cmd{\text\meta{\ldots}} command (\eg \cmd\textit), a starred version \Cmd{\setlanguagealias*}
+% is provided which does neither define a \cmd{\text\meta{alias}} command nor an \meta{alias} environment,
+% but which will set up the alias for everything else, including \cmd{\textlang\marg{alias}}
+% and \cmd{\begin\{lang\}\marg{alias}}.
%
-% For the latter case, and for the case where an alias would clash with an existing \cmd{\text⟨...⟩}
-% command (\eg ¦\textit¦), a starred version \Cmd{\setlanguagealias*} is provided which does not define
-% a \cmd{\text⟨alias⟩} command (but which will set up the alias for everything else, including
-% \cmd{\textlang\{⟨alias⟩\}}).
+% \pkg{Polyglossia} comes with some aliases predefined, namely aliases for \pkg{babel} language names
+% (see sec.~\ref{sec:babelnames}) and for IETF BCP-47 language tags (the latter via \cmd{\setlanguagealias*};
+% see sec.~\ref{sec:langtags}).
%
% \section{Font setup}
%
% With polyglossia it is possible to associate a specific font with any script or language
% that occurs in the document. That font should always be defined as
-% ¦\⟨script⟩font¦\ or ¦\⟨language⟩font¦.
+% \cmd{\⟨script⟩font}\ or \cmd{\⟨language⟩font}.
% For instance, if the default font defined by \cmd\setmainfont\
% does not support Greek, then one can define the font used to display Greek with:\\
-% \centerline{ \cmd\newfontfamily\cmd{\greekfont[Script=Greek,⟨…⟩]\{⟨font⟩\}}. }
+% \centerline{ \cmd\newfontfamily\cmd{\greekfont[Script=Greek,\meta{…}]\marg{font}}. }
% Note that polyglossia will use the font defined as is, so assure to do all necessary settings
% (please refer to the \pkg{fontspec} documentation for details).
-% For instance, if ¦\arabicfont¦ is explicitly defined, then the option ¦Script=Arabic¦ should
+% For instance, if \cmd\arabicfont\ is explicitly defined, then the option ¦Script=Arabic¦ should
% be included in that definition.
%
% If a specific sans serif or monospace (`teletype') font is needed for a particular script or language,
-% it can be defined by means of \new{v1.2.0}
-% ¦\⟨script⟩fontsf¦\ or ¦\⟨language⟩fontsf¦ and ¦\⟨script⟩fonttt¦\ or ¦\⟨language⟩fonttt¦, respectively.
+% it can be defined by means of \new{1.2.0}
+% \cmd{\⟨script⟩fontsf} or \cmd{\⟨language⟩fontsf} and \cmd{\⟨script⟩fonttt} or \cmd{\⟨language⟩fonttt}, respectively.
%
% Whenever a new language is activated, \pkg{polyglossia} will first check whether
% a font has been defined for that language or – for languages in non-Latin scripts –
@@ -744,7 +1072,7 @@ to track the issues and follow progress.
%
% \subsection{Hyphenation exceptions}
%
-% \TeX\ provides the command ¦\hyphenation{⟨exceptions⟩}¦ to globally define hyphenation exceptions
+% \TeX\ provides the command \cmd\hyphenation\marg{exceptions} to globally define hyphenation exceptions
% which override the hyphenation patterns for specified words. The command takes as argument a space-separated
% list of words where hyphenation points are marked by a dash (if no dash is used, the respective word is not
% hyphenated at all):
@@ -756,8 +1084,8 @@ to track the issues and follow progress.
% \end{Verbatim}
% ^^A
% These exceptions, however, apply to all languages. In addition to this, \pkg{polyglossia} provides
-% the command\new{v1.45}
-% \displaycmd{\pghyphenation[⟨options⟩]\{⟨lang⟩\}\{⟨exceptions⟩\}}{\pghyphenation}
+% the command\new{1.45}
+% \displaycmd{\xpghyphenation\oarg{options}\marg{lang}\marg{exceptions}}{\xpghyphenation}
% which can be used to define exceptions that only apply to a specific language or language variant,
% respectively.
%
@@ -772,25 +1100,33 @@ to track the issues and follow progress.
%
% \section{Language-specific options and commands}\label{specific}
%
-% This section gives a list of all languages for which options and end-user commands are defined.
-% The default value of each option is given in italic.
-%
-% ^^A\subsection{amharic}\label{amharic}
+% This section gives a list of all languages for which options and end-user
+% commands are defined. Note the following conventions:
+% \begin{itemize}
+% \item The preset value of each option (\ie the setting that applies by default,
+% if the option is not explicitly set) is given in \xpgpresetvalue{italics}.
+% \item If an option key may be used without a value, the value that applies
+% for value-less keys is marked by a preceding \xpgdefaultvalue{asterisk}.
+% \end{itemize}
+% For instance, \texttt{babelshorthands = *true} or \texttt{\textit{false}} means that
+% \xpgvalue{babelshorthands} is \xpgvalue{false} by default in the respective language,
+% and that passing \xpgvalue{babelshorthands} (without value) is equivalent to passing
+% \xpgvalue{babelshorthands=true}.
%
-% \subsection{afrikaans}\label{afikaans}
+% \subsection{afrikaans}\label{afrikaans}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{babelshorthands} = \textit{false} or true. \new{v1.1.1}
-% if this is turned on, the following shorthands defined for fine-tuning hyphenation and
+% \item \xpgboolkeyfalse[1.1.1]{babelshorthands}
+% If this is turned on, the following shorthands defined for fine-tuning hyphenation and
% micro-typography of Afrikaans 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 ¦\-¦ in default \TeX).
+% in the hyphenation patterns (as opposed to \cmd\- in default \TeX).
% \item[\texttt{"\textasciitilde}] for a hyphen sign without a breakpoint. Useful for
% cases where the hyphen should stick at the following syllable.
% \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 ¦\slash¦,
+% \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}
% \end{itemize}
@@ -798,23 +1134,23 @@ to track the issues and follow progress.
% \subsection{arabic}\label{arabic}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{calendar} = \textit{gregorian} or islamic (= hijri)
-% \item \TB{locale} = \textit{default},\footnote{ %
-% For Egypt, Sudan, Yemen and the Gulf states.}
-% mashriq,\footnote{ %
-% For Iraq, Syria, Jordan, Lebanon and Palestine.}
-% libya, algeria, tunisia, morocco, or mauritania.
+% \item \xpgchoicekey{calendar}{\xpgpresetvalue{gregorian} or \xpgvalue{islamic} (= \xpgvalue{hijri})}
+% \item \xpgchoicekey{locale}{\xpgpresetvalue{default}\footnote{ %
+% For Egypt, Sudan, Yemen and the Gulf states.},
+% \xpgvalue{mashriq}\footnote{ %
+% For Iraq, Syria, Jordan, Lebanon and Palestine.},
+% \xpgvalue{libya}, \xpgvalue{algeria}, \xpgvalue{tunisia}, \xpgvalue{morocco}, \xpgvalue{mauritania}}
% This setting influences the spelling of the month names for the Gregorian calendar,
% as well as the form of the numerals (unless overriden by the following option).
-% \item \TB{numerals} = \textit{mashriq} or maghrib
-% (the latter is the default when locale = algeria, tunisia or morocco)
-% \item \TB{abjadjimnotail} = \textit{false} or true. \new{v1.0.3}
+% \item \xpgchoicekey{numerals}{\xpgpresetvalue{mashriq} or \xpgvalue{maghrib}}
+% The latter is the default when \xpgvalue{locale=algeria}, \xpgvalue{tunisia}, or \xpgvalue{morocco}.
+% \item \xpgboolkeyfalse[1.0.3]{abjadjimnotail}
% Set this to true if you want the \textit{abjad} form of the number three to be \textarabic{ج‍} – as in the manuscript tradition – instead of the modern usage \textarabic{ج}.
% \end{itemize}
% \paragraph*{Commands:}
% \begin{itemize}
% \item \Cmd\abjad and \Cmd\abjadmaghribi (see section \ref{abjad})
-% \item \Cmd\aemph to emphasize text with ¦\overline¦.\new{v1.2.0}
+% \item \Cmd\aemph to emphasize text with \cmd\overline.\new{1.2.0}
% ¦\textarabic{\aemph{اب}}¦ yields \textarabic{\aemph{اب}}.
% This command is also available for Farsi, Urdu, etc.
% \end{itemize}
@@ -822,19 +1158,19 @@ to track the issues and follow progress.
% \subsection{armenian}\label{armenian}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{variant}\new{v1.45} = eastern or \textit{western}
-% \item \TB{numerals}\new{v1.45} = armenian or \textit{arabic}
+% \item \xpgchoicekey[1.45]{variant}{\xpgvalue{eastern} or \xpgpresetvalue{western}}
+% \item \xpgchoicekey[1.45]{numerals}{\xpgvalue{armenian} or \xpgpresetvalue{arabic}}
% \end{itemize}
%
-% \subsection[belarusian]{belarusian\new{v1.46}}\label{belarusian}
+% \subsection[belarusian]{belarusian\new{1.46}}\label{belarusian}
%
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{babelshorthands} = \textit{false} or true.
+% \item \xpgboolkeyfalse{babelshorthands}
% If this is turned on, the following shorthands 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 ¦\-¦).
+% 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[¦"|¦] disables a ligature at this position.
@@ -848,67 +1184,123 @@ to track the issues and follow progress.
% \item[¦"<¦] for French left double quotes (looks like <<).
% \item[¦">¦] for French right double quotes (looks like >>).
% \end{shorthands}
-% \item \TB{numerals} = \textit{arabic} or cyrillic. Uses either Arabic numerals or Cyrillic
-% alphanumerical numbering.
-% \item \TB{spelling} = \textit{modern} or classic (=~tarask). With ¦spelling=classic¦, captions and dates
-% adhere to the Taraškievica (or Belarusian classical) orthography rather than the standard orthography.
+% \item \xpgchoicekey{numerals}{\xpgpresetvalue{arabic}, \xpgvalue{cyrillic-alph} or \xpgvalue{cyrillic-trad}}
+% Uses either Arabic numerals or Cyrillic alphanumerical numbering. The two Cyrillic variants differ as follows:
+% \begin{itemize}
+% \item \xpgvalue{cyrillic-alph} steps through the Cyrillic alphabet. Thus it can only be used up to 30.
+% \item \xpgvalue{cyrillic-trad} (= \xpgvalue{cyrillic}) uses a traditional Cyrillic alphanumeric system.%
+% \footnote{See \url{https://en.wikipedia.org/wiki/Cyrillic_numerals}.}
+% It supports numbers up to 999\,999.
+% \end{itemize}
+% \item \xpgchoicekey{spelling}{\xpgpresetvalue{modern} or \xpgvalue{classic} (= \xpgvalue{tarask})}
+% With ¦spelling=classic¦, captions and dates adhere to the Taraškievica (or
+% Belarusian classical) orthography rather than the standard orthography.
% \end{itemize}
% ^^A
% \paragraph*{Commands:}
% \begin{itemize}
-% \item \Cmd\Asbuk: produces uppercased Cyrillic alphanumerals, for
-% environments such as ¦enumerate¦. The command takes a counter as argument,
-% \eg ¦\textbelarusian{\Asbuk{page}}¦ produces \textrussian{\Asbuk{page}}.
-% \item \Cmd\asbuk: same in lowercase
+% \item \Cmd\Asbuk: produces uppercased Cyrillic alphanumerals, for environments such as ¦enumerate¦.
+% It steps through the Cyrillic alphabet and thus it can only be used up to 30.
+% The command takes a counter as argument, \eg ¦\textbelarusian{\Asbuk{page}}¦ produces \textrussian{\Asbuk{page}}.
+% \item \Cmd\asbuk: same as \cmd\Asbuk\ but in lowercase.
+% \item \Cmd\AsbukTrad: same as \cmd\Asbuk\ but using the traditional Cyrillic alphanumeric numbering which supports
+% numbers up to 999\,999.\\
+% \Eg ¦\textbelarusian{\AsbukTrad{page}}¦ produces \textrussian{\AsbukTrad{page}}.
+% \item \Cmd\asbukTrad: same as \cmd\AsbukTrad\ but in lowercase.
% \end{itemize}
%
-% \subsection[bengali]{bengali\new{v1.2.0}}\label{bengali}
+% \subsection[bengali]{bengali\new{1.2.0}}\label{bengali}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{numerals} = Western, Bengali or \textit{Devanagari}
-% \item \TB{changecounternumbering} = true or \textit{false} (use specified
-% numerals for headings and page numbers)
+% \item \xpgchoicekey{numerals}{\xpgvalue{Western}, \xpgvalue{Bengali}, or \xpgpresetvalue{Devanagari}}
+% \item \xpgboolkeyfalse{changecounternumbering}
+% Use specified numerals for headings and page numbers.
% \end{itemize}
%
% \subsection{catalan}\label{catalan}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{babelshorthands} = \textit{false} or true. \new{v1.1.1}
-% Activates the shorthands \texttt{"l} and \texttt{"L} to type geminated l’s.
+% \item \xpgboolkeyfalse[1.1.1]{babelshorthands}
+% Activates the shorthands \texttt{"l} and \texttt{"L} to type geminated l or L.
% \end{itemize}
%
% \paragraph*{Commands:}
% \begin{itemize}
-% \item \Cmd{\l.l} and \Cmd{\L.L}\new{v1.1.1} can be used to type a geminated l, as in \textit{co\l.laborar},
+% \item \Cmd{\l.l} and \Cmd{\L.L}\new{1.1.1} can be used to type a geminated l, as in \textit{co\l.laborar},
% similar to \pkg{babel} (the glyph U+00B7 MIDDLE DOT is used as a geminating sign).
% \end{itemize}
%
+% \subsection{croatian}\label{croatian}
+% \paragraph*{Options:}
+% \begin{itemize}
+% \item \xpgboolkeyfalse[1.47]{babelshorthands}
+% If this is turned on, the following shorthands for fine-tuning hyphenation and micro-typography
+% of Croatian words are activated.
+% \begin{shorthands}
+% \item[¦"|¦] disables a ligature at this position.
+% \item[¦"=¦] for an explicit hyphen with a breakpoint, allowing for hyphenation at the
+% other points preset in the hyphenation patterns (as opposed to plain ¦-¦).
+% \item[\texttt{"\textasciitilde}] for a hyphen sign without a breakpoint. Useful for
+% cases where the hyphen should stick at the following syllable.
+% \item[¦"-¦] adds a hyphenation point that does still allow for hyphenation at the points preset
+% in the hyphenation patterns (as opposed to \cmd\-).
+% \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}
+% Furthermore, the following shorthands generate easy access to Croatian digraphs (ligatures):
+% \begin{shorthands}
+% \item[¦"dz¦] Generates the ligature \charifavailable{01C6}{dž}\ if the font provides it. If not, the
+% two characters are output separately. Also available for ¦"Dz¦ (\charifavailable{01C5}{Dž})
+% and ¦"DZ¦ (\charifavailable{01C4}{DŽ}).
+% \item[¦"lj¦] Generates the ligature \charifavailable{01C9}{lj}\ if the font provides it. If not, the
+% two characters are output separately. Also available for ¦"Lj¦ (\charifavailable{01C8}{Lj})
+% and ¦"LJ¦ (\charifavailable{01C7}{LJ}).
+% \item[¦"nj¦] Generates the ligature \charifavailable{01CC}{nj}\ if the font provides it. If not, the
+% two characters are output separately. Also available for ¦"Nj¦ (\charifavailable{01CB}{Nj})
+% and ¦"NJ¦ (\charifavailable{01CA}{NJ}).
+% \end{shorthands}
+%
+% Finally, there are also four shorthands for quotation marks:
+% \begin{shorthands}
+% \item[¦"`¦] for Croatian left double quotes („).
+% \item[¦"'¦] for Croatian right double quotes (”).
+% \item[¦">¦] for Croatian left guillemets (»).
+% \item[¦"<¦] for Croatian right guillemets («).
+% \end{shorthands}
+% \item \xpgboolkeyfalse[1.47]{disableligatures}
+% If this is \xpgvalue{true}, all Croatian ligatures (for digraphs such as
+% \charifavailable{01C6}{dž}) will be replaced by single characters. This can
+% be useful if the ligatures on your font are broken (if the font does not
+% have them, they are automatically replaced).
+% \end{itemize}
+%
% \subsection{czech}\label{czech}
%
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{babelshorthands} = \textit{false} or true. \new{v1.45}
-% if this is turned on, the following shorthands for Czech are activated:
+% \item \xpgboolkeyfalse[1.45]{babelshorthands}
+% If this is turned on, the following shorthands for Czech are activated:
% \begin{shorthands}
% \item[¦"=¦] for an explicit hyphen sign which is repeated at the beginning
% of the next line when hyphenated, as common in Czech typesetting
% (only needed with ¦splithyphens=false¦).
-% \item[¦"‘¦] for Czech left double quotes (looks like ,,).
-% \item[¦"’¦] for Czech right double quotes (looks like “).
-% \item[¦">¦] for Czech left double guillemets (looks like >>).
-% \item[¦"<¦] for Czech right double guillemets (looks like <<).
+% \item[¦"‘¦] for Czech left double quotes („).
+% \item[¦"’¦] for Czech right double quotes (“).
+% \item[¦">¦] for Czech left double guillemets (»).
+% \item[¦"<¦] for Czech right double guillemets («).
% \end{shorthands}
-% \item \TB{splithyphens} = false or \textit{true}.\new{v1.45}
+% \item \xpgboolkeytrue[1.45]{splithyphens}
% According to Czech typesetting conventions, if a word with a hard hyphen (such as \emph{je-li})
% is hyphenated at this hyphen, a second hyphenation character is to be inserted at the beginning
% of the line that follows the hyphenation (\emph{je-/-li}).
-% By default, this is done automatically\new{v1.46} (if you are using \LuaTeX, the \pkg{luavlna} package is
+% By default, this is done automatically\new{1.46} (if you are using \LuaTeX, the \pkg{luavlna} package is
% loaded to achieve this).
% Set this option to ¦false¦ to disable the feature.
-% \item \TB{vlna} = false or \textit{true}. \new{v1.45}
+% \item \xpgboolkeytrue[1.45]{vlna}
% According to Czech typesetting conventions, single-letter words (non-syllable prepositions)
% must not occur at line ends.
-% \pkg{Polyglossia} takes care of this automatically by default\new{v1.46} (if you are using \LuaTeX, the
+% \pkg{Polyglossia} takes care of this automatically by default\new{1.46} (if you are using \LuaTeX, the
% \pkg{luavlna} package is loaded to achieve this).
% Set this option to ¦false¦ to disable the feature.
% \end{itemize}
@@ -916,17 +1308,17 @@ to track the issues and follow progress.
% \subsection{dutch}\label{dutch}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{babelshorthands} = \textit{false} or true. \new{v1.1.1}
-% if this is turned on, the following shorthands defined for fine-tuning hyphenation and
+% \item \xpgboolkeyfalse[1.1.1]{babelshorthands}
+% If this is turned on, the following shorthands defined for fine-tuning hyphenation and
% micro-typography of Dutch words are activated:
% \begin{shorthands}
% \item[¦"-¦] adds a hyphenation point that does still allow for hyphenation at the points preset
-% in the hyphenation patterns (as opposed to ¦\-¦ in default \TeX).
+% in the hyphenation patterns (as opposed to \cmd\- in default \TeX).
% \item[\texttt{"\textasciitilde}] for a hyphen sign without a breakpoint. Useful for
% cases where the hyphen should stick at the following syllable.
% \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 ¦\slash¦,
+% \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}
% In addition, the macro \Cmd\- is redefined to allow hyphens in the rest of the word (equivalent to ¦"-¦).
@@ -935,9 +1327,10 @@ to track the issues and follow progress.
% \subsection{english}\label{english}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{variant} = \textit{american} (= us), usmax (same as ‘american’ but with additional hyphenation patterns),
-% british (= uk), australian, canadian\new{v1.45} or newzealand
-% \item \TB{ordinalmonthday} = true/\textit{false} (true by default only when variant = british)
+% \item \xpgchoicekey{variant}{\xpgpresetvalue{american} (= \xpgvalue{us}), \xpgvalue{usmax} (same as \xpgvalue{american} but with additional hyphenation patterns),
+% \xpgvalue{british} (= \xpgvalue{uk}), \xpgvalue{australian}, \xpgvalue{canadian}\new{1.45}, or \xpgvalue{newzealand}}
+% \item \xpgboolkeyfalse{ordinalmonthday}
+% The default value is true for \xpgvalue{variant=british}.
% \end{itemize}
%
% \subsection{esperanto}\label{esperanto}
@@ -951,17 +1344,17 @@ to track the issues and follow progress.
% \subsection{finnish}\label{finnish}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{babelshorthands} = \textit{false} or true. \new{v1.45}
-% if this is turned on, the following shorthands for fine-tuning hyphenation and micro-typography
-% of Finnish words are activated:
+% \item \xpgboolkeyfalse[1.45]{babelshorthands}
+% 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 ¦\-¦).
+% 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[¦"|¦] 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 ¦\slash¦,
+% \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}
% \end{itemize}
@@ -969,90 +1362,115 @@ to track the issues and follow progress.
% \subsection{french}\label{french}
% \paragraph*{Options:}
% \begin{itemize}
-% \item\TB{variant} = \textit{french} or canadian (=~acadian).\new{v1.45}
-% Currently, the three variants do not differ; they are supported for compatibility with \pkg{babel} (where they do not differ either).
-% \item \TB{autospacing} = \textit{true} or false. One of the most distinct features of French typography is the addition
-% of extra spacing around punctuation and quotation marks (guillemets). By default, polyglossia adds these spaces automatically, so you don't need
-% to enter them. This options allows you to switch this feature off globally.
-% \item \TB{thincolonspace}\new{v1.46} = true or \textit{false}. Normally, a
-% full (non-breaking) interword space is inserted before a colon. Use this
-% option if you prefer a thinner space as used before \texttt{;}, \texttt{!},
-% and \texttt{?}.
-% \item \TB{autospaceguillemets}\footnote{Up to version 1.44, the option was
-% called \textit{automaticspacesaroundguillemets}. For backards compatibility
-% reasons, the more verbose old option is still supported.} = \textit{true}
-% or false. If you only want to disable the automatic addition of spacing
-% after opening and before closing guillemets (and not at punctuation), set
-% this to \textit{false}. Note that the more general option
-% \textit{autospacing} overrides this.
-% \item \TB{autospacetypewriter}\footnote{Babel's syntax \textit{OriginalTypewriter} is also supported.}\new{1.45} = true or \textit{false} (default value = true). By default, automatic spacing is disabled in typewriter font. If this is enabled, spacing in typewriter context is the same as with roman and sans serif font, depending on the \textit{autospacing} and \textit{autospaceguillemets} settings (note that this was the default up to v.~1.44).
-% \item \TB{frenchfootnote} = true or \textit{false} (default value = true). If \textit{true}, footnotes start with a non-superscripted number followed by a dot, as common in French typography. Note that this might interfere with the specific footnote handling of classes or packages.
-% Also note that this option is only functional (by design) if French is the main language.
-% \item \TB{frenchitemlabels}\new{v.1.46} = true or \textit{false} (default value = true). If \textit{true}, itemize item labels use em-dashes throughout,
-% as common in French typography.
-% Note that this option is only functional (by design) if French is the main language. Also, it might interfere with list packages such as \pkg{enumitem}.
-% \item \TB{itemlabels}\new{v.1.46} = ¦⟨cmd⟩¦ (default value = ¦\textemdash¦). If \emph{frenchitemlabels} is true, you can customize here the used item label of all levels.
-% \item \TB{itemlabeli}\new{v.1.46} = ¦⟨cmd⟩¦ (default value = ¦\textemdash¦). If \emph{frenchitemlabels} is true, you can customize here the used item label of the first level.
-% \item \TB{itemlabelii}\new{v.1.46} = ¦⟨cmd⟩¦ (default value = ¦\textemdash¦). If \emph{frenchitemlabels} is true, you can customize here the used item label of the second level.
-% \item \TB{itemlabeliii}\new{v.1.46} = ¦⟨cmd⟩¦ (default value = ¦\textemdash¦). If \emph{frenchitemlabels} is true, you can customize here the used item label of the third level.
-% \item \TB{itemlabeliv}\new{v.1.46} = ¦⟨cmd⟩¦ (default value = ¦\textemdash¦). If \emph{frenchitemlabels} is true, you can customize here the used item label of the fourth level.
+% \item \xpgchoicekey{variant}{\xpgpresetvalue{french} or \xpgvalue{canadian} (=~\xpgvalue{acadian})\new{1.45}, \xpgvalue{swiss}\new{1.47}}
+% Currently, the only difference between the four variants is that \xpgvalue{swiss}
+% uses \xpgvalue{thincolonspace=true} by default since this conforms to the Swiss
+% conventions.
+% \item \xpgboolkeytrue{autospacing}
+% One of the most distinct features of French typography is the addition of
+% extra spacing around punctuation and quotation marks (guillemets). By
+% default, polyglossia adds these spaces automatically, so you don't need
+% to enter them. This options allows you to switch this feature off
+% globally.
+% \item \xpgboolkeyfalse[1.46]{thincolonspace}
+% With \xpgvalue{variant=swiss}, the default value is \xpgvalue{true}. If \xpgvalue{false}, a full
+% (non-breaking) interword space is inserted before a colon. If \xpgvalue{true}, a
+% thinner space -- as before \texttt{;}, \texttt{!}, and \texttt{?} -- is
+% used. Note that this option must be set after the ¦variant¦ option.
+% \item \xpgboolkeytrue{autospaceguillemets}[Up to version 1.44, the option was
+% called \xpgvalue{automaticspacesaroundguillemets}. For backwards compatibility
+% reasons, the more verbose old option is still supported.]
+% If you only want to disable the automatic addition of spacing after
+% opening and before closing guillemets (and not at punctuation), set this
+% to \textit{false}. Note that the more general option \textit{autospacing}
+% overrides this.
+% \item \xpgboolkeyfalse[1.45]{autospacetypewriter}[Babel's syntax \xpgvalue{OriginalTypewriter}
+% is also supported.]
+% By default, automatic spacing is disabled in typewriter font. If this is
+% enabled, spacing in typewriter context is the same as with roman and sans
+% serif font, depending on the \xpgvalue{autospacing} and
+% \xpgvalue{autospaceguillemets} settings (note that this was the default up
+% to v.~1.44).
+% \item \xpgboolkeyfalse{frenchfootnote}
+% If \xpgvalue{true}, footnotes start with a non-superscripted number
+% followed by a dot, as common in French typography. Note that this might
+% interfere with the specific footnote handling of classes or packages.
+% Also note that this option is only functional (by design) if French is
+% the main language.
+% \item \xpgboolkeyfalse[1.46]{frenchitemlabels}
+% If \textit{true}, itemize item labels use em-dashes throughout, as common
+% in French typography. Note that this option is only functional (by
+% design) if French is the main language. Also, it might interfere with
+% list packages such as \pkg{enumitem}.
+% \item \xpgcodekey[1.46]{itemlabels}¦\textemdash¦
+% If \emph{frenchitemlabels} is true, you can customize here the used item
+% label of all levels.
+% \item \xpgcodekey[1.46]{itemlabeli}¦\textemdash¦
+% If \emph{frenchitemlabels} is true, you can customize here the used item
+% label of the first level.
+% \item \xpgcodekey[1.46]{itemlabelii}¦\textemdash¦
+% If \emph{frenchitemlabels} is true, you can customize here the used item
+% label of the second level.
+% \item \xpgcodekey[1.46]{itemlabeliii}¦\textemdash¦
+% If \emph{frenchitemlabels} is true, you can customize here the used item
+% label of the third level.
+% \item \xpgcodekey[1.46]{itemlabeliv}¦\textemdash¦
+% If \emph{frenchitemlabels} is true, you can customize here the used item
+% label of the fourth level.
% \end{itemize}
% \paragraph*{Commands:}
% \begin{itemize}
-% \item \Cmd\NoAutoSpacing\new{v1.45} disables automatic spacing around punctuation and quotation marks in all following text. The command can also be used locally if braces are used for grouping: ¦{\NoAutoSpacing foo:bar}¦
-% \item \Cmd\AutoSpacing\new{v1.45} enables automatic spacing around punctuation and quotation marks in all following text. The command can also be used locally if braces are used for grouping: ¦{\AutoSpacing regarde!}¦
+% \item \Cmd\NoAutoSpacing\new{1.45} disables automatic spacing around punctuation and quotation marks in all following text. The command can also be used locally if braces are used for grouping: ¦{\NoAutoSpacing foo:bar}¦
+% \item \Cmd\AutoSpacing\new{1.45} enables automatic spacing around punctuation and quotation marks in all following text. The command can also be used locally if braces are used for grouping: ¦{\AutoSpacing regarde!}¦
% \end{itemize}
%
-% \subsection[gaelic]{gaelic\new{v1.45}}\label{gaelic}
+% \subsection[gaelic]{gaelic\new{1.45}}\label{gaelic}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{variant} = \textit{irish} or scottish
+% \item \xpgchoicekey{variant}{\xpgpresetvalue{irish} or \xpgvalue{scottish}}
% \end{itemize}
%
-% \subsection[georgian]{georgian\new{v1.46}}\label{georgian}
+% \subsection[georgian]{georgian\new{1.46}}\label{georgian}
%
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{babelshorthands} = \textit{false} or true.
-% If this is turned on, the following shorthands 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 ¦\-¦).
-% \item[\texttt{"\textasciitilde}] for a hyphen sign without a breakpoint. Useful for
-% cases where the hyphen should stick at the following syllable.
-% \item[¦"|¦] disables a ligature at this position.
-% \item[¦""¦] allows for a line break at this position (without hyphenation sign).
-% \item[¦"---¦] Cyrillic emdash in plain text.
-% \item[¦"--~¦] Cyrillic emdash in compound names (surnames).
-% \item[¦"--*¦] Cyrillic emdash for denoting direct speech.
-% \item[¦",¦] thinspace for initials with a breakpoint in following surname.
-% \item[¦"‘¦] for German left double quotes (looks like ,,).
-% \item[¦"’¦] for German right double quotes (looks like “).
-% \item[¦"<¦] for French left double quotes (looks like <<).
-% \item[¦">¦] for French right double quotes (looks like >>).
-% \end{shorthands}
-% \item \TB{numerals} = \textit{arabic} or georgian. Uses either Arabic numerals or Georgian
-% alphanumerical numbering.
-% \item \TB{oldmonthnames} = \textit{true} or false (default: false). Uses traditional Georgian
-% month names.
+% \item \xpgboolkeyfalse{babelshorthands}
+% If this is turned on, the following shorthands 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[¦"|¦] disables a ligature at this position.
+% \item[¦""¦] allows for a line break at this position (without hyphenation sign).
+% \item[¦"---¦] Cyrillic emdash in plain text.
+% \item[¦"--~¦] Cyrillic emdash in compound names (surnames).
+% \item[¦"--*¦] Cyrillic emdash for denoting direct speech.
+% \item[¦",¦] thinspace for initials with a breakpoint in following surname.
+% \item[¦"‘¦] for German left double quotes (looks like ,,).
+% \item[¦"’¦] for German right double quotes (looks like “).
+% \item[¦"<¦] for French left double quotes (looks like <<).
+% \item[¦">¦] for French right double quotes (looks like >>).
+% \end{shorthands}
+% \item \xpgchoicekey{numerals}{\xpgpresetvalue{arabic} or \xpgvalue{georgian}}
+% Uses either Arabic numerals or Georgian alphanumerical numbering.
+% \item \xpgboolkeyfalse{oldmonthnames}
+% Uses traditional Georgian month names.
% \end{itemize}
%
% \subsection{german}\label{german}
% \paragraph*{Options:}
% \begin{itemize}
-% \item\TB{variant} = \textit{german}, austrian or swiss.\new{v1.33.4}
-% Setting variant=austrian or variant=swiss uses some lexical variants.
-% With spelling=old, variant=swiss furthermore loads specific hyphenation
+% \item \xpgchoicekey{variant}{\xpgpresetvalue{german}, austrian, or swiss\new{1.33.4}}
+% Setting \xpgvalue{variant=austrian} or \xpgvalue{variant=swiss} uses some lexical variants.
+% With \xpgvalue{spelling=old}, \xpgvalue{variant=swiss} furthermore loads specific hyphenation
% patterns.
-% \item \TB{spelling} = \textit{new} (= 1996) or old (= 1901):
-% indicates whether hyphenation patterns for traditional (1901) or reformed
+% \item \xpgchoicekey{spelling}{\xpgpresetvalue{new} (= \xpgvalue{1996}) or \xpgvalue{old} (= \xpgvalue{1901})}
+% Indicates whether hyphenation patterns for traditional (1901) or reformed
% (1996) orthography should be used. The latter is the default.
-% \item \TB{latesthyphen} = \textit{false} or true: if this option is set to true,
-% the latest (experimental) hyphenation patterns ‘(n)german-x-latest’
-% will be loaded instead of ‘german’ or ‘ngerman’. NB: This is based on
-% the file \texttt{language.dat} that comes with \TeX Live 2008 and later.
-% \item\TB{babelshorthands} = \textit{false} or true: \new{v1.0.3}
-% if this is turned on, all shorthands defined in \pkg{babel}
+% \item \xpgboolkeyfalse[1.0.3]{babelshorthands}
+% If this is turned on, all shorthands defined in \pkg{babel}
% for fine-tuning hyphenation and micro-typography of German words are activated.
% \begin{shorthands}
% \item[¦"ck¦] for ¦ck¦ to be hyphenated as ¦k-k¦ (1901 spelling).
@@ -1062,12 +1480,12 @@ to track the issues and follow progress.
% \item[¦"=¦] for an explicit hyphen with a breakpoint, allowing for hyphenation at the
% other points preset in the hyphenation patterns (as opposed to plain ¦-¦).
% \item[\texttt{"\textasciitilde}] for a hyphen sign without a breakpoint. Useful for
-% cases where the hyphen should stick at the following syllable,\eg ¦bergauf und "~ab¦.
+% cases where the hyphen should stick at the following syllable, \eg ¦bergauf und "~ab¦.
% \item[¦"-¦] adds a hyphenation point that does still allow for hyphenation at the points preset
-% in the hyphenation patterns (as opposed to ¦\-¦).
-% \item[¦""¦] allows for a line break at this position (without hyphenation sign);
+% in the hyphenation patterns (as opposed to \cmd\-).
+% \item[¦""¦] allows for a line break at this position (without hyphenation sign);
% \eg ¦(pseudo"~)""wissenschaftlich¦.
-% \item[¦"/¦] a slash that allows for a subsequent line break. As opposed to ¦\slash¦, hyphenation at the breakpoints
+% \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}
%
@@ -1078,7 +1496,7 @@ to track the issues and follow progress.
% \item[¦"<¦] for French left double quotes («)
% \item[¦">¦] for French right double quotes (»).
% \end{shorthands}
-% \item\TB{script} = \textit{latin} or blackletter\new{v1.46} (=~fraktur\new{v1.2.0}).
+% \item \xpgchoicekey[1.2.0]{script}{\xpgpresetvalue{latin} or \xpgvalue{blackletter}\new{1.46} (= \xpgvalue{fraktur})}
% Setting ¦script=blackletter¦ adapts the captions for typesetting German in blackletter type (using the long s (ſ)
% where appropriate).
% \end{itemize}
@@ -1086,9 +1504,9 @@ to track the issues and follow progress.
% \subsection{greek}\label{greek}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{variant} = \textit{monotonic} (= mono), polytonic (= poly), or ancient
-% \item \TB{numerals} = \textit{greek} or arabic
-% \item \TB{attic} = \textit{false}/true
+% \item \xpgchoicekey{variant}{\xpgpresetvalue{monotonic} (= \xpgvalue{mono}), \xpgvalue{polytonic} (= \xpgvalue{poly}), or \xpgvalue{ancient}}
+% \item \xpgchoicekey{numerals}{\xpgpresetvalue{greek} or \xpgvalue{arabic}}
+% \item \xpgboolkeyfalse{attic}
% \end{itemize}
% \paragraph*{Commands:}
% \begin{itemize}
@@ -1103,10 +1521,12 @@ to track the issues and follow progress.
% \subsection{hebrew}\label{hebrew}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{numerals} = hebrew or \textit{arabic}
-% \item \TB{calendar} = hebrew or \textit{gregorian}
-% \item \TB{marcheshvan} = true or \textit{false} (default value = true). If true, the second month of the civil year will be output as \texthebrew{מרחשון} (Marcheshvan)
-% rather than \texthebrew{חשון} (Heshvan), which is the default.
+% \item \xpgchoicekey{numerals}{\xpgvalue{hebrew} or \xpgpresetvalue{arabic}}
+% \item \xpgchoicekey{calendar}{\xpgvalue{hebrew} or \xpgpresetvalue{gregorian}}
+% \item \xpgboolkeyfalse{marcheshvan}
+% If \xpgvalue{true}, the second month of the civil year will be output as
+% \texthebrew{מרחשון} (Marcheshvan) rather than \texthebrew{חשון} (Heshvan),
+% which is the default.
% \end{itemize}
% \paragraph*{Commands:}
% \begin{itemize}
@@ -1114,17 +1534,17 @@ to track the issues and follow progress.
% \item \Cmd\aemph (see section \ref{arabic}).
% \end{itemize}
%
-% \subsection[hindi]{hindi\new{v1.2.0}}\label{hindi}
+% \subsection[hindi]{hindi\new{1.2.0}}\label{hindi}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{numerals} = Western or \textit{Devanagari}
+% \item \xpgchoicekey{numerals}{\xpgvalue{Western} or \xpgpresetvalue{Devanagari}}
% \end{itemize}
%
% \subsection{hungarian}\label{hungarian}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{swapstrings} = \textit{all}, captions, headings, headers, hheaders or none\new{v1.46}
-%
+% \item \xpgchoicekey[1.46]{swapstrings}{\xpgdefaultvalue{\xpgpresetvalue{all}},
+% \xpgvalue{captions}, \xpgvalue{headings}, \xpgvalue{headers}, \xpgvalue{hheaders}, or \xpgvalue{none}}
% In Hungarian, some caption strings need to be in a different order than in other languages
% (\eg \emph{1. fejezet} instead of \emph{Chapter 1}). By default, \pkg{polyglossia} tries hard to
% provide the correct order for different classes and packages (standard classes, \pkg{KOMA-script},
@@ -1151,41 +1571,66 @@ to track the issues and follow progress.
% \subsection{italian}\label{italian}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{babelshorthands} = \textit{false} or true. \new{v1.2.0cc}% TODO: check version
+% \item \xpgboolkeyfalse[1.2.0cc]{babelshorthands}% TODO: check version
% Activates the ¦"¦ character as a switch to perform etymological
% hyphenation when followed by a letter. Furthermore, the following shorthands are activated:
% \begin{shorthands}
% \item[¦""¦] double raised open quotes (the Italian keyboard misses the backtick).
% \item[¦"<¦] open guillemet (looks like <<).
% \item[¦">¦] closing guillemet (looks like >>).
-% \item[¦"/¦] a slash that allows for a subsequent line break. As opposed to ¦\slash¦,
+% \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[¦"-¦] adds a hyphenation point that does still allow for hyphenation at the points preset
-% in the hyphenation patterns (as opposed to ¦\-¦).
+% in the hyphenation patterns (as opposed to \cmd\-).
% \end{shorthands}
% \end{itemize}
%
-% \subsection[korean]{korean\new{v1.40.0}}\label{korean}
+% \subsection[korean]{korean\new{1.40.0}}\label{korean}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{variant} = \textit{plain}, classic or modern:
-% for spacing before/after CJK punctuations.
-% `classic' is suitable for text with no interword spaces,
-% `modern' for text with interword spaces.
-% \item \TB{captions} = \textit{hangul} or hanja
+% \item \xpgchoicekey{variant}{\xpgpresetvalue{plain}, \xpgvalue{classic}, or \xpgvalue{modern}}
+% These variants control spacing before/after CJK punctuations.
+% \begin{itemize}
+% \item ¦plain¦: Do nothing
+% \item ¦classic¦: Suitable for text with no interword spaces.
+% This option forces CJK punctuations to half-width, and
+% inserts half-width glue around them.
+% \item ¦modern¦: Suitable for text with interword spaces.
+% This option forces CJK punctuations to half-width, and
+% inserts small (half of interword space) glue around them.
+% \end{itemize}
+% \item \xpgchoicekey{captions}{\xpgpresetvalue{hangul} or \xpgvalue{hanja}}
+% \item \xpgchoicekey[1.47]{swapstrings}{\xpgdefaultvalue{\xpgpresetvalue{all}},
+% \xpgvalue{headers}, \xpgvalue{headings}, or \xpgvalue{none}}
+% With this option, Korean-style part and chapter headings, and
+% running headers are available.
+% It is similar to Hungarian (see \ref{hungarian}) except that
+% figure and table captions are not touched.
+% \begin{itemize}
+% \item ¦all¦: Redefine part and chapter headings, and running headers
+% (=~default setting)
+% \item ¦headings¦: Redefine part and chapter headings only
+% \item ¦headers¦: Redefine running headers only
+% \item ¦none¦: Do not redefine anything
+% \end{itemize}
% \end{itemize}
%
-% \subsection[kurdish]{kurdish\new{v1.45}}\label{kurdish}
+% \subsection[kurdish]{kurdish\new{1.45}}\label{kurdish}
%
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{variant} = kurmanji or \textit{sorani}
-% \item \TB{script} = Arabic or Latin. Defaults are ¦Arabic¦ for Sorani and ¦Latin¦ for Kurmanji.
-% \item \TB{numerals} = western or eastern. Defaults are ¦western¦ for Latin and ¦eastern¦ for Arabic script, depending on the selection above.
-% \item \TB{abjadjimnotail} = \textit{false} or true.
-% Set this to true if you want the \textit{abjad} form of the number three to be \textarabic{ج‍} – as in the manuscript tradition – instead of the modern usage \textarabic{ج}.
-% ^^A \item \TB{locale} (not yet implemented)
-% ^^A \item \TB{calendar} (not yet implemented)
+% \item \xpgchoicekey{variant}{\xpgvalue{kurmanji} or \xpgpresetvalue{sorani}}
+% \item \xpgchoicekey{script}{\xpgvalue{Arabic} or \xpgvalue{Latin}}
+% Defaults are \xpgvalue{Arabic} for Sorani and \xpgvalue{Latin} for Kurmanji.
+% \item \xpgchoicekey{numerals}{\xpgvalue{western} or \xpgvalue{eastern}}
+% Defaults are \xpgvalue{western} for Latin and \xpgvalue{eastern} for Arabic script, depending
+% on the selection above.
+% \item \xpgboolkeyfalse{abjadjimnotail}
+% Set this to true if you want the \textit{abjad} form of the number three to
+% be \textarabic{ج‍} – as in the manuscript tradition – instead of the
+% modern usage \textarabic{ج}.
+% ^^A \item \xpgchoicekey{locale}{} (not yet implemented)
+% ^^A \item \xpgchoicekey{calendar}{} (not yet implemented)
% \end{itemize}
% \condbreak{2\baselineskip}
% \paragraph*{Commands:}
@@ -1196,34 +1641,33 @@ to track the issues and follow progress.
% \item \Cmd\aemph (see section \ref{arabic})
% \end{itemize}
%
-% \subsection[lao]{lao\new{v1.2.0}}\label{lao}
+% \subsection[lao]{lao\new{1.2.0}}\label{lao}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{numerals} = lao or \textit{arabic}
+% \item \xpgchoicekey{numerals}{\xpgvalue{lao} or \xpgpresetvalue{arabic}}
% \end{itemize}
%
% \subsection{latin}\label{latin}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{variant} = classic, medieval, \emph{modern}, or ecclesiastic\new{v.1.46}
-%
-% These variants refer to different spelling conventions. The ¦classic¦
-% and the ¦medieval¦ variant do not use the letters \emph{U} and
+% \item \xpgchoicekey{variant}{\xpgvalue{classic}, \xpgvalue{medieval}, \xpgpresetvalue{modern}, or \xpgvalue{ecclesiastic}\new{1.46}}
+% These variants refer to different spelling conventions. The \xpgvalue{classic}
+% and the \xpgvalue{medieval} variant do not use the letters \emph{U} and
% \emph{v}, but only \emph{V} and \emph{u}. This concerns predefined terms like
% month names as well as the behaviour of the \cmd\MakeUppercase\ and the
% \cmd\MakeLowercase\ command. The ¦medieval¦ and the
% ¦ecclesiastic¦ variant use the ligatures \emph{\ae} and \emph{\oe}.
% See table \ref{tab:latin-spelling} for examples.
%
-% Furthermore, the \texttt{ecclesiastic} variant takes care for a punctuation
+% Furthermore, the \xpgvalue{ecclesiastic} variant takes care for a punctuation
% spacing similar to French, but with smaller spaces, as provided for
% PDF\TeX\ by the \pkg{ecclesiastic} package.
% \begin{table}
% \centering
% \caption{\label{tab:latin-spelling}Spelling differences between the Latin
% language variants.\newline The capitalization of month names and the use of
-% \emph{i/j} may be affected by the \texttt{capitalizemonth} and the
-% \texttt{usej} option.}
+% \emph{i/j} may be affected by the \xpgvalue{capitalizemonth} and the
+% \xpgvalue{usej} option.}
% \begin{tabular}{llll}
% \toprule
% \textbf{classic} & \textbf{medieval} & \textbf{modern} & \textbf{ecclesiastic} \\
@@ -1236,8 +1680,7 @@ to track the issues and follow progress.
% \bottomrule
% \end{tabular}
% \end{table}
-% \item \TB{hyphenation}\new{v.1.46} = classic, modern, or liturgical
-%
+% \item \xpgchoicekey[1.46]{hyphenation}{\xpgvalue{classic}, \xpgvalue{modern}, or \xpgvalue{liturgical}}
% There are three different sets of hyphenation patterns for Latin. Separate
% documention for them is available on the
% Internet.\footnote{\url{https://github.com/gregorio-project/hyphen-la/blob/master/doc/README.md\#hyphenation-styles}}
@@ -1246,7 +1689,7 @@ to track the issues and follow progress.
% ¦hyphenation¦ option if the default style does not fit your needs.
% Note that the liturgical hyphenation patterns are the default of none of the
% language variants. To use them, you have to say
-% ¦hyphenation=liturgical¦ in any case.
+% \xpgvalue{hyphenation=liturgical} in any case.
% \begin{table}
% \caption{\label{tab:latin-hyphenation}Latin default hyphenation styles}
% \centering
@@ -1261,8 +1704,7 @@ to track the issues and follow progress.
% \bottomrule
% \end{tabular}
% \end{table}
-% \item \TB{ecclesiasticfootnotes}\new{v.1.46} = true or \emph{false}
-%
+% \item \xpgboolkeyfalse[1.46]{ecclesiasticfootnotes}
% Use footnotes as provided by the \pkg{ecclesiastic} package, which typesets
% footnotes with ordinary instead of superior numbers and without indentation.
% As many ecclesiastic documents and liturgical books use footnotes that are
@@ -1271,24 +1713,21 @@ to track the issues and follow progress.
%
% Note that this option is only possible if Latin is the main language of your
% document.
-% \item \TB{usej}\new{v.1.46} = true or \emph{false}
-%
+% \item \xpgboolkeyfalse[1.46]{usej}
% Use \emph{J/j} in predefined terms. The letter \emph{j} is not of ancient
% origin. In early modern times, it was used to distinguish the consonantic
% \emph{i} from the vocalic~\emph{i}. Nowadays, the use of \emph{j} has
% disappeared from most Latin publications. So ¦false¦ is the default
% value for all four language variants. Use this option if you prefer
% \emph{Januarii} and \emph{Maji} to \emph{Ianuarii} and \emph{Maii}.
-% \item \TB{capitalizemonth}\new{v.1.46} = true or false
-%
+% \item \xpgboolkey[1.46]{capitalizemonth}
% Capitalize the month name when printing dates (using the \cmd\today\
% command). Traditionally, month names are capitalized. However, in recent
% liturgical books they are lowercase. So ¦true¦ is the default value for
% the variants ¦classic¦, ¦medieval¦, and ¦modern¦,
% whereas ¦false¦ is the default value for the ¦ecclesiastic¦
% variant.
-% \item \TB{babelshorthands} = true or \emph{false}
-%
+% \item \xpgboolkeyfalse{babelshorthands}
% Enable the following shorthands inherited from \pkg{babel-latin} and the
% \pkg{ecclesiastic} package.
% \begin{shorthands}
@@ -1314,14 +1753,12 @@ to track the issues and follow progress.
% \item[¦'Ae¦] for Ǽ (AE ligature with acute), also available for \'Œ
% \item[¦'AE¦] for Ǽ (AE ligature with acute), also available for \'Œ
% \end{shorthands}
-% \item \TB{prosodicshorthands}\new{v.1.46} = true or \emph{false}
-%
+% \item \xpgboolkeyfalse[1.46]{prosodicshorthands}
% Enable shorthands for prosodic marks (macrons and breves) very similiar to
% those provided by \pkg{babel-latin} using the ¦withprosodicmarks¦
% modifier.
-%
% Note that the active ¦=¦ character used for macrons will cause problems with
-% commands using \texttt{key=value} interfaces, \eg
+% commands using \texttt{key=value} interfaces, such as the command
% ¦\includegraphics[scale=2]{...}¦. Use \cmd{\shorthandoff\{=\}} before
% such commands (and \cmd{\shorthandon\{=\}} thereafter) within every
% environment with prosodic shorthands enabled.
@@ -1354,20 +1791,25 @@ to track the issues and follow progress.
% \subsection{malay}\label{malay}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{variant}\new{v1.45} = \textit{indonesian} (=~bahasai in \pkg{babel}) or
-% malaysian (=~bahasam in \pkg{babel})
+% \item \xpgchoicekey[1.45]{variant}{\xpgpresetvalue{indonesian} or \xpgvalue{malaysian}}
% \end{itemize}
%
-% \subsection[mongolian]{mongolian\new{v1.45}}\label{mongolian}
+% \subsection{marathi}\label{marathi}
+% \paragraph*{Options:}
+% \begin{itemize}
+% \item \xpgchoicekey{numerals}{\xpgpresetvalue{Devanagari} or \xpgvalue{Western}}
+% \end{itemize}
+%
+% \subsection[mongolian]{mongolian\new{1.45}}\label{mongolian}
% Currently, only the Khalkha variety in Cyrillic script is supported.
%
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{babelshorthands} = \textit{false} or true.
+% \item \xpgboolkeyfalse{babelshorthands}
% If this is turned on, the following shorthands 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 ¦\-¦).
+% 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[¦"|¦] disables a ligature at this position.
@@ -1381,32 +1823,44 @@ to track the issues and follow progress.
% \item[¦"<¦] for French left double quotes (looks like <<).
% \item[¦">¦] for French right double quotes (looks like >>).
% \end{shorthands}
-% \item \TB{numerals} = \textit{arabic} or cyrillic. Uses either Arabic numerals or Cyrillic
-% alphanumerical numbering.
+% \item \xpgchoicekey{numerals}{\xpgpresetvalue{arabic}, \xpgvalue{cyrillic-alph} or \xpgvalue{cyrillic-trad}}
+% Uses either Arabic numerals or Cyrillic alphanumerical numbering. The two Cyrillic variants differ as follows:
+% \begin{itemize}
+% \item \xpgvalue{cyrillic-alph} steps through the Cyrillic alphabet. Thus it can only be used up to 30.
+% \item \xpgvalue{cyrillic-trad} (= \xpgvalue{cyrillic}) uses a traditional Cyrillic alphanumeric system.%
+% \footnote{See \url{https://en.wikipedia.org/wiki/Cyrillic_numerals}.}
+% It supports numbers up to 999\,999.
+% \end{itemize}
% \end{itemize}
% ^^A
% \paragraph*{Commands:}
% \begin{itemize}
-% \item \Cmd\Asbuk: produces uppercased Cyrillic alphanumerals, for
-% environments such as ¦enumerate¦. The command takes a counter as argument,
-% \eg ¦\textmongolian{\Asbuk{page}}¦ produces \textrussian{\Asbuk{page}}.
-% \item \Cmd\asbuk: same in lowercase
+% \item \Cmd\Asbuk: produces uppercased Cyrillic alphanumerals, for environments such as ¦enumerate¦.
+% It steps through the Cyrillic alphabet and thus it can only be used up to 30.
+% The command takes a counter as argument, \eg ¦\textmongolian{\Asbuk{section}}¦ produces \textrussian{\Asbuk{section}}.
+% \item \Cmd\asbuk: same as \cmd\Asbuk\ but in lowercase.
+% \item \Cmd\AsbukTrad: same as \cmd\Asbuk\ but using the traditional Cyrillic alphanumeric numbering which supports
+% numbers up to 999\,999.\\
+% \Eg ¦\textmongolian{\AsbukTrad{section}}¦ produces \textrussian{\AsbukTrad{section}}.
+% \item \Cmd\asbukTrad: same as \cmd\AsbukTrad\ but in lowercase.
% \end{itemize}
%
% \subsection{norwegian}\label{norwegian}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{variant}\new{v1.45} = bokmal (=~`norsk' in \pkg{babel}) or \textit{nynorsk}
+% \item \xpgchoicekey[1.45]{variant}{\xpgvalue{bokmal} or \xpgpresetvalue{nynorsk}}
% \end{itemize}
%
% \subsection{persian}\label{persian}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{numerals} = western or \textit{eastern}
-% \item \TB{abjadjimnotail} = \textit{false} or true. \new{v1.0.3}
-% Set this to true if you want the \textit{abjad} form of the number three to be \textarabic{ج‍} – as in the manuscript tradition – instead of the modern usage \textarabic{ج}.
-% ^^A \item \TB{locale} (not yet implemented)
-% ^^A \item \TB{calendar} (not yet implemented)
+% \item \xpgchoicekey{numerals}{\xpgvalue{western} or \xpgpresetvalue{eastern}}
+% \item \xpgboolkeyfalse[1.0.3]{abjadjimnotail}
+% Set this to \xpgvalue{true} if you want the \textit{abjad} form of the number three to
+% be \textarabic{ج‍} – as in the manuscript tradition – instead of the
+% modern usage \textarabic{ج}.
+% ^^A \item \xpgchoicekey{locale}{} (not yet implemented)
+% ^^A \item \xpgchoicekey{calendar}{} (not yet implemented)
% \end{itemize}
% \paragraph*{Commands:}
% \begin{itemize}
@@ -1417,17 +1871,17 @@ to track the issues and follow progress.
% \subsection{portuguese}\label{portuguese}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{variant}\new{v1.45} = brazilian or \textit{portuguese}
+% \item \xpgchoicekey[1.45]{variant}{\xpgvalue{brazilian} or \xpgpresetvalue{portuguese}}
% \end{itemize}
%
% \subsection{russian}\label{russian}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{babelshorthands} = \textit{false} or true.
+% \item \xpgboolkeyfalse{babelshorthands}
% If this is turned on, the following shorthands 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 ¦\-¦).
+% 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[¦"|¦] disables a ligature at this position.
@@ -1442,48 +1896,72 @@ to track the issues and follow progress.
% ^^A \item[¦"<¦] for French left double quotes (looks like <<).
% ^^A \item[¦">¦] for French right double quotes (looks like >>).
% \end{shorthands}
-% \item \TB{indentfirst}\new{v1.46} = \textit{true} or false. By default, all paragraphs are indented in Russian,
-% also those after a chapter or section heading. If this option is false, the latter paragraphs
-% are not indented, as normal in \LaTeX.
-% \item \TB{spelling} = \textit{modern} or old (for captions and date only, not for hyphenation)
-% \item \TB{numerals} = \textit{arabic} or cyrillic. Uses either Arabic numerals or Cyrillic
-% alphanumerical numbering.
+% \item \xpgboolkeytrue[1.46]{indentfirst}
+% By default, all paragraphs are indented in Russian, also those after a
+% chapter or section heading. If this option is false, the latter paragraphs
+% are not indented, as normal in \LaTeX.
+% \item \xpgchoicekey{spelling}{\xpgpresetvalue{modern} or \xpgvalue{old}}
+% This option is for captions and date only, not for hyphenation.
+% \item \xpgchoicekey{numerals}{\xpgpresetvalue{arabic}, \xpgvalue{cyrillic-alph} or \xpgvalue{cyrillic-trad}}
+% Uses either Arabic numerals or Cyrillic alphanumerical numbering. The two Cyrillic variants differ as follows:
+% \begin{itemize}
+% \item \xpgvalue{cyrillic-alph} steps through the Cyrillic alphabet. Thus it can only be used up to 30.
+% \item \xpgvalue{cyrillic-trad} (= \xpgvalue{cyrillic}) uses a traditional Cyrillic alphanumeric system.%
+% \footnote{See \url{https://en.wikipedia.org/wiki/Cyrillic_numerals}.}
+% It supports numbers up to 999\,999.
+% \end{itemize}
% \end{itemize}
% ^^A
% \paragraph*{Commands:}
% \begin{itemize}
-% \item \Cmd\Asbuk: produces uppercased Cyrillic alphanumerals, for
-% environments such as ¦enumerate¦. The command takes a counter as argument,
-% \eg ¦\textrussian{\Asbuk{page}}¦ produces \textrussian{\Asbuk{page}}.
-% \item \Cmd\asbuk: same in lowercase
+% \item \Cmd\Asbuk: produces uppercased Cyrillic alphanumerals, for environments such as ¦enumerate¦.
+% It steps through the Cyrillic alphabet and thus it can only be used up to 30.
+% The command takes a counter as argument, \eg ¦\textrussian{\Asbuk{section}}¦ produces \textrussian{\Asbuk{section}}.
+% \item \Cmd\asbuk: same as \cmd\Asbuk\ but in lowercase.
+% \item \Cmd\AsbukTrad: same as \cmd\Asbuk\ but using the traditional Cyrillic alphanumeric numbering which supports
+% numbers up to 999\,999.\\
+% \Eg ¦\textrussian{\AsbukTrad{page}}¦ produces \textrussian{\AsbukTrad{page}}.
+% \item \Cmd\asbukTrad: same as \cmd\AsbukTrad\ but in lowercase.
% \end{itemize}
%
-% \subsection[sami]{sami\new{v1.45}}\label{sami}
+% \subsection[sami]{sami\new{1.45}}\label{sami}
% Currently support for Sami is limited to Northern Sami.
%
% \subsection{sanskrit}\label{sanskrit}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{script} = \textit{Devanagari}\new{v1.0.2}, Gujarati, Malayalam, Bengali, Kannada,
-% Telugu or Latin.
-% The value is passed to \pkg{fontspec} in cases where the respective ¦\⟨script⟩font¦ is not defined.
-% This can be useful if you typeset Sanskrit texts in scripts other than Devanagari.
-% \item \TB{numerals} = \textit{Devanagari}\new{v1.45} or Western
+% \item \xpgchoicekey[1.0.2]{script}{\xpgpresetvalue{Devanagari}, \xpgvalue{Gujarati},
+% \xpgvalue{Malayalam}, \xpgvalue{Bengali}, \xpgvalue{Kannada}, \xpgvalue{Telugu}, or \xpgvalue{Latin}}
+% The value is passed to \pkg{fontspec} in cases where the respective
+% \cmd{\⟨script⟩font} is not defined. This can be useful if you typeset Sanskrit
+% texts in scripts other than Devanagari.
+% \item \xpgchoicekey[1.45]{numerals}{\xpgpresetvalue{Devanagari} or \xpgvalue{Western}}
% \end{itemize}
-%
+%
% \subsection{serbian}\label{serbian}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{script} = \textit{Cyrillic} or Latin.
-% \item \TB{numerals} = \textit{arabic} or cyrillic. Uses either Arabic numerals or Cyrillic
-% alphanumerical numbering.
-% \end{itemize}
+% \item \xpgchoicekey{script}{\xpgpresetvalue{Cyrillic} or \xpgvalue{Latin}}
+% \item \xpgchoicekey{numerals}{\xpgpresetvalue{arabic}, \xpgvalue{cyrillic-alph} or \xpgvalue{cyrillic-trad}}
+% Uses either Arabic numerals or Cyrillic alphanumerical numbering. The two Cyrillic variants differ as follows:
+% \begin{itemize}
+% \item \xpgvalue{cyrillic-alph} steps through the Cyrillic alphabet. Thus it can only be used up to 30.
+% \item \xpgvalue{cyrillic-trad} (= \xpgvalue{cyrillic}) uses a traditional Cyrillic alphanumeric system.%
+% \footnote{See \url{https://en.wikipedia.org/wiki/Cyrillic_numerals}.}
+% It supports numbers up to 999\,999.
+% \end{itemize}
+% \end{itemize}
+% ^^A
% \paragraph*{Commands:}
% \begin{itemize}
-% \item \Cmd\Asbuk: produces uppercased Cyrillic alphanumerals, for
-% environments such as ¦enumerate¦. The command takes a counter as argument,\\
-% Example: ¦\textserbian[numerals=cyrillic]{\Asbuk{page}}¦ produces \textserbian[numerals=cyrillic]{\Asbuk{page}}.
-% \item \Cmd\asbuk: same in lowercase
+% \item \Cmd\Asbuk: produces uppercased Cyrillic alphanumerals, for environments such as ¦enumerate¦.
+% It steps through the Cyrillic alphabet and thus it can only be used up to 30.
+% The command takes a counter as argument, \eg ¦\textserbian{\Asbuk{section}}¦ produces \textrussian{\Asbuk{section}}.
+% \item \Cmd\asbuk: same as \cmd\Asbuk\ but in lowercase.
+% \item \Cmd\AsbukTrad: same as \cmd\Asbuk\ but using the traditional Cyrillic alphanumeric numbering which supports
+% numbers up to 999\,999.\\
+% \Eg ¦\textserbian{\AsbukTrad{page}}¦ produces \textrussian{\AsbukTrad{page}}.
+% \item \Cmd\asbukTrad: same as \cmd\AsbukTrad\ but in lowercase.
% \end{itemize}
%
%
@@ -1491,9 +1969,9 @@ to track the issues and follow progress.
%
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{babelshorthands} = \textit{false} or true. \new{v1.46}
-% if this is turned on, the following shorthands for Slovak are activated:
-% \begin{shorthands}
+% \item \xpgboolkeyfalse[1.46]{babelshorthands}
+% If this is turned on, the following shorthands for Slovak are activated:
+% \begin{shorthands}
% \item[¦"=¦] for an explicit hyphen sign which is repeated at the beginning
% of the next line when hyphenated, as common in Slovak typesetting
% (only needed with ¦splithyphens=false¦).
@@ -1501,23 +1979,23 @@ to track the issues and follow progress.
% \item[\texttt{"\textasciitilde}] for a hyphen sign without a breakpoint. Useful for
% cases where the hyphen should stick at the following syllable.
% \item[¦"-¦] adds a hyphenation point that does still allow for hyphenation at the points preset
-% in the hyphenation patterns (as opposed to ¦\-¦).
+% in the hyphenation patterns (as opposed to \cmd\-).
% \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 ¦\slash¦, hyphenation at the breakpoints
+% \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[¦"‘¦] for Slovak left double quotes (looks like ,,).
% \item[¦"’¦] for Slovak right double quotes (looks like “).
% \item[¦">¦] for Slovak left double guillemets (looks like >>).
% \item[¦"<¦] for Slovak right double guillemets (looks like <<).
-% \end{shorthands}
-% \item \TB{splithyphens} = \textit{false} or true. \new{v1.46}
+% \end{shorthands}
+% \item \xpgboolkeytrue[1.46]{splithyphens}
% According to Slovak typesetting conventions, if a word with a hard hyphen (such as \emph{je-li})
% is hyphenated at this hyphen, a second hyphenation character is to be inserted at the beginning
% of the line that follows the hyphenation (\emph{je-/-li}).
% By default, this is done automatically (if you are using \LuaTeX, the \pkg{luavlna} package is
% loaded to achieve this).
% Set this option to ¦false¦ to disable the feature.
-% \item \TB{vlna} = \textit{false} or true. \new{v1.46}
+% \item \xpgboolkeytrue[1.46]{vlna}
% According to Slovak typesetting conventions, single-letter words (non-syllable prepositions)
% must not occur at line ends.
% \pkg{Polyglossia} takes care of this automatically by default (if you are using \LuaTeX, the
@@ -1528,26 +2006,31 @@ to track the issues and follow progress.
% \subsection{slovenian}\label{slovenian}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{localalph} = true or \textit{false}
+% \item \xpgboolkeyfalse{localalph}
+% If \xpgvalue{true}, alpha-numeric counters will use a localized version including characters with caron
+% (a, b, c, č, d, \ldots).
% \end{itemize}
%
% \subsection{sorbian}\label{sorbian}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{variant}\new{v1.45} = lower or \textit{upper}
-% \item \TB{olddate}\new{v1.45} = true or \textit{false} (default value = true). If true, ¦\today¦
-% will use traditional Sorbian month names (\ie it will be synonymous to ¦\oldtoday¦ below)
+% \item \xpgchoicekey[1.45]{variant}{\xpgvalue{lower} or \xpgpresetvalue{upper}}
+% \item \xpgboolkeyfalse[1.45]{olddate}
+% If \xpgvalue{true}, \cmd\today\ will use traditional Sorbian month names (\ie it will be
+% synonymous to \cmd\oldtoday\ below).
% \end{itemize}
% \paragraph*{Commands:}
% \begin{itemize}
-% \item \Cmd\oldtoday: outputs the current date using traditional Sorbian month names, even if \TB{olddate} is false.
+% \item \Cmd\oldtoday: outputs the current date using traditional Sorbian month names, even if
+% \xpgvalue{olddate} is \xpgvalue{false}.
% \end{itemize}
%
% \subsection{spanish}\label{spanish}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{variant} = \textit{spanish} or mexican.\new{v1.46}
-% \item \TB{spanishoperators} = all, accented, spaced or none or \textit{false} (default value = all).\new{v1.46}
+% \item \xpgchoicekey[1.46]{variant}{\xpgpresetvalue{spanish} or \xpgvalue{mexican}}
+% \item \xpgchoicekey[1.46]{spanishoperators}{\xpgdefaultvalue{all}, \xpgvalue{accented},
+% \xpgvalue{spaced}, \xpgvalue{none}, or \xpgpresetvalue{false}}
% Determines of and how math operators are localized to Spanish.
% \begin{itemize}
% \item ¦accented¦ causes some math operators to use accents where usual in Spanish (\emph{lím},
@@ -1555,29 +2038,29 @@ to track the issues and follow progress.
% \item ¦spaced¦ causes some math operators to use spaces where usual in Spanish (\emph{arc\,cos},
% \emph{arc\,sen}, \emph{arc\,tg}).
% \item ¦all¦ activates ¦accented¦ and ¦spaced¦ and furthermore provides Spanish localizations of
-% ¦\sin¦ (\emph{sen}), ¦\tan¦ (\emph{tg}), ¦\sinh¦ (\emph{senh}), and ¦\tanh¦ (\emph{tgh}).
-% \item ¦none¦ does no localization at all (default setting).
+% \cmd\sin\ (\emph{sen}), \cmd\tan\ (\emph{tg}), \cmd\sinh\ (\emph{senh}), and \cmd\tanh\ (\emph{tgh}).
+% \item ¦none¦ does no localization at all (default setting).
% \end{itemize}
% \end{itemize}
-% \paragraph*{\color{black}Commands:}\new{v1.46}
+% \paragraph*{\color{black}Commands:}\new{1.46}
% \begin{itemize}
-% \item \Cmd\arcsen: alias to ¦\arcsin¦ (\pkg{babel} compatibility)
-% \item \Cmd\arctg: alias to ¦\arctan¦ (\pkg{babel} compatibility)
-% \item \Cmd\sen: alias to ¦\sin¦ (\pkg{babel} compatibility)
-% \item \Cmd\senh: alias to ¦\sinh¦ (\pkg{babel} compatibility)
-% \item \Cmd\tg: alias to ¦\tan¦ (\pkg{babel} compatibility)
-% \item \Cmd\tgh: alias to ¦\tanh¦ (\pkg{babel} compatibility)
+% \item \Cmd\arcsen: alias to \cmd\arcsin\ (\pkg{babel} compatibility)
+% \item \Cmd\arctg: alias to \cmd\arctan\ (\pkg{babel} compatibility)
+% \item \Cmd\sen: alias to \cmd\sin\ (\pkg{babel} compatibility)
+% \item \Cmd\senh: alias to \cmd\sinh\ (\pkg{babel} compatibility)
+% \item \Cmd\tg: alias to \cmd\tan\ (\pkg{babel} compatibility)
+% \item \Cmd\tgh: alias to \cmd\tanh\ (\pkg{babel} compatibility)
% \item \Cmd\spanishoperator: allows you to define further localized operators. For instance, ¦\spanishoperator{cotg}¦
-% defines a command ¦\cotg¦ that outputs \emph{cotg} in math. The optional argument of the command lets you specify the
+% defines a command \cmd\cotg\ that outputs \emph{cotg} in math. The optional argument of the command lets you specify the
% spelling, if needed, \eg ¦\spanishoperator[arc\,ctg]{arcctg}¦.
% \end{itemize}
%
% \subsection{syriac}\label{syriac}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{numerals} = \textit{western} (i.e., 1234567890), eastern
-% (for which the Oriental Arabic numerals are used: \textarabic{١٢٣٤٥٦٧٨٩٠}),
-% or abjad. \new{v1.0.1}.
+% \item \xpgchoicekey[1.0.1]{numerals}{\xpgpresetvalue{western} (\ie 1234567890), \xpgvalue{eastern}
+% (for which the Oriental Arabic numerals are used: \textarabic{١٢٣٤٥٦٧٨٩٠}), or
+% \xpgvalue{abjad}}
% \end{itemize}
% \paragraph*{Commands:}
% \begin{itemize}
@@ -1588,7 +2071,7 @@ to track the issues and follow progress.
% \subsection{thai}\label{thai}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{numerals} = thai or \textit{arabic}
+% \item \xpgchoicekey{numerals}{\xpgvalue{thai} or \xpgpresetvalue{arabic}}
% \end{itemize}
% ^^A
% To insert word breaks, you need to use an external processor.
@@ -1598,21 +2081,58 @@ to track the issues and follow progress.
% \subsection{tibetan}\label{tibetan}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{numerals} = tibetan or \textit{arabic}
+% \item \xpgchoicekey{numerals}{\xpgvalue{tibetan} or \xpgpresetvalue{arabic}}
% \end{itemize}
%
% \subsection{ukrainian}\label{ukrainian}
-% \paragraph*{Commands:}
+%
+% \paragraph*{Options:}
+% \begin{itemize}
+% \item \xpgboolkeyfalse{babelshorthands}
+% If this is turned on, the following shorthands 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[¦"|¦] disables a ligature at this position.
+% \item[¦""¦] allows for a line break at this position (without hyphenation sign).
+% \item[¦"---¦] Cyrillic emdash in plain text.
+% \item[¦"--~¦] Cyrillic emdash in compound names (surnames).
+% \item[¦"--*¦] Cyrillic emdash for denoting direct speech.
+% ^^A These are commented out in gloss-ukrainian
+% ^^A \item[¦",¦] thinspace for initials with a breakpoint in following surname.
+% ^^A \item[¦"‘¦] for German left double quotes (looks like ,,).
+% ^^A \item[¦"’¦] for German right double quotes (looks like “).
+% ^^A \item[¦"<¦] for French left double quotes (looks like <<).
+% ^^A \item[¦">¦] for French right double quotes (looks like >>).
+% \end{shorthands}
+% \item \xpgchoicekey{numerals}{\xpgpresetvalue{arabic}, \xpgvalue{cyrillic-alph} or \xpgvalue{cyrillic-trad}}
+% Uses either Arabic numerals or Cyrillic alphanumerical numbering. The two Cyrillic variants differ as follows:
% \begin{itemize}
-% \item \Cmd\Asbuk: produces the uppercase Ukrainian alphabet, for
-% environments such as ¦enumerate¦
-% \item \Cmd\asbuk: same in lowercase
+% \item \xpgvalue{cyrillic-alph} steps through the Cyrillic alphabet. Thus it can only be used up to 30.
+% \item \xpgvalue{cyrillic-trad} (= \xpgvalue{cyrillic}) uses a traditional Cyrillic alphanumeric system.%
+% \footnote{See \url{https://en.wikipedia.org/wiki/Cyrillic_numerals}.}
+% It supports numbers up to 999\,999.
% \end{itemize}
+% \end{itemize}
+% ^^A
+% \paragraph*{Commands:}
+% \begin{itemize}
+% \item \Cmd\Asbuk: produces uppercased Cyrillic alphanumerals, for environments such as ¦enumerate¦.
+% It steps through the Cyrillic alphabet and thus it can only be used up to 30.
+% The command takes a counter as argument, \eg ¦\textukrainian{\Asbuk{section}}¦ produces \textrussian{\Asbuk{section}}.
+% \item \Cmd\asbuk: same as \cmd\Asbuk\ but in lowercase.
+% \item \Cmd\AsbukTrad: same as \cmd\Asbuk\ but using the traditional Cyrillic alphanumeric numbering which supports
+% numbers up to 999\,999.\\
+% \Eg ¦\textukrainian{\AsbukTrad{page}}¦ produces \textrussian{\AsbukTrad{page}}.
+% \item \Cmd\asbukTrad: same as \cmd\AsbukTrad\ but in lowercase.
+% \end{itemize}
%
% \subsection{welsh}\label{welsh}
% \paragraph*{Options:}
% \begin{itemize}
-% \item \TB{date} = long or \textit{short}
+% \item \xpgchoicekey{date}{\xpgvalue{long} or \xpgpresetvalue{short}}
% \end{itemize}
%
%
@@ -1620,55 +2140,55 @@ to track the issues and follow progress.
%
% \pkg{Polyglossia} uses the following macros to define language-specific captions
% (\ie strings such as ``chapter''), date formats and additional language settings
-% (¦⟨lang⟩¦ is to be replaces with the respective language name):
+% (\meta{lang} is to be replaces with the respective language name):
%
% \begin{itemize}
-% \item \Cmd{\captions⟨lang⟩} stores definitions of caption strings
+% \item \Cmd{\captions\meta{lang}} stores definitions of caption strings
% (such as, in the case of English, ¦\def\chaptername{Chapter}¦)
-% \item \Cmd{\date⟨lang⟩} stores definitions of date formats (usually redefinitions
-% of ¦\today¦, in some cases also definitions of additional date commands)
-% \item \Cmd{\blockextras⟨lang⟩} stores macros that are to be executed when the language
-% ⟨lang⟩ is activated via ¦\selectlanguage¦ command or the ¦⟨lang⟩¦ environment
-% \item \Cmd{\inlineextras⟨lang⟩} stores macros that are to be executed when the language
-% ⟨lang⟩ is activated locally via ¦\text⟨lang⟩¦ command
-% \item \Cmd{\noextras⟨lang⟩} stores macros that are to be executed when the language
-% ¦⟨lang⟩¦ is closed
-% \end{itemize}
+% \item \Cmd{\date\meta{lang}} stores definitions of date formats (usually redefinitions
+% of \cmd\today, in some cases also definitions of additional date commands)
+% \item \Cmd{\blockextras\meta{lang}} stores macros that are to be executed when the language
+% \meta{lang} is activated via \cmd\selectlanguage command or the \meta{lang} environment
+% \item \Cmd{\inlineextras\meta{lang}} stores macros that are to be executed when the language
+% \meta{lang} is activated locally via \cmd\text\meta{lang} command
+% \item \Cmd{\noextras\meta{lang}} stores macros that are to be executed when the language
+% \meta{lang} is closed
+% \end{itemize}
% ^^A
-% In order to redefine internal macros, we recommend to use the command ¦\gappto¦.
-% For compatibility with \pkg{babel} the command ¦\addto¦ is also available
-% to the same effect. For instance, to change the ¦\chaptername¦ for language ¦lingua¦,
+% In order to redefine internal macros, we recommend to use the command \cmd\gappto.
+% For compatibility with \pkg{babel} the command \cmd\addto\ is also available
+% to the same effect. For instance, to change the \cmd\chaptername\ for language ¦lingua¦,
% you can do this:
% \begin{verbatim}
% \gappto\captionslingua{\def\chaptername{Caput}}
% \end{verbatim}
% ^^A
% Note that this needs to be done after the respective language has been loaded with
-% ¦\setmainlanguage¦ or ¦\setotherlanguage¦.
+% \cmd\setmainlanguage\ or \cmd\setotherlanguage.
%
% Specifically for package authors, analogous commands are provided which are only executed
% if a specific language \emph{variety} is used. As opposed to the macros above, these refer
% to babel names. Other than that, the function is identical:
%
% \begin{itemize}
-% \item \Cmd{\captions@bbl@⟨babelname⟩}
-% \item \Cmd{\date@bbl@⟨babelname⟩}
-% \item \Cmd{\blockextras@bbl@⟨babelname⟩}
-% \item \Cmd{\inlineextras@bbl@⟨babelname⟩}
-% \item \Cmd{\noextras@bbl@⟨babelname⟩}
+% \item \Cmd{\captions@bbl@\meta{babelname}}
+% \item \Cmd{\date@bbl@\meta{babelname}}
+% \item \Cmd{\blockextras@bbl@\meta{babelname}}
+% \item \Cmd{\inlineextras@bbl@\meta{babelname}}
+% \item \Cmd{\noextras@bbl@\meta{babelname}}
% \end{itemize}
% ^^A
% By default, these macros are undefined. If they are defined (\eg by an external package),
-% they will be executed after their respective ¦⟨lang⟩¦ counterpart and thus can be used to
-% overwrite definitions of the former. Again, use ¦\gappto¦ to define\slash modify these macros.
-% For instance, to add a new caption ¦\footnotename¦ to the Swiss variety of German (babel name
+% they will be executed after their respective \meta{lang} counterpart and thus can be used to
+% overwrite definitions of the former. Again, use \cmd\gappto\ to define\slash modify these macros.
+% For instance, to add a new caption \cmd\footnotename\ to the Swiss variety of German (babel name
% ¦nswissgerman¦), you can do this:
% \begin{verbatim}
% \gappto\captions@bbl@nswissgerman{\def\footnotename{Fussnote}}
% \end{verbatim}
% ^^A
% If you do this in a document preamble rather than in a package, you need to embrace the redefinition
-% by ¦\makeatletter¦ and ¦\makeatother¦ due to the ¦@¦ in the macro names.
+% by \cmd\makeatletter\ and \cmd\makeatother\ due to the ¦@¦ in the macro names.
%
% \section{Script-specific numbering}
%
@@ -1694,25 +2214,27 @@ to track the issues and follow progress.
% ¦\localnumeral{42}¦ yields \textarabic{\localnumeral{42}}, whereas in an Hebrew environment, it
% results in \texthebrew[numerals=hebrew]{\localnumeral{42}} with ¦numerals=hebrew¦, and \texthebrew{\localnumeral{42}}
% with ¦numerals=arabic¦. Note that, as opposed to the various ¦digits¦ macros (described in sec.~\ref{sec:decdigit}),
-% the argument of ¦\localnumeral¦ must consist of numbers only.
+% the argument of \cmd\localnumeral\ must consist of numbers only.
%
% For\new{1.45} the conversion of counters, the starred version \Cmd{\localnumeral*} is provided. This takes a counter as argument.
% For instance in an Arabic environment ¦\localnumeral*{page}¦ yields \textarabic{\localnumeral*{page}}.
%
-% For scripts with alphanumeric numbering, the variants \Cmd{\Localnumeral} and \Cmd{\Localnumeral*} provide the uppercased
+% For scripts with alphanumeric numbering, the variants \Cmd{\Localnumeral} and \Cmd{\Localnumeral*} provide the uppercased
% versions.\medskip
%
% \noindent All these macros provide the following options:
%
% \begin{itemize}
-% \item \TB{lang} =\DescribeMacro{[lang=]}\ \textit{local}, main, or <language>.\\
-% Output number in the local form of the currently active language for ¦local¦, the main language of the document for ¦main¦,
-% and any (loaded) language for ¦<language>¦ (\eg ¦\localnumeral[lang=arabic]{42}}¦).
+% \item \DescribeMacro{[lang=]}\xpgchoicekey{lang}{\xpgpresetvalue{local}, \xpgvalue{main},
+% or \xpgvalue{\meta{language}}}
+% Output number in the local form of the currently active language for
+% ¦local¦, the main language of the document for ¦main¦, and any (loaded)
+% language for \meta{language} (\eg ¦\localnumeral[lang=arabic]{42}}¦).
% \end{itemize}
%
% \subsection{Non-Western decimal digits}\label{sec:decdigit}
%
-% In addition\new{v1.1.1} to the generic macros described above, \pkg{polyglossia} provides language-specific conversion macros
+% In addition\new{1.1.1} to the generic macros described above, \pkg{polyglossia} provides language-specific conversion macros
% which can be used if the generic ones do not suit the need.\footnote{%
% A third method are so-called TECKit fontmappings.
% Those can be activated with the \pkg{fontspec} ¦Mapping¦ option,
@@ -1721,7 +2243,7 @@ to track the issues and follow progress.
% typing \cmd{\textarabic\{2010\}} results in \textarabic{٢٠١٠}. Note that this method has some drawbacks, though,
% for instance when the value of a counter has to be written and read from auxiliary files.
% So please use this with care.}
-% The macros have the form ¦\<script>digits¦. They convert Arabic numerical input and leave every other input untouched.
+% The macros have the form \cmd{\⟨script⟩digits}. They convert Arabic numerical input and leave every other input untouched.
% In an Arabic context, for instance, ¦\arabicdigits{9182/738543-X}¦ yields \textarabic{\arabicdigits{9182/738543-X}}.
%
% Currently, the following macros are provided:
@@ -1748,9 +2270,9 @@ to track the issues and follow progress.
% \url{http://en.wikipedia.org/wiki/Hebrew_numerals},
% and \url{http://en.wikipedia.org/wiki/Syriac_alphabet}.}, dedicated macros are provided.
%
-% They work in a similar way than the ¦\<script>digits¦ macros described above: They take Arabic numerical input
+% They work in a similar way than the \cmd{\⟨script⟩digits} macros described above: They take Arabic numerical input
% and output the respective value in the local alphabetic numbering scheme (most of these macros are equivalent
-% to ¦\localnumeral¦ and ¦\Localnumeral¦ in the respective context).
+% to \cmd\localnumeral\ and \cmd\Localnumeral\ in the respective context).
%
% The following macros are provided:
%
@@ -1767,6 +2289,13 @@ to track the issues and follow progress.
%
% \item \Cmd\armeniannumeral produces Armenian alphabetic numbering.
% Example: ¦\armeniannumeral{1863}¦ yields \textarmenian{\armeniannumeral{1863}}.
+%
+% \item \Cmd\belarusiannumeral produces Belarusian numbering, with uppercased variant (for alphanumerical variant) via \Cmd\Belarusiannumeral.
+% Depending on the ¦numerals¦ option in the Belarusian language selection, this is either Arabic digit or Cyrillic
+% alphanumercial output.\\
+% Example: With ¦numerals=latin¦ ¦\belarusiannumeral{19}¦ yields \textrussian{\russiannumeral{19}},
+% with ¦numerals=cyrillic-trad¦ ¦\belarusiannumeral{19}¦ results in \textrussian[numerals=cyrillic-trad]{\russiannumeral{19}},\\
+% with ¦numerals=cyrillic-alph¦ ¦\belarusiannumeral{19}¦ results in \textrussian[numerals=cyrillic-alph]{\russiannumeral{19}}.
%
% \item \Cmd\georgiannumeral produces Georgian alphabetic numbering.\\
% Example: ¦\georgiannumeral{1863}¦ yields \textgeorgian{\georgiannumeral{1863}}.
@@ -1776,24 +2305,40 @@ to track the issues and follow progress.
% ¦\Greeknumeral{1863}¦ results in \textgreek{\Greeknumeral{1863}}.
%
% \item \Cmd\hebrewnumeral, \Cmd\Hebrewnumeral and \Cmd\Hebrewnumeralfinal generate variants of Hebrew alphanumeric numerals.
-% The commands behave exactly as they do in \pkg{babel}: ¦\hebrewnumeral¦ outputs the numbers without any decoration,
-% ¦\Hebrewnumeral¦ adds \textit{gereshayim} before the last letter, ¦\Hebrewnumeralfinal¦ uses in addition the final forms of Hebrew letters.
+% The commands behave exactly as they do in \pkg{babel}: \cmd\hebrewnumeral\ outputs the numbers without any decoration,
+% \cmd\Hebrewnumeral\ adds \textit{gereshayim} before the last letter, \cmd\Hebrewnumeralfinal\ uses in addition the final forms of Hebrew letters.
% Examples:
% ¦\hebrewnumeral{1750}¦ yields \texthebrew{\hebrewnumeral{1750}},
% ¦\Hebrewnumeral{1750}¦ yields \texthebrew{\Hebrewnumeral{1750}},
% and ¦\Hebrewnumeralfinal{1750}¦ yields \texthebrew{\Hebrewnumeralfinal{1750}}.
+%
+% \item \Cmd\mongoliannumeral produces Mongolian numbering, with uppercased variant (for alphanumerical variant) via \Cmd\Mongoliannumeral.
+% Depending on the ¦numerals¦ option in the Mongolian language selection, this is either Arabic digit or Cyrillic
+% alphanumercial output.\\
+% Example: With ¦numerals=latin¦ ¦\mongoliannumeral{19}¦ yields \textrussian{\russiannumeral{19}},
+% with ¦numerals=cyrillic-trad¦ ¦\mongoliannumeral{19}¦ results in \textrussian[numerals=cyrillic-trad]{\russiannumeral{19}},\\
+% with ¦numerals=cyrillic-alph¦ ¦\mongoliannumeral{19}¦ results in \textrussian[numerals=cyrillic-alph]{\russiannumeral{19}}.
%
% \item \Cmd\russiannumeral produces Russian numbering, with uppercased variant (for alphanumerical variant) via \Cmd\Russiannumeral.
% Depending on the ¦numerals¦ option in the Russian language selection, this is either Arabic digit or Cyrillic
% alphanumercial output.\\
% Example: With ¦numerals=latin¦ ¦\russiannumeral{19}¦ yields \textrussian{\russiannumeral{19}},
-% with ¦numerals=cyrillic¦ ¦\russiannumeral{19}¦ results in \textrussian[numerals=cyrillic]{\russiannumeral{19}}.
+% with ¦numerals=cyrillic-trad¦ ¦\russiannumeral{19}¦ results in \textrussian[numerals=cyrillic-trad]{\russiannumeral{19}},\\
+% with ¦numerals=cyrillic-alph¦ ¦\russiannumeral{19}¦ results in \textrussian[numerals=cyrillic-alph]{\russiannumeral{19}}.
%
% \item \Cmd\serbiannumeral produces Serbian numbering, with uppercased variant (for alphanumerical variant) via \Cmd\Serbiannumeral.
% Depending on the ¦numerals¦ option in the Serbian language selection, this is either Arabic digit or Cyrillic
% alphanumercial output.\\
-% Example: With ¦numerals=latin¦ ¦\serbiannumeral{19}¦ yields \textserbian{\serbiannumeral{19}},
-% with ¦numerals=cyrillic¦ ¦\serbiannumeral{19}¦ results in \textserbian[numerals=cyrillic]{\serbiannumeral{19}}.
+% Example: With ¦numerals=latin¦ ¦\serbiannumeral{19}¦ yields \textrussian{\serbiannumeral{19}},
+% with ¦numerals=cyrillic-trad¦ ¦\serbiannumeral{19}¦ results in \textrussian[numerals=cyrillic-trad]{\serbiannumeral{19}},\\
+% with ¦numerals=cyrillic-alph¦ ¦\serbiannumeral{19}¦ results in \textrussian[numerals=cyrillic-alph]{\serbiannumeral{19}}.
+%
+% \item \Cmd\ukrainiannumeral produces Ukrainian numbering, with uppercased variant (for alphanumerical variant) via \Cmd\Ukrainiannumeral.
+% Depending on the ¦numerals¦ option in the Ukrainian language selection, this is either Arabic digit or Cyrillic
+% alphanumercial output.\\
+% Example: With ¦numerals=latin¦ ¦\ukrainiannumeral{19}¦ yields \textrussian{\russiannumeral{19}},
+% with ¦numerals=cyrillic-trad¦ ¦\ukrainiannumeral{19}¦ results in \textrussian[numerals=cyrillic-trad]{\russiannumeral{19}},\\
+% with ¦numerals=cyrillic-alph¦ ¦\ukrainiannumeral{19}¦ results in \textrussian[numerals=cyrillic-alph]{\russiannumeral{19}}.
% \end{itemize}
%
%
@@ -1806,14 +2351,14 @@ to track the issues and follow progress.
%
% \subsection{Horizontal footnote position}
%
-% When right-to-left languages are used, the ¦\footnote¦ command becomes sensitive to the text directionality. The footnote is
+% When right-to-left languages are used, the \cmd\footnote\ command becomes sensitive to the text directionality. The footnote is
% always placed on the side that is currently the origin of direction: on the left side of the page in LTR paragraphs and
% on the right in RTL paragraphs.
%
% For cases where this is not desired, two additional footnote commands are provided: \Cmd\RTLfootnote and \Cmd\LTRfootnote.
-% ¦\LTRfootnote¦ always places the footnote on the left side, notwithstanding the current
-% directionality. Likewise, ¦\RTLfootnote¦ always places it on the right side. Like ¦\footnote¦, ¦\RTLfootnote¦
-% and ¦\LTRfootnote¦ provide an optional argument to customize the number.
+% \cmd\LTRfootnote\ always places the footnote on the left side, notwithstanding the current
+% directionality. Likewise, \cmd\RTLfootnote\ always places it on the right side. Like \cmd\footnote, \cmd\RTLfootnote\
+% and \cmd\LTRfootnote\ provide an optional argument to customize the number.
%
%
% \subsection{Footnote rule length and position}
@@ -1830,12 +2375,13 @@ to track the issues and follow progress.
% \item Put \Cmd\autofootnoterule in the preamble to have automatic placement depending on the context (see below for elaboration).
% \item Put \Cmd\textwidthfootnoterule in the preamble to have a rule that spans the whole text width.
% \end{itemize}
-% With ¦\autofootnoterule¦, the first footnote on the current page determines the placement. Note that this automatic can fail with
-% footnotes at page boundaries that differ in directionality from the first footnote on the page. You can work around such cases by switching to ¦\rightfootnoterule¦ or ¦\leftfootnoterule¦ on these pages.
+% With \cmd\autofootnoterule, the first footnote on the current page determines the placement. Note that this automatic can fail with
+% footnotes at page boundaries that differ in directionality from the first footnote on the page. You can work around such cases by switching to \cmd\rightfootnoterule\ or \cmd\leftfootnoterule\ on these pages.
%
% Note also that the rule switches might interfere in bad ways with packages or classes that redefine footnotes themselves. This is also the reason
-% why ¦\autofootnoterule¦ is not used by default.
+% why \cmd\autofootnoterule\ is not used by default.
%
+% \condbreak{5\baselineskip}
% \section{Calendars}
%
% \subsection{Hebrew calendar (hebrewcal.sty)}
@@ -1852,24 +2398,24 @@ to track the issues and follow progress.
% (Cambridge University Press, 2001).\label{reingold}}
% It provides two macros for the end-user.
% The command
-% \displaycmd{\HijriFromGregorian\{⟨year⟩\}\{⟨month⟩\}\{⟨day⟩\}}{\HijriFromGregorian}
+% \displaycmd{\HijriFromGregorian\marg{year}\marg{month}\marg{day}}{\HijriFromGregorian}
% sets the counters ¦Hijriday¦, ¦Hijrimonth¦ and ¦Hijriyear¦.
% \Cmd\Hijritoday\ formats the Hijri date for the current day.
-% This command is now locale-aware\new{v1.1.1}: its output will differ depending on the
+% This command is now locale-aware\new{1.1.1}: its output will differ depending on the
% currently active language. Presently \pkg{polyglossia}’s language definition files
-% for Arabic, Farsi, Urdu, Turkish and Malay provide a localized version of ¦\Hijritoday¦.
+% for Arabic, Farsi, Urdu, Turkish and Malay provide a localized version of \cmd\Hijritoday.
% If the formatting macro for the current language is undefined, the Hijri date will be formatted
% in Arabic or in roman transliteration, depending of the current writing direction.
% You can define a new format or redefine one with the command
-% \displaycmd{\DefineHijriDateFormat\{<lang>\}\{<code>\}.}{\DefineHijriDateFormat}
+% \displaycmd{\DefineHijriDateFormat\marg{lang}\marg{code}.}{\DefineHijriDateFormat}
%
-% The command ¦\Hijritoday¦ also accepts an optional argument to add or subtract a correction
+% The command \cmd\Hijritoday\ also accepts an optional argument to add or subtract a correction
% (in days) to the date computed by the arithmetical algorithm.\footnote{ %
% The Islamic calendar is indeed a purely lunar calendar based on the observation
% of the first visibility of the lunar crescent at the beginning of the lunar month,
% so there can be differences between different localities, as well as between
% civil and religious authorities.}
-% For instance if ¦\Hijritoday¦ yields the date “7 Rajab 1429” (which is the date that was
+% For instance if \cmd\Hijritoday\ yields the date “7 Rajab 1429” (which is the date that was
% displayed on the front page of \href{http://www.aljazeera.net}{aljazeera.net} on
% 11th July 2008), ¦\Hijritoday[1]¦ would rather print “8 Rajab 1429” (the date
% indicated the same day on the site \href{http://www.gulfnews.com}{gulfnews.com}).
@@ -1877,19 +2423,26 @@ to track the issues and follow progress.
% \subsection{Farsi (jalālī) calendar (farsical.sty)}
% This package is an almost verbatim copy of ¦Arabiftoday.sty¦ (in the \pkg{Arabi} package),
% itself a slight modification of ¦ftoday.sty¦ in Farsi\TeX.\footnote{ %
-% One day I may rewrite \pkg{farsical} from scratch using the algorithm in
-% Reingold \& Gershowitz (ref.~n.~\ref{reingold}).}
+% One day we may rewrite \pkg{farsical} from scratch using the algorithm in
+% Reingold \& Gershowitz (ref.~n.\,\ref{reingold}).}
% Here we have renamed the command \cmd\ftoday\ to
% \Cmd\Jalalitoday.
% Example: today is \Jalalitoday.
%
%
-% ^^A\section{Varia}
+% \section{Auxiliary commands}
+%
+% The macro \displaycmd{\charifavailable\marg{char code}\marg{substitution}}{\charifavailable}\new{1.47} checks whether
+% the character with the specified \meta{char code} (\ie unicode utf-16 code without preceding ¦0x¦) exists in
+% the current font. If so, the character is printed, if not, the \meta{substitution} is printed.
+%
+% Example: ¦\charifavailable{1E9E}{SS}¦ prints the capital version of the German letter ⟨ß⟩ if available
+% (\ie \charifavailable{1E9E}{SS}), else it prints the substitution digraph SS.
+%
%
% \section{Accessing language information}
%
% The following is specifically relevant to package authors who need information about the languages in use.
-%
% In order to get such information, \pkg{polyglossia} provides the following macros:
%
% \begin{itemize}
@@ -1904,20 +2457,36 @@ to track the issues and follow progress.
% Note that this macro is also defined for languages that are not supported in \pkg{babel}. In that
% case, they are equal to the polyglossia language name.
% \item \Cmd\mainbabelname\ analogously stores the name of document's main language (variant) in \pkg{babel}.
+% \item \Cmd{\languageid\marg{type}}\new{1.47} stores the identifier tag of the current language. Currently supported \meta{types}:
+% \begin{itemize}
+% \item ¦bcp-47¦ (alias ¦bcp47¦): IETF BCP-47 language identifier
+% \end{itemize}
+% \item \Cmd{\mainlanguageid\marg{type}}\new{1.47} stores identifier tag of the main language. Currently supported \meta{types}:
+% see \cmd\languageid.
% \end{itemize}
-% ^^A
-% If you want to have a full list of loaded languages/variants, use the following macros:
+% \bigskip
+%
+% \noindent If you want to have a full list of loaded languages/variants, use the following macros:
% \begin{itemize}
% \item \Cmd{\xpg@loaded}\ stores a comma-separated list of all loaded languages (polyglossia name)
% \item \Cmd{\xpg@vloaded}\ stores a comma-separated list of all loaded variants
-% \item \Cmd{\xpg@bloaded}\ stores a comma-separated list of \pkg{babel} names of all language variants
+% \item \Cmd{\xpg@bloaded}\ stores a comma-separated list of \pkg{babel} names of all language variants
+% \item \Cmd{\xpg@bcp@loaded}\new{1.47}\ stores a comma-separated list of the BCP-47 IDs of all language variants
% \end{itemize}
-% ^^A
-% Finally, you can test whether a language is loaded by
-% \displaycmd{\iflanguageloaded\{⟨lang⟩\}\{⟨true⟩\}\{⟨false⟩\}}{\iflanguageloaded}
-% where \texttt{⟨lang⟩} is a \pkg{polyglossia} language name, or
-% \displaycmd{\ifbabellanguageloaded\{⟨lang⟩\}\{⟨true⟩\}\{⟨false⟩\}}{\ifbabellanguageloaded}
-% where \texttt{⟨lang⟩} is a \pkg{babel} language name.
+% \bigskip
+%
+% \noindent Whether a language is loaded can be tested by
+% \displaycmd{\iflanguageloaded\marg{lang}\marg{true}\marg{false}}{\iflanguageloaded}
+% where \texttt{\meta{lang}} is a \pkg{polyglossia} language name, by
+% \displaycmd{\ifbabellanguageloaded\marg{lang}\marg{true}\marg{false}}{\ifbabellanguageloaded}
+% where \texttt{\meta{lang}} is a \pkg{babel} language name (see table~\ref{tab:bbllang} on p.~\pageref{tab:bbllang}), or by
+% \displaycmd{\iflanguageidloaded\marg{type}\marg{id}\marg{true}\marg{false}}{\iflanguageidloaded}\new{1.47}
+% where \meta{type} is a supported language id type (such as ¦bcp-47¦) and \meta{id} is a language id
+% (such as ¦en-US¦; see table~\ref{tab:BCP47-polyglossia} on p.~\pageref{tab:BCP47-polyglossia}).
+% \bigskip
+%
+% \noindent Finally, if you want to know whether a specific language option has been set, you can use
+% \displaycmd{\iflanguageoption\marg{lang}\marg{opt. key}\marg{opt. value}\marg{true}\marg{false}}{\iflanguageoption}\new{1.47}
%
% \section{Acknowledgements (by François Charette)}
% \pkg{Polyglossia} is notable for being a recycle box of previous contributions
@@ -1933,7 +2502,7 @@ to track the issues and follow progress.
% (Sanskrit), \TA{Zdenĕk Wagner} (Hindi), \TA{Mikhal Oren} (Hebrew), \TA{Sergey Astanin} (Russian),
% \TA{Khaled Hosny} (Arabic), \TA{Sertaç Ö. Yıldız} (Turkish), \TA{Kamal Abdali} (Urdu),
% and several other members of the \XeTeX\ user community, notably \TA{Enrico Gregorio}, who
-% has sent me many useful suggestions and corrections and contributed the ¦\newXeTeXintercharclass¦
+% has sent me many useful suggestions and corrections and contributed the \cmd\newXeTeXintercharclass\
% mechanism in xelatex.ini which is now used by polyglossia.
% More recently, \TA{Kevin Godby} of the \href{http://ubuntu-manual.org}{Ubuntu Manual} project has
% contributed very useful feedback, bug hunting and, with the help of translators,
@@ -1950,9 +2519,9 @@ to track the issues and follow progress.
% In alphabetical order: \TA{Ignas Anikevicius}, \TA{Sina Ahmadi}, \TA{Wouter Bolsterlee}, \TA{Christian Buhtz},
% \TA{Zgarbul Andrey}, \TA{Oleg Domanov}, \TA{Philipp Gesang}, \TA{Kevin Godby}, \TA{Enrico Gregorio},
% \TA{Khaled Hosny}, \TA{Najib Idrissi}, user \TA{julroy67}, \TA{Dohyun Kim}, \TA{Phil Kime}, \TA{Mike Kroutikov},
-% \TA{Ivan Kokan}, \TA{Caleb Maclennan}, \TA{José Mancera}, \TA{Yevgen Pogribnyi}, \TA{Maïeul Rouquette},
-% \TA{Elie Roux}, \TA{Hugo Roy}, \TA{Guy Rutenberg}, \TA{Philipp Stephani}, \TA{Keno Wehr}, \TA{Dominik Wujastyk},
-% \TA{Sertaç Ö. Yıldız}, \TA{Maksim Zholudev}, \TA{Yan Zhou}, and \TA{Stefan Zlatinov}.
+% \TA{Ivan Kokan}, \TA{Caleb Maclennan}, \TA{José Mancera}, \TA{Yevgen Pogribnyi}, \TA{Will Robertson}, \TA{Maïeul Rouquette},
+% \TA{Elie Roux}, \TA{Hugo Roy}, \TA{Guy Rutenberg}, \TA{Philipp Stephani}, \TA{Niranjan Tambe}, \TA{Keno Wehr},
+% \TA{Dominik Wujastyk}, \TA{Sertaç Ö. Yıldız}, \TA{Maksim Zholudev}, \TA{Yan Zhou}, and \TA{Stefan Zlatinov}.
% Their respective contributions can be identified from the contributor statistics on
% \href{https://github.com/reutenauer/polyglossia/graphs/contributors}{GitHub}.
%
@@ -1986,6 +2555,51 @@ to track the issues and follow progress.
% \end{macrocode}
% \iffalse
%</gloss-acadien.ldf>
+%<*gloss-aeb.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-aeb.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-aeb.ldf}[polyglossia: module for aeb (arabic)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{arabic}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-aeb.ldf>
+%<*gloss-af.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-af.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-af.ldf}[polyglossia: module for af (afrikaans)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{afrikaans}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-af.ldf>
+%<*gloss-afb.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-afb.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-afb.ldf}[polyglossia: module for afb (arabic)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{arabic}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-afb.ldf>
%<*gloss-afrikaans.ldf>
% \fi
% \clearpage
@@ -1995,6 +2609,7 @@ to track the issues and follow progress.
\ProvidesFile{gloss-afrikaans.ldf}[polyglossia: module for afrikaans]
\PolyglossiaSetup{afrikaans}{
+ bcp47=af,
hyphennames={afrikaans,dutch},
hyphenmins={2,2},
langtag=AFK,
@@ -2002,8 +2617,14 @@ to track the issues and follow progress.
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{afrikaans}{af}
+
\define@boolkey{afrikaans}[afrikaans@]{babelshorthands}[true]{}
+% Register default options
+\xpg@initialize@gloss@options{afrikaans}{babelshorthands=false}
+
\ifsystem@babelshorthands
\setkeys{afrikaans}{babelshorthands=true}
\else
@@ -2089,6 +2710,7 @@ to track the issues and follow progress.
\ProvidesFile{gloss-albanian.ldf}[polyglossia: module for albanian]
\PolyglossiaSetup{albanian}{
+ bcp47=sq,
hyphennames={albanian},
langtag=SQI,
hyphenmins={2,2},
@@ -2096,6 +2718,9 @@ to track the issues and follow progress.
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{albanian}{sq}
+
\def\captionsalbanian{%
\def\refname{Referencat}%
\def\abstractname{Përmbledhja}%
@@ -2129,6 +2754,21 @@ to track the issues and follow progress.
% \end{macrocode}
% \iffalse
%</gloss-albanian.ldf>
+%<*gloss-am.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-am.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-am.ldf}[polyglossia: module for am (amharic)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{amharic}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-am.ldf>
%<*gloss-american.ldf>
% \fi
% \clearpage
@@ -2152,6 +2792,7 @@ to track the issues and follow progress.
% \begin{macrocode}
\ProvidesFile{gloss-amharic.ldf}[polyglossia: module for amharic]
\PolyglossiaSetup{amharic}{
+ bcp47=am,
script=Ethiopic,
scripttag=ethi,
langtag=AMH,
@@ -2161,6 +2802,9 @@ to track the issues and follow progress.
%TODO localalph=ethnum
}
+% BCP-47 compliant aliases
+\setlanguagealias*{amharic}{am}
+
\def\captionsamharic{%
\def\refname{የነሥ ጹሁፍ ምንጭ}%
\def\abstractname{አኅጽተሮ ጽሁፍ}%
@@ -2356,6 +3000,141 @@ to track the issues and follow progress.
% \end{macrocode}
% \iffalse
%</gloss-amharic.ldf>
+%<*gloss-apd.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-apd.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-apd.ldf}[polyglossia: module for apd (arabic)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{arabic}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-apd.ldf>
+%<*gloss-ar-IQ.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ar-IQ.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ar-IQ.ldf}[polyglossia: module for ar-IQ (arabic)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{arabic}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ar-IQ.ldf>
+%<*gloss-ar-JO.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ar-JO.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ar-JO.ldf}[polyglossia: module for ar-JO (arabic)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{arabic}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ar-JO.ldf>
+%<*gloss-ar-LB.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ar-LB.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ar-LB.ldf}[polyglossia: module for ar-LB (arabic)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{arabic}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ar-LB.ldf>
+%<*gloss-ar-MR.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ar-MR.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ar-MR.ldf}[polyglossia: module for ar-MR (arabic)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{arabic}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ar-MR.ldf>
+%<*gloss-ar-PS.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ar-PS.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ar-PS.ldf}[polyglossia: module for ar-PS (arabic)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{arabic}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ar-PS.ldf>
+%<*gloss-ar-SY.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ar-SY.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ar-SY.ldf}[polyglossia: module for ar-SY (arabic)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{arabic}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ar-SY.ldf>
+%<*gloss-ar-YE.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ar-YE.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ar-YE.ldf}[polyglossia: module for ar-YE (arabic)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{arabic}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ar-YE.ldf>
+%<*gloss-ar.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ar.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ar.ldf}[polyglossia: module for ar (arabic)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{arabic}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ar.ldf>
%<*gloss-arabic.ldf>
% \fi
% \clearpage
@@ -2374,6 +3153,7 @@ and may look very wrong.}
\RequirePackage{hijrical}
\PolyglossiaSetup{arabic}{
+ bcp47=ar,
script=Arabic,
direction=RL,
langtag=ARA,
@@ -2385,6 +3165,23 @@ and may look very wrong.}
%TODO localalph={abjad,abjad}
}
+% BCP-47 compliant aliases
+\setlanguagealias*{arabic}{ar}
+\setlanguagealias*[locale=mashriq]{arabic}{ar-IQ}
+\setlanguagealias*[locale=default]{arabic}{ar-YE}
+\setlanguagealias*[locale=mashriq]{arabic}{ar-LB}
+\setlanguagealias*[locale=mashriq]{arabic}{ar-JO}
+\setlanguagealias*[locale=default]{arabic}{afb}
+\setlanguagealias*[locale=mauritania]{arabic}{ar-MR}
+\setlanguagealias*[locale=default]{arabic}{arz}
+\setlanguagealias*[locale=morocco]{arabic}{ary}
+\setlanguagealias*[locale=algeria]{arabic}{arq}
+\setlanguagealias*[locale=tunisia]{arabic}{aeb}
+\setlanguagealias*[locale=mashriq]{arabic}{ar-SY}
+\setlanguagealias*[locale=libya]{arabic}{ayl}
+\setlanguagealias*[locale=default]{arabic}{apd}
+\setlanguagealias*[locale=mashriq]{arabic}{ar-PS}
+
\newif\ifeastern@numerals
\def\tmp@mashriq{mashriq}
\def\tmp@maghrib{maghrib}
@@ -2411,9 +3208,11 @@ and may look very wrong.}
\def\@tmpa{#1}%
\ifx\@tmpa\tmp@morocco%
\eastern@numeralsfalse%
+ \SetLanguageKeys{arabic}{bcp47=ary}%
\else
\ifx\@tmpa\tmp@algeria%
\eastern@numeralsfalse%
+ \SetLanguageKeys{arabic}{bcp47=arq}%
\fi%
\fi%
\gdef\@@arabic@month{\@arabic@month{#1}}}
@@ -2433,8 +3232,10 @@ and may look very wrong.}
\define@key{arabic}{hijricorrection}[0]{%
\gdef\@hijri@correction{#1}}%
-% This should set the defaults
-\setkeys{arabic}{locale,calendar,numerals,hijricorrection,abjadjimnotail=false}
+% Register default options
+\xpg@initialize@gloss@options{arabic}{locale=default,calendar=gregorian,numerals=mashriq,hijricorrection=0,abjadjimnotail=false}
+% Register alias options
+\xpg@set@alias@values{arabic}{calendar}{islamic}{hijri}
\def\arabicgregmonth@default#1{\ifcase#1%
% Egypt, Sudan, Yemen and Golf states
@@ -2596,6 +3397,7 @@ and may look very wrong.}
\ProvidesFile{gloss-armenian.ldf}[polyglossia: module for armenian]
\PolyglossiaSetup{armenian}{
+ bcp47=hy,
script=Armenian,
scripttag=armn,
langtag=HYE,
@@ -2605,6 +3407,9 @@ and may look very wrong.}
localnumeral=armeniannumerals
}
+% BCP-47 compliant aliases
+\setlanguagealias*{armenian}{hy}
+
\newif\if@eastern@armenian
\@eastern@armenianfalse
\define@choicekey*+{armenian}{variant}[\val\nr]{western,eastern}[western]{%
@@ -2624,6 +3429,9 @@ and may look very wrong.}
\ifstrequal{#1}{arabic}{\@armenian@numeralsfalse}{\@armenian@numeralstrue}%
}
+% Register default options
+\xpg@initialize@gloss@options{armenian}{numerals=armenian,variant=western}
+
% Taken from ArmTeX. Audit!
\def\captionsarmenian{%
\def\refname{Հղումներ}%
@@ -2765,6 +3573,66 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-armenian.ldf>
+%<*gloss-arq.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-arq.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-arq.ldf}[polyglossia: module for arq (arabic)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{arabic}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-arq.ldf>
+%<*gloss-ary.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ary.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ary.ldf}[polyglossia: module for ary (arabic)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{arabic}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ary.ldf>
+%<*gloss-arz.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-arz.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-arz.ldf}[polyglossia: module for arz (arabic)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{arabic}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-arz.ldf>
+%<*gloss-ast.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ast.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ast.ldf}[polyglossia: module for ast (asturian)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{asturian}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ast.ldf>
%<*gloss-asturian.ldf>
% \fi
% \clearpage
@@ -2776,6 +3644,7 @@ and may look very wrong.}
%
\ProvidesFile{gloss-asturian.ldf}[polyglossia: module for asturian]
\PolyglossiaSetup{asturian}{
+ bcp47=ast,
hyphennames={asturian,catalan},
hyphenmins={2,2},
langtag=AST,
@@ -2784,6 +3653,9 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{asturian}{ast}
+
\def\captionsasturian{%
\def\prefacename{Entamu}%
\def\refname{Referencies}%
@@ -2838,7 +3710,7 @@ and may look very wrong.}
%
% \subsection{gloss-austrian.ldf}
% \begin{macrocode}
-\ProvidesFile{gloss-acadien.ldf}[polyglossia: module for austrian german (old spelling)]
+\ProvidesFile{gloss-austrian.ldf}[polyglossia: module for austrian german (old spelling)]
% We provide this as a babel alias
@@ -2847,17 +3719,32 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-austrian.ldf>
+%<*gloss-ayl.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ayl.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ayl.ldf}[polyglossia: module for ayl (arabic)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{arabic}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ayl.ldf>
%<*gloss-bahasa.ldf>
% \fi
% \clearpage
%
% \subsection{gloss-bahasa.ldf}
% \begin{macrocode}
-\ProvidesFile{gloss-kurmanji.ldf}[polyglossia: module for kurmanji kurdish]
+\ProvidesFile{gloss-bahasa.ldf}[polyglossia: module for bahasa indonesia]
% We provide this as a babel alias
-\xpg@load@master@language{kurdish}
+\xpg@load@master@language{malay}
% \end{macrocode}
% \iffalse
@@ -2902,6 +3789,7 @@ and may look very wrong.}
% \begin{macrocode}
\ProvidesFile{gloss-basque.ldf}[polyglossia: module for basque]
\PolyglossiaSetup{basque}{
+ bcp47=eu,
hyphennames={basque},
hyphenmins={2,2},
langtag=EUQ,
@@ -2909,6 +3797,9 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{basque}{eu}
+
\def\captionsbasque{%
\def\refname{Erreferentziak}%
\def\abstractname{Laburpena}%
@@ -2943,6 +3834,36 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-basque.ldf>
+%<*gloss-be-tarask.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-be-tarask.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-be-tarask.ldf}[polyglossia: module for be-tarask (belarusian)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{belarusian}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-be-tarask.ldf>
+%<*gloss-be.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-be.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-be.ldf}[polyglossia: module for be (belarusian)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{belarusian}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-be.ldf>
%<*gloss-belarusian.ldf>
% \fi
% \clearpage
@@ -2954,6 +3875,7 @@ and may look very wrong.}
\RequirePackage{xpg-cyrillicnumbers}
\PolyglossiaSetup{belarusian}{
+ bcp47=be,
script=Cyrillic,
scripttag=cyrl,
langtag=BEL,
@@ -2965,30 +3887,56 @@ and may look very wrong.}
Localnumeral=Belarusiannumerals
}
+% BCP-47 compliant aliases
+\setlanguagealias*[spelling=classic]{belarusian}{be-tarask}
+\setlanguagealias*{belarusian}{be}
+
\def\belarusian@spelling{modern}
\define@choicekey*+{belarusian}{spelling}[\val\nr]{modern,classic,tarask}[modern]{%
\ifcase\nr\relax
% modern:
- \def\belarusian@spelling{modern}
+ \def\belarusian@spelling{modern}%
+ \SetLanguageKeys{belarusian}{bcp47=be}%
\or
% classic:
- \def\belarusian@spelling{tarask}
+ \def\belarusian@spelling{tarask}%
+ \SetLanguageKeys{belarusian}{bcp47=be-tarask}%
\or
% tarask:
- \def\belarusian@spelling{tarask}
+ \def\belarusian@spelling{tarask}%
+ \SetLanguageKeys{belarusian}{bcp47=be-tarask}%
\fi
}{\xpg@warning{Unknown Belarusian spelling `#1'}}
\newif\ifcyrillic@numerals
-\define@key{belarusian}{numerals}[arabic]{%
- \ifstrequal{#1}{cyrillic}%
- {\cyrillic@numeralstrue}%
- {\cyrillic@numeralsfalse}%
-}
+\newif\ifcyrillic@asbuk@numerals
+\define@choicekey*+{belarusian}{numerals}[\val\nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
+ \ifcase\nr\relax
+ % arabic:
+ \cyrillic@numeralsfalse%
+ \cyrillic@asbuk@numeralsfalse%
+ \or
+ % cyrillic:
+ \cyrillic@numeralstrue%
+ \cyrillic@asbuk@numeralsfalse%
+ \or
+ % cyrillic-trad:
+ \cyrillic@numeralstrue%
+ \cyrillic@asbuk@numeralsfalse%
+ \or
+ % cyrillic-alph:
+ \cyrillic@numeralstrue%
+ \cyrillic@asbuk@numeralstrue%
+ \fi
+ \xpg@info{Option: Belarusian, numerals=\val}%
+}{\xpg@warning{Unknown Belarusian numerals value `#1'}}
-\define@boolkey{belarusian}[belarusian@]{babelshorthands}[false]{}
+\define@boolkey{belarusian}[belarusian@]{babelshorthands}[true]{}
-\setkeys{belarusian}{numerals}
+% Register default options
+\xpg@initialize@gloss@options{belarusian}{babelshorthands=false,numerals=arabic,spelling=modern}
+% Register alias options
+\xpg@set@alias@values{belarusian}{spelling}{classic}{tarask}
\ifsystem@babelshorthands
\setkeys{belarusian}{babelshorthands=true}
@@ -3153,7 +4101,11 @@ and may look very wrong.}
\def\belarusiannumber#1{%
\ifcyrillic@numerals
- \cyr@alph{#1}%
+ \ifcyrillic@asbuk@numerals
+ \belarusian@asbuk@alph{#1}%
+ \else
+ \cyr@alph{#1}%
+ \fi
\else
\number#1%
\fi%
@@ -3161,7 +4113,11 @@ and may look very wrong.}
\def\Belarusiannumber#1{%
\ifcyrillic@numerals
- \cyr@Alph{#1}%
+ \ifcyrillic@asbuk@numerals
+ \belarusian@asbuk@Alph{#1}%
+ \else
+ \cyr@Alph{#1}%
+ \fi
\else
\number#1%
\fi%
@@ -3170,24 +4126,30 @@ and may look very wrong.}
\let\belarusiannumeral=\belarusiannumber
\let\Belarusiannumeral=\Belarusiannumber
-\def\Asbuk#1{\expandafter\cyr@Alph\csname c@#1\endcsname}
+\def\Asbuk#1{\expandafter\belarusian@asbuk@Alph\csname c@#1\endcsname}
+\def\asbuk#1{\expandafter\belarusian@asbuk@alph\csname c@#1\endcsname}
-\def\asbuk#1{\expandafter\cyr@alph\csname c@#1\endcsname}
+\def\AsbukTrad#1{\expandafter\cyr@Alph\csname c@#1\endcsname}
+\def\asbukTrad#1{\expandafter\cyr@alph\csname c@#1\endcsname}
-% This is a poor man's cyrillic alphanumeric. It just uses the alphabet and
-% thus ends at 30. We now use proper cyrillic numbering.
-%\def\belarusian@Alph#1{\ifcase#1\or
-% А\or Б\or В\or Г\or Д\or Е\or Ж\or
-% З\or И\or К\or Л\or М\or Н\or О\or
-% П\or Р\or С\or Т\or У\or Ф\or Х\or
-% Ц\or Ч\or Ш\or Щ\or Э\or Ю\or Я\else\xpg@ill@value{#1}{belarusian@Alph}\fi}
+% This is a poor man's cyrillic alphanumeric. It just uses the alphabet and
+% thus ends at 30.
+\def\belarusian@asbuk@Alph#1{\ifcase#1\or
+ А\or Б\or В\or Г\or Д\or Е\or Ж\or
+ З\or И\or К\or Л\or М\or Н\or О\or
+ П\or Р\or С\or Т\or У\or Ф\or Х\or
+ Ц\or Ч\or Ш\or Щ\or Э\or Ю\or Я%
+ \else\xpg@ill@value{#1}{belarusian@asbuk@Alph}\fi%
+}
-%\def\belarusian@alph#1{\ifcase#1\or
-% а\or б\or в\or г\or д\or е\or ж\or
-% з\or и\or к\or л\or м\or н\or о\or
-% п\or р\or с\or т\or у\or ф\or х\or
-% ц\or ч\or ш\or щ\or э\or ю\or я\else\xpg@ill@value{#1}{belarusian@alph}\fi}
+\def\belarusian@asbuk@alph#1{\ifcase#1\or
+ а\or б\or в\or г\or д\or е\or ж\or
+ з\or и\or к\or л\or м\or н\or о\or
+ п\or р\or с\or т\or у\or ф\or х\or
+ ц\or ч\or ш\or щ\or э\or ю\or я%
+ \else\xpg@ill@value{#1}{belarusian@asbuk@alph}\fi%
+}
\def\belarusian@numbers{%
\let\latin@alph\@alph
@@ -3232,16 +4194,19 @@ and may look very wrong.}
% TODO implement Bengali calendar
\ProvidesFile{gloss-bengali.ldf}[polyglossia: module for bengali]
+
\ifluatex
\xpg@warning{Bengali is not supported with LuaTeX.\MessageBreak
-I will proceed with the compilation, but\MessageBreak
-the output is not guaranteed to be correct\MessageBreak
-and may look very wrong.}
+ I will proceed with the compilation, but\MessageBreak
+ the output is not guaranteed to be correct\MessageBreak
+ and may look very wrong.}
\fi
+
\RequirePackage{devanagaridigits}
\RequirePackage{bengalidigits}
\PolyglossiaSetup{bengali}{
+ bcp47=bn,
script=Bengali,
scripttag=beng,
langtag=BEN,
@@ -3252,55 +4217,35 @@ and may look very wrong.}
%TODO nouppercase=true,
}
-\def\tmp@western{Western}
+% BCP-47 compliant aliases
+\setlanguagealias*{bengali}{bn}
+
\newif\ifbengali@devanagari@numerals
-\bengali@devanagari@numeralstrue
-\def\tmp@bengali{Bengali}
\newif\ifbengali@bengali@numerals
-\bengali@bengali@numeralsfalse % Implied, but you never know
-
-
-\define@key{bengali}{numerals}[Devanagari]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@western
- \bengali@devanagari@numeralsfalse
- \else\ifx\@tmpa\tmp@bengali
- \bengali@devanagari@numeralsfalse
- \bengali@bengali@numeralstrue\fi
- \fi}
+\define@choicekey*+{bengali}{numerals}[\val\nr]{Devanagari,Bengali,Western}[Devanagari]{%
+ \ifcase\nr\relax
+ % Devanagari:
+ \bengali@bengali@numeralsfalse%
+ \bengali@devanagari@numeralstrue%
+ \or
+ % Bengali:
+ \bengali@bengali@numeralstrue%
+ \bengali@devanagari@numeralsfalse%
+ \or
+ % Western:
+ \bengali@bengali@numeralsfalse%
+ \bengali@devanagari@numeralsfalse%
+ \fi
+ \xpg@info{Option: Bengali, numerals=\val}%
+}{\xpg@warning{Unknown Bengali numeral `#1'}}
\def\extras@bengali{}
\def\noextras@bengali{}
-\define@boolkey{bengali}[bengali@]{changecounternumbering}{
- \def\@tmpa{#1}
- \def\@tmptrue{true}
- \ifx\@tmpa\@tmptrue
- \def\extras@bengali{%
- % FIXME Tied to the article class! And horrible coding style
- \let\savethepage\thepage
- \let\savethesection\thesection
- \let\savethesubsection\thesubsection
- \let\savethesubsubsection\thesubsubsection
- \let\savetheparagraph\theparagraph
- \let\savethesubparagraph\thesubparagraph
- \def\thepage{\bengalinumeral{page}}
- \def\thesection{\bengalinumeral{section}}
- \def\thesubsection{\bengalinumeral{subsection}}
- \def\thesubsubsection{\bengalinumeral{subsubsection}}
- \def\theparagraph{\bengalinumeral{paragraph}}
- \def\thesubparagraph{\bengalinumeral{subparagraph}}
- }
- \def\noextras@bengali{%
- \let\thepage\savethepage
- \let\thesection\savethesection
- \let\thesubsection\savethesubsection
- \let\thesubsubsection\savethesubsubsection
- \let\theparagraph\savetheparagraph
- \let\thesubparagraph\savethesubparagraph
- }
- \fi
-}
+\define@boolkey{bengali}[bengali@]{changecounternumbering}[true]{}
+
+% Register default options
+\xpg@initialize@gloss@options{bengali}{changecounternumbering=false,numerals=Devanagari}
\def\captionsbengali{%
\def\refname{তথ্যসূত্রসমূহ}%
@@ -3355,13 +4300,19 @@ and may look very wrong.}
\else % Assumed Western
\number#1%
\fi
- \fi}
+ \fi%
+}
-\def\bengalinumeral#1{\expandafter\bengalinumber\expandafter{\the##1}}% Takes counter
+% Backwards compatibility. This command was never documented, but
+% some people might use it nevertheless (see #381).
+% This takes a counter.
+\newcommand\bengalinumeral[1]{\localnumeral*[lang=bengali]{#1}}
\def\bengali@globalnumbers{%
- \let\@arabic\bengalinumber%
- \renewcommand\thefootnote{\localnumeral*{footnote}}%
+ \ifbengali@changecounternumbering
+ \let\@arabic\bengalinumber%
+ \renewcommand\thefootnote{\localnumeral*{footnote}}%
+ \fi
}
% Store original definition
@@ -3377,6 +4328,51 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-bengali.ldf>
+%<*gloss-bg.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-bg.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-bg.ldf}[polyglossia: module for bg (bulgarian)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{bulgarian}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-bg.ldf>
+%<*gloss-bn.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-bn.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-bn.ldf}[polyglossia: module for bn (bengali)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{bengali}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-bn.ldf>
+%<*gloss-bo.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-bo.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-bo.ldf}[polyglossia: module for bo (tibetan)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{tibetan}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-bo.ldf>
%<*gloss-bosnian.ldf>
% \fi
% \clearpage
@@ -3386,6 +4382,7 @@ and may look very wrong.}
\ProvidesFile{gloss-bosnian.ldf}[polyglossia: module for bosnian]
\PolyglossiaSetup{bosnian}{
+ bcp47=bs,
langtag=BOS,
hyphennames={bosnian,croatian},
hyphenmins={2,2}, % adapted from gloss-croatian
@@ -3394,6 +4391,9 @@ and may look very wrong.}
fontsetup=true
}
+% BCP-47 compliant aliases
+\setlanguagealias*{bosnian}{bs}
+
% TODO: Add script=Cyrillic
% from babel-bosnian
@@ -3431,6 +4431,21 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-bosnian.ldf>
+%<*gloss-br.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-br.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-br.ldf}[polyglossia: module for br (breton)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{breton}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-br.ldf>
%<*gloss-brazil.ldf>
% \fi
% \clearpage
@@ -3456,6 +4471,7 @@ and may look very wrong.}
% \begin{macrocode}
\ProvidesFile{gloss-breton.ldf}[polyglossia: module for breton]
\PolyglossiaSetup{breton}{
+ bcp47=br,
hyphennames={breton},
hyphenmins={2,2},
langtag=BRE,
@@ -3464,6 +4480,9 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{breton}{br}
+
\ifluatex
% TODO
\else
@@ -3553,7 +4572,7 @@ and may look very wrong.}
%
% \subsection{gloss-british.ldf}
% \begin{macrocode}
-\ProvidesFile{gloss-acadien.ldf}[polyglossia: module for british english]
+\ProvidesFile{gloss-british.ldf}[polyglossia: module for british english]
% We provide this as a babel alias
@@ -3562,6 +4581,21 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-british.ldf>
+%<*gloss-bs.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-bs.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-bs.ldf}[polyglossia: module for bs (bosnian)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{bosnian}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-bs.ldf>
%<*gloss-bulgarian.ldf>
% \fi
% \clearpage
@@ -3570,6 +4604,7 @@ and may look very wrong.}
% \begin{macrocode}
\ProvidesFile{gloss-bulgarian.ldf}[polyglossia: module for bulgarian]
\PolyglossiaSetup{bulgarian}{
+ bcp47=bg,
script=Cyrillic,
scripttag=cyrl,
langtag=BGR,
@@ -3580,6 +4615,9 @@ and may look very wrong.}
%TODO localalph=bulgarian@alph
}
+% BCP-47 compliant aliases
+\setlanguagealias*{bulgarian}{bg}
+
\def\bulgarian@Alph#1{%
\ifcase#1\or
А\or Б\or В\or Г\or Д\or Е\or Ж\or
@@ -3654,6 +4692,21 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-bulgarian.ldf>
+%<*gloss-ca.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ca.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ca.ldf}[polyglossia: module for ca (catalan)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{catalan}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ca.ldf>
%<*gloss-canadian.ldf>
% \fi
% \clearpage
@@ -3675,7 +4728,7 @@ and may look very wrong.}
%
% \subsection{gloss-canadien.ldf}
% \begin{macrocode}
-\ProvidesFile{gloss-acadien.ldf}[polyglossia: module for canadian french]
+\ProvidesFile{gloss-canadien.ldf}[polyglossia: module for canadian french]
% We provide this as a babel alias
@@ -3692,6 +4745,7 @@ and may look very wrong.}
% \begin{macrocode}
\ProvidesFile{gloss-catalan.ldf}[polyglossia: module for catalan]
\PolyglossiaSetup{catalan}{
+ bcp47=ca,
hyphennames={catalan},
hyphenmins={2,2},
langtag=CAT,
@@ -3700,6 +4754,9 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{catalan}{ca}
+
\define@boolkey{catalan}[catalan@]{babelshorthands}[true]{}
\ifsystem@babelshorthands
\setkeys{catalan}{babelshorthands=true}
@@ -3707,6 +4764,9 @@ and may look very wrong.}
\setkeys{catalan}{babelshorthands=false}
\fi
+% Register default options
+\xpg@initialize@gloss@options{catalan}{babelshorthands=false}
+
\ifcsundef{initiate@active@char}{%
\input{babelsh.def}%
\initiate@active@char{"}%
@@ -3715,33 +4775,21 @@ and may look very wrong.}
%%% adapted from Babel's catalan.ldf
\newdimen\leftllkern \newdimen\rightllkern \newdimen\raiselldim
+
% we check if char · exists, and use it instead of raised dot:
\def\xpg@raiseddot{%
- \ifluatex %
- \expandafter\ifnum\directlua{polyglossia.check_char(183)} > 0\hbox{\char"00B7}%
- \else\raise\raiselldim\hbox{.}%
- \fi %
- \else %
- \ifnum\XeTeXcharglyph"00B7 > 0\hbox{\char"00B7}% why a hbox here?
- \else\raise\raiselldim\hbox{.}%
- \fi %
- \fi %
- }
+ \charifavailable{00B7}{\raise\raiselldim\hbox{.}}%
+}
+
\def\lgem{%
\ifmmode
\csname normal@char\string"\endcsname l%
\else
\leftllkern=0pt\rightllkern=0pt\raiselldim=0pt%
\setbox0\hbox{l}\setbox1\hbox{l\/}%
- \ifluatex %
- \expandafter\ifnum\directlua{polyglossia.check_char(183)} > 0\setbox2\hbox{\char"00B7}%
- \else\setbox2\hbox{.}%
- \fi %
- \else %
- \ifnum\XeTeXcharglyph"00B7 > 0\setbox2\hbox{\char"00B7}%
- \else\setbox2\hbox{.}%
- \fi %
- \fi %
+ \xpg@if@char@available{00B7}%
+ {\setbox2\hbox{\char"00B7}}%
+ {\setbox2\hbox{.}}%
\advance\raiselldim by \the\fontdimen5\the\font
\advance\raiselldim by -\ht2%
\leftllkern=-.25\wd0%
@@ -3755,21 +4803,16 @@ and may look very wrong.}
\kern\rightllkern\hbox{l}}\allowhyphens
\fi
}
+
\def\Lgem{%
\ifmmode
\csname normal@char\string"\endcsname L%
\else
\leftllkern=0pt\rightllkern=0pt\raiselldim=0pt%
\setbox0\hbox{L}\setbox1\hbox{L\/}%
- \ifluatex %
- \expandafter\ifnum\directlua{polyglossia.check_char(183)} > 0\setbox2\hbox{\char"00B7}%
- \else\setbox2\hbox{.}%
- \fi %
- \else %
- \ifnum\XeTeXcharglyph"00B7 > 0\setbox2\hbox{\char"00B7}%
- \else\setbox2\hbox{.}%
- \fi %
- \fi %
+ \xpg@if@char@available{00B7}%
+ {\setbox2\hbox{\char"00B7}}%
+ {\setbox2\hbox{.}}%
\advance\raiselldim by .5\ht0%
\advance\raiselldim by -.5\ht2%
\leftllkern=-.125\wd0%
@@ -3784,6 +4827,7 @@ and may look very wrong.}
\kern\rightllkern\hbox{L}}\allowhyphens
\fi
}
+
\AtBeginDocument{%
\let\lslash\l
\let\Lslash\L
@@ -3848,6 +4892,66 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-catalan.ldf>
+%<*gloss-ckb-Arab.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ckb-Arab.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ckb-Arab.ldf}[polyglossia: module for ckb-Arab (kurdish)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{kurdish}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ckb-Arab.ldf>
+%<*gloss-ckb-Latn.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ckb-Latn.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ckb-Latn.ldf}[polyglossia: module for ckb-Latn (kurdish)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{kurdish}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ckb-Latn.ldf>
+%<*gloss-ckb.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ckb.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ckb.ldf}[polyglossia: module for ckb (kurdish)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{kurdish}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ckb.ldf>
+%<*gloss-cop.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-cop.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-cop.ldf}[polyglossia: module for cop (coptic)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{coptic}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-cop.ldf>
%<*gloss-coptic.ldf>
% \fi
% \clearpage
@@ -3856,6 +4960,7 @@ and may look very wrong.}
% \begin{macrocode}
\ProvidesFile{gloss-coptic.ldf}[polyglossia: module for coptic]
\PolyglossiaSetup{coptic}{
+ bcp47=cop,
script=Coptic,
scripttag=copt,
langtag=COP,
@@ -3864,6 +4969,9 @@ and may look very wrong.}
fontsetup=true
}
+% BCP-47 compliant aliases
+\setlanguagealias*{coptic}{cop}
+
%\def\captionscoptic{%
% \def\refname{<++>}%
% \def\abstractname{<++>}%
@@ -3903,6 +5011,7 @@ and may look very wrong.}
% \begin{macrocode}
\ProvidesFile{gloss-croatian.ldf}[polyglossia: module for croatian]
\PolyglossiaSetup{croatian}{
+ bcp47=hr,
langtag=HRV,
hyphennames={croatian},
hyphenmins={2,2}, % aligned with https://ctan.org/pkg/hrhyph patterns and http://lebesgue.math.hr/~nenad/Diplomski/Maja_Ribaric_2011.pdf
@@ -3911,12 +5020,134 @@ and may look very wrong.}
fontsetup=true
}
+% BCP-47 compliant aliases
+\setlanguagealias*{croatian}{hr}
+
+\define@boolkey{croatian}[croatian@]{babelshorthands}[true]{}
+
+\define@boolkey{croatian}[croatian@]{disableligatures}[true]{}
+
+% Register default options
+\xpg@initialize@gloss@options{croatian}{babelshorthands=false,disableligatures=false}
+
+\ifsystem@babelshorthands
+ \setkeys{croatian}{babelshorthands=true}
+\else
+ \setkeys{croatian}{babelshorthands=false}
+\fi
+
+\ifcsundef{initiate@active@char}{%
+ \input{babelsh.def}%
+ \initiate@active@char{"}%
+ \shorthandoff{"}%
+}{}
+
+\def\croatian@shorthands{%
+ \bbl@activate{"}%
+ \def\language@group{croatian}%
+ \declare@shorthand{croatian}{"=}{\penalty\@M-\hskip\z@skip}%
+ \declare@shorthand{croatian}{""}{\hskip\z@skip}%
+ \declare@shorthand{croatian}{"~}{\textormath{\leavevmode\hbox{-}}{-}}%
+ \declare@shorthand{croatian}{"-}{\nobreak\-\bbl@allowhyphens}%
+ \declare@shorthand{croatian}{"|}{%
+ \textormath{\penalty\@M\discretionary{-}{}{\kern.03em}%
+ \bbl@allowhyphens}{}%
+ }%
+ \declare@shorthand{croatian}{"/}{\textormath
+ {\bbl@allowhyphens\discretionary{/}{}{/}\bbl@allowhyphens}{}}%
+ \declare@shorthand{croatian}{"`}{„}%
+ \declare@shorthand{croatian}{"'}{”}%
+ \declare@shorthand{croatian}{"<}{«}%
+ \declare@shorthand{croatian}{">}{»}%
+ \declare@shorthand{croatian}{"D}{\xpg@hr@lig{D}}%
+ \declare@shorthand{croatian}{"d}{\xpg@hr@lig{d}}%
+ \declare@shorthand{croatian}{"L}{\xpg@hr@lig{L}}%
+ \declare@shorthand{croatian}{"l}{\xpg@hr@lig{l}}%
+ \declare@shorthand{croatian}{"N}{\xpg@hr@lig{N}}%
+ \declare@shorthand{croatian}{"n}{\xpg@hr@lig{n}}%
+}
+
+\def\nocroatian@shorthands{%
+ \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+}
+
+\newcommand*\hr@charifavailable[2]{%
+ \ifcroatian@disableligatures
+ \bgroup#2\egroup%
+ \else
+ \charifavailable{#1}{#2}%
+ \fi%
+}
+
+% Provide croatian ligatures if available in current font
+\def\xpg@hr@lig#1#2{%
+ \bgroup%
+ % 1. DŽ, Dž and dž
+ \ifx#1D%
+ \ifx#2Z\relax%
+ \hr@charifavailable{01C4}{DŽ}%
+ \else%
+ \ifx#2z\relax
+ \hr@charifavailable{01C5}{Dž}%
+ \else
+ D#2%
+ \fi%
+ \fi%
+ \fi%
+ \ifx#1d%
+ \ifx#2z\relax
+ \hr@charifavailable{01C6}{dž}%
+ \else
+ d#2%
+ \fi%
+ \fi%
+ % 2. LJ, Lj and lj
+ \ifx#1L%
+ \ifx#2J\relax%
+ \hr@charifavailable{01C7}{LJ}%
+ \else%
+ \ifx#2j\relax
+ \hr@charifavailable{01C8}{Lj}%
+ \else
+ L#2%
+ \fi%
+ \fi%
+ \fi%
+ \ifx#1l%
+ \ifx#2j\relax
+ \hr@charifavailable{01C9}{lj}%
+ \else
+ l#2%
+ \fi%
+ \fi%
+ % 2. NJ, Nj and nj
+ \ifx#1N%
+ \ifx#2J\relax%
+ \hr@charifavailable{01CA}{NJ}%
+ \else%
+ \ifx#2j\relax
+ \hr@charifavailable{01CB}{Nj}%
+ \else
+ N#2%
+ \fi%
+ \fi%
+ \fi%
+ \ifx#1n%
+ \ifx#2j\relax
+ \hr@charifavailable{01CC}{nj}%
+ \else
+ n#2%
+ \fi%
+ \fi%
+ \egroup%
+}
+
\def\captionscroatian{%
\def\prefacename{Predgovor}%
\def\refname{Literatura}%
\def\abstractname{Sažetak}%
\def\bibname{Bibliografija}%
- \def\chaptername{Poglavlje}%
+ \def\chaptername{Poglav\hr@charifavailable{01C9}{lj}e}%
\def\appendixname{Dodatak}%
\def\contentsname{Sadržaj}%
\def\listfigurename{Popis slika}%
@@ -3934,15 +5165,59 @@ and may look very wrong.}
\def\proofname{Dokaz}%
\def\glossaryname{Pojmovnik}%
}
+
\def\datecroatian{%
\def\today{\number\day.~\ifcase\month\or
siječnja\or veljače\or ožujka\or travnja\or svibnja\or
lipnja\or srpnja\or kolovoza\or rujna\or listopada\or studenoga\or
- prosinca\fi \space \number\year.}}
+ prosinca\fi \space \number\year.}%
+}
+
+\def\noextras@croatian{%
+ \nocroatian@shorthands%
+}
+
+\def\blockextras@croatian{%
+ \ifcroatian@babelshorthands\croatian@shorthands\fi%
+}
+
+\def\inlineextras@croatian{%
+ \ifcroatian@babelshorthands\croatian@shorthands\fi%
+}
% \end{macrocode}
% \iffalse
%</gloss-croatian.ldf>
+%<*gloss-cy.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-cy.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-cy.ldf}[polyglossia: module for cy (welsh)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{welsh}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-cy.ldf>
+%<*gloss-cz.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-cz.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-cz.ldf}[polyglossia: module for cz (czech)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{czech}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-cz.ldf>
%<*gloss-czech.ldf>
% \fi
% \clearpage
@@ -3952,6 +5227,7 @@ and may look very wrong.}
\ProvidesFile{gloss-czech.ldf}[polyglossia: module for czech]
\PolyglossiaSetup{czech}{
+ bcp47=cz,
hyphennames={czech},
hyphenmins={2,2},
langtag=CSY,
@@ -3959,6 +5235,9 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{czech}{cz}
+
\ifluatex
\RequirePackage{luavlna}
\fi
@@ -3969,7 +5248,8 @@ and may look very wrong.}
\define@boolkey{czech}[czech@]{vlna}[true]{}
-\setkeys{czech}{splithyphens,vlna}
+% Register default options
+\xpg@initialize@gloss@options{czech}{babelshorthands=false,splithyphens=true,vlna=true}
\ifsystem@babelshorthands
\setkeys{czech}{babelshorthands=true}
@@ -3984,8 +5264,12 @@ and may look very wrong.}
}{}
\def\cs@@splithyphen#1{%
- \kern\z@\discretionary{-}{\char\hyphenchar\the\font}{#1}%
- \nobreak\hskip\z@%
+ \ifnum\hyphenchar \font>0%
+ \kern\z@\discretionary{-}{\char\hyphenchar\the\font}{#1}%
+ \nobreak\hskip\z@%
+ \else%
+ #1%
+ \fi%
}
\def\cs@splithyphen{%
@@ -4163,18 +5447,33 @@ and may look very wrong.}
\def\blockextras@czech{%
\ifczech@babelshorthands\czech@shorthands\fi%
\ifczech@vlna\czech@vlna\else\noczech@vlna\fi%
- \ifczech@splithyphens\czech@hyphens\else\noczech@hyhens\fi%
+ \ifczech@splithyphens\czech@hyphens\else\noczech@hyphens\fi%
}
\def\inlineextras@czech{%
\ifczech@babelshorthands\czech@shorthands\fi%
\ifczech@vlna\czech@vlna\else\noczech@vlna\fi%
- \ifczech@splithyphens\czech@hyphens\else\noczech@hyhens\fi%
+ \ifczech@splithyphens\czech@hyphens\else\noczech@hyphens\fi%
}
% \end{macrocode}
% \iffalse
%</gloss-czech.ldf>
+%<*gloss-da.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-da.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-da.ldf}[polyglossia: module for da (danish)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{danish}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-da.ldf>
%<*gloss-danish.ldf>
% \fi
% \clearpage
@@ -4183,6 +5482,7 @@ and may look very wrong.}
% \begin{macrocode}
\ProvidesFile{gloss-danish.ldf}[polyglossia: module for danish]
\PolyglossiaSetup{danish}{
+ bcp47=da,
hyphennames={danish},
hyphenmins={2,3},
langtag=DAN,
@@ -4190,6 +5490,9 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{danish}{da}
+
\def\captionsdanish{%
\def\prefacename{Forord}%
\def\refname{Litteratur}%
@@ -4223,6 +5526,306 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-danish.ldf>
+%<*gloss-de-AT-1901.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-de-AT-1901.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-de-AT-1901.ldf}[polyglossia: module for de-AT-1901 (german)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{german}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-de-AT-1901.ldf>
+%<*gloss-de-AT-1996.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-de-AT-1996.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-de-AT-1996.ldf}[polyglossia: module for de-AT-1996 (german)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{german}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-de-AT-1996.ldf>
+%<*gloss-de-AT.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-de-AT.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-de-AT.ldf}[polyglossia: module for de-AT (german)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{german}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-de-AT.ldf>
+%<*gloss-de-CH-1901.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-de-CH-1901.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-de-CH-1901.ldf}[polyglossia: module for de-CH-1901 (german)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{german}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-de-CH-1901.ldf>
+%<*gloss-de-CH-1996.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-de-CH-1996.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-de-CH-1996.ldf}[polyglossia: module for de-CH-1996 (german)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{german}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-de-CH-1996.ldf>
+%<*gloss-de-CH.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-de-CH.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-de-CH.ldf}[polyglossia: module for de-CH (german)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{german}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-de-CH.ldf>
+%<*gloss-de-DE-1901.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-de-DE-1901.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-de-DE-1901.ldf}[polyglossia: module for de-DE-1901 (german)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{german}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-de-DE-1901.ldf>
+%<*gloss-de-DE-1996.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-de-DE-1996.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-de-DE-1996.ldf}[polyglossia: module for de-DE-1996 (german)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{german}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-de-DE-1996.ldf>
+%<*gloss-de-DE.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-de-DE.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-de-DE.ldf}[polyglossia: module for de-DE (german)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{german}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-de-DE.ldf>
+%<*gloss-de-Latf-AT-1901.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-de-Latf-AT-1901.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-de-AT-1901-Latf.ldf}[polyglossia: module for de-AT-1901-Latf (german)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{german}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-de-Latf-AT-1901.ldf>
+%<*gloss-de-Latf-AT-1996.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-de-Latf-AT-1996.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-de-AT-1996-Latf.ldf}[polyglossia: module for de-AT-1996-Latf (german)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{german}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-de-Latf-AT-1996.ldf>
+%<*gloss-de-Latf-AT.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-de-Latf-AT.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-de-AT-Latf.ldf}[polyglossia: module for de-AT-Latf (german)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{german}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-de-Latf-AT.ldf>
+%<*gloss-de-Latf-CH-1901.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-de-Latf-CH-1901.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-de-CH-1901-Latf.ldf}[polyglossia: module for de-CH-1901-Latf (german)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{german}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-de-Latf-CH-1901.ldf>
+%<*gloss-de-Latf-CH-1996.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-de-Latf-CH-1996.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-de-CH-1996-Latf.ldf}[polyglossia: module for de-CH-1996-Latf (german)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{german}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-de-Latf-CH-1996.ldf>
+%<*gloss-de-Latf-CH.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-de-Latf-CH.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-de-CH-Latf.ldf}[polyglossia: module for de-CH-Latf (german)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{german}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-de-Latf-CH.ldf>
+%<*gloss-de-Latf-DE-1901.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-de-Latf-DE-1901.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-de-DE-1901-Latf.ldf}[polyglossia: module for de-DE-1901-Latf (german)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{german}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-de-Latf-DE-1901.ldf>
+%<*gloss-de-Latf-DE-1996.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-de-Latf-DE-1996.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-de-DE-1996-Latf.ldf}[polyglossia: module for de-DE-1996-Latf (german)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{german}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-de-Latf-DE-1996.ldf>
+%<*gloss-de-Latf-DE.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-de-Latf-DE.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-de-DE-Latf.ldf}[polyglossia: module for de-DE-Latf (german)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{german}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-de-Latf-DE.ldf>
+%<*gloss-de-Latf.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-de-Latf.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-de-Latf.ldf}[polyglossia: module for de-Latf (german)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{german}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-de-Latf.ldf>
+%<*gloss-de.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-de.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-de.ldf}[polyglossia: module for de (german)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{german}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-de.ldf>
%<*gloss-divehi.ldf>
% \fi
% \clearpage
@@ -4238,6 +5841,7 @@ and may look very wrong.}
\fi
\RequireBidi
\PolyglossiaSetup{divehi}{
+ bcp47=dv,
script=Thaana,
scripttag=thaa,
langtag=DIV,% TODO Support DHV as well?
@@ -4246,6 +5850,9 @@ and may look very wrong.}
fontsetup=true
}
+% BCP-47 compliant aliases
+\setlanguagealias*{divehi}{dv}
+
%\def\captionsdivehi{%
% \def\refname{<++>}%
% \def\abstractname{<++>}%
@@ -4287,6 +5894,21 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-divehi.ldf>
+%<*gloss-dsb.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-dsb.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-dsb.ldf}[polyglossia: module for dsb (sorbian)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{sorbian}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-dsb.ldf>
%<*gloss-dutch.ldf>
% \fi
% \clearpage
@@ -4295,6 +5917,7 @@ and may look very wrong.}
% \begin{macrocode}
\ProvidesFile{gloss-dutch.ldf}[polyglossia: module for dutch]
\PolyglossiaSetup{dutch}{
+ bcp47=nl,
hyphennames={dutch},
hyphenmins={2,2},
langtag=NLD,
@@ -4302,8 +5925,14 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{dutch}{nl}
+
\define@boolkey{dutch}[dutch@]{babelshorthands}[true]{}
+% Register default options
+\xpg@initialize@gloss@options{dutch}{babelshorthands=false}
+
\ifsystem@babelshorthands
\setkeys{dutch}{babelshorthands=true}
\else
@@ -4381,6 +6010,156 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-dutch.ldf>
+%<*gloss-dv.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-dv.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-dv.ldf}[polyglossia: module for dv (divehi)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{divehi}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-dv.ldf>
+%<*gloss-el-monoton.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-el-monoton.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-el-monoton.ldf}[polyglossia: module for el-monoton (greek)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{greek}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-el-monoton.ldf>
+%<*gloss-el-polyton.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-el-polyton.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-el-polyton.ldf}[polyglossia: module for el-polyton (greek)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{greek}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-el-polyton.ldf>
+%<*gloss-el.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-el.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-el.ldf}[polyglossia: module for el (greek)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{greek}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-el.ldf>
+%<*gloss-en-AU.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-en-AU.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-en-AU.ldf}[polyglossia: module for en-AU (english)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{english}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-en-AU.ldf>
+%<*gloss-en-CA.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-en-CA.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-en-CA.ldf}[polyglossia: module for en-CA (english)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{english}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-en-CA.ldf>
+%<*gloss-en-GB.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-en-GB.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-en-GB.ldf}[polyglossia: module for en-GB (english)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{english}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-en-GB.ldf>
+%<*gloss-en-NZ.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-en-NZ.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-en-NZ.ldf}[polyglossia: module for en-NZ (english)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{english}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-en-NZ.ldf>
+%<*gloss-en-US.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-en-US.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-en-US.ldf}[polyglossia: module for en-US (english)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{english}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-en-US.ldf>
+%<*gloss-en.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-en.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-en.ldf}[polyglossia: module for en (english)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{english}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-en.ldf>
%<*gloss-english.ldf>
% \fi
% \clearpage
@@ -4390,12 +6169,21 @@ and may look very wrong.}
\ProvidesFile{gloss-english.ldf}[polyglossia: module for english]
\PolyglossiaSetup{english}{
+ bcp47=en-US,
hyphennames={english,american,usenglish,USenglish},
hyphenmins={2,3},
langtag=ENG,
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{english}{en}
+\setlanguagealias*[variant=australian]{english}{en-AU}
+\setlanguagealias*[variant=newzealand]{english}{en-NZ}
+\setlanguagealias*[variant=us]{english}{en-US}
+\setlanguagealias*[variant=british]{english}{en-GB}
+\setlanguagealias*[variant=canadian]{english}{en-CA}
+
% Babel aliases
\setlanguagealias[variant=us]{english}{american}
\setlanguagealias[variant=australian]{english}{australian}
@@ -4417,41 +6205,41 @@ and may look very wrong.}
% Option ordinalmonthday
\define@boolkey{english}[english@]{ordinalmonthday}[true]{}
-\define@choicekey*+{english}{variant}[\val\nr]{uk,british,us,american,usmax,australian,newzealand,canadian}{%
+\define@choicekey*+{english}{variant}[\val\nr]{uk,british,us,american,usmax,australian,newzealand,canadian}[us]{%
\ifcase\nr\relax
% uk:
\british@hyphentrue
\british@dateformattrue
\english@ordinalmonthdaytrue
- \SetLanguageKeys{english}{babelname=british}%
+ \SetLanguageKeys{english}{babelname=british,bcp47=en-GB}%
\xpg@info{Option: English, variant=british}%
\or
% british:
\british@hyphentrue
\british@dateformattrue
\english@ordinalmonthdaytrue
- \SetLanguageKeys{english}{babelname=british}%
+ \SetLanguageKeys{english}{babelname=british,bcp47=en-GB}%
\xpg@info{Option: english variant=british}%
\or
% us:
\british@hyphenfalse
\british@dateformatfalse
\english@ordinalmonthdayfalse
- \SetLanguageKeys{english}{babelname=american}%
+ \SetLanguageKeys{english}{babelname=american,bcp47=en-US}%
\xpg@info{Option: English, variant=american}%
\or
% american:
\british@hyphenfalse
\british@dateformatfalse
\english@ordinalmonthdayfalse
- \SetLanguageKeys{english}{babelname=american}%
+ \SetLanguageKeys{english}{babelname=american,bcp47=en-US}%
\xpg@info{Option: English, variant=american}%
\or
% usmax:
\british@hyphenfalse
\british@dateformatfalse
\english@ordinalmonthdayfalse
- \SetLanguageKeys{english}{babelname=american}%
+ \SetLanguageKeys{english}{babelname=american,bcp47=en-US}%
\xpg@info{Option: english variant=american (with additional patterns)}%
\xpg@ifdefined{usenglishmax}{}%
{\xpg@warning{No hyphenation patterns were loaded for "US English Max"\MessageBreak
@@ -4466,8 +6254,9 @@ and may look very wrong.}
\british@hyphentrue
\british@dateformattrue
\english@ordinalmonthdayfalse
- \SetLanguageKeys{english}{babelname=australian}%
+ \SetLanguageKeys{english}{babelname=australian,bcp47=en-AU}%
\xpg@info{Option: English, variant=australian}%
+ \adddialect\l@australian\l@english%
\or
% newzealand:
% These use the british hyphenation patterns
@@ -4475,16 +6264,18 @@ and may look very wrong.}
\british@hyphentrue
\british@dateformattrue
\english@ordinalmonthdayfalse
- \SetLanguageKeys{english}{babelname=newzealand}%
+ \SetLanguageKeys{english}{babelname=newzealand,bcp47=en-NZ}%
\xpg@info{Option: English, variant=newzealand}%
+ \adddialect\l@newzealand\l@english%
\or
% canadian:
% This is currently equivalent to usenglish (as in babel)
\british@hyphenfalse
\british@dateformatfalse
\english@ordinalmonthdayfalse
- \SetLanguageKeys{english}{babelname=canadian}%
+ \SetLanguageKeys{english}{babelname=canadian,bcp47=en-CA}%
\xpg@info{Option: English, variant=american}%
+ \adddialect\l@canadian\l@english%
\fi
\ifbritish@hyphen
\xpg@ifdefined{ukenglish}{}%
@@ -4496,6 +6287,12 @@ and may look very wrong.}
\fi
}{\xpg@warning{Unknown English variant `#1'}}
+% Register default options
+\xpg@initialize@gloss@options{english}{variant=us,ordinalmonthday=false}
+% Register alias options
+\xpg@set@alias@values{english}{variant}{us}{american}
+\xpg@set@alias@values{english}{variant}{uk}{british}
+
\ifxetex
% Check if \l@english is defined. If not, try to set it to some variety
% (specific order as in the csv list below), or null language if everything fails
@@ -4515,7 +6312,7 @@ and may look very wrong.}
\fi
\def\english@language{%
- \polyglossia@setup@language@patterns{\english@variant}
+ \polyglossia@setup@language@patterns{\english@variant}%
}%
\def\captionsenglish{%
@@ -4566,6 +6363,66 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-english.ldf>
+%<*gloss-eo.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-eo.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-eo.ldf}[polyglossia: module for eo (esperanto)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{esperanto}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-eo.ldf>
+%<*gloss-es-ES.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-es-ES.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-es-ES.ldf}[polyglossia: module for es-ES (spanish)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{spanish}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-es-ES.ldf>
+%<*gloss-es-MX.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-es-MX.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-es-MX.ldf}[polyglossia: module for es-MX (spanish)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{spanish}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-es-MX.ldf>
+%<*gloss-es.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-es.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-es.ldf}[polyglossia: module for es (spanish)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{spanish}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-es.ldf>
%<*gloss-esperanto.ldf>
% \fi
% \clearpage
@@ -4574,6 +6431,7 @@ and may look very wrong.}
% \begin{macrocode}
\ProvidesFile{gloss-esperanto.ldf}[polyglossia: module for esperanto]
\PolyglossiaSetup{esperanto}{
+ bcp47=eo,
hyphennames={esperanto},
hyphenmins={2,2},
langtag=NTO,
@@ -4581,6 +6439,9 @@ and may look very wrong.}
%TODO localalph={esperanto@alph,esperanto@Alph}
}
+% BCP-47 compliant aliases
+\setlanguagealias*{esperanto}{eo}
+
\def\captionsesperanto{%
\def\refname{Citaĵoj}%
\def\abstractname{Resumo}%
@@ -4646,6 +6507,7 @@ and may look very wrong.}
% \begin{macrocode}
\ProvidesFile{gloss-estonian.ldf}[polyglossia: module for estonian]
\PolyglossiaSetup{estonian}{
+ bcp47=et,
hyphennames={estonian},
hyphenmins={2,2},
langtag=ETI,
@@ -4653,6 +6515,9 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{estonian}{et}
+
\def\captionsestonian{%
\def\refname{Viited}%
\def\abstractname{Kokkuvõte}%
@@ -4686,6 +6551,51 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-estonian.ldf>
+%<*gloss-et.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-et.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-et.ldf}[polyglossia: module for et (estonian)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{estonian}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-et.ldf>
+%<*gloss-eu.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-eu.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-eu.ldf}[polyglossia: module for eu (basque)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{basque}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-eu.ldf>
+%<*gloss-fa.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-fa.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-fa.ldf}[polyglossia: module for fa (persian)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{persian}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-fa.ldf>
%<*gloss-farsi.ldf>
% \fi
% \clearpage
@@ -4702,6 +6612,21 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-farsi.ldf>
+%<*gloss-fi.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-fi.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-fi.ldf}[polyglossia: module for fi (finnish)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{finnish}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-fi.ldf>
%<*gloss-finnish.ldf>
% \fi
% \clearpage
@@ -4710,6 +6635,7 @@ and may look very wrong.}
% \begin{macrocode}
\ProvidesFile{gloss-finnish.ldf}[polyglossia: module for finnish]
\PolyglossiaSetup{finnish}{
+ bcp47=fi,
hyphennames={finnish},
hyphenmins={2,2},
langtag=FIN,
@@ -4717,8 +6643,14 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{finnish}{fi}
+
\define@boolkey{finnish}[finnish@]{babelshorthands}[true]{}
+% Register default options
+\xpg@initialize@gloss@options{finnish}{babelshorthands=false}
+
\ifsystem@babelshorthands
\setkeys{finnish}{babelshorthands=true}
\else
@@ -4793,6 +6725,66 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-finnish.ldf>
+%<*gloss-fr-CA.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-fr-CA.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-fr-CA.ldf}[polyglossia: module for fr-CA (french)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{french}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-fr-CA.ldf>
+%<*gloss-fr-CH.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-fr-CH.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-fr-CH.ldf}[polyglossia: module for fr-CH (french)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{french}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-fr-CH.ldf>
+%<*gloss-fr-FR.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-fr-FR.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-fr-FR.ldf}[polyglossia: module for fr-FR (french)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{french}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-fr-FR.ldf>
+%<*gloss-fr.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-fr.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-fr.ldf}[polyglossia: module for fr (french)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{french}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-fr.ldf>
%<*gloss-french.ldf>
% \fi
% \clearpage
@@ -4802,6 +6794,7 @@ and may look very wrong.}
\ProvidesFile{gloss-french.ldf}[polyglossia: module for french]
\PolyglossiaSetup{french}{%
+ bcp47=fr-FR,
language=French,
script=Latin,
langtag=FRA,
@@ -4811,46 +6804,63 @@ and may look very wrong.}
hyphenmins={2,2},
fontsetup=true}
+% BCP-47 compliant aliases
+\setlanguagealias*{french}{fr}
+\setlanguagealias*[variant=french]{french}{fr-FR}
+\setlanguagealias*[variant=canadian]{french}{fr-CA}
+\setlanguagealias*[variant=swiss]{french}{fr-CH}
+
% Babel aliases
\setlanguagealias[variant=acadian]{french}{acadien}
\setlanguagealias[variant=canadian]{french}{canadien}
\def\french@variant{french}
-\define@choicekey*+{french}{variant}[\val\nr]{french,canadian,acadian}[french]{%
+\define@choicekey*+{french}{variant}[\val\nr]{french,canadian,acadian,swiss}[french]{%
\ifcase\nr\relax
% french:
\def\french@variant{french}%
+ \SetLanguageKeys{french}{babelname=french,bcp47=fr-FR}%
+ \french@thincolonspacefalse
\or
% canadian:
\def\french@variant{canadien}%
- \SetLanguageKeys{french}{babelname=canadien}%
+ \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA}%
\xpg@ifdefined{canadien}{}%
{\xpg@warning{No hyphenation patterns were loaded for "French (Canada)"\MessageBreak
I will use the standard patterns for French instead}%
\adddialect\l@canadien\l@french\relax}%
+ \french@thincolonspacefalse
\or
% acadian:
\def\french@variant{acadian}%
- \SetLanguageKeys{french}{babelname=canadien}%
+ \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA}%
\xpg@ifdefined{acadian}{}%
{\xpg@warning{No hyphenation patterns were loaded for "French (Canada)"\MessageBreak
I will use the standard patterns for French instead}%
\adddialect\l@acadian\l@french\relax}%
+ \french@thincolonspacefalse
+ \or
+ % swiss:
+ \def\french@variant{swissfrench}%
+ \SetLanguageKeys{french}{babelname=french,bcp47=fr-CH}%
+ \adddialect\l@swissfrench\l@french\relax%
+ \french@thincolonspacetrue
\fi
\xpg@info{Option: French, variant=\val}%
}{\xpg@warning{Unknown French variant `#1'}}
\def\french@language{%
- \polyglossia@setup@language@patterns{\french@variant}
+ \polyglossia@setup@language@patterns{\french@variant}%
}%
\ifluatex
\directlua{require('polyglossia-french')}%
\else
- \newXeTeXintercharclass\french@openbrackets % ( ] {
- \newXeTeXintercharclass\french@closebrackets % ( ] {
- \newXeTeXintercharclass\french@punctthin % ! ? ; et autres
+ \newXeTeXintercharclass\french@openbrackets % ( [ {
+ \newXeTeXintercharclass\french@closebrackets % ) ] }
+ \newXeTeXintercharclass\french@questionexclamation % ! ? et autres
+ \newXeTeXintercharclass\french@punctthin % ; (et :)
\newXeTeXintercharclass\french@punctthick % :
\newXeTeXintercharclass\french@punctguillstart % « ‹
\newXeTeXintercharclass\french@punctguillend % » ›
@@ -4863,9 +6873,9 @@ and may look very wrong.}
\define@boolkey{french}[french@]{frenchfootnote}[true]{%
\AfterPreamble{%
- \ifdefstring{\xpg@main@language}{french}{%
- \iffrench@frenchfootnote
- \ifx\@makefntext\undefined\else
+ \iffrench@frenchfootnote
+ \ifdefstring{\xpg@main@language}{french}{%
+ \ifx\@makefntext\undefined\else
\long\def\french@makefntext##1{%
\parindent1em \noindent\quad%
\ifx\@thefnmark\empty\else%
@@ -4873,10 +6883,10 @@ and may look very wrong.}
}
\let\@makefntext\french@makefntext
\fi
- \else
- \let\@makefntext\xpg@orig@makefntext
- \fi
- }{\xpg@warning{Option 'frenchfootnote' only supported if French is main language!}}%
+ }{\xpg@warning{Option 'frenchfootnote' only supported if French is main language!}}%
+ \else
+ \let\@makefntext\xpg@orig@makefntext
+ \fi
}%
}
@@ -4948,19 +6958,28 @@ and may look very wrong.}
\define@boolkey{french}[french@]{frenchitemlabels}[true]{%
\AfterPreamble{%
- \ifdefstring{\xpg@main@language}{french}{%
- \iffrench@frenchitemlabels
+ \iffrench@frenchitemlabels
+ \ifdefstring{\xpg@main@language}{french}{%
\renewcommand{\labelitemi}{\french@itemi}%
\renewcommand{\labelitemii}{\french@itemii}%
\renewcommand{\labelitemiii}{\french@itemiii}%
\renewcommand{\labelitemiv}{\french@itemiv}%
- \else
- \let\@makefntext\xpg@orig@makefntext
- \fi
- }{\xpg@warning{Option 'frenchitemlabels' only supported if French is main language!}}%
+ }{\xpg@warning{Option 'frenchitemlabels' only supported if French is main language!}}%
+ \else
+ \let\@makefntext\xpg@orig@makefntext
+ \fi
}%
}
+% Register default options
+\xpg@initialize@gloss@options{french}{variant=french,autospacing=true,thincolonspace=false,
+ autospaceguillemets=true,autospacetypewriter=false,
+ frenchfootnote=false,frenchitemlabels=false,
+ itemlabels=\textemdash,itemlabeli=\textemdash,itemlabelii=\textemdash,
+ itemlabeliii=\textemdash,itemlabeliv=\textemdash}
+% Register alias options
+\xpg@set@alias@values{french}{variant}{canadian}{acadian}
+
\def\french@fontsetup{%
\unless\iffrench@autospacetypewriter
@@ -4993,12 +7012,13 @@ and may look very wrong.}
\fi
\else
\XeTeXinterchartokenstate=1
- \XeTeXcharclass `\! \french@punctthin
- \XeTeXcharclass `\? \french@punctthin
- \XeTeXcharclass `\‼ \french@punctthin
- \XeTeXcharclass `\⁇ \french@punctthin
- \XeTeXcharclass `\⁈ \french@punctthin
- \XeTeXcharclass `\⁉ \french@punctthin
+ \XeTeXcharclass `\! \french@questionexclamation
+ \XeTeXcharclass `\? \french@questionexclamation
+ \XeTeXcharclass `\‼ \french@questionexclamation
+ \XeTeXcharclass `\⁇ \french@questionexclamation
+ \XeTeXcharclass `\⁈ \french@questionexclamation
+ \XeTeXcharclass `\⁉ \french@questionexclamation
+ \XeTeXcharclass `\‽ \french@questionexclamation % U+203D (interrobang)
\XeTeXcharclass `\; \french@punctthin
\iffrench@thincolonspace
\XeTeXcharclass `\: \french@punctthin
@@ -5017,26 +7037,35 @@ and may look very wrong.}
\XeTeXcharclass `\} \french@closebrackets
\XeTeXcharclass `\⟨ \french@openbrackets
\XeTeXcharclass `\⟩ \french@closebrackets
+ \XeTeXinterchartoks \z@ \french@questionexclamation = {\xpg@french@thinsp}%
\XeTeXinterchartoks \z@ \french@punctthin = {\xpg@french@thinsp}%
\XeTeXinterchartoks \z@ \french@punctthick = {\nobreakspace}%
+ \XeTeXinterchartoks \xpg@boundaryclass \french@questionexclamation = {\xpg@unskip\xpg@french@thinsp}%
\XeTeXinterchartoks \xpg@boundaryclass \french@punctthin = {\xpg@unskip\xpg@french@thinsp}%
\XeTeXinterchartoks \xpg@boundaryclass \french@punctthick = {\xpg@unskip\nobreakspace}%
\iffrench@autospaceguillemets
\let\xpg@french@guillspace\xpg@french@thinsp%
\XeTeXinterchartoks \french@punctguillstart \z@ = {\xpg@french@guillspace}% "«a" -> "«\,a"
+ \XeTeXinterchartoks \french@punctguillstart \french@punctguillstart = {\xpg@french@guillspace}% "«‹" -> "«\,‹"
% \XeTeXinterchartoks \z@ \french@punctguillstart = {\nobreakspace}% "a«" unchanged?
% \XeTeXinterchartoks \french@punctguillend \z@ = {\nobreakspace}% "»a" unchanged?
\XeTeXinterchartoks \z@ \french@punctguillend = {\xpg@french@guillspace}% "a»" -> "a\,»"
\XeTeXinterchartoks \french@punctguillstart \xpg@boundaryclass = {\xpg@french@guillspace\ignorespaces}% "« " -> "«\,"
\XeTeXinterchartoks \xpg@boundaryclass \french@punctguillend = {\xpg@unskip\xpg@french@guillspace}% " »" -> "\,»"
\XeTeXinterchartoks \french@closebrackets \french@punctguillend = {\xpg@french@guillspace}% ")»" -> ")\,»"
+ \XeTeXinterchartoks \french@questionexclamation \french@punctguillend = {\xpg@french@guillspace}% "?»" -> "?\,»"
+ \XeTeXinterchartoks \french@punctthin \french@punctguillend = {\xpg@french@guillspace}% ";»" -> ";\,»"
+ \XeTeXinterchartoks \french@punctguillend \french@punctguillend = {\xpg@french@guillspace}% "›»" -> "›\,»"
\else
\def\xpg@french@guillspace{}%
\fi
+ \XeTeXinterchartoks \french@punctguillend \french@questionexclamation = {\xpg@french@thinsp}% "»?" -> "»\,?"
\XeTeXinterchartoks \french@punctguillend \french@punctthin = {\xpg@french@thinsp}% "»;" -> "»\,;"
\XeTeXinterchartoks \french@punctguillend \french@punctthick = {\nobreakspace}% "»:" -> "» :"
- \XeTeXinterchartoks \french@punctthin \french@punctguillend = {\xpg@french@thinsp}% "?»" -> "?\,»"
- \XeTeXinterchartoks \french@openbrackets \french@punctthin = {\xpg@unskip}% "(?" -> "(?" and not "( ?"
+ \XeTeXinterchartoks \french@questionexclamation \french@punctthin = {\xpg@french@thinsp}% "?;" -> "?\,;"
+ \XeTeXinterchartoks \french@questionexclamation \french@punctthick = {\xpg@french@thinsp}% "?:" -> "?\,:"
+ \XeTeXinterchartoks \french@openbrackets \french@questionexclamation = {\xpg@unskip}% "(?" -> "(?" and not "( ?"
+ \XeTeXinterchartoks \french@openbrackets \french@punctthin = {\xpg@unskip}% "(;" -> "(;" and not "( ;"
\XeTeXinterchartoks \french@punctthin \french@closebrackets = {\xpg@unskip}% "?)" -> "?)" (code not need, just for symetry with previous one)
\XeTeXinterchartoks \french@closebrackets \french@punctthin = {\xpg@french@thinsp}% ")?" -> ")\,?"
\XeTeXinterchartoks \french@closebrackets \french@punctthick = {\nobreakspace}% "):" -> ") :"
@@ -5054,6 +7083,7 @@ and may look very wrong.}
\XeTeXcharclass `\⁇ \z@
\XeTeXcharclass `\⁈ \z@
\XeTeXcharclass `\⁉ \z@
+ \XeTeXcharclass `\‽ \z@
\XeTeXcharclass `\; \z@
\XeTeXcharclass `\: \z@
\XeTeXcharclass `\« \z@
@@ -5184,6 +7214,7 @@ and may look very wrong.}
\ProvidesFile{gloss-friulian.ldf}[polyglossia: module for friulian]
\PolyglossiaSetup{friulian}{%
+ bcp47=fur,
language=Friulian,
babelname=friulan,
hyphennames={friulan,furlan},
@@ -5194,6 +7225,9 @@ and may look very wrong.}
frenchspacing=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{friulian}{fur}
+
% Babel and backwards compat. alias
\setlanguagealias{friulian}{friulan}
@@ -5253,6 +7287,36 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-friulian.ldf>
+%<*gloss-fur.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-fur.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-fur.ldf}[polyglossia: module for fur (friulian)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{friulian}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-fur.ldf>
+%<*gloss-ga.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ga.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ga.ldf}[polyglossia: module for ga (gaelic)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{gaelic}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ga.ldf>
%<*gloss-gaelic.ldf>
% \fi
% \clearpage
@@ -5262,6 +7326,7 @@ and may look very wrong.}
\ProvidesFile{gloss-gaelic.ldf}[polyglossia: module for gaelic]
\PolyglossiaSetup{gaelic}{
+ bcp47=ga,
language=Irish,
babelname=irish,
hyphennames={irish},
@@ -5270,6 +7335,9 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*[variant=irish]{gaelic}{ga}
+\setlanguagealias*[variant=scottish]{gaelic}{gd}
% Babel aliases
\setlanguagealias[variant=irish]{gaelic}{irish}
\setlanguagealias[variant=scottish]{gaelic}{scottish}
@@ -5279,17 +7347,20 @@ and may look very wrong.}
\ifcase\nr\relax
% irish:
\gdef\gaelic@variant{irish}%
- \SetLanguageKeys{gaelic}{language=Irish,langtag=IRI,babelname=irish}%
+ \SetLanguageKeys{gaelic}{language=Irish,langtag=IRI,babelname=irish,bcp47=ga}%
\xpg@fontsetup@latin{gaelic}%
\or
% scottish:
\gdef\gaelic@variant{scottish}%
- \SetLanguageKeys{gaelic}{language=Gaelic,langtag=GAE,babelname=scottish}%
+ \SetLanguageKeys{gaelic}{language=Gaelic,langtag=GAE,babelname=scottish,bcp47=gd}%
\xpg@fontsetup@latin{gaelic}%
\fi
\xpg@info{Option: gaelic, variant=\val}%
}{\xpg@warning{Unknown gaelic variant `#1'}}
+% Register default options
+\xpg@initialize@gloss@options{gaelic}{variant=irish}
+
\def\captionsgaelic@irish{%
\def\refname{Tagairtí}%
\def\abstractname{Achoimre}%
@@ -5380,6 +7451,7 @@ and may look very wrong.}
% \begin{macrocode}
\ProvidesFile{gloss-galician.ldf}[polyglossia: module for galician]
\PolyglossiaSetup{galician}{
+ bcp47=gl,
hyphennames={galician},
hyphenmins={2,2},
langtag=GAL,
@@ -5387,6 +7459,9 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{galician}{gl}
+
\def\captionsgalician{%
\def\refname{Referencias}%
\def\abstractname{Resumo}%
@@ -5420,6 +7495,21 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-galician.ldf>
+%<*gloss-gd.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-gd.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-gd.ldf}[polyglossia: module for gd (gaelic)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{gaelic}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-gd.ldf>
%<*gloss-georgian.ldf>
% \fi
% \clearpage
@@ -5429,6 +7519,7 @@ and may look very wrong.}
\ProvidesFile{gloss-georgian.ldf}[polyglossia: module for georgian]
\PolyglossiaSetup{georgian}{
+ bcp47=ka,
script=Georgian,
scripttag=geor,
langtag=KAT,
@@ -5437,6 +7528,9 @@ and may look very wrong.}
localnumeral=georgiannumerals
}
+% BCP-47 compliant aliases
+\setlanguagealias*{georgian}{ka}
+
\newif\ifgeorgian@numerals
\define@key{georgian}{numerals}[arabic]{%
\ifstrequal{#1}{georgian}%
@@ -5448,6 +7542,9 @@ and may look very wrong.}
\define@boolkey{georgian}[georgian@]{oldmonthnames}[true]{}
+% Register default options
+\xpg@initialize@gloss@options{georgian}{babelshorthands=false,oldmonthnames=false,numerals=arabic}
+
\ifsystem@babelshorthands
\setkeys{georgian}{babelshorthands=true}
\else
@@ -5662,6 +7759,7 @@ and may look very wrong.}
\ProvidesFile{gloss-german.ldf}[polyglossia: module for german]
\PolyglossiaSetup{german}{
+ bcp47=de-DE,
hyphenmins={2,2},
frenchspacing=true,
fontsetup=true,
@@ -5669,6 +7767,28 @@ and may look very wrong.}
babelname=ngerman
}
+% BCP-47 compliant aliases
+\setlanguagealias*{german}{de}
+\setlanguagealias*[variant=swiss,spelling=new]{german}{de-CH}
+\setlanguagealias*[variant=austrian,spelling=new]{german}{de-AT}
+\setlanguagealias*[variant=german,spelling=new]{german}{de-DE}
+\setlanguagealias*[variant=swiss,spelling=new,script=blackletter]{german}{de-Latf-CH}
+\setlanguagealias*[variant=german,spelling=new,script=blackletter]{german}{de-Latf-DE}
+\setlanguagealias*[variant=austrian,spelling=new,script=blackletter]{german}{de-Latf-AT}
+\setlanguagealias*[variant=austrian,spelling=old]{german}{de-AT-1901}
+\setlanguagealias*[variant=swiss,spelling=new]{german}{de-CH-1996}
+\setlanguagealias*[variant=austrian,spelling=new]{german}{de-AT-1996}
+\setlanguagealias*[variant=german,spelling=old]{german}{de-DE-1901}
+\setlanguagealias*[variant=swiss,spelling=old,script=blackletter]{german}{de-Latf-CH-1901}
+\setlanguagealias*[variant=swiss,spelling=old]{german}{de-CH-1901}
+\setlanguagealias*[variant=austrian,spelling=old,script=blackletter]{german}{de-Latf-AT-1901}
+\setlanguagealias*[variant=swiss,spelling=new,script=blackletter]{german}{de-Latf-CH-1996}
+\setlanguagealias*[script=blackletter]{german}{de-Latf}
+\setlanguagealias*[variant=german,spelling=new]{german}{de-DE-1996}
+\setlanguagealias*[variant=german,spelling=old,script=blackletter]{german}{de-Latf-DE-1901}
+\setlanguagealias*[variant=german,spelling=new,script=blackletter]{german}{de-Latf-DE-1996}
+\setlanguagealias*[variant=austrian,spelling=new,script=blackletter]{german}{de-Latf-AT-1996}
+
% Babel aliases
\setlanguagealias[variant=austrian,spelling=old]{german}{austrian}
\setlanguagealias[variant=austrian,spelling=new]{german}{naustrian}
@@ -5679,7 +7799,7 @@ and may look very wrong.}
\newif\if@german@oldspelling
\@german@oldspellingfalse
-\define@choicekey*+{german}{spelling}[\val\nr]{new,old,1901}[new]{%
+\define@choicekey*+{german}{spelling}[\val\nr]{new,old,1901,1996}[new]{%
\ifcase\nr\relax
% new:
\@german@oldspellingfalse
@@ -5689,6 +7809,9 @@ and may look very wrong.}
\or
% 1901:
\@german@oldspellingtrue
+ \or
+ % 1996:
+ \@german@oldspellingfalse
\fi
\german@set@babelname%
\xpg@info{Option: German, spelling=\val}%
@@ -5725,21 +7848,45 @@ and may look very wrong.}
\def\german@set@babelname{%
\if@german@oldspelling
\if@swiss@locale
- \SetLanguageKeys{german}{babelname=swissgerman}%
+ \if@german@blackletter
+ \SetLanguageKeys{german}{babelname=swissgerman,bcp47=de-Latf-CH-1901}%
+ \else
+ \SetLanguageKeys{german}{babelname=swissgerman,bcp47=de-CH-1901}%
+ \fi
\else
\if@austrian@locale
- \SetLanguageKeys{german}{babelname=austrian}%
+ \if@german@blackletter
+ \SetLanguageKeys{german}{babelname=austrian,bcp47=de-Latf-AT-1901}%
+ \else
+ \SetLanguageKeys{german}{babelname=austrian,bcp47=de-AT-1901}%
+ \fi
\else
- \SetLanguageKeys{german}{babelname=german}%
+ \if@german@blackletter
+ \SetLanguageKeys{german}{babelname=german,bcp47=de-Latf-DE-1901}%
+ \else
+ \SetLanguageKeys{german}{babelname=german,bcp47=de-DE-1901}%
+ \fi
\fi\fi
\else
\if@swiss@locale
- \SetLanguageKeys{german}{babelname=nswissgerman}%
+ \if@german@blackletter
+ \SetLanguageKeys{german}{babelname=nswissgerman,bcp47=de-Latf-CH}%
+ \else
+ \SetLanguageKeys{german}{babelname=nswissgerman,bcp47=de-CH}%
+ \fi
\else
\if@austrian@locale
- \SetLanguageKeys{german}{babelname=naustrian}%
+ \if@german@blackletter
+ \SetLanguageKeys{german}{babelname=naustrian,bcp47=de-Latf-AT}%
+ \else
+ \SetLanguageKeys{german}{babelname=naustrian,bcp47=de-AT}%
+ \fi
\else
- \SetLanguageKeys{german}{babelname=ngerman}%
+ \if@german@blackletter
+ \SetLanguageKeys{german}{babelname=ngerman,bcp47=de-Latf-DE}%
+ \else
+ \SetLanguageKeys{german}{babelname=ngerman,bcp47=de-DE}%
+ \fi
\fi\fi
\fi
}
@@ -5756,14 +7903,24 @@ and may look very wrong.}
% fraktur:
\@german@blacklettertrue%
\fi
+ \german@set@babelname%
\xpg@info{Option: German, script=\val}%
}{\xpg@warning{Unknown German script `#1'}}
-\define@boolkey{german}[german@]{latesthyphen}[false]{}
+% Option defunc'ed, as bot XeTeX and LuaTeX meanwhile
+% use the experimental German hyphenation patterns by default.
+\define@boolkey{german}[german@]{latesthyphen}[true]{}
\define@boolkey{german}[german@]{babelshorthands}[true]{}
-\setkeys{german}{spelling,latesthyphen,script,variant}
+\setkeys{german}{spelling,script,variant}
+
+% Register default options
+\xpg@initialize@gloss@options{german}{variant=german,spelling=new,script=latin,latesthyphen=false,babelshorthands=false}
+% Register alias options
+\xpg@set@alias@values{german}{spelling}{new}{1996}
+\xpg@set@alias@values{german}{spelling}{old}{1901}
+\xpg@set@alias@values{german}{script}{blackletter}{fraktur}
\ifsystem@babelshorthands
\setkeys{german}{babelshorthands=true}
@@ -5890,26 +8047,23 @@ and may look very wrong.}
}
\def\german@language{%
- \ifgerman@latesthyphen
- \if@german@oldspelling
- \if@swiss@locale
- \polyglossia@setup@language@patterns{swissgerman}%
- \else
- \polyglossia@setup@language@patterns{german-x-latest}%
- \fi
- \else
- \polyglossia@setup@language@patterns{ngerman-x-latest}%
- \fi
- \else% (latesthyphen=false)
- \if@german@oldspelling
- \if@swiss@locale
- \polyglossia@setup@language@patterns{swissgerman}%
- \else
- \polyglossia@setup@language@patterns{german}%
- \fi
- \else
- \polyglossia@setup@language@patterns{ngerman}%
- \fi
+ \if@german@oldspelling
+ \if@swiss@locale
+ \polyglossia@setup@language@patterns{swissgerman}%
+ \else
+ \polyglossia@setup@language@patterns{german}%
+ \fi
+ \if@austrian@locale
+ \adddialect\l@austrian\l@german%
+ \fi
+ \else
+ \polyglossia@setup@language@patterns{ngerman}%
+ \if@austrian@locale
+ \adddialect\l@naustrian\l@ngerman%
+ \fi
+ \if@swiss@locale
+ \adddialect\l@nswissgerman\l@ngerman%
+ \fi
\fi
}
@@ -5943,6 +8097,36 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-germanb.ldf>
+%<*gloss-gl.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-gl.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-gl.ldf}[polyglossia: module for gl (galician)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{galician}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-gl.ldf>
+%<*gloss-grc.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-grc.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-grc.ldf}[polyglossia: module for grc (greek)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{greek}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-grc.ldf>
%<*gloss-greek.ldf>
% \fi
% \clearpage
@@ -5952,6 +8136,7 @@ and may look very wrong.}
\ProvidesFile{gloss-greek.ldf}[polyglossia: module for greek]
\PolyglossiaSetup{greek}{
+ bcp47=el-monoton,
script=Greek,
scripttag=grek,
langtag=ELL,
@@ -5963,6 +8148,12 @@ and may look very wrong.}
%TODO localalph={greek@alph,greek@Alph}
}
+% BCP-47 compliant aliases
+\setlanguagealias*[variant=ancient]{greek}{grc}
+\setlanguagealias*[varant=polytonic]{greek}{el-polyton}
+\setlanguagealias*[variant=monotonic]{greek}{el-monoton}
+\setlanguagealias*{greek}{el}
+
% Babel aliases
\setlanguagealias[variant=polytonic]{greek}{polutonikogreek}
@@ -5999,7 +8190,7 @@ and may look very wrong.}
\def\greek@variant{polygreek}%
\def\captionsgreek{\polygreekcaptions}%
\def\dategreek{\datepolygreek}%
- \SetLanguageKeys{greek}{babelname=polutonikogreek}%
+ \SetLanguageKeys{greek}{babelname=polutonikogreek,bcp47=el-polyton}%
\xpg@info{Option: Polytonic Greek}%
\else
\ifx\@tmpa\tmp@ancient
@@ -6010,6 +8201,7 @@ and may look very wrong.}
\def\greek@variant{ancientgreek}%
\def\captionsgreek{\ancientgreekcaptions}%
\def\dategreek{\dateancientgreek}%
+ \SetLanguageKeys{greek}{babelname=greek,bcp47=grc}%
\xpg@info{Option: Ancient Greek}%
\else %monotonic
\xpg@ifdefined{monogreek}{}%
@@ -6019,12 +8211,13 @@ and may look very wrong.}
\def\greek@variant{monogreek}% monotonic
\def\captionsgreek{\monogreekcaptions}%
\def\dategreek{\datemonogreek}%
+ \SetLanguageKeys{greek}{babelname=greek,bcp47=el-monoton}%
\xpg@info{Option: Monotonic Greek}%
\fi
\fi}
\def\greek@language{%
- \polyglossia@setup@language@patterns{\greek@variant}
+ \polyglossia@setup@language@patterns{\greek@variant}%
}
@@ -6035,8 +8228,11 @@ and may look very wrong.}
\define@boolkey{greek}{attic}[true]{\xpg@warning{Greek option `attic' is no longer required.}}
-% This sets the defaults
-\setkeys{greek}{numerals,variant}
+% Register default options
+\xpg@initialize@gloss@options{greek}{variant=monotonic,numerals=greek}
+% Register alias options
+\xpg@set@alias@values{greek}{variant}{monotonic}{mono}
+\xpg@set@alias@values{greek}{variant}{polytonic}{poly}
\def\monogreekcaptions{%
\def\refname{Αναφορές}%
@@ -6347,6 +8543,21 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-greek.ldf>
+%<*gloss-he.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-he.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-he.ldf}[polyglossia: module for he (hebrew)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{hebrew}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-he.ldf>
%<*gloss-hebrew.ldf>
% \fi
% \clearpage
@@ -6364,6 +8575,7 @@ and may look very wrong.}
\RequirePackage{hebrewcal}
\PolyglossiaSetup{hebrew}{
+ bcp47=he,
script=Hebrew,
direction=RL,
scripttag=hebr,
@@ -6375,6 +8587,9 @@ and may look very wrong.}
%digits = hebrewnumber
}
+% BCP-47 compliant aliases
+\setlanguagealias*{hebrew}{he}
+
\newif\if@calendar@hebrew
\def\tmp@hebrew{hebrew}
\define@key{hebrew}{calendar}[gregorian]{%
@@ -6405,6 +8620,9 @@ and may look very wrong.}
\setkeys{hebrew}{numerals}
+% Register default options
+\xpg@initialize@gloss@options{hebrew}{numerals=arabic,calendar=gregorian,marcheshvan=false}
+
\def\captionshebrew{%
\def\prefacename{מבוא}%
\def\refname{מקורות}%
@@ -6459,19 +8677,45 @@ and may look very wrong.}
\fi
}
+% Bidi inserts an RTL mark (0x200f) before any number, forcing numbers to
+% RTL. Hebrew uses LTR numbers, though. So we insert an LTR mark to revert
+% the directionality
+\ifxetex
+ \newcommand\xpg@hebrew@DigitsDotDashInterCharToks{\if@nonlatin\char"200E \fi}
+\fi
+
+\def\hebrew@ltr@numbers{%
+ \ifxetex
+ \XeTeXinterchartoks \bidi@sepmark@charclass \bidi@digits@charclass = {\xpg@hebrew@DigitsDotDashInterCharToks}
+ \fi%
+}
+
+\def\nohebrew@ltr@numbers{%
+ \ifxetex
+ % This is bidi's original intervention
+ \XeTeXinterchartoks \bidi@sepmark@charclass \bidi@digits@charclass = {\DigitsDotDashInterCharToks}
+ \fi%
+}
+
\def\hebrew@numbers{%
\let\@alph\hebrewnumeral%
\let\@Alph\Hebrewnumeral%
+ % Prevent bidi from setting the numbers RTL
+ \hebrew@ltr@numbers%
}
\def\nohebrew@numbers{%
\let\@alph\latin@alph%
\let\@Alph\latin@Alph%
+ % Restore previous bidi numbers definition
+ \nohebrew@ltr@numbers
}
\def\hebrew@globalnumbers{%
\let\@arabic\hebrewnumber%
\renewcommand\thefootnote{\localnumeral*{footnote}}%
+ % Prevent bidi from setting the numbers RTL
+ \hebrew@ltr@numbers%
}
% Store original definition
@@ -6496,6 +8740,21 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-hebrew.ldf>
+%<*gloss-hi.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-hi.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-hi.ldf}[polyglossia: module for hi (hindi)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{hindi}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-hi.ldf>
%<*gloss-hindi.ldf>
% \fi
% \clearpage
@@ -6510,6 +8769,7 @@ and may look very wrong.}
\ProvidesFile{gloss-hindi.ldf}[polyglossia: module for hindi]
\RequirePackage{devanagaridigits}
\PolyglossiaSetup{hindi}{
+ bcp47=hi,
script=Devanagari,
scripttag=deva,
langtag=HIN,
@@ -6519,6 +8779,9 @@ and may look very wrong.}
%TODO nouppercase=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{hindi}{hi}
+
\ifx\l@hindi\@undefined%
\ifx\l@sanskrit\@undefined%
\xpg@nopatterns{Hindi}%
@@ -6542,7 +8805,11 @@ and may look very wrong.}
\def\@tmpa{#1}%
\ifx\@tmpa\tmp@western
\hindi@devanagari@numeralsfalse
- \fi}
+ \fi%
+}
+
+% Register default options
+\xpg@initialize@gloss@options{hindi}{numerals=Devanagari}
\newcommand{\hindinumerals}[2]{\hindinumber{#2}}
@@ -6611,6 +8878,51 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-hindi.ldf>
+%<*gloss-hr.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-hr.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-hr.ldf}[polyglossia: module for hr (croatian)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{croatian}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-hr.ldf>
+%<*gloss-hsb.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-hsb.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-hsb.ldf}[polyglossia: module for hsb (sorbian)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{sorbian}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-hsb.ldf>
+%<*gloss-hu.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-hu.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-hu.ldf}[polyglossia: module for hu (hungarian)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{hungarian}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-hu.ldf>
%<*gloss-hungarian.ldf>
% \fi
% \clearpage
@@ -6620,6 +8932,7 @@ and may look very wrong.}
\ProvidesFile{gloss-hungarian.ldf}[polyglossia: module for hungarian]
\PolyglossiaSetup{hungarian}{
+ bcp47=hu,
babelname=magyar,
hyphennames={hungarian,magyar},
langtag=HUN,
@@ -6627,6 +8940,9 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{hungarian}{hu}
+
\frenchspacing
% Babel and backwards compat. alias
@@ -6670,7 +8986,13 @@ and may look very wrong.}
\xpg@info{Option: Hungarian, swapstrings=\val}%
}{\xpg@warning{Unknown Hungarian swapstrings value `#1'}}
-\setkeys{hungarian}{swapstrings}
+% Register default options
+\xpg@initialize@gloss@options{hungarian}{swapstrings=all}
+
+\def\hungarian@language{%
+ \polyglossia@setup@language@patterns{hungarian}%
+ \xpg@ifdefined{hungarian}{\adddialect\l@magyar\l@hungarian}{}%
+}%
\def\captionshungarian{%
\def\refname{Hivatkozások}%
@@ -6741,81 +9063,81 @@ and may look very wrong.}
% change chapter and part headings
\if@hungarian@swapheadings
% With titlesec
- \ifdefined\titleformat%
- \ifdefined\@part%
+ \ifcsdef{titleformat}{%
+ \ifcsdef{@part}{%
\let\xpg@save@part@format\@part%
\patchcmd{\@part}%
{\partname\nobreakspace\thepart}%
{\thepart.\nobreakspace\partname}%
{}%
{\xpg@warning{Failed to patch part for Hungarian}}%
- \fi%
- \ifdefined\chapter%
+ }{}%
+ \ifcsdef{chapter}{%
\titleformat\chapter[display]%
{\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}
{\thechapter.\space\@chapapp}{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}
- \fi%
- \else% (not \ifdefined\titleformat)
+ }{}%
+ }{% (not \ifdefined\titleformat)
% With KOMA
- \ifdefined\sectionformat%
- \ifdefined\partformat%
+ \ifcsdef{sectionformat}{%
+ \ifcsdef{partformat}{%
\let\xpg@save@part@format\partformat%
\renewcommand{\partformat}{\thepart.~\partname}%
- \fi%
- \ifdefined\chapterformat%
+ }{}%
+ \ifcsdef{chapterformat}{%
\let\xpg@save@chap@format\chapterformat%
\renewcommand{\chapterformat}{\mbox{\thechapter\autodot%
\IfUsePrefixLine{\nobreakspace\chapapp}{\enskip}}}%
- \fi%
- \else% (not \ifdefined\sectionformat)
+ }{}%
+ }{% (not \ifdefined\sectionformat)
% With memoir
- \ifdefined\@memptsize%
- \ifdefined\@makechapterhead%
+ \ifcsdef{@memptsize}{%
+ \ifcsdef{@makechapterhead}{%
\let\xpg@save@chap@format\@makechapterhead%
\patchcmd{\@makechapterhead}{\printchaptername \chapternamenum \printchapternum}%
{\printchapternum.\chapternamenum\printchaptername}%
{}%
{\xpg@warning{Failed to patch chapter for Hungarian}}%
- \fi%
- \ifdefined\@part%
+ }{}%
+ \ifcsdef{@part}{%
\let\xpg@save@part@format\@part%
\patchcmd{\@part}{\printpartname \partnamenum \printpartnum}%
{\printpartnum.\partnamenum\printpartname}%
{}%
{\xpg@warning{Failed to patch part for Hungarian}}%
- \fi%
- \else% (not \ifdefined\@memptsize)
+ }{}%
+ }{% (not \ifdefined\@memptsize)
% With standard classes
- \ifdefined\@makechapterhead%
+ \ifcsdef{@makechapterhead}{%
\let\xpg@save@chap@format\@makechapterhead%
\patchcmd{\@makechapterhead}%
{\@chapapp\space \thechapter}%
{\thechapter.\space \@chapapp}%
{}%
{\xpg@warning{Failed to patch chapter for Hungarian}}%
- \fi%
- \ifdefined\@part%
+ }{}%
+ \ifcsdef{@part}{%
\let\xpg@save@part@format\@part%
\patchcmd{\@part}%
{\partname\nobreakspace\thepart}%
{\thepart.\nobreakspace\partname}%
{}%
{\xpg@warning{Failed to patch part for Hungarian}}%
- \fi% (end \ifdefined\@part)
- \fi% (end \ifdefined\@memptsize)
- \fi% (end \ifdefined\sectionformat)
- \fi% (end \ifdefined\titleformat)
+ }{}% (end \ifdefined\@part)
+ }% (end \ifdefined\@memptsize)
+ }% (end \ifdefined\sectionformat)
+ }% (end \ifdefined\titleformat)
\fi% (end \if@hungarian@swapheadings)
%
% Change running headers
\if@hungarian@swapheaders
- \ifdefined\chapterformat%
+ \ifcsdef{chapterformat}{%
% With KOMA
\let\xpg@save@chaptermark@format\chaptermarkformat%
\renewcommand*\chaptermarkformat{%
\thechapter\autodot\ \IfChapterUsesPrefixLine{\chapapp\enskip}{}}
- \else% (not \ifdefined\chapterformat)
- \ifdefined\@memptsize%
+ }{% (not \ifdefined\chapterformat)
+ \ifcsdef{@memptsize}{%
% With memoir
\let\xpg@save@chaptermark@format\chaptermark%
\renewcommand*\chaptermark[1]{%
@@ -6826,18 +9148,21 @@ and may look very wrong.}
\fi
\fi
##1}}{}}%
- \else% (not \ifdefined\@memptsize)
+ }{% (not \ifdefined\@memptsize)
% With standard classes
- \ifdefined\chaptermark%
- \let\xpg@save@chaptermark@format\chaptermark%
- \patchcmd{\chaptermark}%
+ \ifcsdef{chaptermark}{%
+ \ifpatchable{\chaptermark}%
+ {\@chapapp\ \thechapter.}%
+ {\let\xpg@save@chaptermark@format\chaptermark%
+ \patchcmd{\chaptermark}%
{\@chapapp\ \thechapter.}%
{\thechapter.\ \@chapapp}%
{}%
- {\xpg@warning{Failed to patch chaptermark for Hungarian}}%
- \fi% (end \ifdefined\chaptermark)
- \fi% (end \ifdefined\@memptsize)
- \fi% (end \ifdefined\chapterformat)
+ {\xpg@warning{Failed to patch chaptermark for Hungarian}}}%
+ {}%
+ }{}% (end \ifdefined\chaptermark)
+ }% (end \ifdefined\@memptsize)
+ }% (end \ifdefined\chapterformat)
\fi% (end \if@hungarian@swapheaders)
}
@@ -6848,50 +9173,50 @@ and may look very wrong.}
\let\fnum@figure\xpg@save@fnum@figure%
%
% Reset chapter and part heading
- \ifdefined\titleformat%
+ \ifcsdef{titleformat}{%
% With titlesec
- \ifdefined\xpg@save@part@format
+ \ifcsdef{xpg@save@part@format}{%
\let\@part\xpg@save@part@format
- \fi%
- \ifdefined\chapter
+ }{}%
+ \ifcsdef{chapter}{%
\titleformat\chapter[display]%
{\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}
{\@chapapp\space\thechapter}{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}
- \fi%
- \else% (not \ifdefined\titleformat)
- \ifdefined\sectionformat%
+ }{}%
+ }{% (not \ifdefined\titleformat)
+ \ifcsdef{sectionformat}{%
% With KOMA
- \ifdefined\xpg@save@part@format
+ \ifcsdef{xpg@save@part@format}{%
\let\partformat\xpg@save@part@format
- \fi%
- \ifdefined\xpg@save@chap@format
+ }{}%
+ \ifcsdef{xpg@save@chap@format}{%
\let\chapterformat\xpg@save@chap@format
- \fi%
- \else%
+ }{}%
+ }{%
% With memoir and standard classes
- \ifdefined\xpg@save@part@format
+ \ifcsdef{xpg@save@part@format}{%
\let\@part\xpg@save@part@format
- \fi%
- \ifdefined\xpg@save@chap@format
+ }{}%
+ \ifcsdef{xpg@save@chap@format}{%
\let\@makechapterhead\xpg@save@chap@format
- \fi%
- \fi% (end \ifdefined\sectionformat)
- \fi% (end \ifdefined\titleformat)
+ }{}%
+ }% (end \ifdefined\sectionformat)
+ }% (end \ifdefined\titleformat)
%
% Reset headers
- \ifdefined\chaptermarkformat%
+ \ifcsdef{chaptermarkformat}{%
% With KOMA
- \ifdefined\xpg@save@chaptermark@format
+ \ifcsdef{xpg@save@chaptermark@format}{%
\let\chaptermarkformat\xpg@save@chaptermark@format%
- \fi
- \else%
- \ifdefined\chaptermark%
+ }{}%
+ }{%
+ \ifcsdef{chaptermark}{%
% With memoir and standard classes
- \ifdefined\xpg@save@chaptermark@format
+ \ifcsdef{xpg@save@chaptermark@format}{%
\let\chaptermark\xpg@save@chaptermark@format%
- \fi
- \fi% (end \ifdefined\chaptermark)
- \fi% (end \ifdefined\chapterformat)
+ }{}%
+ }{}% (end \ifdefined\chaptermark)
+ }% (end \ifdefined\chapterformat)
}
\def\blockextras@hungarian{%
@@ -6906,6 +9231,36 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-hungarian.ldf>
+%<*gloss-hy.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-hy.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-hy.ldf}[polyglossia: module for hy (armenian)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{armenian}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-hy.ldf>
+%<*gloss-ia.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ia.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ia.ldf}[polyglossia: module for ia (interlingua)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{interlingua}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ia.ldf>
%<*gloss-icelandic.ldf>
% \fi
% \clearpage
@@ -6914,12 +9269,16 @@ and may look very wrong.}
% \begin{macrocode}
\ProvidesFile{gloss-icelandic.ldf}[polyglossia: module for icelandic]
\PolyglossiaSetup{icelandic}{
+ bcp47=is,
hyphennames={icelandic},
hyphenmins={2,2},
langtag=ISL,
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{icelandic}{is}
+
\def\captionsicelandic{%
\def\refname{Heimildir}%
\def\abstractname{Útdráttur}%
@@ -6956,6 +9315,21 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-icelandic.ldf>
+%<*gloss-id.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-id.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-id.ldf}[polyglossia: module for id (malay)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{malay}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-id.ldf>
%<*gloss-interlingua.ldf>
% \fi
% \clearpage
@@ -6964,6 +9338,7 @@ and may look very wrong.}
% \begin{macrocode}
\ProvidesFile{gloss-interlingua.ldf}[polyglossia: module for interlingua]
\PolyglossiaSetup{interlingua}{
+ bcp47=ia,
hyphennames={interlingua},
hyphenmins={2,2},
langtag=INA,
@@ -6972,6 +9347,9 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{interlingua}{ia}
+
\def\captionsinterlingua{%
\def\refname{Referentias}%
\def\abstractname{Summario}%
@@ -7022,6 +9400,36 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-irish.ldf>
+%<*gloss-is.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-is.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-is.ldf}[polyglossia: module for is (icelandic)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{icelandic}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-is.ldf>
+%<*gloss-it.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-it.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-it.ldf}[polyglossia: module for it (italian)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{italian}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-it.ldf>
%<*gloss-italian.ldf>
% \fi
% \clearpage
@@ -7031,6 +9439,7 @@ and may look very wrong.}
% !TEX encoding = UTF-8 Unicode
\ProvidesFile{gloss-italian.ldf}[polyglossia: module for italian]
\PolyglossiaSetup{italian}{
+ bcp47=it,
hyphennames={italian},
hyphenmins={2,2},
langtag=ITA,
@@ -7039,10 +9448,16 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{italian}{it}
+
%%% CHANGES START %%% by Enrico Gregorio
\define@boolkey{italian}[italian@]{babelshorthands}[true]{}
+% Register default options
+\xpg@initialize@gloss@options{italian}{babelshorthands=false}
+
\ifsystem@babelshorthands
\setkeys{italian}{babelshorthands=true}
\else
@@ -7163,6 +9578,21 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-italian.ldf>
+%<*gloss-ja.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ja.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ja.ldf}[polyglossia: module for ja (japanese)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{japanese}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ja.ldf>
%<*gloss-japanese.ldf>
% \fi
% \clearpage
@@ -7170,21 +9600,27 @@ and may look very wrong.}
% \subsection{gloss-japanese.ldf}
% \begin{macrocode}
\ProvidesFile{gloss-japanese.ldf}[polyglossia: module for japanese]
+
\PolyglossiaSetup{japanese}{
+ bcp47=ja,
script=CJK,
language=Japanese,
langtag=JAN,
hyphennames={nohyphenation},
frenchspacing=false,
- fontsetup=true
+ fontsetup=true,
+ localnumeral=japanesenumerals
}
+% BCP-47 compliant aliases
+\setlanguagealias*{japanese}{ja}
+
\def\japanese@capsformat{%
\def\@seccntformat##1{%
\csname pre##1\endcsname%
\csname the##1\endcsname%
\csname post##1\endcsname%
- }
+ }%
\def\postsection{節\space}%
\def\postsubsection{節\space}%
\def\postsubsubsection{節\space}%
@@ -7224,33 +9660,33 @@ and may look very wrong.}
\newif\if@IzumoTuki \@IzumoTukifalse%
\newcount\c@TempJNum%
-\def\@JapaneseDigit#1{
- \ifcase#1\or 一\or 二\or 三\or 四\or 五\or
- 六\or 七\or 八\or 九\or 十\or
- 十一\or 十二\or 十三\or 十四\or 十五\or
- 十六\or 十七\or 十八\or 十九\or 廿\or
- 廿一\or 廿二\or 廿三\or 廿四\or 廿五\or
- 廿六\or 廿七\or 廿八\or 廿九\or 丗\or
- 丗一\or 丗二\or 丗三\or 丗四\or 丗五\or
- 丗六\or 丗七\or 丗八\or 丗九\or 四十\or
- 四十一\or 四十二\or 四十三\or 四十四\or 四十五\or
- 四十六\or 四十七\or 四十八\or 四十九\or 五十\or
- 五十一\or 五十二\or 五十三\or 五十四\or 五十五\or
- 五十六\or 五十七\or 五十八\or 五十九\or 六十\or
- 六十一\or 六十二\or 六十三\or 六十四\or 六十五\or
- 六十六\or 六十七\or 六十八\or 六十九\or 七十\or
- 七十一\or 七十二\or 七十三\or 七十四\or 七十五\or
- 七十六\or 七十七\or 七十八\or 七十九\or 八十\or
- 八十一\or 八十二\or 八十三\or 八十四\or 八十五\or
- 八十六\or 八十七\or 八十八\or 八十九\or 九十\or
- 九十一\or 九十二\or 九十三\or 九十四\or 九十五\or
- 九十六\or 九十七\or 九十八\or 九十九
+\def\@JapaneseDigit#1{%
+ \ifcase#1\or 一\or 二\or 三\or 四\or 五\or%
+ 六\or 七\or 八\or 九\or 十\or%
+ 十一\or 十二\or 十三\or 十四\or 十五\or%
+ 十六\or 十七\or 十八\or 十九\or 廿\or%
+ 廿一\or 廿二\or 廿三\or 廿四\or 廿五\or%
+ 廿六\or 廿七\or 廿八\or 廿九\or 丗\or%
+ 丗一\or 丗二\or 丗三\or 丗四\or 丗五\or%
+ 丗六\or 丗七\or 丗八\or 丗九\or 四十\or%
+ 四十一\or 四十二\or 四十三\or 四十四\or 四十五\or%
+ 四十六\or 四十七\or 四十八\or 四十九\or 五十\or%
+ 五十一\or 五十二\or 五十三\or 五十四\or 五十五\or%
+ 五十六\or 五十七\or 五十八\or 五十九\or 六十\or%
+ 六十一\or 六十二\or 六十三\or 六十四\or 六十五\or%
+ 六十六\or 六十七\or 六十八\or 六十九\or 七十\or%
+ 七十一\or 七十二\or 七十三\or 七十四\or 七十五\or%
+ 七十六\or 七十七\or 七十八\or 七十九\or 八十\or%
+ 八十一\or 八十二\or 八十三\or 八十四\or 八十五\or%
+ 八十六\or 八十七\or 八十八\or 八十九\or 九十\or%
+ 九十一\or 九十二\or 九十三\or 九十四\or 九十五\or%
+ 九十六\or 九十七\or 九十八\or 九十九%
\else
- \@ctrerr
- \fi\relax
+ \@ctrerr%
+ \fi\relax%
}
-\def\@JapaneseNum#1{
+\def\@JapaneseNum#1{%
\c@TempJNum=#1\divide\c@TempJNum by 1000\relax%
\ifnum\c@TempJNum=\z@\c@TempJNum=#1%
\divide\c@TempJNum by 100\relax%
@@ -7260,7 +9696,7 @@ and may look very wrong.}
六百\or 七百\or 八百\or 九百%
\fi
\c@TempJNum=#1\divide\c@TempJNum by 100\multiply\c@TempJNum by -100\advance\c@TempJNum#1\@JapaneseDigit\c@TempJNum\relax%
- \fi
+ \fi%
\else
\ifcase\c@TempJNum\or 千\or 二千\or 三千\or 四千\or 五千\or
六千\or 七千\or 八千\or 九千%
@@ -7277,7 +9713,7 @@ and may look very wrong.}
\fi
}
-\def\@japanesenumber#1{
+\def\@japanesenumber#1{%
\@tempcnta=#1%
\ifnum\@tempcnta=\z@{〇}%
\else
@@ -7310,12 +9746,14 @@ and may look very wrong.}
\fi
}
-\def\japanesenumber#1{
+\def\japanesenumber#1{%
\expandafter\@japanesenumber\csname c@#1\endcsname%
}
-\def\datejapanese{
- {
+\newcommand{\japanesenumerals}[2]{\@japanesenumber{#2}}
+
+\def\datejapanese{%
+ {%
\ifnum\year<1868%
\xdef\the@WarekiCur{}%
\else
@@ -7334,14 +9772,14 @@ and may look very wrong.}
\fi
\fi
\xdef\the@WameiTosi{\the\year}%
- }
+ }%
\def\西暦{\@WameiRekifalse \@WameiTukifalse \@WameiHifalse}%
\def\和暦{\@WameiRekitrue \@WameiTosifalse \@WameiTukifalse \@WameiHifalse}%
\def\和名暦{\@WameiTositrue \@WameiTukitrue \@WameiHitrue}%
\def\数字暦{\@WameiTosifalse \@WameiTukifalse \@WameiHifalse}%
\def\出雲月{\@IzumoTukitrue}%
\def\大和月{\@IzumoTukifalse}%
- \def\today{
+ \def\today{%
\if@WameiReki%
\the@WarekiCur%
\if@WameiTosi%
@@ -7368,8 +9806,8 @@ and may look very wrong.}
\else
\,\number\day\,%
\fi
- {日}
- }
+ {日}%
+ }%
}
\def\noextras@japanese{%
@@ -7388,6 +9826,21 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-japanese.ldf>
+%<*gloss-ka.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ka.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ka.ldf}[polyglossia: module for ka (georgian)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{georgian}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ka.ldf>
%<*gloss-kannada.ldf>
% \fi
% \clearpage
@@ -7420,6 +9873,7 @@ the output is not guaranteed to be correct\MessageBreak
and may look very wrong.}
\fi
\PolyglossiaSetup{kannada}{
+ bcp47=kn,
script=Kannada,
scripttag=knda,
langtag=KAN,
@@ -7429,6 +9883,9 @@ and may look very wrong.}
localnumeral=kannadanumerals
}
+% BCP-47 compliant aliases
+\setlanguagealias*{kannada}{kn}
+
%% Defining Kannada digits equivalents to english
\def\kannadadigits#1{\expandafter\@kannada@digits #1@}
\def\@kannada@digits#1{%
@@ -7516,6 +9973,7 @@ and may look very wrong.}
% \begin{macrocode}
\ProvidesFile{gloss-khmer.ldf}[polyglossia: module for Khmer]
\PolyglossiaSetup{khmer}{
+ bcp47=km,
script=Khmer,%
scripttag=khmr,%
langtag=KHM,%
@@ -7674,6 +10132,96 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-khmer.ldf>
+%<*gloss-km.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-km.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-km.ldf}[polyglossia: module for km (khmer)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{khmer}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-km.ldf>
+%<*gloss-kmr-Arab.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-kmr-Arab.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-kmr-Arab.ldf}[polyglossia: module for kmr-Arab (kurdish)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{kurdish}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-kmr-Arab.ldf>
+%<*gloss-kmr-Latn.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-kmr-Latn.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-kmr-Latn.ldf}[polyglossia: module for kmr-Latn (kurdish)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{kurdish}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-kmr-Latn.ldf>
+%<*gloss-kmr.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-kmr.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-kmr.ldf}[polyglossia: module for kmr (kurdish)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{kurdish}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-kmr.ldf>
+%<*gloss-kn.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-kn.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-kn.ldf}[polyglossia: module for kn (kannada)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{kannada}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-kn.ldf>
+%<*gloss-ko.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ko.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ko.ldf}[polyglossia: module for ko (korean)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{korean}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ko.ldf>
%<*gloss-korean.ldf>
% \fi
% \clearpage
@@ -7683,6 +10231,7 @@ and may look very wrong.}
\ProvidesFile{gloss-korean.ldf}[polyglossia: module for Korean]
\PolyglossiaSetup{korean}{
+ bcp47=ko,
script=Hangul,
scripttag=hang,
language=Korean,
@@ -7692,6 +10241,9 @@ and may look very wrong.}
fontsetup=true
}
+% BCP-47 compliant aliases
+\setlanguagealias*{korean}{ko}
+
% variant : plain (0), classic (1), or modern (2)
\define@choicekey{korean}{variant}[\val\nr]{plain,classic,modern}[plain]{%
\let\xpg@korean@variant\nr
@@ -7700,7 +10252,32 @@ and may look very wrong.}
\define@choicekey{korean}{captions}[\val\nr]{hangul,hanja}[hangul]{%
\let\xpg@korean@captions\nr
}
-\setkeys{korean}{variant,captions}
+% swapstrings: all (0), headings (1), headers (2), or none (3)
+\newif\if@korean@swapheadings
+\newif\if@korean@swapheaders
+\define@choicekey*+{korean}{swapstrings}[\val\nr]{all,headings,headers,none}[all]{%
+ \ifcase\nr\relax
+ % all:
+ \@korean@swapheadingstrue%
+ \@korean@swapheaderstrue%
+ \or
+ % headings:
+ \@korean@swapheadingstrue%
+ \@korean@swapheadersfalse%
+ \or
+ % headers:
+ \@korean@swapheadingsfalse%
+ \@korean@swapheaderstrue%
+ \or
+ % none:
+ \@korean@swapheadingsfalse%
+ \@korean@swapheadersfalse%
+ \fi
+ \xpg@info{Option: Korean, swapstrings=\val}%
+}{\xpg@warning{Unknown Korean swapstrings value `#1'}}
+
+% Register default options
+\xpg@initialize@gloss@options{korean}{variant=plain,swapstrings=all,captions=hangul}
\def\captionskorean{%
\ifcase\xpg@korean@captions\relax
@@ -7713,7 +10290,7 @@ and may look very wrong.}
}
\def\captions@korean@hangul{%
\def\koreanTHEname{제}%
- \def\partname##1##2{제##1##2 편}%
+ \def\partname{편}%
\def\chaptername{장}%
\def\refname{참고문헌}%
\def\abstractname{요약}%
@@ -7731,10 +10308,11 @@ and may look very wrong.}
\def\proofname{증명}%
\def\headtoname{수신:}%
\def\ccname{사본}%
+ \def\glossaryname{용어집}%
}
\def\captions@korean@hanja{%
\def\koreanTHEname{第}%
- \def\partname##1##2{第##1##2 篇}%
+ \def\partname{篇}%
\def\chaptername{章}%
\def\refname{參考文獻}%
\def\abstractname{要約}%
@@ -7752,6 +10330,217 @@ and may look very wrong.}
\def\proofname{證明}%
\def\headtoname{受信:}%
\def\ccname{寫本}%
+ \def\glossaryname{用語集}%
+}
+
+\def\korean@appendix@chapapp{\appendixname}% to exclude appendix
+
+\def\korean@headingsformat{%
+ % change chapter and part headings
+ \if@korean@swapheadings
+ % With titlesec
+ \ifdefined\titleformat
+ \ifdefined\@part
+ \let\xpg@save@part@format\@part
+ \patchcmd{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\koreanTHEname\nobreakspace \thepart\nobreakspace \partname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Korean}}%
+ \fi
+ \ifdefined\chapter
+ \titleformat\chapter[display]%
+ {\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}%
+ {%
+ \ifx\@chapapp\korean@appendix@chapapp
+ \appendixname\space \thechapter
+ \else
+ \koreanTHEname\space \thechapter\space \@chapapp
+ \fi
+ }{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}%
+ \fi
+ \else % (not \ifdefined\titleformat)
+ % With KOMA
+ \ifdefined\sectionformat
+ \ifdefined\partformat
+ \let\xpg@save@part@format\partformat
+ \renewcommand*{\partformat}{\koreanTHEname~\thepart~\partname}%
+ \fi
+ \ifdefined\chapterformat
+ \let\xpg@save@chap@format\chapterformat
+ \renewcommand*{\chapterformat}{\mbox{%
+ \IfChapterUsesPrefixLine
+ {%
+ \ifx\@chapapp\korean@appendix@chapapp
+ \chapappifchapterprefix\nobreakspace \thechapter\autodot
+ \else
+ \koreanTHEname\nobreakspace \thechapter\nobreakspace \chapappifchapterprefix{}%
+ \fi
+ }%
+ {\thechapter\autodot\enskip}%
+ }}%
+ \fi
+ \else % (not \ifdefined\sectionformat)
+ % With memoir
+ \ifdefined\@memptsize
+ \ifdefined\@makechapterhead
+ \let\xpg@save@chap@format\@makechapterhead
+ \patchcmd{\@makechapterhead}%
+ {\printchaptername \chapternamenum \printchapternum}%
+ {%
+ \ifx\@chapapp\korean@appendix@chapapp
+ \printchaptername\relax\chapternamenum \printchapternum
+ \else
+ \printkoreanchapterthe \printchapternum\chapternamenum \printchaptername
+ \fi
+ }%
+ {}%
+ {\xpg@warning{Failed to patch chapter for Korean}}%
+ \ifdefined\printkoreanchapterthe\else
+ \def\printkoreanchapterthe{%
+ \ifpatchable\printchaptername\@chapapp
+ {\chapnamefont\koreanTHEname\chapternamenum}{}}%
+ \fi
+ \fi
+ \ifdefined\@part
+ \let\xpg@save@part@format\@part
+ \patchcmd{\@part}%
+ {\printpartname \partnamenum \printpartnum}%
+ {\printkoreanpartthe \printpartnum\partnamenum \printpartname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Korean}}%
+ \ifdefined\printkoreanpartthe\else
+ \def\printkoreanpartthe{\partnamefont\koreanTHEname\partnamenum}%
+ \fi
+ \fi
+ \else % (not \ifdefined\@memptsize)
+ % With standard classes
+ \ifdefined\@makechapterhead
+ \let\xpg@save@chap@format\@makechapterhead
+ \patchcmd{\@makechapterhead}%
+ {\@chapapp\space \thechapter}%
+ {%
+ \ifx\@chapapp\korean@appendix@chapapp
+ \appendixname\space \thechapter
+ \else
+ \koreanTHEname\space \thechapter\space \@chapapp
+ \fi
+ }%
+ {}%
+ {\xpg@warning{Failed to patch chapter for Korean}}%
+ \fi
+ \ifdefined\@part
+ \let\xpg@save@part@format\@part
+ \patchcmd{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\koreanTHEname\nobreakspace \thepart\nobreakspace \partname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Korean}}%
+ \fi % (end \ifdefined\@part)
+ \fi % (end \ifdefined\@memptsize)
+ \fi % (end \ifdefined\sectionformat)
+ \fi % (end \ifdefined\titleformat)
+ \fi % (end \if@korean@swapheadings)
+ %
+ % Change running headers
+ \if@korean@swapheaders
+ \ifdefined\chapterformat
+ % With KOMA
+ \let\xpg@save@chaptermark@format\chaptermarkformat
+ \renewcommand*\chaptermarkformat{%
+ \IfChapterUsesPrefixLine
+ {%
+ \ifx\@chapapp\korean@appendix@chapapp
+ \chapappifchapterprefix\ \thechapter\autodot
+ \else
+ \koreanTHEname\ \thechapter\ \chapappifchapterprefix{}%
+ \fi
+ }%
+ {\thechapter\autodot}%
+ \enskip
+ }%
+ \else % (not \ifdefined\chapterformat)
+ \ifdefined\@memptsize
+ % With memoir
+ \let\xpg@save@chaptermark@format\chaptermark
+ \patchcmd{\chaptermark}%
+ {\@chapapp\ \@nameuse{thechapter}}%
+ {%
+ \ifx\@chapapp\korean@appendix@chapapp
+ \appendixname\ \@nameuse{thechapter}%
+ \else
+ \koreanTHEname\ \@nameuse{thechapter}\ \@chapapp
+ \fi
+ }%
+ {}%
+ {}%
+ \else % (not \ifdefined\@memptsize)
+ % With standard classes
+ \ifdefined\chaptermark
+ \let\xpg@save@chaptermark@format\chaptermark
+ \patchcmd{\chaptermark}%
+ {\@chapapp\ \thechapter}%
+ {%
+ \ifx\@chapapp\korean@appendix@chapapp
+ \appendixname\ \thechapter
+ \else
+ \koreanTHEname\ \thechapter\ \@chapapp
+ \fi
+ }%
+ {}%
+ {}%
+ \fi % (end \ifdefined\chaptermark)
+ \fi % (end \ifdefined\@memptsize)
+ \fi % (end \ifdefined\chapterformat)
+ \fi % (end \if@korean@swapheaders)
+}
+
+\def\nokorean@headingsformat{%
+ % Reset chapter and part heading
+ \ifdefined\titleformat
+ % With titlesec
+ \ifdefined\xpg@save@part@format
+ \let\@part\xpg@save@part@format
+ \fi
+ \ifdefined\chapter
+ \titleformat\chapter[display]%
+ {\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}%
+ {\@chapapp\space\thechapter}{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}%
+ \fi
+ \else % (not \ifdefined\titleformat)
+ \ifdefined\sectionformat
+ % With KOMA
+ \ifdefined\xpg@save@part@format
+ \let\partformat\xpg@save@part@format
+ \fi
+ \ifdefined\xpg@save@chap@format
+ \let\chapterformat\xpg@save@chap@format
+ \fi
+ \else
+ % With memoir and standard classes
+ \ifdefined\xpg@save@part@format
+ \let\@part\xpg@save@part@format
+ \fi
+ \ifdefined\xpg@save@chap@format
+ \let\@makechapterhead\xpg@save@chap@format
+ \fi
+ \fi % (end \ifdefined\sectionformat)
+ \fi % (end \ifdefined\titleformat)
+ %
+ % Reset headers
+ \ifdefined\chaptermarkformat
+ % With KOMA
+ \ifdefined\xpg@save@chaptermark@format
+ \let\chaptermarkformat\xpg@save@chaptermark@format
+ \fi
+ \else
+ \ifdefined\chaptermark
+ % With memoir and standard classes
+ \ifdefined\xpg@save@chaptermark@format
+ \let\chaptermark\xpg@save@chaptermark@format
+ \fi
+ \fi % (end \ifdefined\chaptermark)
+ \fi % (end \ifdefined\chapterformat)
}
\def\datekorean{%
@@ -7827,17 +10616,11 @@ and may look very wrong.}
\def\blockextras@korean{%
\inlineextras@korean
- \ifdefined\@chapapp
- \long\def\@tmpa{\chaptername}\def\@tmpb{\chaptername}%
- \ifnum0\ifx\@chapapp\@tmpa1\else\ifx\@chapapp\@tmpb1\fi\fi>\z@
- \let\xpg@orig@@chapapp\@chapapp
- \def\@chapapp##1##2{\koreanTHEname ##1##2##1\chaptername}%
- \fi
- \fi
+ \korean@headingsformat
}
\def\noextras@korean@common{%
- \ifdefined\xpg@orig@@chapapp \let\@chapapp\xpg@orig@@chapapp \fi
+ \nokorean@headingsformat
}
\ifluatex % luatex
@@ -7871,6 +10654,51 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-korean.ldf>
+%<*gloss-ku-Arab.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ku-Arab.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ku-Arab.ldf}[polyglossia: module for ku-Arab (kurdish)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{kurdish}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ku-Arab.ldf>
+%<*gloss-ku-Latn.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ku-Latn.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ku-Latn.ldf}[polyglossia: module for ku-Latn (kurdish)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{kurdish}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ku-Latn.ldf>
+%<*gloss-ku.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ku.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ku.ldf}[polyglossia: module for ku (kurdish)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{kurdish}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ku.ldf>
%<*gloss-kurdish.ldf>
% \fi
% \clearpage
@@ -7887,6 +10715,7 @@ and may look very wrong.}
\RequirePackage{hijrical}
\PolyglossiaSetup{kurdish}{
+ bcp47=ckb,
script=Arabic,
direction=RL,
scripttag=arab,
@@ -7896,6 +10725,17 @@ and may look very wrong.}
localnumeral=kurdishnumerals
}
+% BCP-47 compliant aliases
+\setlanguagealias*{kurdish}{ku}
+\setlanguagealias*[variant=kurmanji,script=Latin]{kurdish}{kmr-Latn}
+\setlanguagealias*[variant=sorani]{kurdish}{ckb}
+\setlanguagealias*[variant=kurmanji,script=Arabic]{kurdish}{kmr-Arab}
+\setlanguagealias*[script=Latin]{kurdish}{ku-Latn}
+\setlanguagealias*[variant=sorani,script=Arabic]{kurdish}{ckb-Arab}
+\setlanguagealias*[variant=sorani,script=Latin]{kurdish}{ckb-Latn}
+\setlanguagealias*[script=Arabic]{kurdish}{ku-Arab}
+\setlanguagealias*[variant=kurmanji]{kurdish}{kmr}
+
% Babel aliases
\setlanguagealias[variant=kurmanji]{kurdish}{kurmanji}
@@ -7942,9 +10782,9 @@ and may look very wrong.}
\@western@numeralstrue%
\if@kurdish@kurmanji
\def\kurdish@pattern{kurmanji}%
- \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurmanji}%
+ \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurmanji,bcp47=kmr-Latn}%
\else
- \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurdish}%
+ \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurdish,bcp47=ckb-Arab}%
\fi
\def\kurdish@script{latin}
\xpg@fontsetup@latin{kurdish}%
@@ -7952,20 +10792,20 @@ and may look very wrong.}
\if@kurdish@arabic% Arabic explicitly set
\if@kurdish@kurmanji
\if@force@western@numerals\else\@western@numeralsfalse\fi%
- \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurmanji}%
+ \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurmanji,bcp47=kmr-Arab}%
\def\kurdish@script{arabic}%
\else
- \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish}%
+ \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish,bcp47=ckb-Arab}%
\fi
\xpg@fontsetup@nonlatin{kurdish}%
\else% sorani=Arabic, kurmanji=Latin
\if@kurdish@kurmanji
\@western@numeralstrue%
- \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurmanji}%
+ \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurmanji,bcp47=kmr-Latn}%
\xpg@fontsetup@latin{kurdish}%
\def\kurdish@script{latin}
\else
- \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish}%
+ \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish,bcp47=ckb-Arab}%
\xpg@fontsetup@nonlatin{kurdish}%
\fi
\fi
@@ -7997,7 +10837,8 @@ and may look very wrong.}
%TODO add option for CALENDAR
-\setkeys{kurdish}{variant,locale}
+% Register default options
+\xpg@initialize@gloss@options{kurdish}{variant=sorani,locale=default,script=Arabic,abjadjimnotail=false,numerals=eastern}
\def\kurdish@language{%
\polyglossia@setup@language@patterns{\kurdish@pattern}%
@@ -8204,19 +11045,9 @@ and may look very wrong.}
\if@western@numerals
\number#1%
\else
- \ifxetex
- \ifnum\XeTeXcharglyph"06F0 > 0\relax
- \farsidigits{\number#1}%
- \else%
- \arabicdigits{\number#1}%
- \fi
- \else\ifluatex
- \expandafter\ifnum\directlua{polyglossia.check_char(0x6F0)} > 0\relax
- \farsidigits{\number#1}%
- \else%
- \arabicdigits{\number#1}%
- \fi
- \fi\fi
+ \xpg@if@char@available{06F0}%
+ {\farsidigits{\number#1}}%
+ {\arabicdigits{\number#1}}%
\fi
}
@@ -8266,6 +11097,81 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-kurdish.ldf>
+%<*gloss-kurmanji.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-kurmanji.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-kurmanji.ldf}[polyglossia: module for kurmanji kurdish]
+
+% We provide this gloss for babel compatibility.
+
+\xpg@load@master@language{kurdish}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-kurmanji.ldf>
+%<*gloss-la-x-classic.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-la-x-classic.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-la-xclassic.ldf}[polyglossia: module for la-xclassic (latin)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{latin}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-la-x-classic.ldf>
+%<*gloss-la-x-ecclesia.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-la-x-ecclesia.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-la-xecclesiastic.ldf}[polyglossia: module for la-xecclesiastic (latin)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{latin}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-la-x-ecclesia.ldf>
+%<*gloss-la-x-medieval.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-la-x-medieval.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-la-xmedieval.ldf}[polyglossia: module for la-xmedieval (latin)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{latin}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-la-x-medieval.ldf>
+%<*gloss-la.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-la.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-la.ldf}[polyglossia: module for la (latin)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{latin}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-la.ldf>
%<*gloss-lao.ldf>
% \fi
% \clearpage
@@ -8280,6 +11186,7 @@ the output is not guaranteed to be correct\MessageBreak
and may look very wrong.}
\fi
\PolyglossiaSetup{lao}{
+ bcp47=lo,
script=Lao,
scripttag=lao,
langtag=LAO,
@@ -8291,6 +11198,9 @@ and may look very wrong.}
%TODO localdigits=laonumber
}
+% BCP-47 compliant aliases
+\setlanguagealias*{lao}{lo}
+
\newif\if@lao@numerals
\def\tmp@lao{lao}
\define@key{lao}{numerals}[arabic]{%
@@ -8299,7 +11209,8 @@ and may look very wrong.}
\@lao@numeralsfalse\fi
}
-\setkeys{lao}{numerals}
+% Register default options
+\xpg@initialize@gloss@options{lao}{numerals=arabic}
% Translations provided by Brian Wilson <bountonw at gmail.com>
\def\captionslao{%
@@ -8420,23 +11331,29 @@ and may look very wrong.}
%
% \subsection{gloss-latin.ldf}
% \begin{macrocode}
-\ProvidesFile{gloss-latin.ldf}[polyglossia: module for Latin v.2.0 2019-10-28]
+\ProvidesFile{gloss-latin.ldf}[polyglossia: module for Latin v.2.2 2020-01-03]
\ExplSyntaxOn
\PolyglossiaSetup {latin}
{
- hyphennames = {latin},
+ bcp47 = la,
hyphenmins = {2,2},
frenchspacing = true,
fontsetup = true,
langtag = LAT
}
+% BCP-47 compliant aliases
+\setlanguagealias*{latin}{la}
+\setlanguagealias*[variant=classic]{latin}{la-x-classic}
+\setlanguagealias*[variant=ecclesiastic]{latin}{la-x-ecclesia}
+\setlanguagealias*[variant=medieval]{latin}{la-x-medieval}
+
% Babel aliases
-\setlanguagealias[variant=classic]{latin}{latinclassic}
-\setlanguagealias[variant=ecclesiastic]{latin}{latinecclesiastic}
-\setlanguagealias[variant=medieval]{latin}{latinmedieval}
+\setlanguagealias[variant=classic]{latin}{classiclatin}
+\setlanguagealias[variant=ecclesiastic]{latin}{ecclesiasticlatin}
+\setlanguagealias[variant=medieval]{latin}{medievallatin}
%%%%% Variables and commands concerning spelling
@@ -8469,8 +11386,7 @@ and may look very wrong.}
\msg_new:nnn {polyglossia} {latin / missing modern patterns}
{
- No~hyphenation~patterns~were~found~for~Latin~\msg_line_context:.~
- I~will~not~hyphenate~Latin~words.
+ The~hyphenation~patterns~for~modern~Latin~were~not~found~\msg_line_context:.
}
\msg_new:nnn {polyglossia} {latin / missing patterns}
@@ -8486,11 +11402,23 @@ and may look very wrong.}
\def \latin@language
{
\polyglossia@setup@language@patterns {latin}
+ \str_case:Vn \l_polyglossia_latin_variant_str
+ {
+ {classic} { \adddialect \l@classiclatin \l@latin }
+ {medieval} { \adddialect \l@medievallatin \l@latin }
+ {ecclesiastic} { \adddialect \l@ecclesiasticlatin \l@latin }
+ }
}
}
{
\msg_warning:nn {polyglossia} {latin / missing modern patterns}
- \adddialect \l@latin \l@nohyphenation
+ \str_case:Vn \l_polyglossia_latin_variant_str
+ {
+ {classic} { \adddialect \l@classiclatin \l@nohyphenation }
+ {medieval} { \adddialect \l@medievallatin \l@nohyphenation }
+ {modern} { \adddialect \l@latin \l@nohyphenation }
+ {ecclesiastic} { \adddialect \l@ecclesiasticlatin \l@nohyphenation }
+ }
}
}
@@ -8502,19 +11430,22 @@ and may look very wrong.}
\def \latin@language
{
\polyglossia@setup@language@patterns {#1}
+ \str_case:Vn \l_polyglossia_latin_variant_str
+ {
+ {classic} {
+ \str_if_eq:nnTF{#1}{liturgicallatin}
+ { \adddialect \l@classiclatin { \use:c {l@#1} } }
+ {}
+ }
+ {medieval} { \adddialect \l@medievallatin { \use:c {l@#1} } }
+ {modern} { \adddialect \l@latin { \use:c {l@#1} } }
+ {ecclesiastic} { \adddialect \l@ecclesiasticlatin { \use:c {l@#1} } }
+ }
}
}
{
- \xpg@ifdefined {latin}
- {
- \msg_warning:nnn {polyglossia} {latin / missing patterns} {#1}
- \adddialect \l@ #1 \l@latin
- \polyglossia_latin_use_modern_patterns:
- }
- {
- \msg_warning:nn {polyglossia} {latin / missing modern patterns}
- \adddialect \l@ #1 \l@nohyphenation
- }
+ \msg_warning:nnn {polyglossia} {latin / missing patterns} {#1}
+ \polyglossia_latin_use_modern_patterns:
}
}
@@ -8528,7 +11459,8 @@ and may look very wrong.}
\directlua { require('polyglossia-latin') }
}
{
- \newXeTeXintercharclass \g_polyglossia_latin_punctuation_class
+ \newXeTeXintercharclass \g_polyglossia_latin_question_exclamation_class
+ \newXeTeXintercharclass \g_polyglossia_latin_colon_semicolon_class
\newXeTeXintercharclass \g_polyglossia_latin_opening_guillemet_class
\newXeTeXintercharclass \g_polyglossia_latin_closing_guillemet_class
\newXeTeXintercharclass \g_polyglossia_latin_opening_bracket_class
@@ -8559,14 +11491,15 @@ and may look very wrong.}
}
{
\XeTeXinterchartokenstate = 1
- \XeTeXcharclass `\! \g_polyglossia_latin_punctuation_class
- \XeTeXcharclass `\? \g_polyglossia_latin_punctuation_class
- \XeTeXcharclass `\‼ \g_polyglossia_latin_punctuation_class
- \XeTeXcharclass `\⁇ \g_polyglossia_latin_punctuation_class
- \XeTeXcharclass `\⁈ \g_polyglossia_latin_punctuation_class
- \XeTeXcharclass `\⁉ \g_polyglossia_latin_punctuation_class
- \XeTeXcharclass `\; \g_polyglossia_latin_punctuation_class
- \XeTeXcharclass `\: \g_polyglossia_latin_punctuation_class
+ \XeTeXcharclass `\! \g_polyglossia_latin_question_exclamation_class
+ \XeTeXcharclass `\? \g_polyglossia_latin_question_exclamation_class
+ \XeTeXcharclass `\‼ \g_polyglossia_latin_question_exclamation_class
+ \XeTeXcharclass `\⁇ \g_polyglossia_latin_question_exclamation_class
+ \XeTeXcharclass `\⁈ \g_polyglossia_latin_question_exclamation_class
+ \XeTeXcharclass `\⁉ \g_polyglossia_latin_question_exclamation_class
+ \XeTeXcharclass `\‽ \g_polyglossia_latin_question_exclamation_class
+ \XeTeXcharclass `\; \g_polyglossia_latin_colon_semicolon_class
+ \XeTeXcharclass `\: \g_polyglossia_latin_colon_semicolon_class
\XeTeXcharclass `\« \g_polyglossia_latin_opening_guillemet_class
\XeTeXcharclass `\» \g_polyglossia_latin_closing_guillemet_class
\XeTeXcharclass `\‹ \g_polyglossia_latin_opening_guillemet_class
@@ -8580,13 +11513,28 @@ and may look very wrong.}
\XeTeXcharclass `\⟨ \g_polyglossia_latin_opening_bracket_class
\XeTeXcharclass `\⟩ \g_polyglossia_latin_closing_bracket_class
- % punctuation followed by a closing guillemet
- \XeTeXinterchartoks \g_polyglossia_latin_punctuation_class \g_polyglossia_latin_closing_guillemet_class =
+ % question or exclamation mark followed by a closing guillemet
+ \XeTeXinterchartoks \g_polyglossia_latin_question_exclamation_class \g_polyglossia_latin_closing_guillemet_class =
+ {
+ \polyglossia_latin_insert_punctuation_space:
+ }
+ % question or exclamation mark followed by a colon or semicolon
+ \XeTeXinterchartoks \g_polyglossia_latin_question_exclamation_class \g_polyglossia_latin_colon_semicolon_class =
+ {
+ \polyglossia_latin_insert_punctuation_space:
+ }
+ % colon or semicolon followed by a closing guillemet
+ \XeTeXinterchartoks \g_polyglossia_latin_colon_semicolon_class \g_polyglossia_latin_closing_guillemet_class =
+ {
+ \polyglossia_latin_insert_punctuation_space:
+ }
+ % closing bracket followed by a question or exclamation mark
+ \XeTeXinterchartoks \g_polyglossia_latin_closing_bracket_class \g_polyglossia_latin_question_exclamation_class =
{
\polyglossia_latin_insert_punctuation_space:
}
- % closing bracket followed by punctuation
- \XeTeXinterchartoks \g_polyglossia_latin_closing_bracket_class \g_polyglossia_latin_punctuation_class =
+ % closing bracket followed by a colon or semicolon
+ \XeTeXinterchartoks \g_polyglossia_latin_closing_bracket_class \g_polyglossia_latin_colon_semicolon_class =
{
\polyglossia_latin_insert_punctuation_space:
}
@@ -8600,18 +11548,38 @@ and may look very wrong.}
{
\polyglossia_latin_replace_following_space:
}
+ % opening guillemet followed by an opening guillemet
+ \XeTeXinterchartoks \g_polyglossia_latin_opening_guillemet_class \g_polyglossia_latin_opening_guillemet_class =
+ {
+ \polyglossia_latin_insert_punctuation_space:
+ }
% opening guillemet followed by an ordinary character
\XeTeXinterchartoks \g_polyglossia_latin_opening_guillemet_class \z@ =
{
\polyglossia_latin_insert_punctuation_space:
}
- % closing guillemet followed by punctuation
- \XeTeXinterchartoks \g_polyglossia_latin_closing_guillemet_class \g_polyglossia_latin_punctuation_class =
+ % closing guillemet followed by a closing guillemet
+ \XeTeXinterchartoks \g_polyglossia_latin_closing_guillemet_class \g_polyglossia_latin_closing_guillemet_class =
+ {
+ \polyglossia_latin_insert_punctuation_space:
+ }
+ % closing guillemet followed by a question or exclamation mark
+ \XeTeXinterchartoks \g_polyglossia_latin_closing_guillemet_class \g_polyglossia_latin_question_exclamation_class =
+ {
+ \polyglossia_latin_insert_punctuation_space:
+ }
+ % closing guillemet followed by a colon or semicolon
+ \XeTeXinterchartoks \g_polyglossia_latin_closing_guillemet_class \g_polyglossia_latin_colon_semicolon_class =
{
\polyglossia_latin_insert_punctuation_space:
}
- % space followed by punctuation
- \XeTeXinterchartoks \xpg@boundaryclass \g_polyglossia_latin_punctuation_class =
+ % space followed by a question or exclamation mark
+ \XeTeXinterchartoks \xpg@boundaryclass \g_polyglossia_latin_question_exclamation_class =
+ {
+ \polyglossia_latin_replace_preceding_space:
+ }
+ % space followed by a colon or semicolon
+ \XeTeXinterchartoks \xpg@boundaryclass \g_polyglossia_latin_colon_semicolon_class =
{
\polyglossia_latin_replace_preceding_space:
}
@@ -8620,8 +11588,13 @@ and may look very wrong.}
{
\polyglossia_latin_replace_preceding_space:
}
- % ordinary character followed by punctuation
- \XeTeXinterchartoks \z@ \g_polyglossia_latin_punctuation_class =
+ % ordinary character followed by a question or exclamation mark
+ \XeTeXinterchartoks \z@ \g_polyglossia_latin_question_exclamation_class =
+ {
+ \polyglossia_latin_insert_punctuation_space:
+ }
+ % ordinary character followed by a colon or semicolon
+ \XeTeXinterchartoks \z@ \g_polyglossia_latin_colon_semicolon_class =
{
\polyglossia_latin_insert_punctuation_space:
}
@@ -8646,6 +11619,7 @@ and may look very wrong.}
\XeTeXcharclass `\⁇ \z@
\XeTeXcharclass `\⁈ \z@
\XeTeXcharclass `\⁉ \z@
+ \XeTeXcharclass `\‽ \z@
\XeTeXcharclass `\; \z@
\XeTeXcharclass `\: \z@
\XeTeXcharclass `\« \z@
@@ -8701,7 +11675,9 @@ and may look very wrong.}
}
}
{
- \msg_warning:nn {polyglossia} {latin / ineffective footnote option}
+ \iflatin@ecclesiasticfootnotes
+ \msg_warning:nn {polyglossia} {latin / ineffective footnote option}
+ \fi
}
}
@@ -8723,6 +11699,8 @@ and may look very wrong.}
%%%%% Language variants: classic, medieval, modern, and ecclesiastic
+\str_new:N \l_polyglossia_latin_variant_str
+
\msg_new:nnn {polyglossia} {latin / language variant}
{
Activating~Latin~language~variant~"#1"~\msg_line_context:.
@@ -8740,7 +11718,8 @@ and may look very wrong.}
\bool_set_false:N \l_polyglossia_latin_use_digraphs_bool
\bool_set_true:N \l_polyglossia_latin_capitalize_month_bool
\bool_set_false:N \l_polyglossia_latin_punctuation_spacing_bool
- \SetLanguageKeys {latin} { babelname = latin.classic }
+ \str_set:Nn \l_polyglossia_latin_variant_str {classic}
+ \SetLanguageKeys {latin} { babelname = classiclatin, bcp47 = la-x-classic }
\polyglossia_latin_set_patterns:n {classiclatin}
}
@@ -8751,7 +11730,8 @@ and may look very wrong.}
\bool_set_true:N \l_polyglossia_latin_use_digraphs_bool
\bool_set_true:N \l_polyglossia_latin_capitalize_month_bool
\bool_set_false:N \l_polyglossia_latin_punctuation_spacing_bool
- \SetLanguageKeys {latin} { babelname = latin.medieval }
+ \str_set:Nn \l_polyglossia_latin_variant_str {medieval}
+ \SetLanguageKeys {latin} { babelname = medievallatin, bcp47 = la-x-medieval }
\polyglossia_latin_use_modern_patterns:
}
@@ -8762,7 +11742,8 @@ and may look very wrong.}
\bool_set_false:N \l_polyglossia_latin_use_digraphs_bool
\bool_set_true:N \l_polyglossia_latin_capitalize_month_bool
\bool_set_false:N \l_polyglossia_latin_punctuation_spacing_bool
- \SetLanguageKeys {latin} { babelname = latin }
+ \str_set:Nn \l_polyglossia_latin_variant_str {modern}
+ \SetLanguageKeys {latin} { babelname = latin, bcp47 = la }
\polyglossia_latin_use_modern_patterns:
}
@@ -8773,7 +11754,8 @@ and may look very wrong.}
\bool_set_true:N \l_polyglossia_latin_use_digraphs_bool
\bool_set_false:N \l_polyglossia_latin_capitalize_month_bool
\bool_set_true:N \l_polyglossia_latin_punctuation_spacing_bool
- \SetLanguageKeys {latin} { babelname = latin.ecclesiastic }
+ \str_set:Nn \l_polyglossia_latin_variant_str {ecclesiastic}
+ \SetLanguageKeys {latin} { babelname = ecclesiasticlatin, bcp47 = la-x-ecclesia }
\polyglossia_latin_use_modern_patterns:
}
@@ -8841,7 +11823,7 @@ and may look very wrong.}
The~Latin~hyphenation~variant~"#1"~is~undefined~\msg_line_context:.
}
-\define@key{latin}{hyphenation}
+\define@key {latin} {hyphenation}
{
\str_case:nnTF {#1}
{
@@ -8940,6 +11922,11 @@ and may look very wrong.}
{
}
+% Register default options
+\xpg@initialize@gloss@options{latin}{variant=modern,hyphenation=modern,babelshorthands=false,
+ prosodicshorthands=false,ecclesiasticfootnotes=false,
+ usej=false,capitalizemonth=true}
+
\ifsystem@babelshorthands
\setkeys{latin}{babelshorthands=true}
\else
@@ -9322,7 +12309,7 @@ and may look very wrong.}
%% Copyright (C) Claudio Beccari 2013-2016
%% Copyright (C) Élie Roux 2016-2019
-%% Copyright (C) Keno Wehr 2019
+%% Copyright (C) Keno Wehr 2019-2020
%%
%% Permission is hereby granted, free of charge, to any person obtaining
%% a copy of this software and associated documentation files
@@ -9400,12 +12387,16 @@ and may look very wrong.}
% \begin{macrocode}
\ProvidesFile{gloss-latvian.ldf}[polyglossia: module for latvian]
\PolyglossiaSetup{latvian}{
+ bcp47=lv,
hyphennames={latvian},
hyphenmins={2,2},
langtag=LVI,
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{latvian}{lv}
+
\def\captionslatvian{%
\def\prefacename{Priekšvārds}%
\def\refname{Literatūras saraksts}%
@@ -9451,6 +12442,7 @@ and may look very wrong.}
\ProvidesFile{gloss-lithuanian.ldf}[polyglossia: module for lithuanian]
\PolyglossiaSetup{lithuanian}{
+ bcp47=lt,
hyphennames={lithuanian},
hyphenmins={2,2},
langtag=LTH,
@@ -9458,6 +12450,9 @@ and may look very wrong.}
fontsetup=true
}
+% BCP-47 compliant aliases
+\setlanguagealias*{lithuanian}{lt}
+
\def\captionslithuanian{%
\def\prefacename{Pratarmė}%
\def\refname{Literatūra}%
@@ -9514,6 +12509,21 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-lithuanian.ldf>
+%<*gloss-lo.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-lo.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-lo.ldf}[polyglossia: module for lo (lao)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{lao}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-lo.ldf>
%<*gloss-lowersorbian.ldf>
% \fi
% \clearpage
@@ -9545,6 +12555,36 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-lsorbian.ldf>
+%<*gloss-lt.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-lt.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-lt.ldf}[polyglossia: module for lt (lithuanian)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{lithuanian}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-lt.ldf>
+%<*gloss-lv.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-lv.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-lv.ldf}[polyglossia: module for lv (latvian)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{latvian}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-lv.ldf>
%<*gloss-macedonian.ldf>
% \fi
% \clearpage
@@ -9553,6 +12593,7 @@ and may look very wrong.}
% \begin{macrocode}
\ProvidesFile{gloss-macedonian.ldf}[polyglossia: module for macedonian]
\PolyglossiaSetup{macedonian}{
+ bcp47=mk,
script=Cyrillic,
scripttag=cyrl,
langtag=MKD,
@@ -9562,6 +12603,9 @@ and may look very wrong.}
fontsetup
}
+% BCP-47 compliant aliases
+\setlanguagealias*{macedonian}{mk}
+
\def\macedonian@Alph#1{%
\ifcase#1\or
А\or Б\or В\or Г\or Д\or Ѓ\or Е\or
@@ -9662,11 +12706,17 @@ and may look very wrong.}
\RequirePackage{hijrical}
\PolyglossiaSetup{malay}{%
+ bcp47=id,
language=Malay,
langtag=MLY,
hyphennames={malay,melayu,bahasam,bahasai,indonesian,indon,bahasa},
hyphenmins={2,2},
- fontsetup=true}
+ fontsetup=true
+}
+
+% BCP-47 compliant aliases
+\setlanguagealias*[variant=malaysian]{malay}{zsm}
+\setlanguagealias*[variant=indonesian]{malay}{id}
% Babel aliases
\setlanguagealias[variant=indonesian]{malay}{bahasai}
@@ -9689,7 +12739,7 @@ and may look very wrong.}
\malay@melayutrue
\fi
\ifmalay@melayu
- \SetLanguageKeys{malay}{language=Malay,langtag=MLY,babelname=bahasam}%
+ \SetLanguageKeys{malay}{language=Malay,langtag=MLY,babelname=bahasam,bcp47=zsm}%
\xpg@fontsetup@latin{malay}%
% Check if \l@malay is defined. If not, try to set it to some variety
% (specific order as in the csv list below), or null language if everything fails
@@ -9707,7 +12757,7 @@ and may look very wrong.}
}%
}%
\else
- \SetLanguageKeys{malay}{language=Indonesian,langtag=IND,babelname=bahasa}%
+ \SetLanguageKeys{malay}{language=Indonesian,langtag=IND,babelname=bahasa,bcp47=id}%
\xpg@fontsetup@latin{malay}%
% Check if \l@indonesian is defined. If not, try to set it to some variety
% (specific order as in the csv list below), or null language if everything fails
@@ -9728,6 +12778,9 @@ and may look very wrong.}
\xpg@info{Option: malay, variant=\val}%
}{\xpg@warning{Unknown malay variant `#1'}}
+% Register default options
+\xpg@initialize@gloss@options{malay}{variant=malaysian}
+
\def\malay@language{%
\polyglossia@setup@language@patterns{\malay@variant}%
@@ -9853,6 +12906,7 @@ and may look very wrong.}
% Translations provided by Kevin & Siji, 01-11-2009
\PolyglossiaSetup{malayalam}{
+ bcp47=ml,
script=Malayalam,
scripttag=mlym,
langtag=MAL, %FIXME there is also MLR for "Malayalam Reformed"
@@ -9861,6 +12915,9 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{malayalam}{ml}
+
\def\captionsmalayalam{%
\def\abstractname{സാരാംശം}%
\def\appendixname{ശിഷ്ടം}%
@@ -9911,6 +12968,7 @@ and may look very wrong.}
% \subsection{gloss-marathi.ldf}
% \begin{macrocode}
% Translations provided by Abhijit Navale <abhi_navale@live.in>
+% Ordinals (1-100) added by Niranjan Tambe <niranjanvikastambe@gmail.com> on 14th December, 2019
% TODO implement Hindu calendar (not used in day-to-day practice)
\ProvidesFile{gloss-marathi.ldf}[polyglossia: module for marathi]
@@ -9923,6 +12981,7 @@ and may look very wrong.}
\RequirePackage{devanagaridigits}
\PolyglossiaSetup{marathi}{
+ bcp47=mr,
script=Devanagari,
scripttag=deva,
langtag=MAR,
@@ -9933,15 +12992,25 @@ and may look very wrong.}
%TODO nouppercase=true,
}
-\def\tmp@western{Western}
+% BCP-47 compliant aliases
+\setlanguagealias*{marathi}{mr}
+
\newif\ifmarathi@devanagari@numerals
\marathi@devanagari@numeralstrue
-\define@key{marathi}{numerals}[Devanagari]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@western
- \marathi@devanagari@numeralsfalse
- \fi}
+\define@choicekey*+{marathi}{numerals}[\val\nr]{Western,Devanagari}[Devanagari]{%
+ \ifcase\nr\relax
+ % Western:
+ \marathi@devanagari@numeralsfalse%
+ \or
+ % Devanagari:
+ \marathi@devanagari@numeralstrue%
+ \fi
+ \xpg@info{Option: Marathi, numerals=\val}%
+}{\xpg@warning{Unknown Marathi numerals value `#1'}}
+
+% Register default options
+\xpg@initialize@gloss@options{marathi}{numerals=Devanagari}
\newcommand{\marathinumerals}[2]{\marathinumber{#2}}
@@ -9950,55 +13019,155 @@ and may look very wrong.}
\devanagaridigits{\number#1}%
\else
\number#1%
- \fi}
+ \fi%
+}
\def\captionsmarathi{%
\def\refname{संदर्भ}%
\def\abstractname{सारांश}%
- \def\bibname{संदर्भ ग्रंथांची यादी}%
+ \def\bibname{संदर्भसूची}%
\def\prefacename{प्रस्तावना}%
\def\chaptername{प्रकरण}%
\def\appendixname{परिशिष्ट}%
\def\contentsname{अनुक्रमणिका}%
- \def\listfigurename{आकृत्यांची यादी}%
- \def\listtablename{कोष्टकांची यादी}%
+ \def\listfigurename{आकृत्यांची सूची}%
+ \def\listtablename{कोष्टक सूची}%
\def\indexname{सूची}%
\def\figurename{आकृती}%
\def\tablename{कोष्टक}%
- %\def\thepart{}% TODO
- \def\partname{भाग}%
- \def\pagename{पान}%
- \def\seename{पहा}%
- \def\alsoname{हे सुध्दा पहा}%
+ \def\partname{खंड}%
+ \def\pagename{पृष्ठ}%
+ \def\seename{पाहा}%
+ \def\alsoname{हेदेखील पाहा}%
\def\enclname{समाविष्ट}%
- \def\ccname{सि.सि.}%
+ \def\ccname{सी.सी.}%
\def\headtoname{प्रति}%
\def\proofname{सिद्धता}%
- \def\glossaryname{स्पष्टीकरणांची यादी}%
+ \def\glossaryname{संक्षेपसूची}%
\def\authorsand{आणि}%
}
+
\def\datemarathi{%
\def\marathimonth{%
\ifcase\month\or
- जानेवारी\or
- फेब्रुवारी\or
- मार्च\or
- एप्रिल\or
- मे\or
- जून\or
- जुलै\or
- ऑगस्ट\or
- सप्टेंबर\or
- ऑक्टोबर\or
- नोव्हेंबर\or
- डिसेंबर\fi
+ जानेवारी\or
+ फेब्रुवारी\or
+ मार्च\or
+ एप्रिल\or
+ मे\or
+ जून\or
+ जुलै\or
+ ऑगस्ट\or
+ सप्टेंबर\or
+ ऑक्टोबर\or
+ नोव्हेंबर\or
+ डिसेंबर%
+ \fi%
}%
- \def\today{\marathinumber\day\space\marathimonth\space\marathinumber\year}%
+ \def\today{%
+ \marathinumber\day\space\marathimonth\space\marathinumber\year%
+ }%
+}
+
+\def\devanagari@akshar#1{\ifcase#1\or अ\or आ\or इ\or ई\or उ\or ऊ\or ए\or ऐ\or ओ\or औ\or अं\or अः\else\@ctrerr\fi}
+
+\def\devanagari@alph#1{%
+ \ifcase#1\or क\or ख\or ग\or घ\or ङ\or च\or छ\or ज\or झ\or ञ\or ट\or ठ\or ड\or ढ\or ण\or त\or थ\or द%
+ \or ध\or न\or प\or फ\or ब\or भ\or म\or य\or र\or ल\or व\or श\or ष\or स\or ह\or ळ\else\@ctrerr%
+ \fi%
+}
+
+\def\devanagari@letter#1{%
+ \ifcase#1\or एक\or दोन\or तीन\or चार\or पाच\or सहा\or सात\or आठ\or नऊ\or दहा\or अकरा\or बारा\or तेरा\or चौदा%
+ \or पंधरा\or सोळा\or सतरा\or अठरा\or एकोणीस\or वीसएकवीस\or बावीस\or तेवीस\or चोवीस\or पंचवीस\or सव्वीस\or सत्तावीस\or अठाव्वीस%
+ \or एकोणतीस\or तीस\or एकतीस\or बत्तीस\or तेहेत्तीस \or चौतीस \or पस्तीस \or छत्तीस \or सतदिस \or अडतीस \or एकोणचाळीस \or चाळीस %
+ \or एक्केचाळीस \or बेचाळीस \or त्रेचाळीस \or चौवेचाळीस\or पंचेचाळीस \or सेहेचाळीस \or सत्तेचाळीस \or अठ्ठेचाळीस \or एकोणपन्नास \or पन्नास %
+ \or एक्कावन्न \or बावन्न \or त्रेपन्न \or चोपन्न \or पंचावन्न \or छपन्न\or सत्तावन्न \or अठ्ठावन्न \or एकोणसाठ \or साठ \or एकसष्ठ \or बासष्ठ \or त्रेसष्ट %
+ \or चौसष्ठ \or पासष्ठ \or सहासष्ठ \or सदुष्ठ \or अडुसष्ठ \or एकोणसत्तर\or सत्तर \or एकाहत्तर \or बहात्तर \or त्र्याहत्तर \or चौऱ्याहत्तर \or पंच्याहत्तर %
+ \or शहात्तर \or सत्याहत्तर \or अठ्याहत्तर \or एकोणऐशी \or ऐंशी\or एक्याऐंशी \or ब्याऐंशी \or त्र्याऐंशी \or चौऱ्याऐंशी \or पंच्याऐंशी \or शह्यांशी \or सत्यांऐंशी %
+ \or अठ्ठ्याऐंशी \or एकोणनव्वद \or नव्वद \or एक्याण्णव\or ब्याण्णव \or त्र्याण्णव \or चौऱ्याण्णव \or पंच्याण्णव \or शहाण्णव \or सत्याण्णव \or अठ्याण्णव %
+ \or नव्याण्णव \or शंभर\else\@ctrerr%
+ \fi%
+}
+
+\let\xpg@save@roman\@roman
+\let\xpg@save@Roman\@Roman
+
+\def\marathi@numbers{%
+ \let\@alph\devanagari@akshar
+ \let\@Alph\devanagari@letter
+ \let\@roman\devanagari@alph
+ \let\@Roman\devanagari@letter
+}
+
+\def\nomarathi@numbers{%
+ \let\@alph\latin@alph%
+ \let\@Alph\latin@Alph%
+ \let\@roman\xpg@save@roman
+ \let\@Roman\xpg@save@Roman
+}
+
+\def\blockextras@marathi{%
+ \let\xpg@orig@baselinestretch\baselinestrech%
+ \renewcommand{\baselinestretch}{1.2}%
+ \renewcommand{\labelitemii}{$\rightarrow$}%
+}
+
+\let\xpg@orig@labelitemii\labelitemii
+
+\def\noextras@marathi{%
+ \let\baselinestrech\xpg@orig@baselinestretch%
+ \let\labelitemii\xpg@orig@labelitemii%
}
% \end{macrocode}
% \iffalse
%</gloss-marathi.ldf>
+%<*gloss-mk.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-mk.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-mk.ldf}[polyglossia: module for mk (macedonian)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{macedonian}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-mk.ldf>
+%<*gloss-ml.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ml.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-ml.ldf}[polyglossia: module for ml (malayalam)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{malayalam}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ml.ldf>
+%<*gloss-mn.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-mn.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-mn.ldf}[polyglossia: module for mn (mongolian)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{mongolian}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-mn.ldf>
%<*gloss-mongolian.ldf>
% \fi
% \clearpage
@@ -10010,6 +13179,7 @@ and may look very wrong.}
\RequirePackage{xpg-cyrillicnumbers}
\PolyglossiaSetup{mongolian}{
+ bcp47=mn,
script=Cyrillic,
scripttag=cyrl,
langtag=MNG,
@@ -10021,6 +13191,9 @@ and may look very wrong.}
Localnumeral=Mongoliannumerals
}
+% BCP-47 compliant aliases
+\setlanguagealias*{mongolian}{mn}
+
% This file is derived from mongolian-babel. which
% provides support for Mongolian (Khalkha variety)
% with Cyrillic script
@@ -10028,15 +13201,32 @@ and may look very wrong.}
% variants of Mongolian
\newif\ifcyrillic@numerals
-\define@key{mongolian}{numerals}[arabic]{%
- \ifstrequal{#1}{cyrillic}%
- {\cyrillic@numeralstrue}%
- {\cyrillic@numeralsfalse}%
-}
+\newif\ifcyrillic@asbuk@numerals
+\define@choicekey*+{mongolian}{numerals}[\val\nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
+ \ifcase\nr\relax
+ % arabic:
+ \cyrillic@numeralsfalse%
+ \cyrillic@asbuk@numeralsfalse%
+ \or
+ % cyrillic:
+ \cyrillic@numeralstrue%
+ \cyrillic@asbuk@numeralsfalse%
+ \or
+ % cyrillic-trad:
+ \cyrillic@numeralstrue%
+ \cyrillic@asbuk@numeralsfalse%
+ \or
+ % cyrillic-alph:
+ \cyrillic@numeralstrue%
+ \cyrillic@asbuk@numeralstrue%
+ \fi
+ \xpg@info{Option: Mongolian, numerals=\val}%
+}{\xpg@warning{Unknown Mongolian numerals value `#1'}}
-\define@boolkey{mongolian}[mongolian@]{babelshorthands}[false]{}
+\define@boolkey{mongolian}[mongolian@]{babelshorthands}[true]{}
-\setkeys{mongolian}{numerals}
+% Register default options
+\xpg@initialize@gloss@options{mongolian}{babelshorthands=false,numerals=arabic}
\ifsystem@babelshorthands
\setkeys{mongolian}{babelshorthands=true}
@@ -10131,7 +13321,11 @@ and may look very wrong.}
\def\mongoliannumber#1{%
\ifcyrillic@numerals
- \cyr@alph{#1}%
+ \ifcyrillic@asbuk@numerals
+ \mongolian@asbuk@alph{#1}%
+ \else
+ \cyr@alph{#1}%
+ \fi
\else
\number#1%
\fi%
@@ -10139,7 +13333,11 @@ and may look very wrong.}
\def\Mongoliannumber#1{%
\ifcyrillic@numerals
- \cyr@Alph{#1}%
+ \ifcyrillic@asbuk@numerals
+ \mongolian@asbuk@Alph{#1}%
+ \else
+ \cyr@Alph{#1}%
+ \fi
\else
\number#1%
\fi%
@@ -10148,24 +13346,29 @@ and may look very wrong.}
\let\mongoliannumeral=\mongoliannumber
\let\Mongoliannumeral=\Mongoliannumber
-\def\Asbuk#1{\expandafter\cyr@Alph\csname c@#1\endcsname}
+\def\Asbuk#1{\expandafter\mongolian@asbuk@Alph\csname c@#1\endcsname}
+\def\asbuk#1{\expandafter\mongolian@asbuk@alph\csname c@#1\endcsname}
-\def\asbuk#1{\expandafter\cyr@alph\csname c@#1\endcsname}
+\def\AsbukTrad#1{\expandafter\cyr@Alph\csname c@#1\endcsname}
+\def\asbukTrad#1{\expandafter\cyr@alph\csname c@#1\endcsname}
% This is a poor man's cyrillic alphanumeric. It just uses the alphabet and
-% thus ends at 30. We now use proper cyrillic numbering.
-
-%\def\mongolian@Alph#1{\ifcase#1\or
-% А\or Б\or В\or Г\or Д\or Е\or Ж\or
-% З\or И\or К\or Л\or М\or Н\or О\or
-% П\or Р\or С\or Т\or У\or Ф\or Х\or
-% Ц\or Ч\or Ш\or Щ\or Э\or Ю\or Я\else\xpg@ill@value{#1}{mongolian@Alph}\fi}
+% thus ends at 30.
+\def\mongolian@asbuk@Alph#1{\ifcase#1\or
+ А\or Б\or В\or Г\or Д\or Е\or Ж\or
+ З\or И\or К\or Л\or М\or Н\or О\or
+ П\or Р\or С\or Т\or У\or Ф\or Х\or
+ Ц\or Ч\or Ш\or Щ\or Э\or Ю\or Я%
+ \else\xpg@ill@value{#1}{mongolian@asbuk@Alph}\fi%
+}
-%\def\mongolian@alph#1{\ifcase#1\or
-% а\or б\or в\or г\or д\or е\or ж\or
-% з\or и\or к\or л\or м\or н\or о\or
-% п\or р\or с\or т\or у\or ф\or х\or
-% ц\or ч\or ш\or щ\or э\or ю\or я\else\xpg@ill@value{#1}{mongolian@alph}\fi}
+\def\mongolian@asbuk@alph#1{\ifcase#1\or
+ а\or б\or в\or г\or д\or е\or ж\or
+ з\or и\or к\or л\or м\or н\or о\or
+ п\or р\or с\or т\or у\or ф\or х\or
+ ц\or ч\or ш\or щ\or э\or ю\or я%
+ \else\xpg@ill@value{#1}{mongolian@asbuk@alph}\fi%
+}
\def\mongolian@numbers{%
\let\latin@alph\@alph
@@ -10200,6 +13403,21 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-mongolian.ldf>
+%<*gloss-mr.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-mr.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-mr.ldf}[polyglossia: module for mr (marathi)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{marathi}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-mr.ldf>
%<*gloss-naustrian.ldf>
% \fi
% \clearpage
@@ -10215,6 +13433,21 @@ and may look very wrong.}
% \end{macrocode}
% \iffalse
%</gloss-naustrian.ldf>
+%<*gloss-nb.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-nb.ldf}
+% \begin{macrocode}
+\ProvidesFile{gloss-nb.ldf}[polyglossia: module for nb (norwegian)]
+
+% We provide this as a bcp47-compliant alias
+
+\xpg@load@master@language{norwegian}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-nb.ldf>
%<*gloss-newzealand.ldf>
% \fi
% \clearpage
@@ -10253,6 +13486,7 @@ and may look very wrong.}
% \begin{macrocode}
\ProvidesFile{gloss-nko.ldf}[Polyglossia: module for N’Ko v0.1 2013/05/19]
\PolyglossiaSetup{nko}{%
+ bcp47=nko,
script=N'ko,
scripttag=nko~,
langtag=NKO,
@@ -10261,6 +13495,7 @@ and may look very wrong.}
direction=RL,
localnumeral=nkonumerals
}
+
\RequirePackage{nkonumbers}%
\newcommand{\nkonumerals}[2]{\nkonumber{#2}}
@@ -10361,6 +13596,7 @@ and may look very wrong.}
% \begin{macrocode}
\ProvidesFile{gloss-norwegian.ldf}[polyglossia: module for norwegian]
\PolyglossiaSetup{norwegian}{
+ bcp47=nn,
hyphennames={nynorsk},
langtag=NYN,
hyphenmins={2,2},
@@ -10368,6 +13604,9 @@ and may look very wrong.}
fontsetup=false,
}
+% BCP-47 compliant aliases
+\setlanguagealias*[variant=bokmal]{norwegian}{nb}
+\setlanguagealias*[variant=nynorsk]{norwegian}{nn}
% Babel and backwards compat. aliases
\setlanguagealias[variant=bokmal]{norwegian}{norsk}
\setlanguagealias[variant=nynorsk]{norwegian}{nynorsk}
@@ -10377,20 +13616,24 @@ and may look very wrong.}
\ifcase\nr\relax
% nynorsk:
\def\norwegian@variant{nynorsk}%
- \SetLanguageKeys{norwegian}{langtag=NYN,babelname=nynorsk}%
+ \SetLanguageKeys{norwegian}{langtag=NYN,babelname=nynorsk,bcp47=nn}%
\xpg@fontsetup@latin{norwegian}%
\or
% bokmal:
\def\norwegian@variant{norsk}%
- \SetLanguageKeys{norwegian}{langtag=NOR,babelname=norsk}%
+ \SetLanguageKeys{norwegian}{langtag=NOR,babelname=norsk,bcp47=nb}%
\xpg@fontsetup@latin{norwegian}%
\fi
\xpg@info{Option: norwegian, variant=\val}%
}{\xpg@warning{Unknown norwegian variant `#1'}}
+% Register default options
+\xpg@initialize@gloss@options{norwegian}{variant=nynorsk}
+
+
\def\norwegian@language{%
- \polyglossia@setup@language@patterns{\norwegian@variant}
+ \polyglossia@setup@language@patterns{\norwegian@variant}%
}%
\def\captionsnorwegian@nynorsk{%
@@ -10525,6 +13768,7 @@ and may look very wrong.}
\ProvidesFile{gloss-occitan.ldf}[2016/02/04 v0.3 polyglossia:
module for Occitan]
\PolyglossiaSetup{occitan}{
+ bcp47=oc,
hyphennames={occitan},
langtag=OCI,
hyphenmins={2,2},
@@ -10532,6 +13776,10 @@ and may look very wrong.}
indentfirst=true,
fontsetup=true,
}
+
+% BCP-47 compliant aliases
+\setlanguagealias*{occitan}{oc}
+
\define@boolkey{occitan}[occitan@]{babelshorthands}[true]{}
\ifsystem@babelshorthands
@@ -10687,6 +13935,7 @@ and may look very wrong.}
\RequirePackage{farsical}
\RequirePackage{hijrical}
\PolyglossiaSetup{persian}{
+ bcp47=fa,
babelname=farsi,
script=Arabic,
direction=RL,
@@ -10697,6 +13946,9 @@ and may look very wrong.}
localnumeral=farsinumerals
}
+% BCP-47 compliant aliases
+\setlanguagealias*{persian}{fa}
+
% Babel and backwards compat. alias
\setlanguagealias{persian}{farsi}
@@ -10723,7 +13975,8 @@ and may look very wrong.}
%TODO add option for CALENDAR
-\setkeys{persian}{locale,numerals}
+% Register default options
+\xpg@initialize@gloss@options{persian}{locale=default,numerals=eastern,abjadjimnotail=false}
\def\farsigregmonth#1{\ifcase#1%
\or ژانویه\or فوریه\or مارس\or آوریل\or مه\or ژوئن\or ژوئیه\or اوت\or سپتامبر\or اکتبر\or نوامبر\or دسامبر\fi}
@@ -10764,28 +14017,13 @@ and may look very wrong.}
\newcommand{\farsinumerals}[2]{\farsinumber{#2}}
-\newif\ifpersiandigits
-
\def\farsinumber#1{%
\if@western@numerals
\number#1%
\else
- \ifxetex
- \ifnum\XeTeXcharglyph"06F0 > 0\relax
- \persiandigitstrue
- \fi
- \else\ifluatex
- \expandafter\ifnum\directlua{polyglossia.check_char(0x6F0)} > 0\relax
- \persiandigitstrue
- \fi
- \fi\fi
- \ifpersiandigits
- \farsidigits{\number#1}%
- %%{\protect\addfontfeature{Mapping=farsidigits}\number#1}%
- \else%
- \arabicdigits{\number#1}%
- %%{\protect\addfontfeature{Mapping=arabicdigits}\number#1}%
- \fi
+ \xpg@if@char@available{06F0}%
+ {\farsidigits{\number#1}}%
+ {\arabicdigits{\number#1}}%
\fi
}
@@ -10841,6 +14079,7 @@ and may look very wrong.}
\ProvidesFile{gloss-piedmontese.ldf}[2013/02/12 v1.0 polyglossia: module for piedmontese]
\makeatletter
\PolyglossiaSetup{piedmontese}{
+ bcp47=pms,
hyphennames={piedmontese},
hyphenmins={2,2},
langtag=PMS,
@@ -10848,6 +14087,8 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{piedmontese}{pms}
\define@boolkey{piedmontese}[piedmontese@]{babelshorthands}[true]{}
@@ -10963,6 +14204,7 @@ and may look very wrong.}
% \begin{macrocode}
\ProvidesFile{gloss-polish.ldf}[polyglossia: module for polish]
\PolyglossiaSetup{polish}{
+ bcp47=pl,
hyphennames={polish},
hyphenmins={2,2},
langtag=PLK,
@@ -10970,6 +14212,9 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{polish}{pl}
+
\def\captionspolish{%
\def\prefacename{Przedmowa}%
\def\refname{Literatura}%
@@ -11047,6 +14292,7 @@ and may look very wrong.}
\ProvidesFile{gloss-portuguese.ldf}[polyglossia: module for portuguese]
\PolyglossiaSetup{portuguese}{
+ bcp47=pt-PT,
babelname=portuges,
hyphennames={portuges,portuguese},
hyphenmins={2,3},
@@ -11054,6 +14300,11 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*[variant=portuguese]{portuguese}{pt-PT}
+\setlanguagealias*[variant=brazilian]{portuguese}{pt-BR}
+\setlanguagealias*{portuguese}{pt}
+
% Babel aliases
\setlanguagealias[variant=portuguese]{portuguese}{portuges}
\setlanguagealias[variant=brazilian]{portuguese}{brazil}
@@ -11063,11 +14314,11 @@ and may look very wrong.}
\ifcase\nr\relax
% portuguese:
\def\portuguese@variant{portuges}%
- \SetLanguageKeys{portuguese}{babelname=portuges}%
+ \SetLanguageKeys{portuguese}{babelname=portuges,bcp47=pt-PT}%
\or
% brazilian:
\def\portuguese@variant{brazil}%
- \SetLanguageKeys{portuguese}{babelname=brazil}%
+ \SetLanguageKeys{portuguese}{babelname=brazil,bcp47=pt-BR}%
\xpg@ifdefined{brazil}{}%
{\xpg@warning{No hyphenation patterns were loaded for "Portuguese (Brazil)"\MessageBreak
I will use the standard patterns for Portuguese instead}%
@@ -11077,8 +14328,12 @@ and may look very wrong.}
}{\xpg@warning{Unknown portuguese variant `#1'}}
+% Register default options
+\xpg@initialize@gloss@options{portuguese}{variant=portuguese}
+
+
\def\portuguese@language{%
- \polyglossia@setup@language@patterns{\portuguese@variant}
+ \polyglossia@setup@language@patterns{\portuguese@variant}%
}%
\def\captionsportuguese@portuges{%
@@ -11164,12 +14419,16 @@ and may look very wrong.}
\ProvidesFile{gloss-romanian.ldf}[polyglossia: module for romanian]
\PolyglossiaSetup{romanian}{
+ bcp47=ro,
hyphennames={romanian},
hyphenmins={2,2},
langtag=ROM,
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{romanian}{ro}
+
\def\captionsromanian{%
\def\refname{Bibliografie}%
\def\abstractname{Rezumat}%
@@ -11215,6 +14474,7 @@ and may look very wrong.}
\ProvidesFile{gloss-romansh.ldf}[polyglossia: module for romansh]
\makeatletter
\PolyglossiaSetup{romansh}{%
+ bcp47=rm,
hyphennames={romansh},
hyphenmins={2,2},
langtag=RMS,
@@ -11222,6 +14482,8 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{romansh}{rm}
\def\captionsromansh{%
\def\prefacename{Prefaziun}%
@@ -11268,6 +14530,7 @@ and may look very wrong.}
\RequirePackage{xpg-cyrillicnumbers}
\PolyglossiaSetup{russian}{
+ bcp47=ru,
script=Cyrillic,
scripttag=cyrl,
langtag=RUS,
@@ -11280,11 +14543,16 @@ and may look very wrong.}
Localnumeral=Russiannumerals
}
+% BCP-47 compliant aliases
+\setlanguagealias*{russian}{ru}
+\setlanguagealias*[spelling=modern]{russian}{ru-luna1918}
+\setlanguagealias*[spelling=old]{russian}{ru-petr1708}
+
\newif\if@russian@modern
\define@key{russian}{spelling}[modern]{%
\ifstrequal{#1}{old}%
- {\@russian@modernfalse}%
- {\@russian@moderntrue}%
+ {\@russian@modernfalse\SetLanguageKeys{russian}{bcp47=ru-petr1708}}%
+ {\@russian@moderntrue\SetLanguageKeys{russian}{bcp47=ru}}%
}
\def\captionsrussian{%
@@ -11296,13 +14564,29 @@ and may look very wrong.}
}%
\newif\ifcyrillic@numerals
-\define@key{russian}{numerals}[arabic]{%
- \ifstrequal{#1}{cyrillic}%
- {\cyrillic@numeralstrue}%
- {\cyrillic@numeralsfalse}%
-}
+\newif\ifcyrillic@asbuk@numerals
+\define@choicekey*+{russian}{numerals}[\val\nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
+ \ifcase\nr\relax
+ % arabic:
+ \cyrillic@numeralsfalse%
+ \cyrillic@asbuk@numeralsfalse%
+ \or
+ % cyrillic:
+ \cyrillic@numeralstrue%
+ \cyrillic@asbuk@numeralsfalse%
+ \or
+ % cyrillic-trad:
+ \cyrillic@numeralstrue%
+ \cyrillic@asbuk@numeralsfalse%
+ \or
+ % cyrillic-alph:
+ \cyrillic@numeralstrue%
+ \cyrillic@asbuk@numeralstrue%
+ \fi
+ \xpg@info{Option: Russian, numerals=\val}%
+}{\xpg@warning{Unknown Russian numerals value `#1'}}
-\define@boolkey{russian}[russian@]{indentfirst}{
+\define@boolkey{russian}[russian@]{indentfirst}[true]{
\ifrussian@indentfirst
\SetLanguageKeys{russian}{indentfirst=true}
\else
@@ -11310,9 +14594,12 @@ and may look very wrong.}
\fi
}
-\define@boolkey{russian}[russian@]{babelshorthands}[false]{}
+\define@boolkey{russian}[russian@]{babelshorthands}[true]{}
+
+
+% Register default options
+\xpg@initialize@gloss@options{russian}{babelshorthands=false,spelling=modern,numerals=arabic,indentfirst=false}
-\setkeys{russian}{spelling,numerals}
\ifsystem@babelshorthands
\setkeys{russian}{babelshorthands=true}
@@ -11496,7 +14783,11 @@ and may look very wrong.}
\def\russiannumber#1{%
\ifcyrillic@numerals
- \cyr@alph{#1}%
+ \ifcyrillic@asbuk@numerals
+ \russian@asbuk@alph{#1}%
+ \else
+ \cyr@alph{#1}%
+ \fi
\else
\number#1%
\fi%
@@ -11504,7 +14795,11 @@ and may look very wrong.}
\def\Russiannumber#1{%
\ifcyrillic@numerals
- \cyr@Alph{#1}%
+ \ifcyrillic@asbuk@numerals
+ \russian@asbuk@Alph{#1}%
+ \else
+ \cyr@Alph{#1}%
+ \fi
\else
\number#1%
\fi%
@@ -11513,24 +14808,30 @@ and may look very wrong.}
\let\russiannumeral=\russiannumber
\let\Russiannumeral=\Russiannumber
-\def\Asbuk#1{\expandafter\cyr@Alph\csname c@#1\endcsname}
+\def\Asbuk#1{\expandafter\russian@asbuk@Alph\csname c@#1\endcsname}
+\def\asbuk#1{\expandafter\russian@asbuk@alph\csname c@#1\endcsname}
-\def\asbuk#1{\expandafter\cyr@alph\csname c@#1\endcsname}
+\def\AsbukTrad#1{\expandafter\cyr@Alph\csname c@#1\endcsname}
+\def\asbukTrad#1{\expandafter\cyr@alph\csname c@#1\endcsname}
-% This is a poor man's cyrillic alphanumeric. It just uses the alphabet and
-% thus ends at 30. We now use proper cyrillic numbering.
-%\def\russian@Alph#1{\ifcase#1\or
-% А\or Б\or В\or Г\or Д\or Е\or Ж\or
-% З\or И\or К\or Л\or М\or Н\or О\or
-% П\or Р\or С\or Т\or У\or Ф\or Х\or
-% Ц\or Ч\or Ш\or Щ\or Э\or Ю\or Я\else\xpg@ill@value{#1}{russian@Alph}\fi}
+% This is a poor man's cyrillic alphanumeric. It just uses the alphabet and
+% thus ends at 30.
+\def\russian@asbuk@Alph#1{\ifcase#1\or
+ А\or Б\or В\or Г\or Д\or Е\or Ж\or
+ З\or И\or К\or Л\or М\or Н\or О\or
+ П\or Р\or С\or Т\or У\or Ф\or Х\or
+ Ц\or Ч\or Ш\or Щ\or Э\or Ю\or Я%
+ \else\xpg@ill@value{#1}{russian@asbuk@Alph}\fi%
+}
-%\def\russian@alph#1{\ifcase#1\or
-% а\or б\or в\or г\or д\or е\or ж\or
-% з\or и\or к\or л\or м\or н\or о\or
-% п\or р\or с\or т\or у\or ф\or х\or
-% ц\or ч\or ш\or щ\or э\or ю\or я\else\xpg@ill@value{#1}{russian@alph}\fi}
+\def\russian@asbuk@alph#1{\ifcase#1\or
+ а\or б\or в\or г\or д\or е\or ж\or
+ з\or и\or к\or л\or м\or н\or о\or
+ п\or р\or с\or т\or у\or ф\or х\or
+ ц\or ч\or ш\or щ\or э\or ю\or я%
+ \else\xpg@ill@value{#1}{russian@asbuk@alph}\fi%
+}
\def\russian@numbers{%
\let\latin@alph\@alph
@@ -11538,8 +14839,8 @@ and may look very wrong.}
\ifcyrillic@numerals%
\def\russian@alph##1{\expandafter\russiannumeral\expandafter{\the##1}}%
\def\russian@Alph##1{\expandafter\Russiannumeral\expandafter{\the##1}}%
- \let\@alph\russian@alph%
- \let\@Alph\russian@Alph%
+ \let\@alph\russian@alph%
+ \let\@Alph\russian@Alph%
\fi
}
@@ -11611,6 +14912,7 @@ and may look very wrong.}
\ProvidesFile{gloss-sami.ldf}[polyglossia: module for sami]
\PolyglossiaSetup{sami}{
+ bcp47=se,
babelname=samin,
hyphennames={samin},
hyphenmins={2,2},
@@ -11619,6 +14921,9 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{sami}{se}
+
% Babel and backwards compat. alias
\setlanguagealias{sami}{samin}
%\setlanguagealias[variant=northern]{sami}{samin}
@@ -11642,7 +14947,7 @@ and may look very wrong.}
%\def\sami@language{%
-% \polyglossia@setup@language@patterns{\sami@variant}
+% \polyglossia@setup@language@patterns{\sami@variant}%
%}%
\def\captionssami@northern{%
@@ -11731,6 +15036,7 @@ and may look very wrong.}
\RequirePackage{devanagaridigits}
\PolyglossiaSetup{sanskrit}{
+ bcp47=sa-Deva,
langtag=SAN,
hyphennames={sanskrit,prakrit},
hyphenmins={1,3},
@@ -11739,6 +15045,16 @@ and may look very wrong.}
localnumeral=sanskritnumerals
}
+% BCP-47 compliant aliases
+\setlanguagealias*{sanskrit}{sa}
+\setlanguagealias*[script=Devanagari]{sanskrit}{sa-Deva}
+\setlanguagealias*[script=Malayalam]{sanskrit}{sa-Mlym}
+\setlanguagealias*[script=Telugu]{sanskrit}{sa-Telu}
+\setlanguagealias*[script=Bengali]{sanskrit}{sa-Beng}
+\setlanguagealias*[script=Kannada]{sanskrit}{sa-Knda}
+\setlanguagealias*[script=Gujarati]{sanskrit}{sa-Gujr}
+\setlanguagealias*[script=Latin]{sanskrit}{sa-Latn}
+
\define@key{sanskrit}{Script}[Devanagari]{%
\ifcsdef{fontsetup@sanskrit@#1}%
{\csname fontsetup@sanskrit@#1\endcsname}%
@@ -11749,29 +15065,27 @@ and may look very wrong.}
\define@key{sanskrit}{script}[Devanagari]{\setkeys{sanskrit}{Script=#1}}
\def\fontsetup@sanskrit@Devanagari{%
- \SetLanguageKeys{sanskrit}{scripttag=deva,script=Devanagari}
+ \SetLanguageKeys{sanskrit}{scripttag=deva,script=Devanagari,bcp47=sa-Deva}
\xpg@fontsetup@nonlatin{sanskrit}}
\def\fontsetup@sanskrit@Gujarati{%
- \SetLanguageKeys{sanskrit}{scripttag=gujr,script=Gujarati}
+ \SetLanguageKeys{sanskrit}{scripttag=gujr,script=Gujarati,bcp47=sa-Gujr}
\xpg@fontsetup@nonlatin{sanskrit}}
\def\fontsetup@sanskrit@Malayalam{%
- \SetLanguageKeys{sanskrit}{scripttag=mlym,script=Malayalam}
+ \SetLanguageKeys{sanskrit}{scripttag=mlym,script=Malayalam,bcp47=sa-Mlym}
\xpg@fontsetup@nonlatin{sanskrit}}
\def\fontsetup@sanskrit@Bengali{%
- \SetLanguageKeys{sanskrit}{scripttag=beng,script=Bengali}
+ \SetLanguageKeys{sanskrit}{scripttag=beng,script=Bengali,bcp47=sa-Beng}
\xpg@fontsetup@nonlatin{sanskrit}}
\def\fontsetup@sanskrit@Kannada{%
- \SetLanguageKeys{sanskrit}{scripttag=knda,script=Kannada}
+ \SetLanguageKeys{sanskrit}{scripttag=knda,script=Kannada,bcp47=sa-Knda}
\xpg@fontsetup@nonlatin{sanskrit}}
\def\fontsetup@sanskrit@Telugu{%
- \SetLanguageKeys{sanskrit}{scripttag=telu,script=Telugu}
+ \SetLanguageKeys{sanskrit}{scripttag=telu,script=Telugu,bcp47=sa-Relu}
\xpg@fontsetup@nonlatin{sanskrit}}
\def\fontsetup@sanskrit@Latin{%
- \SetLanguageKeys{sanskrit}{scripttag=latn,script=Latin}
+ \SetLanguageKeys{sanskrit}{scripttag=latn,script=Latin,bcp47=sa-Latn}
\xpg@fontsetup@latin{sanskrit}}
-\setkeys{sanskrit}{Script} %sets the default for Devanagari
-
\newif\ifsanskrit@devanagari@numerals
\sanskrit@devanagari@numeralstrue
@@ -11787,6 +15101,10 @@ and may look very wrong.}
}{\xpg@warning{Unknown Sanskrit numeral `#1'}}
+% Register default options
+\xpg@initialize@gloss@options{sanskrit}{script=Devanagari,numerals=Devanagari}
+
+
\newcommand{\sanskritnumerals}[2]{\sanskritnumber{#2}}
\def\sanskritnumber#1{%
@@ -11800,7 +15118,8 @@ and may look very wrong.}
\ifluatex
\directlua{require('polyglossia-sanskrit')}%
\else
- \newXeTeXintercharclass\sanskrit@punctthin % ! ? ‼ ⁇ ⁈ ⁉ : ; danda double_danda
+ \newXeTeXintercharclass\sanskrit@questionexclamation % ! ? ‼ ⁇ ⁈ ⁉ ‽
+ \newXeTeXintercharclass\sanskrit@punctthin % : ; danda double_danda
\fi
\def\sanskrit@punctthinspace{{\unskip\thinspace}}
@@ -11810,17 +15129,20 @@ and may look very wrong.}
\directlua{polyglossia.activate_sanskrit_punct()}%
\else
\XeTeXinterchartokenstate=1%
- \XeTeXcharclass `\! \sanskrit@punctthin
- \XeTeXcharclass `\? \sanskrit@punctthin
- \XeTeXcharclass `\‼ \sanskrit@punctthin
- \XeTeXcharclass `\⁇ \sanskrit@punctthin
- \XeTeXcharclass `\⁈ \sanskrit@punctthin
- \XeTeXcharclass `\⁉ \sanskrit@punctthin
+ \XeTeXcharclass `\! \sanskrit@questionexclamation
+ \XeTeXcharclass `\? \sanskrit@questionexclamation
+ \XeTeXcharclass `\‼ \sanskrit@questionexclamation
+ \XeTeXcharclass `\⁇ \sanskrit@questionexclamation
+ \XeTeXcharclass `\⁈ \sanskrit@questionexclamation
+ \XeTeXcharclass `\⁉ \sanskrit@questionexclamation
+ \XeTeXcharclass `\‽ \sanskrit@questionexclamation % interrobang, U+203D
\XeTeXcharclass `\: \sanskrit@punctthin
\XeTeXcharclass `\; \sanskrit@punctthin
\XeTeXcharclass `\। \sanskrit@punctthin % danda, U+0964
\XeTeXcharclass `\॥ \sanskrit@punctthin % double danda, U+0965
+ \XeTeXinterchartoks \z@ \sanskrit@questionexclamation = \sanskrit@punctthinspace
\XeTeXinterchartoks \z@ \sanskrit@punctthin = \sanskrit@punctthinspace
+ \XeTeXinterchartoks \sanskrit@questionexclamation \sanskrit@punctthin = \sanskrit@punctthinspace
\fi
}
@@ -11834,6 +15156,7 @@ and may look very wrong.}
\XeTeXcharclass `\⁇ \z@
\XeTeXcharclass `\⁈ \z@
\XeTeXcharclass `\⁉ \z@
+ \XeTeXcharclass `\‽ \z@
\XeTeXcharclass `\: \z@
\XeTeXcharclass `\; \z@
\XeTeXcharclass `\। \z@
@@ -11884,6 +15207,7 @@ and may look very wrong.}
\RequirePackage{xpg-cyrillicnumbers}
\PolyglossiaSetup{serbian}{
+ bcp47=sr-Latn,
langtag=SRB,
hyphennames={serbian},
hyphenmins={2,2},
@@ -11894,6 +15218,11 @@ and may look very wrong.}
%TODO localalph
}
+% BCP-47 compliant aliases
+\setlanguagealias*{serbian}{sr}
+\setlanguagealias*[script=Cyrillic]{serbian}{sr-Cyrl}
+\setlanguagealias*[script=Latin]{serbian}{sr-Latn}
+
% Babel aliases
\setlanguagealias[script=Cyrillic]{serbian}{serbianc}
@@ -11902,12 +15231,12 @@ and may look very wrong.}
\ifcase\nr\relax
% cyrillic:
\@serbian@cyrtrue
- \SetLanguageKeys{serbian}{scripttag=cyrl,script=Cyrillic,babelname=serbianc}
+ \SetLanguageKeys{serbian}{scripttag=cyrl,script=Cyrillic,babelname=serbianc,bcp47=sr-Cyrl}
\xpg@fontsetup@nonlatin{serbian}%
\or
% latin:
\@serbian@cyrfalse
- \SetLanguageKeys{serbian}{scripttag=latn,script=Latin}
+ \SetLanguageKeys{serbian}{scripttag=latn,script=Latin,bcp47=sr-Latn}
\xpg@fontsetup@latin{serbian}%
%TODO \def\serbian@language{\language=\l@serbianlat}%
% or should we use Croatian patterns as a fallback for the time being???
@@ -11917,17 +15246,34 @@ and may look very wrong.}
\define@key{serbian}{script}[Cyrillic]{\setkeys{serbian}{Script=#1}}
-\newif\ifserbian@numerals
-\define@key{serbian}{numerals}[arabic]{%
- \ifstrequal{#1}{latin}{\serbian@numeralsfalse}{%
- \ifstrequal{#1}{cyrillic}%
- {\serbian@numeralstrue}
- {\serbian@numeralsfalse}%
- }%
-}
+\newif\ifcyrillic@numerals
+\newif\ifcyrillic@asbuk@numerals
+\define@choicekey*+{serbian}{numerals}[\val\nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
+ \ifcase\nr\relax
+ % arabic:
+ \cyrillic@numeralsfalse%
+ \cyrillic@asbuk@numeralsfalse%
+ \or
+ % cyrillic:
+ \cyrillic@numeralstrue%
+ \cyrillic@asbuk@numeralsfalse%
+ \or
+ % cyrillic-trad:
+ \cyrillic@numeralstrue%
+ \cyrillic@asbuk@numeralsfalse%
+ \or
+ % cyrillic-alph:
+ \cyrillic@numeralstrue%
+ \cyrillic@asbuk@numeralstrue%
+ \fi
+ \xpg@info{Option: Serbian, numerals=\val}%
+}{\xpg@warning{Unknown Serbian numerals value `#1'}}
\setkeys{serbian}{Script,numerals}
+% Register default options
+\xpg@initialize@gloss@options{serbian}{script=Cyrillic,numerals=arabic}
+
\def\captionsserbian{%
\if@serbian@cyr\captionsserbian@cyr\else\captionsserbian@lat\fi
}
@@ -12012,19 +15358,27 @@ and may look very wrong.}
\newcommand{\Serbiannumerals}[2]{\Serbiannumber{#2}}
\def\serbiannumber#1{%
- \ifserbian@numerals
- \cyr@alph{#1}%
+ \ifcyrillic@numerals
+ \ifcyrillic@asbuk@numerals
+ \serbian@asbuk@alph{#1}%
+ \else
+ \cyr@alph{#1}%
+ \fi
\else
\number#1%
- \fi
+ \fi%
}
\def\Serbiannumber#1{%
- \ifserbian@numerals
- \cyr@Alph{#1}%
+ \ifcyrillic@numerals
+ \ifcyrillic@asbuk@numerals
+ \serbian@asbuk@Alph{#1}%
+ \else
+ \cyr@Alph{#1}%
+ \fi
\else
\number#1%
- \fi
+ \fi%
}
\let\serbiannumeral=\serbiannumber
@@ -12054,24 +15408,29 @@ and may look very wrong.}
\ifserbian@numerals\noserbian@numbers\fi
}
-\def\Asbuk#1{\expandafter\cyr@Alph\csname c@#1\endcsname}
+\def\Asbuk#1{\expandafter\serbian@asbuk@Alph\csname c@#1\endcsname}
+\def\asbuk#1{\expandafter\serbian@asbuk@alph\csname c@#1\endcsname}
-\def\asbuk#1{\expandafter\cyr@alph\csname c@#1\endcsname}
+\def\AsbukTrad#1{\expandafter\cyr@Alph\csname c@#1\endcsname}
+\def\asbukTrad#1{\expandafter\cyr@alph\csname c@#1\endcsname}
% This is a poor man's cyrillic alphanumeric. It just uses the alphabet and
-% thus ends at 30. We now use proper cyrillic numbering.
-
-%\def\cyr@Alph#1{\ifcase#1\or
-% А\or Б\or В\or Г\or Д\or Ђ\or Е\or Ж\or
-% З\or И\or Ј\or К\or Л\or Љ\or М\or Н\or
-% Њ\or О\or П\or Р\or С\or Т\or Ћ\or У\or
-% Ф\or Х\or Ц\or Ч\or Џ\or Ш\else\xpg@ill@value{#1}{cyr@Alph}\fi}
+% thus ends at 30.
+\def\serbian@asbuk@Alph#1{\ifcase#1\or
+ А\or Б\or В\or Г\or Д\or Е\or Ж\or
+ З\or И\or К\or Л\or М\or Н\or О\or
+ П\or Р\or С\or Т\or У\or Ф\or Х\or
+ Ц\or Ч\or Ш\or Щ\or Э\or Ю\or Я%
+ \else\xpg@ill@value{#1}{serbian@asbuk@Alph}\fi%
+}
-%\def\cyr@alph#1{\ifcase#1\or
-% а\or б\or в\or г\or д\or ђ\or е\or ж\or
-% з\or и\or ј\or к\or л\or љ\or м\or н\or
-% њ\or о\or п\or р\or с\or т\or ћ\or у\or
-% ф\or х\or ц\or ч\or џ\or ш\else\xpg@ill@value{#1}{cyr@alph}\fi}
+\def\serbian@asbuk@alph#1{\ifcase#1\or
+ а\or б\or в\or г\or д\or е\or ж\or
+ з\or и\or к\or л\or м\or н\or о\or
+ п\or р\or с\or т\or у\or ф\or х\or
+ ц\or ч\or ш\or щ\or э\or ю\or я%
+ \else\xpg@ill@value{#1}{serbian@asbuk@alph}\fi%
+}
% \end{macrocode}
@@ -12101,12 +15460,16 @@ and may look very wrong.}
\ProvidesFile{gloss-slovak.ldf}[polyglossia: module for slovak]
\PolyglossiaSetup{slovak}{
+ bcp47=sk,
hyphennames={slovak},
hyphenmins={2,2},
langtag=SKY,
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{slovak}{sk}
+
\ifluatex
\RequirePackage{luavlna}
\fi
@@ -12117,7 +15480,8 @@ and may look very wrong.}
\define@boolkey{slovak}[slovak@]{vlna}[true]{}
-\setkeys{slovak}{splithyphens,vlna}
+% Register default options
+\xpg@initialize@gloss@options{slovak}{babelshorthands=false,splithyphens=true,vlna=true}
\ifsystem@babelshorthands
\setkeys{slovak}{babelshorthands=true}
@@ -12132,8 +15496,12 @@ and may look very wrong.}
}{}
\def\slovak@@splhyphen#1{%
- \kern\z@\discretionary{-}{\char\hyphenchar\the\font}{#1}%
- \nobreak\hskip\z@%
+ \ifnum\hyphenchar \font>0%
+ \kern\z@\discretionary{-}{\char\hyphenchar\the\font}{#1}%
+ \nobreak\hskip\z@%
+ \else%
+ #1%
+ \fi%
}
\def\slovak@splhyphen{%
@@ -12320,13 +15688,13 @@ and may look very wrong.}
\def\blockextras@slovak{%
\ifslovak@babelshorthands\slovak@shorthands\fi%
\ifslovak@vlna\slovak@vlna\else\noslovak@vlna\fi%
- \ifslovak@splithyphens\slovak@hyphens\else\noslovak@hyhens\fi%
+ \ifslovak@splithyphens\slovak@hyphens\else\noslovak@hyphens\fi%
}
\def\inlineextras@slovak{%
\ifslovak@babelshorthands\slovak@shorthands\fi%
\ifslovak@vlna\slovak@vlna\else\noslovak@vlna\fi%
- \ifslovak@splithyphens\slovak@hyphens\else\noslovak@hyhens\fi%
+ \ifslovak@splithyphens\slovak@hyphens\else\noslovak@hyphens\fi%
}
% \end{macrocode}
@@ -12356,6 +15724,7 @@ and may look very wrong.}
\ProvidesFile{gloss-slovenian.ldf}[polyglossia: module for slovenian]
\PolyglossiaSetup{slovenian}{
+ bcp47=sl,
hyphennames={slovenian,slovene},
babelname=slovene,
hyphenmins={2,2},
@@ -12363,18 +15732,16 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{slovenian}{sl}
+
% Babel aliases
\setlanguagealias{slovenian}{slovene}
-\providebool{slovenian@localalph}
-\define@boolkey{slovenian}[slovenian@]{localalph}[false]{%
- \def\@tmpa{#1}%
- \def\@tmptrue{true}%
- \ifx\@tmpa\@tmptrue
- \slovenian@localalphtrue
- \fi
- \setlocalalph
-}
+\define@boolkey{slovenian}[slovenian@]{localalph}[true]{}
+
+% Register default options
+\xpg@initialize@gloss@options{slovenian}{localalph=false}
\def\captionsslovenian{%
@@ -12400,14 +15767,14 @@ and may look very wrong.}
\def\headtoname{Prejme}%
\def\proofname{Dokaz}%
\def\glossaryname{Slovar}%
- }
+}
\def\dateslovenian{%
\def\today{\number\day.~\ifcase\month\or
januar\or februar\or marec\or april\or maj\or junij\or
julij\or avgust\or september\or oktober\or november\or december\fi
\space \number\year}%
- }
+}
\def\slovenian@alph#1{%
\ifcase#1\or a\or b\or c\or č\or d\or e\or f\or g\or h\or i\or j\or k\or l\or
@@ -12415,17 +15782,22 @@ and may look very wrong.}
}
\def\slovenian@Alph#1{%
\ifcase#1\or A\or B\or C\or Č\or D\or E\or F\or G\or H\or I\or J\or K\or L\or
- M\or N\or O\or P\or R\or S\or Š\or T\or U\or V\or Z\or Ž\else#1\fi}
+ M\or N\or O\or P\or R\or S\or Š\or T\or U\or V\or Z\or Ž\else#1\fi
+}
+
\def\abeceda#1{\expandafter\slovenian@alph\csname c@#1\endcsname}
\def\Abeceda#1{\expandafter\slovenian@Alph\csname c@#1\endcsname}
-\def\setlocalalph{%
- \def\extras@slovenian{\let\alph\abeceda\let\Alph\Abeceda}
- \def\blockextras@slovenian{\extras@slovenian}
- \def\inlineextras@slovenian{\extras@slovenian}
- \def\noextras@slovenian{\let\alph\latinalph\let\Alph\latinAlph}
+\def\extras@slovenian{%
+ \ifslovenian@localalph\let\alph\abeceda\let\Alph\Abeceda\fi%
}
+\def\blockextras@slovenian{\extras@slovenian}
+
+\def\inlineextras@slovenian{\extras@slovenian}
+
+\def\noextras@slovenian{\let\alph\latinalph\let\Alph\latinAlph}
+
% \end{macrocode}
% \iffalse
%</gloss-slovenian.ldf>
@@ -12438,6 +15810,7 @@ and may look very wrong.}
\ProvidesFile{gloss-sorbian.ldf}[polyglossia: module for sorbian]
\PolyglossiaSetup{sorbian}{
+ bcp47=hsb,
language=Upper Sorbian,
babelname=uppersorbian,
hyphennames={usorbian,uppersorbian},
@@ -12446,6 +15819,9 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*[variant=upper]{sorbian}{hsb}
+\setlanguagealias*[variant=lower]{sorbian}{dsb}
% Backwards compat. aliases
\setlanguagealias[variant=lower]{sorbian}{lsorbian}
\setlanguagealias[variant=upper]{sorbian}{usorbian}
@@ -12459,7 +15835,7 @@ and may look very wrong.}
\ifcase\nr\relax
% upper:
\def\sorbian@variant{usorbian}%
- \SetLanguageKeys{sorbian}{language=Upper Sorbian,langtag=USB,babelname=uppersorbian}%
+ \SetLanguageKeys{sorbian}{language=Upper Sorbian,langtag=USB,babelname=uppersorbian,bcp47=hsb}%
\xpg@fontsetup@latin{sorbian}%
% Check if \l@usorbian is defined. If not, try to set it to some variety
% (specific order as in the csv list below), or null language if everything fails
@@ -12479,7 +15855,7 @@ and may look very wrong.}
\or
% lower:
\def\sorbian@variant{lsorbian}%
- \SetLanguageKeys{sorbian}{language=Lower Sorbian,langtag=LSB,babelname=lowersorbian}%
+ \SetLanguageKeys{sorbian}{language=Lower Sorbian,langtag=LSB,babelname=lowersorbian,bcp47=dsb}%
\xpg@fontsetup@latin{sorbian}%
% Check if \l@lsorbian is defined. If not, try to set it to some variety
% (specific order as in the csv list below), or null language if everything fails
@@ -12503,7 +15879,8 @@ and may look very wrong.}
\define@boolkey{sorbian}[sorbian@]{olddate}[true]{}
-\setkeys{sorbian}{variant}
+% Register default options
+\xpg@initialize@gloss@options{sorbian}{variant=upper,olddate=false}
\def\sorbian@language{%
@@ -12620,8 +15997,10 @@ and may look very wrong.}
\ProvidesFile{gloss-spanish.ldf}[polyglossia: module for spanish]
\PolyglossiaSetup{spanish}{
+ bcp47=es-ES,
hyphennames={spanish},
hyphenmins={2,2},
+ totalhyphenmin=5,
langtag=ESP,
frenchspacing=true,
indentfirst=true,
@@ -12629,6 +16008,11 @@ and may look very wrong.}
babelname=spanish
}
+% BCP-47 compliant aliases
+\setlanguagealias*{spanish}{es}
+\setlanguagealias*[variant=mexican]{spanish}{es-MX}
+\setlanguagealias*[variant=spanish]{spanish}{es-ES}
+
% Babel aliases
\setlanguagealias[variant=mexican]{spanish}{spanishmx}
@@ -12638,11 +16022,11 @@ and may look very wrong.}
\ifcase\nr\relax
% spanish:
\@spanish@mexicofalse%
- \SetLanguageKeys{spanish}{babelname=spanish}%
+ \SetLanguageKeys{spanish}{babelname=spanish,bcp47=es-ES}%
\or
% mexican:
\@spanish@mexicotrue%
- \SetLanguageKeys{spanish}{babelname=spanishmx}%
+ \SetLanguageKeys{spanish}{babelname=spanishmx,bcp47=es-MX}%
\fi
\xpg@info{Option: spanish, variant=\val}%
}{\xpg@warning{Unknown spanish variant `#1'}}
@@ -12677,6 +16061,10 @@ and may look very wrong.}
\xpg@info{Option: Spanish, spanishoperators=\val}%
}{\xpg@warning{Unknown spanishoperators value `#1'}}
+
+% Register default options
+\xpg@initialize@gloss@options{spanish}{variant=spanish,spanishoperators=none}
+
\let\xpg@save@lim\lim
\let\xpg@save@limsup\limsup
\let\xpg@save@liminf\liminf
@@ -12857,6 +16245,7 @@ and may look very wrong.}
\ProvidesFile{gloss-swedish.ldf}[polyglossia: module for swedish]
\PolyglossiaSetup{swedish}{
+ bcp47=sv,
hyphennames={swedish},
hyphenmins={2,2},
langtag=SVE,
@@ -12864,6 +16253,9 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{swedish}{sv}
+
\def\captionsswedish{%
\def\refname{Referenser}%
\def\abstractname{Sammanfattning}%
@@ -12937,6 +16329,7 @@ and may look very wrong.}
\RequirePackage{arabicnumbers}
\PolyglossiaSetup{syriac}{
+ bcp47=syr,
script=Syriac,
scripttag=syrc,
langtag=SYR,
@@ -12947,6 +16340,9 @@ and may look very wrong.}
%TODO localalph
}
+% BCP-47 compliant aliases
+\setlanguagealias*{syriac}{syr}
+
\def\syriacnumber#1{\@syriacnumber{#1}}%
\newif\if@eastern@numerals
@@ -12964,7 +16360,8 @@ and may look very wrong.}
\fi
\fi}
-\setkeys{syriac}{numerals}
+% Register default options
+\xpg@initialize@gloss@options{syriac}{numerals=western}
%\define@key{polyglossia}{syriaclocale}[default]{%
% \def\@syriac@locale{#1}}
@@ -13048,33 +16445,22 @@ and may look very wrong.}
%%% we test for the presence of one of ١٢٣٤٥٦٧٨٩٠ in the Syriac font,
%%% else we try \arabicfont if defined (and give a warning),
%%% else we fall back to the Western numerals.
- \ifxetex
- \ifnum\XeTeXcharglyph"0661 > 0%
- %%\protect\addfontfeature{Mapping=arabicdigits}\number#1}%
- \protect\arabicdigits{\number#1}%
- \else%
+ \xpg@if@char@available{0661}%
+ {\protect\arabicdigits{\number#1}}%
+ {\arabicdigits{\number#1}
\ifcsdef{arabicfont}%
{\protect\arabicdigits{\number#1}%
- \xpg@warning{You have specified the option numerals=eastern for Syriac, but the Syriac font does not contain the appropriate glyphs: I am using \string\arabicfont instead}}%
+ \xpg@warning{You have specified the option numerals=eastern for Syriac, but the Syriac font does not contain the appropriate glyphs:
+ I am using \string\arabicfont instead}}%
{\number#1%%% <---changed from \RL{\protect\reset@font\protect\number#1}%
- \xpg@warning{You have specified the option numerals=eastern for Syriac, but the Syriac font does not contain the appropriate glyphs: since \string\arabicfont is not defined, we'll use Western numerals instead}}%
- \fi
- \else% LuaTeX
- \expandafter\ifnum\directlua{polyglossia.check_char(0x661)} > 0\relax
- %%\protect\addfontfeature{Mapping=arabicdigits}\number#1}%
- \protect\arabicdigits{\number#1}%
- \else%
- \ifcsdef{arabicfont}%
- {\protect\arabicdigits{\number#1}%
- \xpg@warning{You have specified the option numerals=eastern for Syriac, but the Syriac font does not contain the appropriate glyphs: I am using \string\arabicfont instead}}%
- {\number#1%%% <---changed from \RL{\protect\reset@font\protect\number#1}%
- \xpg@warning{You have specified the option numerals=eastern for Syriac, but the Syriac font does not contain the appropriate glyphs: since \string\arabicfont is not defined, we'll use Western numerals instead}}%
- \fi
- \fi
+ \xpg@warning{You have specified the option numerals=eastern for Syriac, but the Syriac font does not contain the appropriate glyphs:
+ since \string\arabicfont is not defined, we'll use Western numerals instead}}%
+ }%
\else
%%\RL{\protect\reset@font\number#1}%
\number#1%
- \fi}
+ \fi%
+}
\def\syriac@numbers{%
\let\@alph\abjadsyriac%
@@ -13131,6 +16517,7 @@ and may look very wrong.}
% Translations provided by Kevin & Siji, 01-11-2009
\PolyglossiaSetup{tamil}{
+ bcp47=ta,
script=Tamil,
scripttag=taml,
langtag=TAM,
@@ -13139,6 +16526,9 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{tamil}{ta}
+
\def\captionstamil{%
\def\abstractname{சாராம்சம்}%
\def\appendixname{பிற்சேர்க்கை}%பின்னிணைப்பு
@@ -13198,6 +16588,7 @@ and may look very wrong.}
% Translations provided by Anmol Sharma <unmole.in@gmail.com>
\PolyglossiaSetup{telugu}{
+ bcp47=te,
script=Telugu,
scripttag=telu,
langtag=TEL,
@@ -13206,6 +16597,9 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{telugu}{te}
+
\def\captionstelugu{%
\def\refname{ఆధారాలు}%
\def\abstractname{సారాంశం}%
@@ -13275,6 +16669,7 @@ the output is not guaranteed to be correct\MessageBreak
and may look very wrong.}
\fi
\PolyglossiaSetup{thai}{
+ bcp47=th,
script=Thai,
scripttag=thai,
langtag=THA,
@@ -13285,6 +16680,9 @@ and may look very wrong.}
%TODO localdigits=thainumber
}
+% BCP-47 compliant aliases
+\setlanguagealias*{thai}{th}
+
\newif\if@thai@numerals
\def\tmp@thai{thai}
\define@key{thai}{numerals}[arabic]{%
@@ -13293,7 +16691,8 @@ and may look very wrong.}
\@thai@numeralsfalse\fi
}
-\setkeys{thai}{numerals}
+% Register default options
+\xpg@initialize@gloss@options{thai}{numerals=arabic}
\def\captionsthai{%
\def\refname{หนังสืออ้างอิง}%
@@ -13416,6 +16815,7 @@ and may look very wrong.}
%%
\PolyglossiaSetup{tibetan}{
+ bcp47=bo,
script=Tibetan,
scripttag=tibt,
langtag=TIB,
@@ -13425,6 +16825,9 @@ and may look very wrong.}
%TODO localalph={xxx@alph,xxx@Alph}
}
+% BCP-47 compliant aliases
+\setlanguagealias*{tibetan}{bo}
+
\newif\if@tibetan@numerals
\def\tmp@tibetan{tibetan}
\define@key{tibetan}{numerals}[tibetan]{%
@@ -13458,7 +16861,8 @@ and may look very wrong.}
\fi %
}
-\setkeys{tibetan}{numerals}
+% Register default options
+\xpg@initialize@gloss@options{tibetan}{numerals=tibetan}
% some are known, but very few
% a few come from "Standardizing Tibetan Terms of Information Technology"
@@ -13590,6 +16994,7 @@ and may look very wrong.}
\ProvidesFile{gloss-turkish.ldf}[polyglossia: module for turkish]
\RequirePackage{hijrical}
\PolyglossiaSetup{turkish}{
+ bcp47=tr,
hyphennames={turkish},
hyphenmins={2,2},
langtag=TRK,
@@ -13617,6 +17022,9 @@ and may look very wrong.}
\fi
}
+% BCP-47 compliant aliases
+\setlanguagealias*{turkish}{tr}
+
\def\noturkish@punctuation{%
\ifxetex
\XeTeXcharclass `\! \z@
@@ -13700,6 +17108,7 @@ and may look very wrong.}
\ProvidesFile{gloss-turkmen.ldf}[polyglossia: module for turkmen]
%% Translations provided by Nazar Annagurban <nazartm at gmail dot com>
\PolyglossiaSetup{turkmen}{
+ bcp47=tk,
hyphennames={turkmen},
hyphenmins={2,2},
langtag=TKM,
@@ -13707,6 +17116,9 @@ and may look very wrong.}
fontsetup=true
}
+% BCP-47 compliant aliases
+\setlanguagealias*{turkmen}{tk}
+
\def\captionsturkmen{%
\def\prefacename{Sözbaşy}%
\def\refname{Çeşmeler}%
@@ -13751,32 +17163,57 @@ and may look very wrong.}
% Strings taken from Babel
% and revised by Roman Kyrylych
-\PolyglossiaSetup{ukrainian}{
+\RequirePackage{xpg-cyrillicnumbers}
+
+\PolyglossiaSetup{ukrainian}{%
+ bcp47=uk,
script=Cyrillic,
scripttag=cyrl,
langtag=UKR,
hyphennames={ukrainian},
hyphenmins={2,2},
frenchspacing=true,
- fontsetup=true
- %TODO localalph
+ fontsetup=true,
+ localnumeral=ukrainiannumerals,
+ Localnumeral=Ukrainiannumerals
}
+% BCP-47 compliant aliases
+\setlanguagealias*{ukrainian}{uk}
+
\newif\ifcyrillic@numerals
-\define@key{ukrainian}{numerals}[latin]{%
-\ifstrequal{#1}{cyrillic}%
-{\cyrillic@numeralstrue}
-{\cyrillic@numeralsfalse}%
-}
+\newif\ifcyrillic@asbuk@numerals
+\define@choicekey*+{ukrainian}{numerals}[\val\nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
+ \ifcase\nr\relax
+ % arabic:
+ \cyrillic@numeralsfalse%
+ \cyrillic@asbuk@numeralsfalse%
+ \or
+ % cyrillic:
+ \cyrillic@numeralstrue%
+ \cyrillic@asbuk@numeralsfalse%
+ \or
+ % cyrillic-trad:
+ \cyrillic@numeralstrue%
+ \cyrillic@asbuk@numeralsfalse%
+ \or
+ % cyrillic-alph:
+ \cyrillic@numeralstrue%
+ \cyrillic@asbuk@numeralstrue%
+ \fi
+ \xpg@info{Option: Ukrainian, numerals=\val}%
+}{\xpg@warning{Unknown Ukrainian numerals value `#1'}}
-\define@boolkey{ukrainian}[ukrainian@]{babelshorthands}[false]{}
-\setkeys{ukrainian}{numerals}
+% Register default options
+\xpg@initialize@gloss@options{ukrainian}{numerals=arabic}
+
+\define@boolkey{ukrainian}[ukrainian@]{babelshorthands}[true]{}
\ifsystem@babelshorthands
-\setkeys{ukrainian}{babelshorthands=true}
+ \setkeys{ukrainian}{babelshorthands=true}
\else
-\setkeys{ukrainian}{babelshorthands=false}
+ \setkeys{ukrainian}{babelshorthands=false}
\fi
\ifcsundef{initiate@active@char}{%
@@ -13786,45 +17223,47 @@ and may look very wrong.}
}{}
\def\ukrainian@shorthands{%
-\bbl@activate{"}%
-\def\language@group{ukrainian}%
+ \bbl@activate{"}%
+ \def\language@group{ukrainian}%
% \declare@shorthand{ukrainian}{"`}{„}%
% \declare@shorthand{ukrainian}{"'}{“}%
% \declare@shorthand{ukrainian}{"<}{«}%
% \declare@shorthand{ukrainian}{">}{»}%
-\declare@shorthand{ukrainian}{""}{\hskip\z@skip}%
-\declare@shorthand{ukrainian}{"~}{\textormath{\leavevmode\hbox{-}}{-}}%
-\declare@shorthand{ukrainian}{"=}{\nobreak-\hskip\z@skip}%
-\declare@shorthand{ukrainian}{"|}{\textormath{\nobreak\discretionary{-}{}{\kern.03em}\allowhyphens}{}}%
-\declare@shorthand{ukrainian}{"-}{%
-\def\ukrainian@sh@tmp{%
-\if\ukrainian@sh@next-\expandafter\ukrainian@sh@emdash
-\else\expandafter\ukrainian@sh@hyphen\fi
-}%
-\futurelet\ukrainian@sh@next\ukrainian@sh@tmp}%
-\def\ukrainian@sh@hyphen{%
-\nobreak\-\bbl@allowhyphens}%
-\def\ukrainian@sh@emdash##1##2{\cdash-##1##2}%
-\def\cdash##1##2##3{\def\tempx@{##3}%
-\def\tempa@{-}\def\tempb@{~}\def\tempc@{*}%
-\ifx\tempx@\tempa@\@Acdash\else
-\ifx\tempx@\tempb@\@Bcdash\else
-\ifx\tempx@\tempc@\@Ccdash\else
-\errmessage{Wrong usage of cdash}\fi\fi\fi}%
-\def\@Acdash{\ifdim\lastskip>\z@\unskip\nobreak\hskip.2em\fi
-\cyrdash\hskip.2em\ignorespaces}%
-\def\@Bcdash{\leavevmode\ifdim\lastskip>\z@\unskip\fi
-\nobreak\cyrdash\penalty\exhyphenpenalty\hskip\z@skip\ignorespaces}%
-\def\@Ccdash{\leavevmode
-\nobreak\cyrdash\nobreak\hskip.35em\ignorespaces}%
-\ifx\cyrdash\undefined
-\def\cyrdash{\hbox to.8em{--\hss--}}
-\fi
-\declare@shorthand{ukrainian}{",}{\nobreak\hskip.2em\ignorespaces}%
+ \declare@shorthand{ukrainian}{""}{\hskip\z@skip}%
+ \declare@shorthand{ukrainian}{"~}{\textormath{\leavevmode\hbox{-}}{-}}%
+ \declare@shorthand{ukrainian}{"=}{\nobreak-\hskip\z@skip}%
+ \declare@shorthand{ukrainian}{"|}{\textormath{\nobreak\discretionary{-}{}{\kern.03em}\allowhyphens}{}}%
+ \declare@shorthand{ukrainian}{"-}{%
+ \def\ukrainian@sh@tmp{%
+ \if\ukrainian@sh@next-\expandafter\ukrainian@sh@emdash
+ \else\expandafter\ukrainian@sh@hyphen\fi
+ }%
+ \futurelet\ukrainian@sh@next\ukrainian@sh@tmp}%
+ \def\ukrainian@sh@hyphen{%
+ \nobreak\-\bbl@allowhyphens}%
+ \def\ukrainian@sh@emdash##1##2{\cdash-##1##2}%
+ \def\cdash##1##2##3{%
+ \def\tempx@{##3}%
+ \def\tempa@{-}\def\tempb@{~}\def\tempc@{*}%
+ \ifx\tempx@\tempa@\@Acdash\else
+ \ifx\tempx@\tempb@\@Bcdash\else
+ \ifx\tempx@\tempc@\@Ccdash\else
+ \errmessage{Wrong usage of cdash}\fi\fi\fi%
+ }%
+ \def\@Acdash{\ifdim\lastskip>\z@\unskip\nobreak\hskip.2em\fi
+ \cyrdash\hskip.2em\ignorespaces}%
+ \def\@Bcdash{\leavevmode\ifdim\lastskip>\z@\unskip\fi
+ \nobreak\cyrdash\penalty\exhyphenpenalty\hskip\z@skip\ignorespaces}%
+ \def\@Ccdash{\leavevmode
+ \nobreak\cyrdash\nobreak\hskip.35em\ignorespaces}%
+ \ifx\cyrdash\undefined
+ \def\cyrdash{\hbox to.8em{--\hss--}}
+ \fi
+ \declare@shorthand{ukrainian}{",}{\nobreak\hskip.2em\ignorespaces}%
}
\def\noukrainian@shorthands{%
-\@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
+ \@ifundefined{initiate@active@char}{}{\bbl@deactivate{"}}%
}
\def\captionsukrainian{%
@@ -13851,7 +17290,8 @@ and may look very wrong.}
\def\headtoname{До}%
\def\proofname{Доведення}%
\def\glossaryname{Словник термінів}%
- }
+}
+
\def\dateukrainian{%
\def\today{\number\day~\ifcase\month\or
січня\or
@@ -13866,39 +17306,82 @@ and may look very wrong.}
жовтня\or
листопада\or
грудня\fi%
- \space\number\year~р.}}
+ \space\number\year~р.}%
+}
% The following is based on some ideas from ruscor.sty
\def\ukrainian@capsformat{%
-\def\@seccntformat##1{\csname pre##1\endcsname%
-\csname the##1\endcsname%
-\csname post##1\endcsname}%
-\def\@aftersepkern{\hspace{0.5em}}%
-\def\postchapter{.\@aftersepkern}%
-\def\postsection{.\@aftersepkern}%
-\def\postsubsection{.\@aftersepkern}%
-\def\postsubsubsection{.\@aftersepkern}%
-\def\postparagraph{.\@aftersepkern}%
-\def\postsubparagraph{.\@aftersepkern}%
-\def\prechapter{}%
-\def\presection{}%
-\def\presubsection{}%
-\def\presubsubsection{}%
-\def\preparagraph{}%
-\def\presubparagraph{}}
-
-\def\Asbuk#1{\expandafter\ukrainian@Alph\csname c@#1\endcsname}
-\def\ukrainian@Alph#1{\ifcase#1\or
- А\or Б\or В\or Г\or Д\or Е\or Є\or Ж\or
- З\or И\or І\or Ї\or Й\or К\or Л\or М\or Н\or О\or
+ \def\@seccntformat##1{\csname pre##1\endcsname%
+ \csname the##1\endcsname%
+ \csname post##1\endcsname}%
+ \def\@aftersepkern{\hspace{0.5em}}%
+ \def\postchapter{.\@aftersepkern}%
+ \def\postsection{.\@aftersepkern}%
+ \def\postsubsection{.\@aftersepkern}%
+ \def\postsubsubsection{.\@aftersepkern}%
+ \def\postparagraph{.\@aftersepkern}%
+ \def\postsubparagraph{.\@aftersepkern}%
+ \def\prechapter{}%
+ \def\presection{}%
+ \def\presubsection{}%
+ \def\presubsubsection{}%
+ \def\preparagraph{}%
+ \def\presubparagraph{}%
+}
+
+\newcommand{\ukrainiannumerals}[2]{\ukrainiannumber{#2}}
+\newcommand{\Ukrainiannumerals}[2]{\Ukrainiannumber{#2}}
+
+\def\ukrainiannumber#1{%
+ \ifcyrillic@numerals
+ \ifcyrillic@asbuk@numerals
+ \serbian@asbuk@alph{#1}%
+ \else
+ \cyr@alph{#1}%
+ \fi
+ \else
+ \number#1%
+ \fi%
+}
+
+\def\Ukrainiannumber#1{%
+ \ifcyrillic@numerals
+ \ifcyrillic@asbuk@numerals
+ \serbian@asbuk@Alph{#1}%
+ \else
+ \cyr@Alph{#1}%
+ \fi
+ \else
+ \number#1%
+ \fi%
+}
+
+\let\ukrainiannumeral=\ukrainiannumber
+\let\Ukrainiannumeral=\Ukrainiannumber
+
+\def\Asbuk#1{\expandafter\ukranian@asbuk@Alph\csname c@#1\endcsname}
+\def\asbuk#1{\expandafter\ukranian@asbuk@alph\csname c@#1\endcsname}
+
+\def\AsbukTrad#1{\expandafter\cyr@Alph\csname c@#1\endcsname}
+\def\asbukTrad#1{\expandafter\cyr@alph\csname c@#1\endcsname}
+
+% This is a poor man's cyrillic alphanumeric. It just uses the alphabet and
+% thus ends at 30.
+\def\ukranian@asbuk@Alph#1{\ifcase#1\or
+ А\or Б\or В\or Г\or Д\or Е\or Ж\or
+ З\or И\or К\or Л\or М\or Н\or О\or
П\or Р\or С\or Т\or У\or Ф\or Х\or
- Ц\or Ч\or Ш\or Щ\or Ю\or Я\else\xpg@ill@value{#1}{ukrainian@Alph}\fi}
-\def\asbuk#1{\expandafter\ukrainian@alph\csname c@#1\endcsname}
-\def\ukrainian@alph#1{\ifcase#1\or
- а\or б\or в\or г\or д\or е\or є\or ж\or
- з\or и\or і\or ї\or й\or к\or л\or м\or н\or о\or
+ Ц\or Ч\or Ш\or Щ\or Э\or Ю\or Я%
+ \else\xpg@ill@value{#1}{ukranian@asbuk@Alph}\fi%
+}
+
+\def\ukranian@asbuk@alph#1{\ifcase#1\or
+ а\or б\or в\or г\or д\or е\or ж\or
+ з\or и\or к\or л\or м\or н\or о\or
п\or р\or с\or т\or у\or ф\or х\or
- ц\or ч\or ш\or щ\or ю\or я\else\xpg@ill@value{#1}{ukrainian@alph}\fi}
+ ц\or ч\or ш\or щ\or э\or ю\or я%
+ \else\xpg@ill@value{#1}{ukranian@asbuk@alph}\fi%
+}
\def\ukrainian@numbers{%
\let\@Alph\ukrainian@Alph%
@@ -13911,19 +17394,19 @@ and may look very wrong.}
}
\def\noextras@ukrainian{%
-\def\@seccntformat##1{\csname the##1\endcsname\quad}% = LaTeX kernel
-\ifcyrillic@numerals\noukrainian@numbers\fi
-\noukrainian@shorthands%
+ \def\@seccntformat##1{\csname the##1\endcsname\quad}% = LaTeX kernel
+ \ifcyrillic@numerals\noukrainian@numbers\fi
+ \noukrainian@shorthands%
}
\def\blockextras@ukrainian{%
-\ukrainian@capsformat%
-\ifcyrillic@numerals\ukrainian@numbers\fi
-\ifukrainian@babelshorthands\ukrainian@shorthands\fi
+ \ukrainian@capsformat%
+ \ifcyrillic@numerals\ukrainian@numbers\fi
+ \ifukrainian@babelshorthands\ukrainian@shorthands\fi
}
\def\inlineextras@ukrainian{%
-\ifukrainian@babelshorthands\ukrainian@shorthands\fi%
+ \ifukrainian@babelshorthands\ukrainian@shorthands\fi%
}
%%% stuff from Babel
@@ -13985,6 +17468,7 @@ and may look very wrong.}
\RequirePackage{hijrical}
\PolyglossiaSetup{urdu}{
+ bcp47=ur,
script=Arabic,
direction=RL,
scripttag=arab,
@@ -13995,6 +17479,9 @@ and may look very wrong.}
%TODO localalph={abjad,abjad}
}
+% BCP-47 compliant aliases
+\setlanguagealias*{urdu}{ur}
+
\newif\if@western@numerals
\def\tmp@western{western}
\define@key{urdu}{numerals}[eastern]{%
@@ -14147,6 +17634,7 @@ and may look very wrong.}
%% Strings contributed by Daniel Owens < dhowens . pmbx . net >
\PolyglossiaSetup{vietnamese}{
+ bcp47=vi,
hyphennames={nohyphenation},
hyphenmins={2,2},
langtag=VIT,
@@ -14154,6 +17642,9 @@ and may look very wrong.}
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{vietnamese}{vi}
+
\def\captionsvietnamese{%
\def\refname{Tài liệu}%
\def\abstractname{Tóm tắt nội dung}%
@@ -14197,20 +17688,31 @@ and may look very wrong.}
\ProvidesFile{gloss-welsh.ldf}[polyglossia: module for welsh]
\PolyglossiaSetup{welsh}{
+ bcp47=cy,
hyphennames={welsh},
hyphenmins={2,3},
langtag=WEL,
fontsetup=true,
}
+% BCP-47 compliant aliases
+\setlanguagealias*{welsh}{cy}
+
\providebool{welsh@formaldate}
-% TODO (maybe) Interface to change that mid-document
-\define@key{welsh}{date}{%
- \ifstrequal{#1}{long}{%
- \welsh@formaldatetrue
- }% Anything else gives \welsh@formaldatefalse
-}
+\define@choicekey*+{welsh}{date}[\val\nr]{long,short}[short]{%
+ \ifcase\nr\relax
+ % long:
+ \welsh@formaldatetrue
+ \or
+ % accented:
+ \welsh@formaldatefalse
+ \fi
+ \xpg@info{Option: Welsh, date=\val}%
+}{\xpg@warning{Unknown date value `#1'}}
+
+% Register default options
+\xpg@initialize@gloss@options{welsh}{date=short}
\def\captionswelsh{%
\def\refname{Cyfeiriadau}%
@@ -14441,6 +17943,7 @@ local function activate_french_punct(thincolonspace, autospaceguillemets)
set_left_space(lang, '⁇', 0.5)
set_left_space(lang, '⁈', 0.5)
set_left_space(lang, '⁉', 0.5)
+ set_left_space(lang, '‽', 0.5) -- U+203D (interrobang)
if autospaceguillemets then
set_left_space(lang, '»', 0.5)
@@ -14887,14 +18390,19 @@ local function reorder_tm (head)
local curr, tone = node.slide(head)
while curr do
if curr.id == glyph_id and node.has_attribute(curr, attr_korean) then
- local c, wd = curr.char or 0, curr.width or 0
- if (c == 0x302E or c == 0x302F) and wd > 0 then
- tone = curr
- elseif tone and not nobr_before[c] then
- head = node.remove(head, tone)
- tone.next, tone.prev = nil, nil
- head, curr = node.insert_before(head, curr, tone)
+ local f = font.getfont(curr.font) or font.fonts[curr.font]
+ if f and f.hb then -- harfbuzz do the right thing
tone = nil
+ else
+ local c, wd = curr.char or 0, curr.width or 0
+ if (c == 0x302E or c == 0x302F) and wd > 0 then
+ tone = curr
+ elseif tone and not nobr_before[c] then
+ head = node.remove(head, tone)
+ tone.next, tone.prev = nil, nil
+ head, curr = node.insert_before(head, curr, tone)
+ tone = nil
+ end
end
end
curr = curr.prev
@@ -15085,21 +18593,31 @@ require('polyglossia-punct')
-- between 1/4 and 1/3 of a quad. We choose a half of a \thinspace here.
local hairspace = 0.08333 -- 1/12
+local function space_left(char)
+ polyglossia.add_left_spaced_character('latin', char, hairspace, 'quad')
+end
+
+local function space_right(char)
+ polyglossia.add_right_spaced_character('latin', char, hairspace, 'quad')
+end
+
+polyglossia.clear_spaced_characters('latin')
+space_left('!')
+space_left('?')
+space_left('‼')
+space_left('⁇')
+space_left('⁈')
+space_left('⁉')
+space_left('‽') -- U+203D (interrobang)
+space_left(':')
+space_left(';')
+space_left('»')
+space_left('›')
+space_right('«')
+space_right('‹')
+
local function activate_latin_punct()
polyglossia.activate_punct('latin')
- polyglossia.clear_spaced_characters('latin')
- polyglossia.add_left_spaced_character('latin',':',hairspace,'quad')
- polyglossia.add_left_spaced_character('latin','!',hairspace,'quad')
- polyglossia.add_left_spaced_character('latin','?',hairspace,'quad')
- polyglossia.add_left_spaced_character('latin',';',hairspace,'quad')
- polyglossia.add_left_spaced_character('latin','‼',hairspace,'quad')
- polyglossia.add_left_spaced_character('latin','⁇',hairspace,'quad')
- polyglossia.add_left_spaced_character('latin','⁈',hairspace,'quad')
- polyglossia.add_left_spaced_character('latin','⁉',hairspace,'quad')
- polyglossia.add_left_spaced_character('latin','»',hairspace,'quad')
- polyglossia.add_left_spaced_character('latin','›',hairspace,'quad')
- polyglossia.add_right_spaced_character('latin','«',hairspace,'quad')
- polyglossia.add_right_spaced_character('latin','‹',hairspace,'quad')
end
local function deactivate_latin_punct()
@@ -15180,12 +18698,54 @@ local function get_penalty_node()
return node_copy(penalty_node)
end
--- we have here all possible space characters, referenced by their unicode slot
--- number, taken from char-def.lua
-local space_chars = {[32] = true, [160] = true, [5760] = true, [6158] = true,
- [8192] = true, [8193] = true, [8194] = true, [8195] = true, [8196] = true,
- [8197] = true, [8198] = true, [8199] = true, [8200] = true, [8201] = true,
- [8202] = true, [8239] = true, [8287] = true, [12288] = true}
+-- all possible space characters according to section 6.2 of the Unicode Standard
+-- https://www.unicode.org/versions/Unicode12.0.0/ch06.pdf
+local space_chars = {
+ [0x20] = true, -- space
+ [0xA0] = true, -- no-break space
+ [0x1680] = true, -- ogham space mark
+ [0x2000] = true, -- en quad
+ [0x2001] = true, -- em quad
+ [0x2002] = true, -- en space
+ [0x2003] = true, -- em space
+ [0x2004] = true, -- three-per-em-space
+ [0x2005] = true, -- four-per-em space
+ [0x2006] = true, -- six-per-em space
+ [0x2007] = true, -- figure space
+ [0x2008] = true, -- punctuation space
+ [0x2009] = true, -- thin space
+ [0x200A] = true, -- hair space
+ [0x202F] = true, -- narrow no-break space
+ [0x205F] = true, -- medium mathematical space
+ [0x3000] = true -- ideographic space
+}
+
+-- all left bracket characters, referenced by their Unicode slot
+local left_bracket_chars = {
+ [0x28] = true, -- left parenthesis
+ [0x5B] = true, -- left square bracket
+ [0x7B] = true, -- left curly bracket
+ [0x27E8] = true -- mathematical left angle bracket
+}
+
+-- all right bracket characters, referenced by their Unicode slot
+local right_bracket_chars = {
+ [0x29] = true, -- right parenthesis
+ [0x5D] = true, -- right square bracket
+ [0x7D] = true, -- right curly bracket
+ [0x27E9] = true -- mathematical right angle bracket
+}
+
+-- question and exclamation marks, referenced by their Unicode slot
+local question_exclamation_chars = {
+ [0x21] = true, -- exclamation mark !
+ [0x3F] = true, -- question mark ?
+ [0x203C] = true, -- double exclamation mark ‼
+ [0x203D] = true, -- interrobang ‽
+ [0x2047] = true, -- double question mark ⁇
+ [0x2048] = true, -- question exclamation mark ⁈
+ [0x2049] = true, -- exclamation question mark ⁉
+}
-- from nodes-tst.lua, adapted
local function somespace(n)
@@ -15203,9 +18763,6 @@ local function somespace(n)
end
end
--- we have here all left bracket characters, referenced by their unicode slot
-local left_bracket_chars = {[40] = true, [123] = true, [91] = true, [10216] = true}
-
local function someleftbracket(n)
if n then
local id = n.id
@@ -15215,9 +18772,6 @@ local function someleftbracket(n)
end
end
--- we have here all right bracket characters, referenced by their unicode slot
-local right_bracket_chars = {[41] = true, [125] = true, [93] = true, [10217] = true}
-
local function somerightbracket(n)
if n then
local id = n.id
@@ -15227,6 +18781,16 @@ local function somerightbracket(n)
end
end
+local function question_exclamation_sequence(n1, n2)
+ if n1 and n2 then
+ local id1 = n1.id
+ local id2 = n2.id
+ if id1 == glyph_code and id2 == glyph_code then
+ return question_exclamation_chars[n1.char] and question_exclamation_chars[n2.char]
+ end
+ end
+end
+
-- idem
local function somepenalty(n, value)
if n then
@@ -15312,13 +18876,13 @@ local function process(head)
if leftspace or rightspace then
local fontparameters = fonts.hashes.parameters[current.font]
local unit, stretch, shrink, spacing_node
- if leftspace then
+ if leftspace and fontparameters then
local prev = getprev(current)
local space_exception = false
if prev then
local prevprev = getprev(prev)
- -- do not add space after left (opening) bracket
- space_exception = someleftbracket(prev)
+ -- do not add space after left (opening) bracket and between question/exclamation marks
+ space_exception = someleftbracket(prev) or question_exclamation_sequence(prev, current)
if somespace(prev) then
-- TODO: there is a question here: do we override a preceding space or not?...
if somepenalty(prevprev, 10000) then
@@ -15345,7 +18909,7 @@ local function process(head)
head = insert_node_before(head, current, spacing_node)
end
end
- if rightspace then
+ if rightspace and fontparameters then
local next = getnext(current)
local space_exception = false
if next then
@@ -15440,19 +19004,25 @@ require('polyglossia-punct')
-- value.
local thinspace = 0.16667 -- 1/6
+local function space_left(char)
+ polyglossia.add_left_spaced_character('sanskrit', char, thinspace, 'quad')
+end
+
+polyglossia.clear_spaced_characters('sanskrit')
+space_left('!')
+space_left('?')
+space_left('‼')
+space_left('⁇')
+space_left('⁈')
+space_left('⁉')
+space_left('‽') -- U+203D (interrobang)
+space_left(':')
+space_left(';')
+space_left('।') -- danda, U+0964
+space_left('॥') -- double danda, U+0965
+
local function activate_sanskrit_punct()
polyglossia.activate_punct('sanskrit')
- polyglossia.clear_spaced_characters('sanskrit')
- polyglossia.add_left_spaced_character('sanskrit','!',thinspace,'quad')
- polyglossia.add_left_spaced_character('sanskrit','?',thinspace,'quad')
- polyglossia.add_left_spaced_character('sanskrit','‼',thinspace,'quad')
- polyglossia.add_left_spaced_character('sanskrit','⁇',thinspace,'quad')
- polyglossia.add_left_spaced_character('sanskrit','⁈',thinspace,'quad')
- polyglossia.add_left_spaced_character('sanskrit','⁉',thinspace,'quad')
- polyglossia.add_left_spaced_character('sanskrit',':',thinspace,'quad')
- polyglossia.add_left_spaced_character('sanskrit',';',thinspace,'quad')
- polyglossia.add_left_spaced_character('sanskrit','।',thinspace,'quad') -- danda, U+0964
- polyglossia.add_left_spaced_character('sanskrit','॥',thinspace,'quad') -- double danda, U+0965
end
local function deactivate_sanskrit_punct()
@@ -15767,7 +19337,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
¦----------------------------------------------¦
¦ ¦
- ¦ THE POLYGLOSSIA PACKAGE v1.46 ¦
+ ¦ THE POLYGLOSSIA PACKAGE v1.47 ¦
¦ ¦
¦ Modern multilingual typesetting ¦
¦ with XeLaTeX and LuaLaTeX ¦
@@ -15800,8 +19370,8 @@ Polyglossia makes it possible to automate the following tasks:
LICENSE
-Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2019 Arthur Reutenauer,
-Copyright (c) 2019 Bastien Roucariès, 2019 Jürgen Spitzmüller
+Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2020 Arthur Reutenauer,
+Copyright (c) 2019-2020 Bastien Roucariès, 2019-2020 Jürgen Spitzmüller
Except where otherwise noted, Polyglossia is placed under the terms of the MIT licence
(https://opensource.org/licenses/MIT).
@@ -15815,6 +19385,69 @@ This is more efficient than contacting the maintainer by email as it allows me
to track the issues and follow progress.
%</../README>
%<*Changelog>
+1.47 (29-01-2020)
+
+New features:
+ * IETF BCP-47 compliant language tags can now be used for loading and switching
+ languages alternatively to language names (#226).
+ * New commands \languageid{<type>} and \mainlanguageid{<type>}.
+ * New test \iflanguageidloaded.
+ * New list \xpg@bcp@loaded.
+ * New environment {lang}{<lang>} (equivalent to {<lang>}, but also available with
+ \setlanguagealias* which does not define dedicated alias environments).
+ * New gloss option totalhyphenmin (corresponds to LuaTeX's \hyphenationmin) (#111).
+ * New test \iflanguageoption{<lang>}{<key>}{<val>} (#364).
+ * Restore simple alphabetic numbering for \asbuk and \Asbuk in Belarusian, Mongolian,
+ Russian, Serbian, and Ukrainian (#377).
+ * New command \AsbukTrad and \asbukTrad for Belarusian, Mongolian, Russian, Serbian,
+ and Ukrainian which uses traditional alphanumerical numbering.
+ * New numerals option "cyrillic-trad" and "cyrillic-alph" to differentiate simple
+ alphabetic and traditional alpnanumerical Cyrillic numbering.
+ * \selectbackgroundlanguage and \resetdefaultlanguage now also support language
+ aliases.
+ * New macro \charifavailable{<char code>}{<substitution>}.
+ * Add French language variant "swiss".
+ * Implement babelshorthands for Croatian.
+ * Implement \localnumeral for Japanese.
+
+Bug fixes:
+ * Fix font family issue in headers (#355).
+ * Fix whitespace issues in \text<lang> (#356).
+ * Fix option-less \babelname in multi-variant languages (#357).
+ * Fix some spacing inconsistencies with French, Latin, and Sanskrit (#358).
+ * Fix issues with babelshorthands and graphics package (#368).
+ * Fix some captions and improve numbering in Marathi (#370).
+ * Fix Hungarian swapstrings feature (#373).
+ * Fix lua punctuation code problem (#374).
+ * Fix Bengali changecounternumbering option (#381).
+ * Fix whitespace issue in Japanese (#387).
+ * Fix \text<lang> command with multiple paragraphs.
+ * Actually implement documented german spelling variant '1996' (= 'new').
+ * Fix Slovenian localalph option.
+ * Fix Czech and Slovak splithyphens with typewriter fonts.
+ * farsical.sty: fix spacing issue with some month names.
+ * Fix directionalty of numbers in Hebrew with XeTeX.
+ * Improve interoperatability with biblatex (some language variants did not work yet).
+
+Interface and defaults changes:
+ * Some boolean options had 'false' value by default, which meant if you passed
+ them without value, the logic was reversed. This has been changed, leading to
+ change of behavior should you have used one of these options without value (#363).
+ Concerned are the following options:
+ - babelshorthands in language belarusian, mongolian, ukrainian, and russian
+ ('babelshorthands' now equals 'babelshorthand=true', no longer 'babelshorthands=false')
+ - localalph in language slovenian ('localalph' now equals 'localalph=true')
+ - latesthyphen in language german ('latesthyphen' now equals 'latesthyphen=true')
+ - fullyear in package hebrewcal ('fullyear' now equals 'fullyear=true')
+ * The command \setlanguagealias* (introduced in v1.46) does no longer define
+ dedicated alias environments.
+ * The babelnames for latin variants have been corrected to classiclatin, ecclesiasticlatin
+ and medievallatin. This is how the hyphenation patterns and babel \extras are named, even
+ though the variants can currently be selected in babel only via appended "dot modifier".
+ * In accordance with the respective l3kernel change, \str_lower_case:n has been renamed to
+ \str_lowercase:n where used in polyglossia.sty. Thus polyglossia 1.47 requires l3kernel
+ 2020-01-12 at least.
+
1.46 (15-11-2019)
New features:
diff --git a/macros/latex/contrib/polyglossia/polyglossia.ins b/macros/latex/contrib/polyglossia/polyglossia.ins
deleted file mode 100644
index 56050f53cb..0000000000
--- a/macros/latex/contrib/polyglossia/polyglossia.ins
+++ /dev/null
@@ -1,164 +0,0 @@
-\input docstrip.tex
-\keepsilent
-\let\MetaPrefix\relax
-\preamble
- ____________________________
-
- The polyglossia package
- (C) 2008–2010 François Charette
- (C) 2011-2019 Arthur Reutenauer
- (C) 2013 Elie Roux
- License information appended
-
-\endpreamble
-\postamble
-
- Copyright (C) 2019 by Arthur Reutenauer <arthur 'dot' reutenauer 'at' normalesup 'dot' org>
-
- This work may be distributed and/or modified under the
- conditions of the LaTeX Project Public License, either version 1.3
- of this license of (at your option) any later version.
- The latest version of this license is in
- http://www.latex-project.org/lppl.txt
- and version 1.3 or later is part of all distributions of LaTeX
- version 2005/12/01 or later.
-
- This work has the LPPL maintenance status `maintained'.
-
- The Current Maintainer of this work is Arthur Reutenauer.
-
-\endpostamble
-\let\MetaPrefix\DoubleperCent
-\askforoverwritefalse
-\generate{\file{gloss-acadien.ldf}{\from{polyglossia.dtx}{gloss-acadien.ldf}}}
-\generate{\file{gloss-afrikaans.ldf}{\from{polyglossia.dtx}{gloss-afrikaans.ldf}}}
-\generate{\file{gloss-albanian.ldf}{\from{polyglossia.dtx}{gloss-albanian.ldf}}}
-\generate{\file{gloss-american.ldf}{\from{polyglossia.dtx}{gloss-american.ldf}}}
-\generate{\file{gloss-amharic.ldf}{\from{polyglossia.dtx}{gloss-amharic.ldf}}}
-\generate{\file{gloss-arabic.ldf}{\from{polyglossia.dtx}{gloss-arabic.ldf}}}
-\generate{\file{gloss-armenian.ldf}{\from{polyglossia.dtx}{gloss-armenian.ldf}}}
-\generate{\file{gloss-asturian.ldf}{\from{polyglossia.dtx}{gloss-asturian.ldf}}}
-\generate{\file{gloss-australian.ldf}{\from{polyglossia.dtx}{gloss-australian.ldf}}}
-\generate{\file{gloss-austrian.ldf}{\from{polyglossia.dtx}{gloss-austrian.ldf}}}
-\generate{\file{gloss-bahasa.ldf}{\from{polyglossia.dtx}{gloss-bahasa.ldf}}}
-\generate{\file{gloss-bahasai.ldf}{\from{polyglossia.dtx}{gloss-bahasai.ldf}}}
-\generate{\file{gloss-bahasam.ldf}{\from{polyglossia.dtx}{gloss-bahasam.ldf}}}
-\generate{\file{gloss-basque.ldf}{\from{polyglossia.dtx}{gloss-basque.ldf}}}
-\generate{\file{gloss-belarusian.ldf}{\from{polyglossia.dtx}{gloss-belarusian.ldf}}}
-\generate{\file{gloss-bengali.ldf}{\from{polyglossia.dtx}{gloss-bengali.ldf}}}
-\generate{\file{gloss-bosnian.ldf}{\from{polyglossia.dtx}{gloss-bosnian.ldf}}}
-\generate{\file{gloss-brazil.ldf}{\from{polyglossia.dtx}{gloss-brazil.ldf}}}
-\generate{\file{gloss-breton.ldf}{\from{polyglossia.dtx}{gloss-breton.ldf}}}
-\generate{\file{gloss-british.ldf}{\from{polyglossia.dtx}{gloss-british.ldf}}}
-\generate{\file{gloss-bulgarian.ldf}{\from{polyglossia.dtx}{gloss-bulgarian.ldf}}}
-\generate{\file{gloss-canadian.ldf}{\from{polyglossia.dtx}{gloss-canadian.ldf}}}
-\generate{\file{gloss-canadien.ldf}{\from{polyglossia.dtx}{gloss-canadien.ldf}}}
-\generate{\file{gloss-catalan.ldf}{\from{polyglossia.dtx}{gloss-catalan.ldf}}}
-\generate{\file{gloss-coptic.ldf}{\from{polyglossia.dtx}{gloss-coptic.ldf}}}
-\generate{\file{gloss-croatian.ldf}{\from{polyglossia.dtx}{gloss-croatian.ldf}}}
-\generate{\file{gloss-czech.ldf}{\from{polyglossia.dtx}{gloss-czech.ldf}}}
-\generate{\file{gloss-danish.ldf}{\from{polyglossia.dtx}{gloss-danish.ldf}}}
-\generate{\file{gloss-divehi.ldf}{\from{polyglossia.dtx}{gloss-divehi.ldf}}}
-\generate{\file{gloss-dutch.ldf}{\from{polyglossia.dtx}{gloss-dutch.ldf}}}
-\generate{\file{gloss-english.ldf}{\from{polyglossia.dtx}{gloss-english.ldf}}}
-\generate{\file{gloss-esperanto.ldf}{\from{polyglossia.dtx}{gloss-esperanto.ldf}}}
-\generate{\file{gloss-estonian.ldf}{\from{polyglossia.dtx}{gloss-estonian.ldf}}}
-\generate{\file{gloss-farsi.ldf}{\from{polyglossia.dtx}{gloss-farsi.ldf}}}
-\generate{\file{gloss-finnish.ldf}{\from{polyglossia.dtx}{gloss-finnish.ldf}}}
-\generate{\file{gloss-french.ldf}{\from{polyglossia.dtx}{gloss-french.ldf}}}
-\generate{\file{gloss-friulan.ldf}{\from{polyglossia.dtx}{gloss-friulan.ldf}}}
-\generate{\file{gloss-friulian.ldf}{\from{polyglossia.dtx}{gloss-friulian.ldf}}}
-\generate{\file{gloss-gaelic.ldf}{\from{polyglossia.dtx}{gloss-gaelic.ldf}}}
-\generate{\file{gloss-galician.ldf}{\from{polyglossia.dtx}{gloss-galician.ldf}}}
-\generate{\file{gloss-georgian.ldf}{\from{polyglossia.dtx}{gloss-georgian.ldf}}}
-\generate{\file{gloss-german.ldf}{\from{polyglossia.dtx}{gloss-german.ldf}}}
-\generate{\file{gloss-germanb.ldf}{\from{polyglossia.dtx}{gloss-germanb.ldf}}}
-\generate{\file{gloss-greek.ldf}{\from{polyglossia.dtx}{gloss-greek.ldf}}}
-\generate{\file{gloss-hebrew.ldf}{\from{polyglossia.dtx}{gloss-hebrew.ldf}}}
-\generate{\file{gloss-hindi.ldf}{\from{polyglossia.dtx}{gloss-hindi.ldf}}}
-\generate{\file{gloss-hungarian.ldf}{\from{polyglossia.dtx}{gloss-hungarian.ldf}}}
-\generate{\file{gloss-icelandic.ldf}{\from{polyglossia.dtx}{gloss-icelandic.ldf}}}
-\generate{\file{gloss-interlingua.ldf}{\from{polyglossia.dtx}{gloss-interlingua.ldf}}}
-\generate{\file{gloss-irish.ldf}{\from{polyglossia.dtx}{gloss-irish.ldf}}}
-\generate{\file{gloss-italian.ldf}{\from{polyglossia.dtx}{gloss-italian.ldf}}}
-\generate{\file{gloss-japanese.ldf}{\from{polyglossia.dtx}{gloss-japanese.ldf}}}
-\generate{\file{gloss-kannada.ldf}{\from{polyglossia.dtx}{gloss-kannada.ldf}}}
-\generate{\file{gloss-khmer.ldf}{\from{polyglossia.dtx}{gloss-khmer.ldf}}}
-\generate{\file{gloss-korean.ldf}{\from{polyglossia.dtx}{gloss-korean.ldf}}}
-\generate{\file{gloss-kurdish.ldf}{\from{polyglossia.dtx}{gloss-kurdish.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}}}
-\generate{\file{gloss-latinmedieval.ldf}{\from{polyglossia.dtx}{gloss-latinmedieval.ldf}}}
-\generate{\file{gloss-latvian.ldf}{\from{polyglossia.dtx}{gloss-latvian.ldf}}}
-\generate{\file{gloss-lithuanian.ldf}{\from{polyglossia.dtx}{gloss-lithuanian.ldf}}}
-\generate{\file{gloss-lowersorbian.ldf}{\from{polyglossia.dtx}{gloss-lowersorbian.ldf}}}
-\generate{\file{gloss-lsorbian.ldf}{\from{polyglossia.dtx}{gloss-lsorbian.ldf}}}
-\generate{\file{gloss-macedonian.ldf}{\from{polyglossia.dtx}{gloss-macedonian.ldf}}}
-\generate{\file{gloss-magyar.ldf}{\from{polyglossia.dtx}{gloss-magyar.ldf}}}
-\generate{\file{gloss-malay.ldf}{\from{polyglossia.dtx}{gloss-malay.ldf}}}
-\generate{\file{gloss-malayalam.ldf}{\from{polyglossia.dtx}{gloss-malayalam.ldf}}}
-\generate{\file{gloss-marathi.ldf}{\from{polyglossia.dtx}{gloss-marathi.ldf}}}
-\generate{\file{gloss-mongolian.ldf}{\from{polyglossia.dtx}{gloss-mongolian.ldf}}}
-\generate{\file{gloss-naustrian.ldf}{\from{polyglossia.dtx}{gloss-naustrian.ldf}}}
-\generate{\file{gloss-newzealand.ldf}{\from{polyglossia.dtx}{gloss-newzealand.ldf}}}
-\generate{\file{gloss-ngerman.ldf}{\from{polyglossia.dtx}{gloss-ngerman.ldf}}}
-\generate{\file{gloss-nko.ldf}{\from{polyglossia.dtx}{gloss-nko.ldf}}}
-\generate{\file{gloss-norsk.ldf}{\from{polyglossia.dtx}{gloss-norsk.ldf}}}
-\generate{\file{gloss-norwegian.ldf}{\from{polyglossia.dtx}{gloss-norwegian.ldf}}}
-\generate{\file{gloss-nswissgerman.ldf}{\from{polyglossia.dtx}{gloss-nswissgerman.ldf}}}
-\generate{\file{gloss-nynorsk.ldf}{\from{polyglossia.dtx}{gloss-nynorsk.ldf}}}
-\generate{\file{gloss-occitan.ldf}{\from{polyglossia.dtx}{gloss-occitan.ldf}}}
-\generate{\file{gloss-persian.ldf}{\from{polyglossia.dtx}{gloss-persian.ldf}}}
-\generate{\file{gloss-piedmontese.ldf}{\from{polyglossia.dtx}{gloss-piedmontese.ldf}}}
-\generate{\file{gloss-polish.ldf}{\from{polyglossia.dtx}{gloss-polish.ldf}}}
-\generate{\file{gloss-polutonikogreek.ldf}{\from{polyglossia.dtx}{gloss-polutonikogreek.ldf}}}
-\generate{\file{gloss-portuges.ldf}{\from{polyglossia.dtx}{gloss-portuges.ldf}}}
-\generate{\file{gloss-portuguese.ldf}{\from{polyglossia.dtx}{gloss-portuguese.ldf}}}
-\generate{\file{gloss-romanian.ldf}{\from{polyglossia.dtx}{gloss-romanian.ldf}}}
-\generate{\file{gloss-romansh.ldf}{\from{polyglossia.dtx}{gloss-romansh.ldf}}}
-\generate{\file{gloss-russian.ldf}{\from{polyglossia.dtx}{gloss-russian.ldf}}}
-\generate{\file{gloss-sami.ldf}{\from{polyglossia.dtx}{gloss-sami.ldf}}}
-\generate{\file{gloss-samin.ldf}{\from{polyglossia.dtx}{gloss-samin.ldf}}}
-\generate{\file{gloss-sanskrit.ldf}{\from{polyglossia.dtx}{gloss-sanskrit.ldf}}}
-\generate{\file{gloss-scottish.ldf}{\from{polyglossia.dtx}{gloss-scottish.ldf}}}
-\generate{\file{gloss-serbian.ldf}{\from{polyglossia.dtx}{gloss-serbian.ldf}}}
-\generate{\file{gloss-serbianc.ldf}{\from{polyglossia.dtx}{gloss-serbianc.ldf}}}
-\generate{\file{gloss-slovak.ldf}{\from{polyglossia.dtx}{gloss-slovak.ldf}}}
-\generate{\file{gloss-slovene.ldf}{\from{polyglossia.dtx}{gloss-slovene.ldf}}}
-\generate{\file{gloss-slovenian.ldf}{\from{polyglossia.dtx}{gloss-slovenian.ldf}}}
-\generate{\file{gloss-sorbian.ldf}{\from{polyglossia.dtx}{gloss-sorbian.ldf}}}
-\generate{\file{gloss-spanish.ldf}{\from{polyglossia.dtx}{gloss-spanish.ldf}}}
-\generate{\file{gloss-spanishmx.ldf}{\from{polyglossia.dtx}{gloss-spanishmx.ldf}}}
-\generate{\file{gloss-swedish.ldf}{\from{polyglossia.dtx}{gloss-swedish.ldf}}}
-\generate{\file{gloss-swissgerman.ldf}{\from{polyglossia.dtx}{gloss-swissgerman.ldf}}}
-\generate{\file{gloss-syriac.ldf}{\from{polyglossia.dtx}{gloss-syriac.ldf}}}
-\generate{\file{gloss-tamil.ldf}{\from{polyglossia.dtx}{gloss-tamil.ldf}}}
-\generate{\file{gloss-telugu.ldf}{\from{polyglossia.dtx}{gloss-telugu.ldf}}}
-\generate{\file{gloss-thai.ldf}{\from{polyglossia.dtx}{gloss-thai.ldf}}}
-\generate{\file{gloss-tibetan.ldf}{\from{polyglossia.dtx}{gloss-tibetan.ldf}}}
-\generate{\file{gloss-turkish.ldf}{\from{polyglossia.dtx}{gloss-turkish.ldf}}}
-\generate{\file{gloss-turkmen.ldf}{\from{polyglossia.dtx}{gloss-turkmen.ldf}}}
-\generate{\file{gloss-ukrainian.ldf}{\from{polyglossia.dtx}{gloss-ukrainian.ldf}}}
-\generate{\file{gloss-uppersorbian.ldf}{\from{polyglossia.dtx}{gloss-uppersorbian.ldf}}}
-\generate{\file{gloss-urdu.ldf}{\from{polyglossia.dtx}{gloss-urdu.ldf}}}
-\generate{\file{gloss-usorbian.ldf}{\from{polyglossia.dtx}{gloss-usorbian.ldf}}}
-\generate{\file{gloss-vietnamese.ldf}{\from{polyglossia.dtx}{gloss-vietnamese.ldf}}}
-\generate{\file{gloss-welsh.ldf}{\from{polyglossia.dtx}{gloss-welsh.ldf}}}
-\generate{\file{arabicdigits.map}{\from{polyglossia.dtx}{arabicdigits.map}}}
-\generate{\file{bengalidigits.map}{\from{polyglossia.dtx}{bengalidigits.map}}}
-\generate{\file{devanagaridigits.map}{\from{polyglossia.dtx}{devanagaridigits.map}}}
-\generate{\file{farsidigits.map}{\from{polyglossia.dtx}{farsidigits.map}}}
-\generate{\file{thaidigits.map}{\from{polyglossia.dtx}{thaidigits.map}}}
-\def\MetaPrefix{-- }
-\generate{\file{polyglossia-french.lua}{\from{polyglossia.dtx}{polyglossia-french.lua}}}
-\generate{\file{polyglossia-korean.lua}{\from{polyglossia.dtx}{polyglossia-korean.lua}}}
-\generate{\file{polyglossia-latin.lua}{\from{polyglossia.dtx}{polyglossia-latin.lua}}}
-\generate{\file{polyglossia-punct.lua}{\from{polyglossia.dtx}{polyglossia-punct.lua}}}
-\generate{\file{polyglossia-sanskrit.lua}{\from{polyglossia.dtx}{polyglossia-sanskrit.lua}}}
-\generate{\file{polyglossia-tibt.lua}{\from{polyglossia.dtx}{polyglossia-tibt.lua}}}
-\generate{\file{polyglossia.lua}{\from{polyglossia.dtx}{polyglossia.lua}}}
-\let\MetaPrefix\DoubleperCent
-\endbatchfile
diff --git a/macros/latex/contrib/polyglossia/polyglossia.pdf b/macros/latex/contrib/polyglossia/polyglossia.pdf
index 0698550579..94b595acc6 100644
--- a/macros/latex/contrib/polyglossia/polyglossia.pdf
+++ b/macros/latex/contrib/polyglossia/polyglossia.pdf
Binary files differ
diff --git a/macros/latex/contrib/semantic-markup/semantic-markup.pdf b/macros/latex/contrib/semantic-markup/semantic-markup.pdf
index cc01f01022..29617ea035 100644
--- a/macros/latex/contrib/semantic-markup/semantic-markup.pdf
+++ b/macros/latex/contrib/semantic-markup/semantic-markup.pdf
Binary files differ
diff --git a/macros/latex/contrib/semantic-markup/semantic-markup.sty b/macros/latex/contrib/semantic-markup/semantic-markup.sty
index e6d33668f9..9a5223347f 100644
--- a/macros/latex/contrib/semantic-markup/semantic-markup.sty
+++ b/macros/latex/contrib/semantic-markup/semantic-markup.sty
@@ -1,7 +1,7 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{semantic-markup}[2018/05/21
+\ProvidesPackage{semantic-markup}[2020/01/29
Macros for TEI-like semantic markup]
-% Copyright 2018 Andrew A. Cashner, andrewacashner@gmail.com
+% Copyright 2020 Andrew A. Cashner, andrewacashner@gmail.com
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -18,6 +18,8 @@
% and the documentation file semantic-markup.tex.
% CHANGE LOG
+% 2020-01-29 - \musfig uses stackengine now instead of amsmath
+% 2018-09-07 - ! and ? removed from autopunct for csquotes
% 2018-05-21 - Use fontspec's definition of `\strong` if it is loaded
% - Use musicography's definition of `\fl`, `\sh`, `\na` commands if
% it is loaded
@@ -49,7 +51,7 @@
% Put end punctuation inside quotation marks
% for the specified marks
\renewcommand{\mktextquote}[6]{#1#2#4#5#3#6}
- \DeclareAutoPunct{.,!?}
+ \DeclareAutoPunct{.,}
\fi
% NB: fontspec defines its own \strong command, so only define this if fontspec
@@ -99,13 +101,13 @@
%*******************
% Identify problem spot in draft
-\NewDocumentCommand{\XXX}{ O{\add{FIX}} }{%
- \strong{#1}%
+\NewDocumentCommand{\XXX}{ O{FIX} }{%
+ \strong{\add{#1}}%
}
% Indicate citation to be filled in later
% Optional argument for indicating the source
\NewDocumentCommand{\citXXX}{ o }{%
- \footnote{\strong{\add{Citation needed}\IfValueTF{#1}{#1}{}}}%
+ \footnote{\strong{\add{Citation needed\IfValueTF{#1}{: #1}{}}}}%
}
%*******************
@@ -153,13 +155,13 @@
\NewDocumentCommand{\octave}{ }{\textsubscript}
% Music figures
-\RequirePackage{amsmath}
+\RequirePackage{stackengine}
+\setstackgap{S}{2pt}
\NewDocumentCommand{\musfig}{ m m }{%
- $\genfrac{}{}{0pt}{1}{\text{#1}}{\text{#2}}$%
-}
+ \Shortstack{#1 #2}%
+}
% Meter signatures
-\RequirePackage[rm]{harmony}
-\NewDocumentCommand{\meter}{ m m }{\Takt{#1}{#2}}
+\NewDocumentCommand{\meter}{}{\musfig}
\endinput
diff --git a/macros/latex/contrib/semantic-markup/semantic-markup.tex b/macros/latex/contrib/semantic-markup/semantic-markup.tex
index c53f395306..7d08454bc8 100644
--- a/macros/latex/contrib/semantic-markup/semantic-markup.tex
+++ b/macros/latex/contrib/semantic-markup/semantic-markup.tex
@@ -18,6 +18,7 @@
\author{Andrew A. Cashner%
\thanks{\href{mailto:andrewacashner@gmail.com}{\nolinkurl{andrewacashner@gmail.com}}}%
}
+\date{January 29, 2020}
\begin{document}
\maketitle
@@ -147,7 +148,9 @@ Command & Alias\\
\end{tabular}
\end{center}
-For stacked numerals, as in meter signatures or figured bass, we provide two simple options, \verb|\musfig| using \verb|\genfrac| from \texttt{amsmath}, and \verb|\meter|, which uses \verb|\Takt| from the \texttt{harmony} package, which spaces the numerals more closely.
+For stacked numerals, as in meter signatures or figured bass, we provide two
+simple options, \verb|\musfig| using \verb|\Shortstack| from
+\texttt{stackengine}, and \verb|\meter|, which is an alias for the same thing.
Both commands take two arguments, one for the top numeral and the second for the bottom numeral.
You could write, for example:
diff --git a/macros/latex/contrib/suftesi/suftesi.dtx b/macros/latex/contrib/suftesi/suftesi.dtx
index 3b278f52ef..1c39a5238e 100644
--- a/macros/latex/contrib/suftesi/suftesi.dtx
+++ b/macros/latex/contrib/suftesi/suftesi.dtx
@@ -4,7 +4,7 @@
\input docstrip
\preamble
- Copyright 2009-2019 by Ivan Valbusa
+ Copyright 2009-2020 by Ivan Valbusa
This program is provided under the terms of the
LaTeX Project Public License distributed from CTAN
@@ -44,7 +44,7 @@
\endgroup
%</internal>
%
-% Copyright (C) 2009-2019 by Ivan Valbusa
+% Copyright (C) 2009-2020 by Ivan Valbusa
% <ivan dot valbusa at univr dot it>
% -------------------------------------------------------
%
@@ -67,7 +67,7 @@
%<class>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
%<class>\ProvidesClass{suftesi}
%<*class>
- [2019/10/26 v2.9.2 A class for typesetting theses, books and articles]
+ [2020/01/29 v2.9.3 A class for typesetting theses, books and articles]
%</class>
%<*driver>
\documentclass{ltxdoc}
@@ -175,7 +175,7 @@
%</driver>
% \fi
%
-% \CheckSum{4656}
+% \CheckSum{4902}
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -193,6 +193,7 @@
% Grave accent \` Left brace \{ Vertical bar \|
% Right brace \} Tilde \~}
%
+% \changes{v2.9.3}{2020/01/29}{Updated documentation.}
% \changes{v2.9.2}{2019/10/26}{Added \cmd{protect} to \cmd{SUF@thechapter} and \cmd{SUF@thesection} in the definitions of \cmd{chaptermark} and \cmd{sectionmark} to correct a bug when loading \texttt{greek} option with \sty{babel}}
% \changes{v2.9.1}{2018/11/09}{Added \sty{libertinust1math} package for Libertine font. Added \sty{luatex85} for Lua\TeX{} engine}
% \changes{v2.9}{2016/04/04}{New options \opt{tocauthorfont} and \opt{toctitlefont}. Added macros\cmd{suftesi@MakeTextTOCLowercase} and \cmd{SUF@TOCtitlesmallcaps}. Improved \cmd{xheadbreak} command. New templates \texttt{book}, \texttt{theses-template-article}, \texttt{theses-template-book}.}
@@ -1263,6 +1264,36 @@
%
% \changes{v0.5}{2011/10/21}{New command \opt{chapnumfont}}
%
+% \section{Sections font}\label{sec:secfont}
+%
+% \changes{v2.9.3}{2020/001/29}{New commands to change the font of the section/number title}
+%
+%
+%\begin{ltxsyntax}
+% \cmditem{<level>font}{commands}\hfill(default=\texttt{empty})
+%
+% Changes the font of the \meta{level} title. Where \meta{level} can be \opt{part}, \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}. For example:
+%
+%\begin{latexcode}
+%\begin{verbatim}
+% \chapfont{\bfseries\sffamily\scshape\Huge}
+%\end{verbatim}
+%\end{latexcode}
+%
+%^^A \cmditem{{level}numfont}{commands}\hfill(default=\texttt{empty})
+%
+% Changes the font of the \meta{level} number. Where \meta{level} can be \opt{part}, \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}. Note that you have to adjust the spacing accordingly. For example, with the default chapter style:
+%
+%\begin{latexcode}
+%\begin{verbatim}
+%\chapnumfont{%
+ %\chapnumfont{\bfseries\fontsize{160}{50}\selectfont
+ %\color{gray}\arabic{chapter}\hskip-15cm}
+%\end{verbatim}
+%\end{latexcode}
+%
+%\end{ltxsyntax}
+%
% \section{Collections}\label{sec:collection}
%
% The \opt{collection} document structure is thought to create a collection of papers. Each paper has to be typeset in a separate \file{.tex} file inside the \env{article} environment:
@@ -1976,6 +2007,7 @@
\or
\def\SUF@SUBSUBSEC@StyleSwitch{\expandafter\SUF@titlesmallcaps}
\fi}
+%
% \end{macrocode}
% \subsection*{TOC font}
% \begin{macrocode}
@@ -2065,26 +2097,32 @@
dotarabic,dotroman,dotRoman}[arabic]{%
\ifcase\nr\relax
\def\SUF@thechapter{\arabic{chapter}}
+ \def\SUF@HEAD@thechapter{\arabic{chapter}}
\def\SUF@dotchap{}
\def\SUF@toclabelnum{}
\or
\def\SUF@thechapter{\textsc{\roman{chapter}}}
+ \def\SUF@HEAD@thechapter{\textsc{\roman{chapter}}}
\def\SUF@dotchap{}
\def\SUF@toclabelnum{\scshape\@roman}
\or
\def\SUF@thechapter{\Roman{chapter}}
+ \def\SUF@HEAD@thechapter{\Roman{chapter}}
\def\SUF@dotchap{}
\def\SUF@toclabelnum{\@Roman}
\or
\def\SUF@thechapter{\arabic{chapter}}
+ \def\SUF@HEAD@thechapter{\arabic{chapter}}
\def\SUF@dotchap{.}
\def\SUF@toclabelnum{}
\or
\def\SUF@thechapter{\textsc{\roman{chapter}}}
+ \def\SUF@HEAD@thechapter{\textsc{\roman{chapter}}}
\def\SUF@dotchap{.}
\def\SUF@toclabelnum{\scshape\@roman}
\or
\def\SUF@thechapter{\Roman{chapter}}
+ \def\SUF@HEAD@thechapter{\Roman{chapter}}
\def\SUF@dotchap{.}
\def\SUF@toclabelnum{\@Roman}
\fi}
@@ -2095,30 +2133,96 @@ dotarabic,dotroman,dotRoman}[arabic]{%
{arabic,roman,Roman,dotarabic,dotroman,dotRoman}[arabic]{%
\ifcase\nr\relax
\def\SUF@thesection{\arabic{section}}
+ \def\SUF@HEAD@thesection{\arabic{section}}
\def\SUF@dotsec{}
\def\SUF@toclabelnum{}
\or
\def\SUF@thesection{\textsc{\roman{section}}}
+ \def\SUF@HEAD@thesection{\textsc{\roman{section}}}
\def\SUF@dotsec{}
\def\SUF@toclabelnum{\scshape\@roman}
\or
\def\SUF@thesection{\Roman{section}}
+ \def\SUF@HEAD@thesection{\Roman{section}}
\def\SUF@dotsec{}
\def\SUF@toclabelnum{\@Roman}
\or
\def\SUF@thesection{\arabic{section}}
+ \def\SUF@HEAD@thesection{\arabic{section}}
\def\SUF@dotsec{.}
\def\SUF@toclabelnum{}
\or
\def\SUF@thesection{\textsc{\roman{section}}}
+ \def\SUF@HEAD@thesection{\textsc{\roman{section}}}
\def\SUF@dotsec{.}
\def\SUF@toclabelnum{\scshape\@roman}
\or
\def\SUF@thesection{\Roman{section}}
+ \def\SUF@HEAD@thesection{\Roman{section}}
\def\SUF@dotsec{.}
\def\SUF@toclabelnum{\@Roman}
\fi}
% \end{macrocode}
+% \subsubsection*{Subsection number style}
+% \begin{macrocode}
+\define@choicekey{}{subsecnumstyle}[\val\nr]
+{arabic,roman,Roman,dotarabic,dotroman,dotRoman}[arabic]{%
+ \ifcase\nr\relax
+ \def\SUF@thesubsection{\arabic{subsection}}
+ \def\SUF@dotsubsec{}
+ \def\SUF@toclabelnum{}
+ \or
+ \def\SUF@thesubsection{\textsc{\roman{subsection}}}
+ \def\SUF@dotsubsec{}
+ \def\SUF@toclabelnum{\scshape\@roman}
+ \or
+ \def\SUF@thesubsection{\Roman{subsection}}
+ \def\SUF@dotsubsec{}
+ \def\SUF@toclabelnum{\@Roman}
+ \or
+ \def\SUF@thesubsection{\arabic{subsection}}
+ \def\SUF@dotsubsec{.}
+ \def\SUF@toclabelnum{}
+ \or
+ \def\SUF@thesubsection{\textsc{\roman{subsection}}}
+ \def\SUF@dotsubsec{.}
+ \def\SUF@toclabelnum{\scshape\@roman}
+ \or
+ \def\SUF@thesubsection{\Roman{subsection}}
+ \def\SUF@dotsubsec{.}
+ \def\SUF@toclabelnum{\@Roman}
+ \fi}
+% \end{macrocode}
+% \subsubsection*{Sub-subsection number style}
+% \begin{macrocode}
+\define@choicekey{}{subsubsecnumstyle}[\val\nr]
+{arabic,roman,Roman,dotarabic,dotroman,dotRoman}[arabic]{%
+ \ifcase\nr\relax
+ \def\SUF@thesubsubsection{\arabic{subsubsection}}
+ \def\SUF@dotsubsubsec{}
+ \def\SUF@toclabelnum{}
+ \or
+ \def\SUF@thesubsubsection{\textsc{\roman{subsubsection}}}
+ \def\SUF@dotsubsubsec{}
+ \def\SUF@toclabelnum{\scshape\@roman}
+ \or
+ \def\SUF@thesubsubsection{\Roman{subsubsection}}
+ \def\SUF@dotsubsubsec{}
+ \def\SUF@toclabelnum{\@Roman}
+ \or
+ \def\SUF@thesubsubsection{\arabic{subsubsection}}
+ \def\SUF@dotsubsubsec{.}
+ \def\SUF@toclabelnum{}
+ \or
+ \def\SUF@thesubsubsection{\textsc{\roman{subsubsection}}}
+ \def\SUF@dotsubsubsec{.}
+ \def\SUF@toclabelnum{\scshape\@roman}
+ \or
+ \def\SUF@thesubsubsection{\Roman{subsubsection}}
+ \def\SUF@dotsubsubsec{.}
+ \def\SUF@toclabelnum{\@Roman}
+ \fi}
+% \end{macrocode}
% This option controls the style of small capitals used in the
% title of chapters and sections using \opt{\meta{level}font=smallcaps} option:
% \begin{macrocode}
@@ -2132,6 +2236,18 @@ dotarabic,dotroman,dotRoman}[arabic]{%
\def\suftesi@MakeTextTOCLowercase{\relax}
\fi}
% \end{macrocode}
+% \subsubsection*{Fine adjustment of sections font}%EXPERIMENTAL
+% \begin{macrocode}
+\newcommand{\partfont}[1]{\def\SUF@PART@StyleSwitch{#1}}
+\newcommand{\chapfont}[1]{\def\SUF@CHAP@StyleSwitch{#1}}
+\newcommand{\secfont}[1]{\def\SUF@SEC@StyleSwitch{#1}}
+\newcommand{\subsecfont}[1]{\def\SUF@SUBSEC@StyleSwitch{#1}}
+\newcommand{\subsubsecfont}[1]{\def\SUF@SUBSUBSEC@StyleSwitch{#1}}
+\newcommand{\chapnumfont}[1]{\def\SUF@thechapter{#1}}
+\newcommand{\secnumfont}[1]{\def\SUF@thesection{#1}}
+\newcommand{\subsecnumfont}[1]{\def\SUF@thesubsection{#1}}
+\newcommand{\subsubsecnumfont}[1]{\def\SUF@thesubsubsection{#1}}
+% \end{macrocode}
% \subsection*{Headers}
%
% \subsubsection*{Header style}
@@ -2744,9 +2860,11 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
subsecfont=roman,
subsubsecfont=roman,
headerfont=roman,
- secnumstyle=arabic,
partnumstyle=Roman,
chapnumstyle=arabic,
+ secnumstyle=arabic,
+ subsecnumstyle=arabic,
+ subsubsecnumstyle=arabic,
smallcapsstyle=low,
titlefont=italic,
authorfont=roman,
@@ -3140,54 +3258,84 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
% \begin{macrocode}
\def\SUF@default@SECTIONS{
\ifsuftesi@numparsec
+%\titleformat{\section}[display]
+% {\SUF@sectionsize\SUF@lr@SECSwitch}
+% {\ifsuftesi@article\SUF@thesection
+% \else\thesection\fi\SUF@dotsec}
+% {0ex}
+% {\SUF@SEC@StyleSwitch}
\titleformat{\section}[display]
- {\SUF@sectionsize\SUF@lr@SECSwitch}
- {\ifsuftesi@article\SUF@thesection
- \else\thesection\fi\SUF@dotsec}
- {0ex}
- {\SUF@SEC@StyleSwitch}
+{\SUF@sectionsize\SUF@lr@SECSwitch}
+{\SUF@thesection\SUF@dotsec}
+{0ex}
+{\SUF@SEC@StyleSwitch}
\titlespacing*{\section}{0em}{\sectionsep}{\sectionsep}[0em]
\else
+%\titleformat{\section}[hang]
+% {\SUF@sectionsize\SUF@lr@SECSwitch}
+% {\ifsuftesi@article\SUF@thesection
+% \else\thesection\fi\SUF@dotsec}
+% {1em}
+% {\SUF@SEC@StyleSwitch}
\titleformat{\section}[hang]
- {\SUF@sectionsize\SUF@lr@SECSwitch}
- {\ifsuftesi@article\SUF@thesection
- \else\thesection\fi\SUF@dotsec}
- {1em}
- {\SUF@SEC@StyleSwitch}
+{\SUF@sectionsize\SUF@lr@SECSwitch}
+{\SUF@thesection\SUF@dotsec}
+{1em}
+{\SUF@SEC@StyleSwitch}
\titlespacing*{\section}{0ex}{\sectionsep}{\sectionsep}[0ex]
\fi
% \end{macrocode}
% \begin{macrocode}
\ifsuftesi@numparsubsec
+%\titleformat{\subsection}[display]
+% {\SUF@subsectionsize\SUF@lr@SUBSECSwitch}
+% {\textnormal\thesubsection}
+% {0ex}
+% {\SUF@SUBSEC@StyleSwitch}
\titleformat{\subsection}[display]
- {\SUF@subsectionsize\SUF@lr@SUBSECSwitch}
- {\textnormal\thesubsection}
- {0ex}
- {\SUF@SUBSEC@StyleSwitch}
+{\SUF@subsectionsize\SUF@lr@SUBSECSwitch}
+{\textnormal\SUF@thesubsection\SUF@dotsubsec}
+{0ex}
+{\SUF@SUBSEC@StyleSwitch}
\titlespacing*{\subsection}{0em}{\sectionsep}{\sectionsep}[0em]
\else
+%\titleformat{\subsection}[hang]
+% {\SUF@subsectionsize\SUF@lr@SUBSECSwitch}
+% {\textnormal\thesubsection}
+% {1em}
+% {\SUF@SUBSEC@StyleSwitch}
\titleformat{\subsection}[hang]
- {\SUF@subsectionsize\SUF@lr@SUBSECSwitch}
- {\textnormal\thesubsection}
- {1em}
- {\SUF@SUBSEC@StyleSwitch}
+{\SUF@subsectionsize\SUF@lr@SUBSECSwitch}
+{\textnormal\SUF@thesubsection\SUF@dotsubsec}
+{1em}
+{\SUF@SUBSEC@StyleSwitch}
\titlespacing*{\subsection}{\parindent}{\sectionsep}{\sectionsep}[0ex]
\fi
% \end{macrocode}
% \begin{macrocode}
\ifsuftesi@numparsubsubsec
+%\titleformat{\subsubsection}[display]
+% {\SUF@subsectionsize\SUF@lr@SUBSUBSECSwitch}
+% {\textnormal\thesubsubsection}
+% {0ex}
+% {\SUF@SUBSUBSEC@StyleSwitch}
\titleformat{\subsubsection}[display]
- {\SUF@subsectionsize\SUF@lr@SUBSUBSECSwitch}
- {\textnormal\thesubsubsection}
- {0ex}
- {\SUF@SUBSUBSEC@StyleSwitch}
+{\SUF@subsectionsize\SUF@lr@SUBSUBSECSwitch}
+{\textnormal\SUF@thesubsubsection\SUF@dotsubsubsec}
+{0ex}
+{\SUF@SUBSUBSEC@StyleSwitch}
\titlespacing*{\subsubsection}{0em}{\sectionsep}{\sectionsep}[0em]
\else
+%\titleformat{\subsubsection}[hang]
+% {\SUF@subsectionsize\SUF@lr@SUBSUBSECSwitch}
+% {\textnormal\thesubsubsection}
+% {1em}
+% {\SUF@SUBSUBSEC@StyleSwitch}
\titleformat{\subsubsection}[hang]
- {\SUF@subsectionsize\SUF@lr@SUBSUBSECSwitch}
- {\textnormal\thesubsubsection}
- {1em}
- {\SUF@SUBSUBSEC@StyleSwitch}
+{\SUF@subsectionsize\SUF@lr@SUBSUBSECSwitch}
+{\textnormal\SUF@thesubsubsection\SUF@dotsubsubsec}
+{1em}
+{\SUF@SUBSUBSEC@StyleSwitch}
\titlespacing*{\subsubsection}{\parindent}{\sectionsep}{\sectionsep}[0ex]
\fi
}
@@ -4022,9 +4170,9 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent}
% \paragraph{The \opt{default} headers}
% \begin{macrocode}
\renewcommand{\chaptermark}[1]{%
- \markboth{\chaptertitlename\ \protect\SUF@thechapter}{#1}}
+ \markboth{\chaptertitlename\ \protect\SUF@HEAD@thechapter}{#1}}
\ifsuftesi@article
- \renewcommand{\sectionmark}[1]{\markright{\protect\SUF@thesection.\ #1}}
+ \renewcommand{\sectionmark}[1]{\markright{\protect\SUF@HEAD@thesection.\ #1}}
\else
\renewcommand{\sectionmark}[1]{}
\fi
diff --git a/macros/latex/contrib/suftesi/suftesi.pdf b/macros/latex/contrib/suftesi/suftesi.pdf
index a786249db9..243d1d378a 100644
--- a/macros/latex/contrib/suftesi/suftesi.pdf
+++ b/macros/latex/contrib/suftesi/suftesi.pdf
Binary files differ
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 53720156c0..e1e88c754e 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,11 +26,11 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2019
-depend revision/53579
+depend revision/53587
name 00texlive.image
category TLCore
-revision 53576
+revision 53587
shortdesc TeX Live files only in the source repository
longdesc The files here are not copied by the installer and containers
longdesc are not built for them; they exist only in the source
@@ -2603,6 +2603,7 @@ runfiles size=4991
tlpkg/tlpsrc/moderncv.tlpsrc
tlpkg/tlpsrc/modernposter.tlpsrc
tlpkg/tlpsrc/moderntimeline.tlpsrc
+ tlpkg/tlpsrc/modes.tlpsrc
tlpkg/tlpsrc/modiagram.tlpsrc
tlpkg/tlpsrc/modref.tlpsrc
tlpkg/tlpsrc/modroman.tlpsrc
@@ -61671,7 +61672,7 @@ catalogue-version 0.4b
name collection-basic
category Collection
-revision 53554
+revision 53585
shortdesc Essential programs and files
relocated 1
longdesc These files are regarded as basic for any TeX system, covering
@@ -61704,6 +61705,7 @@ depend makeindex
depend metafont
depend mflogo
depend mfware
+depend modes
depend pdftex
depend plain
depend tex
@@ -61717,8 +61719,8 @@ depend tlshell
depend unicode-data
depend updmap-map
depend xdvi
-containersize 640
-containerchecksum 10e821fc492bc6923c48bd8a0fa99aec1e2d478ae203c82819138754b155c584c966e6ec086d82e1d1d2c82a64a5e58d30919a2487c00c3208991a9a755ebe6b
+containersize 644
+containerchecksum c42caed5091ee960b5a6e2e405a070fcb197935a1b5c03c56605a06c6a0a3f5abfb462b73a0c73281947ceecab4e85c1766c32d011e5703fe8465e99fe8aa9c9
name collection-bibtexextra
category Collection
@@ -130601,24 +130603,24 @@ catalogue-version 0.01a
name hycolor
category Package
-revision 53169
+revision 53584
shortdesc Implements colour for packages hyperref and bookmark
relocated 1
longdesc This package provides the code for the color option that is
longdesc used by packages hyperref and bookmark. It is not intended as
longdesc package for the user.
-containersize 3968
-containerchecksum 2d22361b11555a704e6fb8eb270e455293e6538e9c07817d680a6f352514cd4ce3b0ef08fa932b5055bd44fc866344cf50969c61d7f4bd6c2d2d0c966bc8ab8b
-doccontainersize 360356
-doccontainerchecksum 7cf2697024a7803f02ac6f9ed15f709db92955e91b062109545cb6c5a10b721f0dab53947a7cc8e70bf1e4860d989aebee53ce4bdebd8f9f9b9910358c2a0d65
-docfiles size=91
+containersize 4044
+containerchecksum 5269044c5b462f13c78e80d28f7237f2d6e353da98db50267a5c4f01b22d565b0300c689470f6eb1ef9af7b66c1068c1d40d7a30ae01f30e7b3649189a7e7fbd
+doccontainersize 375200
+doccontainerchecksum 79e4c83b952182ea89b2ae7a1abdafd771359baadd34fce8d573d7449b24908a5bbf515d16d73fd088e7add82c143a458b2c196c125e5b492033cb36da63eb6d
+docfiles size=94
RELOC/doc/latex/hycolor/README.md
RELOC/doc/latex/hycolor/hycolor.pdf details="Package documentation" language="en"
-srccontainersize 9740
-srccontainerchecksum f4046f8e663a5499eb3742a3483b02ab97d0293e78443dc1bafafd6e2424f2d07de7f6421cc67b597323d0c5c28c207ac34ead2a159463b1f683016c2453226a
+srccontainersize 9676
+srccontainerchecksum 587ca9470aaa935119d142a970931d89444d2d64ec311ba74a697fa4cd982be999e7e62ee9924dd6028f2b9411657d6b1cf4b6cb9887d08cdb0b969e8a334fd7
srcfiles size=12
RELOC/source/latex/hycolor/hycolor.dtx
-runfiles size=6
+runfiles size=7
RELOC/tex/latex/hycolor/hycolor.sty
RELOC/tex/latex/hycolor/xcolor-patch.sty
catalogue-contact-bugs https://github.com/ho-tex/hycolor/issues
@@ -130626,7 +130628,7 @@ catalogue-contact-repository https://github.com/ho-tex/hycolor
catalogue-ctan /macros/latex/contrib/hycolor
catalogue-license lppl1.3
catalogue-topics colour
-catalogue-version 1.9
+catalogue-version 1.10
name hypdvips
category Package
@@ -183000,7 +183002,7 @@ catalogue-topics font font-serif font-sans font-ttf font-type1
name metafont
category Package
-revision 52851
+revision 53585
shortdesc A system for specifying fonts
longdesc The program takes a semi-algorithmic specification of a font,
longdesc and produces a bitmap font (whose properties are defined by a
@@ -183013,12 +183015,13 @@ longdesc The distribution includes the source of Knuth's Metafont book;
longdesc this source is there to read, as an example of writing TeX --
longdesc it should not be processed without Knuth's direct permission.
depend kpathsea
+depend modes
depend metafont.ARCH
-execute AddFormat name=mf engine=mf-nowin options="-translate-file=cp227.tcx mf.ini"
-containersize 33572
-containerchecksum a73118e074370dd0050cf0862873ceb2f670f731805ba126c33f58f57f504938d61436d55867ee908e14f01f06d8e5077a294867d8a6231fdc8393151359cb4c
-doccontainersize 71968
-doccontainerchecksum 78ee87591fd7bc724a013eb9ccb3d81f51c603ea2973086b1e3ae3095c1113cc37191394dc99bfce302544cafddee1add970993448e611c61055cbcc48f39361
+execute AddFormat name=mf engine=mf-nowin options="-translate-file=cp227.tcx mf.ini" fmttriggers=modes
+containersize 8752
+containerchecksum 35013e0bed6fa909f25ef74210986c3010b0c8de51975895e71c532a64f1d262324cde90f6fb2c956dc8efa454b14c5872bb9b3b91061c31a007dbadbbf59eba
+doccontainersize 71964
+doccontainerchecksum 5feac4038689d6447150f7dbe1a6309b5b80e0b960317771560b1d5a70d9a56e52cf56363a4107b5adcc9d95cbdee4044fe771b33d2adce53831e1ba26508020
docfiles size=36
texmf-dist/doc/man/man1/inimf.1
texmf-dist/doc/man/man1/inimf.man1.pdf
@@ -183026,7 +183029,7 @@ docfiles size=36
texmf-dist/doc/man/man1/mf-nowin.man1.pdf
texmf-dist/doc/man/man1/mf.1
texmf-dist/doc/man/man1/mf.man1.pdf
-runfiles size=36
+runfiles size=13
texmf-dist/metafont/base/mf.mf
texmf-dist/metafont/base/plain.mf
texmf-dist/metafont/config/cmmf.ini
@@ -183034,7 +183037,6 @@ runfiles size=36
texmf-dist/metafont/misc/mode2dpi.mf
texmf-dist/metafont/misc/mode2dpixy.mf
texmf-dist/metafont/misc/modename.mf
- texmf-dist/metafont/misc/modes.mf
texmf-dist/metafont/misc/ps2mfbas.mf
catalogue-alias mf
catalogue-also metapost
@@ -188506,6 +188508,38 @@ catalogue-license lppl1.3
catalogue-topics cv diagram
catalogue-version 0.10
+name modes
+category Package
+revision 53585
+shortdesc A collection of Metafont mode_def's
+relocated 1
+longdesc The modes file collects all known Metafont modes for printing
+longdesc or display devices, of whatever printing technology. Special
+longdesc provision is made for write-white printers, and a 'landscape'
+longdesc mode is available, for making suitable fonts for printers with
+longdesc pixels whose aspect is non-square. The file also provides
+longdesc definitions that make \specials identifying the mode in
+longdesc Metafont's GF output, and put coding information and other
+longdesc Xerox-world information in the TFM file.
+containersize 26764
+containerchecksum 269197b6b23f607472ac1430f0387bf4f7a816907e5d9606fe612047a83f86df09ae225205abcf4c8e4ae0bfd18afed706fe7e3a4c87bbef9254a623d947b7c4
+doccontainersize 273212
+doccontainerchecksum 40a81d51942eec41d8add5488b0acc505352445e58690dd04b77abf76153b55a82cdd9db016b809ee0adbd8702a8d42653e86c96e9486729c23bf8694c4419fb
+docfiles size=76
+ RELOC/doc/fonts/modes/ChangeLog
+ RELOC/doc/fonts/modes/GNUmakefile
+ RELOC/doc/fonts/modes/README
+ RELOC/doc/fonts/modes/modedpicheck
+ RELOC/doc/fonts/modes/modelist.txt
+ RELOC/doc/fonts/modes/modenames.txt
+ RELOC/doc/fonts/modes/modes.pdf
+runfiles size=24
+ RELOC/fonts/source/public/modes/modes.mf
+catalogue-ctan /fonts/modes
+catalogue-license pd
+catalogue-topics font-devel
+catalogue-version 3.8
+
name modiagram
category Package
revision 52589
@@ -223248,7 +223282,7 @@ catalogue-version 1.4
name pdfpages
category Package
-revision 53180
+revision 53583
shortdesc Include PDF documents in LaTeX
relocated 1
longdesc This package simplifies the inclusion of external multi-page
@@ -223263,10 +223297,10 @@ depend eso-pic
depend graphics
depend oberdiek
depend tools
-containersize 13756
-containerchecksum 26fa550bd73c6e074dab1879ee55de821dafb458a76b10c23156d32c0ada4d674a24cb91fff7180761bc7df9703ae5f7ce7de6a4088f28b9f727cc4af0bfa89e
-doccontainersize 315136
-doccontainerchecksum 30087f3a3e4ebd318374e13c4026a5cec15a88359a18ed9887af76065ea3adc2a7943ac7b277a97416db04b6c62f404365b4e9e7f81d5c7838ef5c0ad606a25b
+containersize 13908
+containerchecksum 0f8b9efede65eacc6f0a970ac30bd8839ef521e01ed2cb4672882eb768ea36f1ac2b6df72275c681a952e827253d35e43c77b4cff675c5eef3673ad7fb94675b
+doccontainersize 314640
+doccontainerchecksum 1a0143d380280618be15f5fa2227ef27969e96dbf58ee8ef1d167b5864ef2565af0225ba2d6c5fb5e81ea03f78ba4fb8f2d4a1266c5e4a7ab834186489fbc66a
docfiles size=88
RELOC/doc/latex/pdfpages/dummy-l.pdf
RELOC/doc/latex/pdfpages/dummy.pdf
@@ -223274,13 +223308,13 @@ docfiles size=88
RELOC/doc/latex/pdfpages/pdf-hyp.tex
RELOC/doc/latex/pdfpages/pdf-toc.tex
RELOC/doc/latex/pdfpages/pdfpages.pdf details="Package documentation"
-srccontainersize 34364
-srccontainerchecksum 00af1e384af52234a52807ab4c439b46acf697b74be5ed24c2b85c5bf250c2e3eecf225cd619e675f8ac730856b32ce0e281a08e277850eb682912665c955833
+srccontainersize 34712
+srccontainerchecksum a833ed5aa8059e344a6edaa9f499b419b3f0fd3a0d23499219d4a3391c28a0fcf9afdda0ebfba4ddb9233a47f80b71d07fc87773d0c7ce9a51aa9954e8c9198b
srcfiles size=45
RELOC/source/latex/pdfpages/README
RELOC/source/latex/pdfpages/pdfpages.dtx
RELOC/source/latex/pdfpages/pdfpages.ins
-runfiles size=24
+runfiles size=25
RELOC/tex/latex/pdfpages/pdfpages.sty
RELOC/tex/latex/pdfpages/ppdvipdfmx.def
RELOC/tex/latex/pdfpages/ppdvips.def
@@ -223292,7 +223326,7 @@ runfiles size=24
catalogue-ctan /macros/latex/contrib/pdfpages
catalogue-license lppl1.3c
catalogue-topics graphics-incl
-catalogue-version 0.5p
+catalogue-version 0.5q
name pdfpc-movie
category Package
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index c69b03509e..703fbff5a5 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-446f6b47e7bdf53531f1d5bb1beafe47 texlive.tlpdb
+058d1930e07839d880be273b9341c5d8 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 8b4541d9e8..8204c800d9 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-1e272a3adbfa6b6180666c7de0f56a04df7e34fc774c35ed13ffd0b26b0a1db12cee3286d7d1371d29bca89f7b2a3a89433cedb14e47385efb24342d45644866 texlive.tlpdb
+15455fb71acbd08f49e385fec668ef4cf2dc051a19011a2b37f4d9d1e206e799f76926f0f0b52fd4915ba5dcf88039924b73785cc6f1ea15d3f9479bd0f5e424 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index f918342cfc..63cccf38f7 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
@@ -1,10 +1,10 @@
-----BEGIN PGP SIGNATURE-----
-iQEcBAEBCgAGBQJeL4ZXAAoJEEzhh34ZQ4xwVK0IALB7ifzHAPRhswrk03/gFVrG
-gdof5kb3LLCzmm+jv7M6lVC1nq9LXAJYbXdfnxN1ya0zBiVSQXJtjqlYB4box0lx
-IUVajMZnjz4K9jofRv6g7fH5AQiDqN4J4dhzEzmlPhC8siUBY2FwSyQx/i3q1YGT
-8ZbRmVNn5/7Tjfly6942EIX0NIt7KL9vKVNJpdKlE0nwu4wVBX9osHH+F7vNYunM
-SIkp3+nVi8Z4TqDzQ00FYI1c/WMP34rK8t6jduzmd+7wv9e3W5dFG+7cz08dTlWz
-WdZPF1PWztUm6r+kvB66E0BlS+5ShB/g1l5Ez8SgQXJ2gY26vDrFTDpLPs8/1Dg=
-=ZSOj
+iQEcBAEBCgAGBQJeMNhDAAoJEEzhh34ZQ4xwip4H/js1L3vQW8XAqLCxyk8q7fvk
+1CeS/NsSlWA3V2PVdZa17WDhdIZ6I8gWPrdpP9EAg/9QKDBSUqLrqLjxUDuW+ht8
+PHWukOp0PkJB2Wbgs2uQTNvpT1FW81yAoNUA1o+616/UYOks5TkdwgDFQfBF0foq
+HWZXjoud9RdhsVX+jufQf/TKr9FRzHTsV+0BPAsguRjUhcECTIScC/iZge8N1SlA
++JU/gaHzMsIJ43zqrl+TbSLMfI2KqX0fJlTWDw21k6rIbmpM4OeAaR5Z8WMjNJ1V
+ik42w6es1tIHaGdIT8j+u6iwahmEPc/PlzabmABntjzmQY45dJbXbdZkZwZgicI=
+=gbZV
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index 02178b92d2..4467d0d56d 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/files.csv.lzma b/systems/win32/miktex/tm/packages/files.csv.lzma
index dd4ddf89aa..ca9ab24da4 100644
--- a/systems/win32/miktex/tm/packages/files.csv.lzma
+++ b/systems/win32/miktex/tm/packages/files.csv.lzma
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/next/files.csv.lzma b/systems/win32/miktex/tm/packages/next/files.csv.lzma
index 55c829089c..2da3c69dc7 100644
--- a/systems/win32/miktex/tm/packages/next/files.csv.lzma
+++ b/systems/win32/miktex/tm/packages/next/files.csv.lzma
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini
index a5f0e582cc..6d1a131371 100644
--- a/systems/win32/miktex/tm/packages/next/pr.ini
+++ b/systems/win32/miktex/tm/packages/next/pr.ini
@@ -2,9 +2,9 @@
[repository]
-date=1580246105
+date=1580332566
lastupd=miktex-arctrl-bin-2.9 miktex-arctrl-bin-x64-2.9 miktex-asymptote-bin-2.9 miktex-asymptote-bin-x64-2.9 miktex-autosp-bin-2.9 miktex-autosp-bin-x64-2.9 miktex-axohelp-bin-2.9 miktex-axohelp-bin-x64-2.9 miktex-bibarts-bin-2.9 miktex-bibarts-bin-x64-2.9 miktex-bibtex-bin-2.9 miktex-bibtex-bin-x64-2.9 miktex-bibtex8bit-bin-2.9 miktex-bibtex8bit-bin-x64-2.9 miktex-bzip2-bin-2.9 miktex-bzip2-bin-x64-2.9 miktex-cairo-bin-2.9 miktex-cairo-bin-x64-2.9 miktex-chktex-bin-2.9 miktex-chktex-bin-x64-2.9
-lstdigest=8b88ae5ad30ea61d5f32ea1edf19480a
-numpkg=3698
+lstdigest=89b84b97ed552685aa5ee41819f159fa
+numpkg=3850
relstate=next
-version=7332
+version=7333
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index f0d2d4fe55..f1a3808e39 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -2,9 +2,9 @@
[repository]
-date=1580245892
-lastupd=mcf2graph newtx physconst acro asmeconf colortbl domitian epstopdf-pkg fontspec miktex-misc miktex-tex4ht tex4ht tkz-base tkz-euclide url wasy wasy-type1 xcharter xurl circuitikz
-lstdigest=e348f7b177b5d4443a504c620b7114e3
-numpkg=3846
+date=1580332286
+lastupd=biblatex-oxref fmtcount hycolor knowledge luatexja media9 metafont modes nwejm pdfpages physconst physunits tuda-ci mcf2graph newtx acro asmeconf colortbl domitian epstopdf-pkg
+lstdigest=1768d31ca890b73b02e10cb5fc5217c0
+numpkg=3848
relstate=stable
-version=7332
+version=7333
diff --git a/systems/win32/w32tex/ChangeLog b/systems/win32/w32tex/ChangeLog
index 03662e3f29..985d125ccb 100644
--- a/systems/win32/w32tex/ChangeLog
+++ b/systems/win32/w32tex/ChangeLog
@@ -1,5 +1,14 @@
W32TeX (x86 & x64) ChangeLog
+[2020/01/28]
+(01) biblatex-biber.tar.xz
+ Update biblatex-oxref.
+(02) luatexja.tar.xz
+ Update luatex-ja.
+(03) qpdf-w32.tar.xz
+ Update qpdf (9.1.1). fix-qdf.exe is now a pure exe file.
+ Previously it was a wrapper for a perl script.
+
[2020/01/27]
(01) context.tar.xz
ConTeXt version: 2020.01.26 18:34.
diff --git a/timestamp b/timestamp
index 7dd85e76f6..1660adcb5c 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2020-01-29-02-02
+2020-01-30-02-02