summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FILES.byname1122
-rw-r--r--FILES.byname.gzbin2312881 -> 2313016 bytes
-rw-r--r--FILES.last07days1006
-rw-r--r--macros/latex/contrib/acmart/README8
-rw-r--r--macros/latex/contrib/acmart/acmart.dtx71
-rw-r--r--macros/latex/contrib/acmart/acmart.pdfbin838066 -> 842246 bytes
-rw-r--r--macros/latex/contrib/acmart/acmguide.pdfbin413166 -> 414201 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmlarge.pdfbin586356 -> 586372 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdfbin1030676 -> 1030499 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdfbin598701 -> 598702 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmsmall.pdfbin596222 -> 596225 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmtog.pdfbin543920 -> 543905 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-authordraft.pdfbin1022847 -> 1022861 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-lualatex.pdfbin768548 -> 768566 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-manuscript.pdfbin598262 -> 598279 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-sigconf.pdfbin1019039 -> 1019048 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-sigplan.pdfbin1028132 -> 1028143 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-xelatex.pdfbin653950 -> 653971 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/samples.dtx15
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx73
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin312209 -> 312353 bytes
-rw-r--r--macros/latex/contrib/fontsize/fontsize.dtx56
-rw-r--r--macros/latex/contrib/fontsize/fontsize.pdfbin405591 -> 378517 bytes
-rw-r--r--macros/latex/contrib/projlib/ProjLib-doc-cn.pdfbin222025 -> 222934 bytes
-rw-r--r--macros/latex/contrib/projlib/ProjLib-doc-cn.tex16
-rw-r--r--macros/latex/contrib/projlib/ProjLib-doc-en.pdfbin145010 -> 143188 bytes
-rw-r--r--macros/latex/contrib/projlib/ProjLib-doc-en.tex24
-rw-r--r--macros/latex/contrib/projlib/ProjLib.dtx94
-rw-r--r--macros/latex/contrib/siunitx/CHANGELOG.md12
-rw-r--r--macros/latex/contrib/siunitx/siunitx-code.pdfbin1441368 -> 1441845 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx-number.dtx35
-rw-r--r--macros/latex/contrib/siunitx/siunitx-table.dtx14
-rw-r--r--macros/latex/contrib/siunitx/siunitx.dtx2
-rw-r--r--macros/latex/contrib/siunitx/siunitx.pdfbin605429 -> 605308 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx.tex15
-rw-r--r--macros/latex/contrib/tiscreen/README5
-rw-r--r--macros/latex/contrib/tiscreen/doc/tiscreen-doc.pdfbin122211 -> 121968 bytes
-rw-r--r--macros/latex/contrib/tiscreen/doc/tiscreen-doc.tex2
-rw-r--r--macros/latex/contrib/tiscreen/tex/tiscreen.sty5
-rw-r--r--macros/luatex/generic/lualibs/NEWS2
-rw-r--r--macros/luatex/generic/lualibs/README.md6
-rw-r--r--macros/luatex/generic/lualibs/lualibs-basic-merged.lua28
-rw-r--r--macros/luatex/generic/lualibs/lualibs-extended-merged.lua60
-rw-r--r--macros/luatex/generic/lualibs/lualibs-lpeg.lua2
-rw-r--r--macros/luatex/generic/lualibs/lualibs-number.lua52
-rw-r--r--macros/luatex/generic/lualibs/lualibs-os.lua2
-rw-r--r--macros/luatex/generic/lualibs/lualibs-package.lua22
-rw-r--r--macros/luatex/generic/lualibs/lualibs-trac-inf.lua2
-rw-r--r--macros/luatex/generic/lualibs/lualibs-url.lua100
-rw-r--r--macros/luatex/generic/lualibs/lualibs-util-str.lua70
-rw-r--r--macros/luatex/generic/lualibs/lualibs.dtx35
-rw-r--r--macros/luatex/generic/lualibs/lualibs.pdfbin81487 -> 81627 bytes
-rw-r--r--macros/luatex/generic/luaotfload/NEWS6
-rw-r--r--macros/luatex/generic/luaotfload/README.md4
-rw-r--r--macros/luatex/generic/luaotfload/filegraph.pdfbin41362 -> 40024 bytes
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-2021-05-20.lua (renamed from macros/luatex/generic/luaotfload/fontloader-2021-01-07.lua)1360
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-basics-nod.lua221
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-cff.lua43
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-imp-effects.lua172
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-ocl.lua27
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-one.lua1
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-osd.lua28
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-ota.lua10
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-otj.lua115
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-otl.lua3
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-otr.lua4
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-ots.lua740
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-ott.lua6
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-oup.lua91
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-shp.lua2
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-fonts-gbn.lua44
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-l-lpeg.lua2
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-reference.lua1250
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-util-str.lua70
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-case-el.lua294
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-colors.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-conf.pdfbin78522 -> 77497 bytes
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-configuration.lua6
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-database.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua6
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-dvi.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-embolden.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-fakesc.lua204
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-fallback.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-features.lua15
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-filelist.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-harf-define.lua24
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua47
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-init.lua6
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-latex.pdfbin501958 -> 494977 bytes
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-letterspace.lua28
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-loaders.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-log.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-main.tex10
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-multiscript.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-notdef.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-parsers.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-resolvers.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-scripts.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-status.lua100
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-suppress.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-szss.lua5
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tool.17
-rwxr-xr-x[-rw-r--r--]macros/luatex/generic/luaotfload/luaotfload-tool.lua58
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tool.pdfbin78960 -> 77067 bytes
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tool.rst8
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tounicode.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-unicode.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload.conf.52
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload.conf.rst4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload.sty2
-rw-r--r--macros/luatex/generic/luaotfload/scripts-demo.pdfbin21837 -> 21837 bytes
-rw-r--r--macros/luatex/generic/luaotfload/shaper-demo-graphite.pdfbin8559 -> 8559 bytes
-rw-r--r--macros/luatex/generic/luaotfload/shaper-demo.pdfbin8479 -> 8479 bytes
-rw-r--r--macros/luatex/generic/luatexja/README8
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja-en.pdfbin693538 -> 693535 bytes
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja-ja.pdfbin1130313 -> 1130307 bytes
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-inputbuf.lua8
-rw-r--r--macros/luatex/generic/luatexja/src/luatexja-core.sty4
-rw-r--r--macros/luatex/generic/luatexja/src/luatexja.sty4
-rw-r--r--macros/unicodetex/latex/aalok/README.txt4
-rw-r--r--macros/unicodetex/latex/aalok/aalok.dtx88
-rw-r--r--macros/unicodetex/latex/aalok/aalok.ins14
-rw-r--r--macros/unicodetex/latex/aalok/aalok.pdfbin178189 -> 153734 bytes
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl1
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb190
-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.xzbin2308404 -> 2307008 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/pr.ini8
-rw-r--r--systems/win32/miktex/tm/packages/pr.ini8
-rw-r--r--timestamp2
136 files changed, 4336 insertions, 4078 deletions
diff --git a/FILES.byname b/FILES.byname
index dd37f2266f..53c6d237b1 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -5087,7 +5087,7 @@
1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
-2021/05/20 | 179405 | FILES.last07days
+2021/05/21 | 164869 | FILES.last07days
2020/08/14 | 104065 | fonts/academicons/academicons.pdf
2020/08/14 | 17247 | fonts/academicons/academicons.sty
2020/08/14 | 6546 | fonts/academicons/academicons.tex
@@ -149591,9 +149591,9 @@
2019/12/12 | 3088 | info/biblio/texnique.ltx
1999/02/20 | 312 | info/biblio/tugbib2.ltx
1999/02/20 | 315 | info/biblio/tugbib.ltx
-2021/05/12 | 3711647 | info/biblio/tugboat.bib
+2021/05/20 | 3744372 | info/biblio/tugboat.bib
2020/08/07 | 136241 | info/biblio/tugboat.def
-2021/05/12 | 3573 | info/biblio/tugboat.ltx
+2021/05/20 | 3573 | info/biblio/tugboat.ltx
2014/08/12 | 20186 | info/biblio/type.bib
2019/12/12 | 2025 | info/biblio/type.ltx
2021/03/18 | 1159806 | info/biblio/typeset.bib
@@ -173017,7 +173017,7 @@
2012/09/24 | 130991 | install/macros/latex/contrib/scrjrnl.tds.zip
2020/02/15 | 1097592 | install/macros/latex/contrib/sdaps.tds.zip
2019/12/10 | 544332 | install/macros/latex/contrib/selinput.tds.zip
-2021/05/20 | 2198038 | install/macros/latex/contrib/siunitx.tds.zip
+2021/05/21 | 2199205 | install/macros/latex/contrib/siunitx.tds.zip
2019/10/15 | 315856 | install/macros/latex/contrib/skmath.tds.zip
2019/10/16 | 345652 | install/macros/latex/contrib/skrapport.tds.zip
2019/12/15 | 357584 | install/macros/latex/contrib/soulutf8.tds.zip
@@ -173092,9 +173092,9 @@
2020/10/01 | 6964612 | install/macros/latex/required/latex-tools.tds.zip
2016/09/02 | 108688 | install/macros/luatex/generic/cstypo.tds.zip
2015/10/01 | 154538 | install/macros/luatex/generic/ctablestack.tds.zip
-2020/12/31 | 273393 | install/macros/luatex/generic/lualibs.tds.zip
+2021/05/21 | 273734 | install/macros/luatex/generic/lualibs.tds.zip
2021/03/11 | 196753 | install/macros/luatex/generic/luamplib.tds.zip
-2021/01/16 | 1950415 | install/macros/luatex/generic/luaotfload.tds.zip
+2021/05/21 | 1936005 | install/macros/luatex/generic/luaotfload.tds.zip
2015/10/04 | 277014 | install/macros/luatex/generic/luatexbase.tds.zip
2020/03/23 | 891718 | install/macros/luatex/latex/arabluatex.tds.zip
2021/04/02 | 847322 | install/macros/luatex/latex/ekdosis.tds.zip
@@ -186214,7 +186214,7 @@
2013/04/01 | 14776 | macros/context/contrib/context-visualcounter/tex/context/third/visualcounter/t-visualcounter.mkvi
2018/03/05 | 11 | macros/context/contrib/context-visualcounter/VERSION
2018/03/22 | 276789 | macros/context/contrib/context-visualcounter.zip
-2021/05/19 | 122787952 | macros/context/latest/cont-tmf.zip
+2021/05/20 | 122787914 | macros/context/latest/cont-tmf.zip
2016/04/21 | 32846 | macros/cstex/base/cmexb.tar.gz
2016/06/26 | 1728262 | macros/cstex/base/csfonts-t1.tar.gz
2007/03/01 | 187106 | macros/cstex/base/csfonts.tar.gz
@@ -189536,33 +189536,33 @@
2021/01/20 | 1333 | macros/latex/contrib/achemso/README.md
2021/01/20 | 893802 | macros/latex/contrib/achemso.zip
2019/12/16 | 2608 | macros/latex/contrib/acmart/acmart.bib
-2021/04/17 | 247596 | macros/latex/contrib/acmart/acmart.dtx
-2019/04/21 | 1016 | macros/latex/contrib/acmart/acmart.ins
-2021/04/17 | 838066 | macros/latex/contrib/acmart/acmart.pdf
-2021/04/17 | 413166 | macros/latex/contrib/acmart/acmguide.pdf
+2021/05/20 | 249884 | macros/latex/contrib/acmart/acmart.dtx
+2021/05/20 | 1016 | macros/latex/contrib/acmart/acmart.ins
+2021/05/20 | 842246 | macros/latex/contrib/acmart/acmart.pdf
+2021/05/20 | 414201 | macros/latex/contrib/acmart/acmguide.pdf
2017/10/14 | 18425 | macros/latex/contrib/acmart/ACM-Reference-Format.bbx
2021/02/08 | 89940 | macros/latex/contrib/acmart/ACM-Reference-Format.bst
2017/10/02 | 100 | macros/latex/contrib/acmart/ACM-Reference-Format.cbx
2017/10/02 | 647 | macros/latex/contrib/acmart/ACM-Reference-Format.dbx
-2020/05/03 | 3312 | macros/latex/contrib/acmart/Makefile
-2021/04/17 | 10861 | macros/latex/contrib/acmart/README
-2021/04/17 | 586356 | macros/latex/contrib/acmart/samples/sample-acmlarge.pdf
-2021/04/17 | 1030676 | macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf
-2021/04/17 | 596222 | macros/latex/contrib/acmart/samples/sample-acmsmall.pdf
-2021/04/17 | 598701 | macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf
-2021/04/17 | 543920 | macros/latex/contrib/acmart/samples/sample-acmtog.pdf
-2021/04/17 | 1022847 | macros/latex/contrib/acmart/samples/sample-authordraft.pdf
+2021/05/20 | 3312 | macros/latex/contrib/acmart/Makefile
+2021/05/20 | 11035 | macros/latex/contrib/acmart/README
+2021/05/20 | 586372 | macros/latex/contrib/acmart/samples/sample-acmlarge.pdf
+2021/05/20 | 1030499 | macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf
+2021/05/20 | 596225 | macros/latex/contrib/acmart/samples/sample-acmsmall.pdf
+2021/05/20 | 598702 | macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf
+2021/05/20 | 543905 | macros/latex/contrib/acmart/samples/sample-acmtog.pdf
+2021/05/20 | 1022861 | macros/latex/contrib/acmart/samples/sample-authordraft.pdf
2020/05/02 | 53269 | macros/latex/contrib/acmart/samples/sample-base.bib
2018/12/30 | 95030 | macros/latex/contrib/acmart/samples/sample-franklin.png
-2021/04/17 | 768548 | macros/latex/contrib/acmart/samples/sample-lualatex.pdf
-2021/04/17 | 598262 | macros/latex/contrib/acmart/samples/sample-manuscript.pdf
-2020/09/08 | 31057 | macros/latex/contrib/acmart/samples/samples.dtx
-2021/04/17 | 1019039 | macros/latex/contrib/acmart/samples/sample-sigconf.pdf
-2021/04/17 | 1028132 | macros/latex/contrib/acmart/samples/sample-sigplan.pdf
-2020/06/14 | 795 | macros/latex/contrib/acmart/samples/samples.ins
+2021/05/20 | 768566 | macros/latex/contrib/acmart/samples/sample-lualatex.pdf
+2021/05/20 | 598279 | macros/latex/contrib/acmart/samples/sample-manuscript.pdf
+2021/05/20 | 31368 | macros/latex/contrib/acmart/samples/samples.dtx
+2021/05/20 | 1019048 | macros/latex/contrib/acmart/samples/sample-sigconf.pdf
+2021/05/20 | 1028143 | macros/latex/contrib/acmart/samples/sample-sigplan.pdf
+2021/05/20 | 795 | macros/latex/contrib/acmart/samples/samples.ins
2020/10/26 | 439021 | macros/latex/contrib/acmart/samples/sampleteaser.pdf
-2021/04/17 | 653950 | macros/latex/contrib/acmart/samples/sample-xelatex.pdf
-2021/04/17 | 9895469 | macros/latex/contrib/acmart.zip
+2021/05/20 | 653971 | macros/latex/contrib/acmart/samples/sample-xelatex.pdf
+2021/05/21 | 9901036 | macros/latex/contrib/acmart.zip
2000/05/18 | 66049 | macros/latex/contrib/acmconf/acmconf.dtx
2000/05/18 | 4408 | macros/latex/contrib/acmconf/acmconf.ins
2008/05/14 | 96012 | macros/latex/contrib/acmconf/acmconf.pdf
@@ -197369,11 +197369,11 @@
2008/02/10 | 19110 | macros/latex/contrib/ean13isbn/License.txt
2021/01/24 | 422 | macros/latex/contrib/ean13isbn/README
2021/01/24 | 322624 | macros/latex/contrib/ean13isbn.zip
-2021/05/19 | 124513 | macros/latex/contrib/easybook/easybook.dtx
+2021/05/21 | 124455 | macros/latex/contrib/easybook/easybook.dtx
2021/05/12 | 673 | macros/latex/contrib/easybook/easybook.ins
-2021/05/19 | 312209 | macros/latex/contrib/easybook/easybook.pdf
+2021/05/21 | 312353 | macros/latex/contrib/easybook/easybook.pdf
2021/05/15 | 3043 | macros/latex/contrib/easybook/README.md
-2021/05/19 | 343655 | macros/latex/contrib/easybook.zip
+2021/05/21 | 343784 | macros/latex/contrib/easybook.zip
2009/06/17 | 82589 | macros/latex/contrib/easy/doc/docbib.pdf
2009/06/17 | 78378 | macros/latex/contrib/easy/doc/docbmat.pdf
2009/06/17 | 99132 | macros/latex/contrib/easy/doc/doceqn.pdf
@@ -199884,10 +199884,10 @@
2020/07/21 | 126590 | macros/latex/contrib/fontaxes/fontaxes.pdf
2014/03/23 | 1645 | macros/latex/contrib/fontaxes/README
2020/07/22 | 137019 | macros/latex/contrib/fontaxes.zip
-2021/04/18 | 74953 | macros/latex/contrib/fontsize/fontsize.dtx
-2021/04/18 | 405591 | macros/latex/contrib/fontsize/fontsize.pdf
-2021/04/18 | 1511 | macros/latex/contrib/fontsize/README
-2021/04/18 | 414041 | macros/latex/contrib/fontsize.zip
+2021/05/21 | 75912 | macros/latex/contrib/fontsize/fontsize.dtx
+2021/05/21 | 378517 | macros/latex/contrib/fontsize/fontsize.pdf
+2021/05/21 | 1511 | macros/latex/contrib/fontsize/README
+2021/05/21 | 387444 | macros/latex/contrib/fontsize.zip
2017/07/14 | 46046 | macros/latex/contrib/fonttable/fonttable.dtx
2017/07/14 | 2505 | macros/latex/contrib/fonttable/fonttable.ins
2017/07/14 | 309980 | macros/latex/contrib/fonttable/fonttable.pdf
@@ -209147,14 +209147,14 @@
2003/07/02 | 413 | macros/latex/contrib/progress/README
2006/05/20 | 88703 | macros/latex/contrib/progress.zip
2021/05/06 | 19106 | macros/latex/contrib/projlib/LICENSE
-2021/05/19 | 222025 | macros/latex/contrib/projlib/ProjLib-doc-cn.pdf
-2021/05/19 | 19058 | macros/latex/contrib/projlib/ProjLib-doc-cn.tex
-2021/05/19 | 145010 | macros/latex/contrib/projlib/ProjLib-doc-en.pdf
-2021/05/19 | 20335 | macros/latex/contrib/projlib/ProjLib-doc-en.tex
-2021/05/19 | 41232 | macros/latex/contrib/projlib/ProjLib.dtx
+2021/05/20 | 222934 | macros/latex/contrib/projlib/ProjLib-doc-cn.pdf
+2021/05/20 | 19479 | macros/latex/contrib/projlib/ProjLib-doc-cn.tex
+2021/05/20 | 143188 | macros/latex/contrib/projlib/ProjLib-doc-en.pdf
+2021/05/20 | 20758 | macros/latex/contrib/projlib/ProjLib-doc-en.tex
+2021/05/21 | 44027 | macros/latex/contrib/projlib/ProjLib.dtx
2021/05/19 | 2842 | macros/latex/contrib/projlib/ProjLib.ins
2021/05/19 | 3174 | macros/latex/contrib/projlib/README.md
-2021/05/19 | 388889 | macros/latex/contrib/projlib.zip
+2021/05/21 | 388666 | macros/latex/contrib/projlib.zip
2019/05/22 | 116402 | macros/latex/contrib/proof-at-the-end/proof-at-the-end_demo.pdf
2019/05/22 | 8959 | macros/latex/contrib/proof-at-the-end/proof-at-the-end_demo.tex
2019/05/22 | 49789 | macros/latex/contrib/proof-at-the-end/proof-at-the-end.dtx
@@ -211625,33 +211625,33 @@
2007/12/02 | 2971 | macros/latex/contrib/SIunits/SIunits.ins
2007/12/02 | 328621 | macros/latex/contrib/SIunits/SIunits.pdf
2007/12/02 | 296391 | macros/latex/contrib/SIunits.zip
-2021/05/20 | 39119 | macros/latex/contrib/siunitx/CHANGELOG.md
-2021/05/20 | 964 | macros/latex/contrib/siunitx/README.md
-2021/05/20 | 10106 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
-2021/05/20 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
-2021/05/20 | 16529 | macros/latex/contrib/siunitx/siunitx-angle.dtx
-2021/05/20 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
-2021/05/20 | 2883 | macros/latex/contrib/siunitx/siunitx-binary.dtx
-2021/05/20 | 1441368 | macros/latex/contrib/siunitx/siunitx-code.pdf
-2021/05/20 | 2426 | macros/latex/contrib/siunitx/siunitx-code.tex
-2021/05/20 | 8762 | macros/latex/contrib/siunitx/siunitx-command.dtx
-2021/05/20 | 25719 | macros/latex/contrib/siunitx/siunitx-complex.dtx
-2021/05/20 | 31368 | macros/latex/contrib/siunitx/siunitx-compound.dtx
-2021/05/20 | 19541 | macros/latex/contrib/siunitx/siunitx.dtx
-2021/05/20 | 27620 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
-2021/05/20 | 3687 | macros/latex/contrib/siunitx/siunitx.ins
-2021/05/20 | 4629 | macros/latex/contrib/siunitx/siunitx-locale.dtx
-2021/05/20 | 113474 | macros/latex/contrib/siunitx/siunitx-number.dtx
-2021/05/20 | 605429 | macros/latex/contrib/siunitx/siunitx.pdf
-2021/05/20 | 31335 | macros/latex/contrib/siunitx/siunitx-print.dtx
-2021/05/20 | 14351 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
-2021/05/20 | 10045 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
-2021/05/20 | 47494 | macros/latex/contrib/siunitx/siunitx-table.dtx
-2021/05/20 | 138635 | macros/latex/contrib/siunitx/siunitx.tex
-2021/05/20 | 96848 | macros/latex/contrib/siunitx/siunitx-unit.dtx
-2021/05/20 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
-2021/05/20 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
-2021/05/20 | 2160773 | macros/latex/contrib/siunitx.zip
+2021/05/21 | 39406 | macros/latex/contrib/siunitx/CHANGELOG.md
+2021/05/21 | 964 | macros/latex/contrib/siunitx/README.md
+2021/05/21 | 10106 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
+2021/05/21 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
+2021/05/21 | 16529 | macros/latex/contrib/siunitx/siunitx-angle.dtx
+2021/05/21 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
+2021/05/21 | 2883 | macros/latex/contrib/siunitx/siunitx-binary.dtx
+2021/05/21 | 1441845 | macros/latex/contrib/siunitx/siunitx-code.pdf
+2021/05/21 | 2426 | macros/latex/contrib/siunitx/siunitx-code.tex
+2021/05/21 | 8762 | macros/latex/contrib/siunitx/siunitx-command.dtx
+2021/05/21 | 25719 | macros/latex/contrib/siunitx/siunitx-complex.dtx
+2021/05/21 | 31368 | macros/latex/contrib/siunitx/siunitx-compound.dtx
+2021/05/21 | 19541 | macros/latex/contrib/siunitx/siunitx.dtx
+2021/05/21 | 27620 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
+2021/05/21 | 3687 | macros/latex/contrib/siunitx/siunitx.ins
+2021/05/21 | 4629 | macros/latex/contrib/siunitx/siunitx-locale.dtx
+2021/05/21 | 113800 | macros/latex/contrib/siunitx/siunitx-number.dtx
+2021/05/21 | 605308 | macros/latex/contrib/siunitx/siunitx.pdf
+2021/05/21 | 31335 | macros/latex/contrib/siunitx/siunitx-print.dtx
+2021/05/21 | 14351 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
+2021/05/21 | 10045 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
+2021/05/21 | 47497 | macros/latex/contrib/siunitx/siunitx-table.dtx
+2021/05/21 | 138579 | macros/latex/contrib/siunitx/siunitx.tex
+2021/05/21 | 96848 | macros/latex/contrib/siunitx/siunitx-unit.dtx
+2021/05/21 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
+2021/05/21 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
+2021/05/21 | 2161925 | macros/latex/contrib/siunitx.zip
2011/06/03 | 662398 | macros/latex/contrib/skb/doc/skb.pdf
2011/03/15 | 1485 | macros/latex/contrib/skb/doc/user-guide/database/acronyms.tex
2011/03/15 | 722 | macros/latex/contrib/skb/doc/user-guide/database/bibliography.tex
@@ -214204,11 +214204,11 @@
1994/05/15 | 7262 | macros/latex/contrib/timing/timing.sty
1994/05/17 | 9458 | macros/latex/contrib/timing/timing.tex
2005/06/28 | 106439 | macros/latex/contrib/timing.zip
-2021/05/17 | 122211 | macros/latex/contrib/tiscreen/doc/tiscreen-doc.pdf
-2021/05/17 | 2948 | macros/latex/contrib/tiscreen/doc/tiscreen-doc.tex
-2021/05/17 | 476 | macros/latex/contrib/tiscreen/README
-2021/05/17 | 1071 | macros/latex/contrib/tiscreen/tex/tiscreen.sty
-2021/05/17 | 123749 | macros/latex/contrib/tiscreen.zip
+2021/05/21 | 121968 | macros/latex/contrib/tiscreen/doc/tiscreen-doc.pdf
+2021/05/21 | 2964 | macros/latex/contrib/tiscreen/doc/tiscreen-doc.tex
+2021/05/21 | 549 | macros/latex/contrib/tiscreen/README
+2021/05/18 | 1325 | macros/latex/contrib/tiscreen/tex/tiscreen.sty
+2021/05/21 | 123718 | macros/latex/contrib/tiscreen.zip
2013/04/11 | 447 | macros/latex/contrib/titlecaps/README
2015/01/30 | 272789 | macros/latex/contrib/titlecaps/titlecaps.pdf
2015/01/30 | 15251 | macros/latex/contrib/titlecaps/titlecaps.sty
@@ -222593,44 +222593,44 @@
2021/01/18 | 1271 | macros/luatex/generic/luakeys/README.md
2021/01/18 | 145359 | macros/luatex/generic/luakeys.zip
2020/01/09 | 18092 | macros/luatex/generic/lualibs/LICENSE
-2020/12/31 | 131468 | macros/luatex/generic/lualibs/lualibs-basic-merged.lua
+2021/05/21 | 131865 | macros/luatex/generic/lualibs/lualibs-basic-merged.lua
2020/01/09 | 1850 | macros/luatex/generic/lualibs/lualibs-boolean.lua
2020/01/09 | 603 | macros/luatex/generic/lualibs/lualibs-compat.lua
2020/01/09 | 18253 | macros/luatex/generic/lualibs/lualibs-dir.lua
-2020/12/31 | 27850 | macros/luatex/generic/lualibs/lualibs.dtx
-2020/12/31 | 110513 | macros/luatex/generic/lualibs/lualibs-extended-merged.lua
+2021/05/21 | 27823 | macros/luatex/generic/lualibs/lualibs.dtx
+2021/05/21 | 111260 | macros/luatex/generic/lualibs/lualibs-extended-merged.lua
2020/12/29 | 22175 | macros/luatex/generic/lualibs/lualibs-file.lua
2020/01/09 | 361 | macros/luatex/generic/lualibs/lualibs-function.lua
2020/12/29 | 5115 | macros/luatex/generic/lualibs/lualibs-gzip.lua
2020/12/29 | 11829 | macros/luatex/generic/lualibs/lualibs-io.lua
-2020/12/30 | 38703 | macros/luatex/generic/lualibs/lualibs-lpeg.lua
-2020/12/30 | 6405 | macros/luatex/generic/lualibs/lualibs-lua.lua
+2021/05/21 | 38735 | macros/luatex/generic/lualibs/lualibs-lpeg.lua
+2020/12/31 | 6405 | macros/luatex/generic/lualibs/lualibs-lua.lua
2020/01/09 | 2555 | macros/luatex/generic/lualibs/lualibs-math.lua
2020/12/29 | 3414 | macros/luatex/generic/lualibs/lualibs-md5.lua
-2020/01/09 | 5720 | macros/luatex/generic/lualibs/lualibs-number.lua
-2020/12/31 | 19409 | macros/luatex/generic/lualibs/lualibs-os.lua
-2020/12/31 | 11969 | macros/luatex/generic/lualibs/lualibs-package.lua
-2020/12/31 | 81487 | macros/luatex/generic/lualibs/lualibs.pdf
+2021/05/21 | 4588 | macros/luatex/generic/lualibs/lualibs-number.lua
+2021/05/21 | 19410 | macros/luatex/generic/lualibs/lualibs-os.lua
+2021/05/21 | 12566 | macros/luatex/generic/lualibs/lualibs-package.lua
+2021/05/21 | 81627 | macros/luatex/generic/lualibs/lualibs.pdf
2020/01/09 | 1923 | macros/luatex/generic/lualibs/lualibs-set.lua
2020/01/09 | 6644 | macros/luatex/generic/lualibs/lualibs-string.lua
2020/12/29 | 41758 | macros/luatex/generic/lualibs/lualibs-table.lua
-2020/12/30 | 9781 | macros/luatex/generic/lualibs/lualibs-trac-inf.lua
+2021/05/21 | 9740 | macros/luatex/generic/lualibs/lualibs-trac-inf.lua
2020/12/31 | 41306 | macros/luatex/generic/lualibs/lualibs-unicode.lua
-2020/01/09 | 14755 | macros/luatex/generic/lualibs/lualibs-url.lua
+2021/05/21 | 14713 | macros/luatex/generic/lualibs/lualibs-url.lua
2020/01/09 | 10136 | macros/luatex/generic/lualibs/lualibs-util-deb.lua
2020/12/31 | 13625 | macros/luatex/generic/lualibs/lualibs-util-dim.lua
2020/01/09 | 9034 | macros/luatex/generic/lualibs/lualibs-util-fil.lua
2020/01/09 | 16190 | macros/luatex/generic/lualibs/lualibs-util-jsn.lua
2020/01/09 | 7149 | macros/luatex/generic/lualibs/lualibs-util-lua.lua
-2020/12/30 | 24683 | macros/luatex/generic/lualibs/lualibs-util-prs.lua
+2020/12/31 | 24683 | macros/luatex/generic/lualibs/lualibs-util-prs.lua
2020/12/29 | 9412 | macros/luatex/generic/lualibs/lualibs-util-sta.lua
2020/01/09 | 6661 | macros/luatex/generic/lualibs/lualibs-util-sto.lua
-2020/12/30 | 43947 | macros/luatex/generic/lualibs/lualibs-util-str.lua
-2020/12/30 | 32815 | macros/luatex/generic/lualibs/lualibs-util-tab.lua
+2021/05/21 | 45129 | macros/luatex/generic/lualibs/lualibs-util-str.lua
+2020/12/31 | 32815 | macros/luatex/generic/lualibs/lualibs-util-tab.lua
2020/01/09 | 7722 | macros/luatex/generic/lualibs/lualibs-util-tpl.lua
-2020/12/31 | 3049 | macros/luatex/generic/lualibs/NEWS
-2020/12/31 | 4740 | macros/luatex/generic/lualibs/README.md
-2020/12/31 | 265702 | macros/luatex/generic/lualibs.zip
+2021/05/21 | 3141 | macros/luatex/generic/lualibs/NEWS
+2021/05/21 | 4740 | macros/luatex/generic/lualibs/README.md
+2021/05/21 | 266042 | macros/luatex/generic/lualibs.zip
2021/03/11 | 92826 | macros/luatex/generic/luamplib/luamplib.dtx
2021/03/11 | 150094 | macros/luatex/generic/luamplib/luamplib.pdf
2021/03/11 | 2752 | macros/luatex/generic/luamplib/Makefile
@@ -222639,122 +222639,120 @@
2021/03/11 | 4016 | macros/luatex/generic/luamplib/test-luamplib-latex.tex
2021/03/11 | 3872 | macros/luatex/generic/luamplib/test-luamplib-plain.tex
2021/03/11 | 182464 | macros/luatex/generic/luamplib.zip
-2021/01/16 | 18714 | macros/luatex/generic/luaotfload/COPYING
-2021/01/16 | 41362 | macros/luatex/generic/luaotfload/filegraph.pdf
-2021/01/16 | 8597 | macros/luatex/generic/luaotfload/filegraph.tex
-2021/01/16 | 863258 | macros/luatex/generic/luaotfload/fontloader-2021-01-07.lua
-2021/01/16 | 46091 | macros/luatex/generic/luaotfload/fontloader-basics-chr.lua
-2021/01/16 | 12745 | macros/luatex/generic/luaotfload/fontloader-basics-gen.lua
-2021/01/16 | 10064 | macros/luatex/generic/luaotfload/fontloader-basics-nod.lua
-2021/01/16 | 5388 | macros/luatex/generic/luaotfload/fontloader-data-con.lua
-2021/01/16 | 6866 | macros/luatex/generic/luaotfload/fontloader-font-afk.lua
-2021/01/16 | 90063 | macros/luatex/generic/luaotfload/fontloader-font-cff.lua
-2021/01/16 | 5502 | macros/luatex/generic/luaotfload/fontloader-font-cid.lua
-2021/01/16 | 63211 | macros/luatex/generic/luaotfload/fontloader-font-con.lua
-2021/01/16 | 19944 | macros/luatex/generic/luaotfload/fontloader-font-def.lua
-2021/01/16 | 154135 | macros/luatex/generic/luaotfload/fontloader-font-dsp.lua
-2021/01/16 | 13977 | macros/luatex/generic/luaotfload/fontloader-font-imp-effects.lua
-2021/01/16 | 3693 | macros/luatex/generic/luaotfload/fontloader-font-imp-italics.lua
-2021/01/16 | 3580 | macros/luatex/generic/luaotfload/fontloader-font-imp-ligatures.lua
-2021/01/16 | 3406 | macros/luatex/generic/luaotfload/fontloader-font-imp-tex.lua
-2021/01/16 | 1794 | macros/luatex/generic/luaotfload/fontloader-font-ini.lua
-2021/01/16 | 1449 | macros/luatex/generic/luaotfload/fontloader-font-lua.lua
-2021/01/16 | 19570 | macros/luatex/generic/luaotfload/fontloader-font-map.lua
-2021/01/16 | 24566 | macros/luatex/generic/luaotfload/fontloader-font-ocl.lua
-2021/01/16 | 31298 | macros/luatex/generic/luaotfload/fontloader-font-one.lua
-2021/01/16 | 18717 | macros/luatex/generic/luaotfload/fontloader-font-onr.lua
-2021/01/16 | 107580 | macros/luatex/generic/luaotfload/fontloader-font-osd.lua
-2021/01/16 | 18421 | macros/luatex/generic/luaotfload/fontloader-font-ota.lua
-2021/01/16 | 31802 | macros/luatex/generic/luaotfload/fontloader-font-otc.lua
-2021/01/16 | 7904 | macros/luatex/generic/luaotfload/fontloader-font-oti.lua
-2021/01/16 | 65656 | macros/luatex/generic/luaotfload/fontloader-font-otj.lua
-2021/01/16 | 33035 | macros/luatex/generic/luaotfload/fontloader-font-otl.lua
-2021/01/16 | 22966 | macros/luatex/generic/luaotfload/fontloader-font-oto.lua
-2021/01/16 | 94470 | macros/luatex/generic/luaotfload/fontloader-font-otr.lua
-2021/01/16 | 182126 | macros/luatex/generic/luaotfload/fontloader-font-ots.lua
-2021/01/16 | 34862 | macros/luatex/generic/luaotfload/fontloader-font-ott.lua
-2021/01/16 | 117724 | macros/luatex/generic/luaotfload/fontloader-font-oup.lua
-2021/01/16 | 3821 | macros/luatex/generic/luaotfload/fontloader-fonts-def.lua
-2021/01/16 | 2315 | macros/luatex/generic/luaotfload/fontloader-fonts-enc.lua
-2021/01/16 | 7260 | macros/luatex/generic/luaotfload/fontloader-fonts-ext.lua
-2021/01/16 | 9875 | macros/luatex/generic/luaotfload/fontloader-fonts-gbn.lua
-2021/01/16 | 13500 | macros/luatex/generic/luaotfload/fontloader-font-shp.lua
-2021/01/16 | 57342 | macros/luatex/generic/luaotfload/fontloader-fonts-lig.lua
-2021/01/16 | 912 | macros/luatex/generic/luaotfload/fontloader-fonts-mis.lua
-2021/01/16 | 3674 | macros/luatex/generic/luaotfload/fontloader-fonts-syn.lua
-2021/01/16 | 23399 | macros/luatex/generic/luaotfload/fontloader-fonts-tfm.lua
-2021/01/16 | 59344 | macros/luatex/generic/luaotfload/fontloader-font-ttf.lua
-2021/01/16 | 2667 | macros/luatex/generic/luaotfload/fontloader-font-vfc.lua
-2021/01/16 | 1850 | macros/luatex/generic/luaotfload/fontloader-l-boolean.lua
-2021/01/16 | 22175 | macros/luatex/generic/luaotfload/fontloader-l-file.lua
-2021/01/16 | 361 | macros/luatex/generic/luaotfload/fontloader-l-function.lua
-2021/01/16 | 11829 | macros/luatex/generic/luaotfload/fontloader-l-io.lua
-2021/01/16 | 38703 | macros/luatex/generic/luaotfload/fontloader-l-lpeg.lua
-2021/01/16 | 6405 | macros/luatex/generic/luaotfload/fontloader-l-lua.lua
-2021/01/16 | 2555 | macros/luatex/generic/luaotfload/fontloader-l-math.lua
-2021/01/16 | 6644 | macros/luatex/generic/luaotfload/fontloader-l-string.lua
-2021/01/16 | 41758 | macros/luatex/generic/luaotfload/fontloader-l-table.lua
-2021/01/16 | 41303 | macros/luatex/generic/luaotfload/fontloader-l-unicode.lua
-2021/01/16 | 15196 | macros/luatex/generic/luaotfload/fontloader-reference-load-order.lua
-2021/01/16 | 5885 | macros/luatex/generic/luaotfload/fontloader-reference-load-order.tex
-2021/01/16 | 964175 | macros/luatex/generic/luaotfload/fontloader-reference.lua
-2021/01/16 | 11552 | macros/luatex/generic/luaotfload/fontloader-util-fil.lua
-2021/01/16 | 43947 | macros/luatex/generic/luaotfload/fontloader-util-str.lua
-2021/01/16 | 32597 | macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua
-2021/01/16 | 52 | macros/luatex/generic/luaotfload/luaotfload-blacklist.cnf
-2021/01/16 | 8121 | macros/luatex/generic/luaotfload/luaotfload-case-el.lua
-2021/01/16 | 6809 | macros/luatex/generic/luaotfload/luaotfload-case.lua
-2021/01/16 | 3287334 | macros/luatex/generic/luaotfload/luaotfload-characters.lua
-2021/01/16 | 15954 | macros/luatex/generic/luaotfload/luaotfload-colors.lua
-2021/01/16 | 16548 | macros/luatex/generic/luaotfload/luaotfload.conf.5
-2021/01/16 | 735 | macros/luatex/generic/luaotfload/luaotfload.conf.example
-2021/01/16 | 31151 | macros/luatex/generic/luaotfload/luaotfload-configuration.lua
-2021/01/16 | 78522 | macros/luatex/generic/luaotfload/luaotfload-conf.pdf
-2021/01/16 | 18074 | macros/luatex/generic/luaotfload/luaotfload.conf.rst
-2021/01/16 | 134863 | macros/luatex/generic/luaotfload/luaotfload-database.lua
-2021/01/16 | 21857 | macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua
-2021/01/16 | 4956 | macros/luatex/generic/luaotfload/luaotfload-dvi.lua
-2021/01/16 | 1004 | macros/luatex/generic/luaotfload/luaotfload-embolden.lua
-2021/01/16 | 8188 | macros/luatex/generic/luaotfload/luaotfload-fakesc.lua
-2021/01/16 | 4047 | macros/luatex/generic/luaotfload/luaotfload-fallback.lua
-2021/01/16 | 29002 | macros/luatex/generic/luaotfload/luaotfload-features.lua
-2021/01/16 | 25336 | macros/luatex/generic/luaotfload/luaotfload-filelist.lua
-2021/01/16 | 102502 | macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua
-2021/01/16 | 13468 | macros/luatex/generic/luaotfload/luaotfload-harf-define.lua
-2021/01/16 | 41599 | macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua
-2021/01/16 | 19547 | macros/luatex/generic/luaotfload/luaotfload-init.lua
-2021/01/16 | 501958 | macros/luatex/generic/luaotfload/luaotfload-latex.pdf
-2021/01/16 | 16675 | macros/luatex/generic/luaotfload/luaotfload-latex.tex
-2021/01/16 | 18645 | macros/luatex/generic/luaotfload/luaotfload-letterspace.lua
-2021/01/16 | 8840 | macros/luatex/generic/luaotfload/luaotfload-loaders.lua
-2021/01/16 | 11323 | macros/luatex/generic/luaotfload/luaotfload-log.lua
-2021/01/16 | 13788 | macros/luatex/generic/luaotfload/luaotfload.lua
-2021/01/16 | 275 | macros/luatex/generic/luaotfload/luaotfload-main.lua
-2021/01/16 | 98948 | macros/luatex/generic/luaotfload/luaotfload-main.tex
-2021/01/16 | 15068 | macros/luatex/generic/luaotfload/luaotfload-multiscript.lua
-2021/01/16 | 12224 | macros/luatex/generic/luaotfload/luaotfload-notdef.lua
-2021/01/16 | 30999 | macros/luatex/generic/luaotfload/luaotfload-parsers.lua
-2021/01/16 | 10984 | macros/luatex/generic/luaotfload/luaotfload-resolvers.lua
-2021/01/16 | 2506 | macros/luatex/generic/luaotfload/luaotfload-scripts.lua
-2021/01/16 | 6317 | macros/luatex/generic/luaotfload/luaotfload-status.lua
-2021/01/16 | 1812 | macros/luatex/generic/luaotfload/luaotfload.sty
-2021/01/16 | 2582 | macros/luatex/generic/luaotfload/luaotfload-suppress.lua
-2021/01/16 | 6259 | macros/luatex/generic/luaotfload/luaotfload-szss.lua
-2021/01/16 | 12707 | macros/luatex/generic/luaotfload/luaotfload-tool.1
-2021/01/16 | 52203 | macros/luatex/generic/luaotfload/luaotfload-tool.lua
-2021/01/16 | 78960 | macros/luatex/generic/luaotfload/luaotfload-tool.pdf
-2021/01/16 | 15940 | macros/luatex/generic/luaotfload/luaotfload-tool.rst
-2021/01/16 | 7528 | macros/luatex/generic/luaotfload/luaotfload-tounicode.lua
-2021/01/16 | 7589 | macros/luatex/generic/luaotfload/luaotfload-unicode.lua
-2021/01/16 | 20031 | macros/luatex/generic/luaotfload/NEWS
-2021/01/16 | 3784 | macros/luatex/generic/luaotfload/README.md
-2021/01/16 | 21837 | macros/luatex/generic/luaotfload/scripts-demo.pdf
-2021/01/16 | 699 | macros/luatex/generic/luaotfload/scripts-demo.tex
-2021/01/16 | 8559 | macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf
-2021/01/16 | 191 | macros/luatex/generic/luaotfload/shaper-demo-graphite.tex
-2021/01/16 | 8479 | macros/luatex/generic/luaotfload/shaper-demo.pdf
-2021/01/16 | 182 | macros/luatex/generic/luaotfload/shaper-demo.tex
-2021/01/16 | 1946587 | macros/luatex/generic/luaotfload.zip
+2021/05/21 | 18714 | macros/luatex/generic/luaotfload/COPYING
+2021/05/21 | 40024 | macros/luatex/generic/luaotfload/filegraph.pdf
+2021/05/21 | 8597 | macros/luatex/generic/luaotfload/filegraph.tex
+2021/05/21 | 864936 | macros/luatex/generic/luaotfload/fontloader-2021-05-20.lua
+2021/05/21 | 46091 | macros/luatex/generic/luaotfload/fontloader-basics-chr.lua
+2021/05/21 | 12745 | macros/luatex/generic/luaotfload/fontloader-basics-gen.lua
+2021/05/21 | 10200 | macros/luatex/generic/luaotfload/fontloader-basics-nod.lua
+2021/05/21 | 5388 | macros/luatex/generic/luaotfload/fontloader-data-con.lua
+2021/05/21 | 6866 | macros/luatex/generic/luaotfload/fontloader-font-afk.lua
+2021/05/21 | 91892 | macros/luatex/generic/luaotfload/fontloader-font-cff.lua
+2021/05/21 | 5502 | macros/luatex/generic/luaotfload/fontloader-font-cid.lua
+2021/05/21 | 63211 | macros/luatex/generic/luaotfload/fontloader-font-con.lua
+2021/05/21 | 19944 | macros/luatex/generic/luaotfload/fontloader-font-def.lua
+2021/05/21 | 154135 | macros/luatex/generic/luaotfload/fontloader-font-dsp.lua
+2021/05/21 | 12704 | macros/luatex/generic/luaotfload/fontloader-font-imp-effects.lua
+2021/05/21 | 3693 | macros/luatex/generic/luaotfload/fontloader-font-imp-italics.lua
+2021/05/21 | 3580 | macros/luatex/generic/luaotfload/fontloader-font-imp-ligatures.lua
+2021/05/21 | 3406 | macros/luatex/generic/luaotfload/fontloader-font-imp-tex.lua
+2021/05/21 | 1794 | macros/luatex/generic/luaotfload/fontloader-font-ini.lua
+2021/05/21 | 1449 | macros/luatex/generic/luaotfload/fontloader-font-lua.lua
+2021/05/21 | 19570 | macros/luatex/generic/luaotfload/fontloader-font-map.lua
+2021/05/21 | 25264 | macros/luatex/generic/luaotfload/fontloader-font-ocl.lua
+2021/05/21 | 31349 | macros/luatex/generic/luaotfload/fontloader-font-one.lua
+2021/05/21 | 18717 | macros/luatex/generic/luaotfload/fontloader-font-onr.lua
+2021/05/21 | 107562 | macros/luatex/generic/luaotfload/fontloader-font-osd.lua
+2021/05/21 | 18411 | macros/luatex/generic/luaotfload/fontloader-font-ota.lua
+2021/05/21 | 31802 | macros/luatex/generic/luaotfload/fontloader-font-otc.lua
+2021/05/21 | 7904 | macros/luatex/generic/luaotfload/fontloader-font-oti.lua
+2021/05/21 | 65279 | macros/luatex/generic/luaotfload/fontloader-font-otj.lua
+2021/05/21 | 33086 | macros/luatex/generic/luaotfload/fontloader-font-otl.lua
+2021/05/21 | 22966 | macros/luatex/generic/luaotfload/fontloader-font-oto.lua
+2021/05/21 | 94470 | macros/luatex/generic/luaotfload/fontloader-font-otr.lua
+2021/05/21 | 183595 | macros/luatex/generic/luaotfload/fontloader-font-ots.lua
+2021/05/21 | 34922 | macros/luatex/generic/luaotfload/fontloader-font-ott.lua
+2021/05/21 | 119385 | macros/luatex/generic/luaotfload/fontloader-font-oup.lua
+2021/05/21 | 3821 | macros/luatex/generic/luaotfload/fontloader-fonts-def.lua
+2021/05/21 | 2315 | macros/luatex/generic/luaotfload/fontloader-fonts-enc.lua
+2021/05/21 | 7260 | macros/luatex/generic/luaotfload/fontloader-fonts-ext.lua
+2021/05/21 | 9881 | macros/luatex/generic/luaotfload/fontloader-fonts-gbn.lua
+2021/05/21 | 13500 | macros/luatex/generic/luaotfload/fontloader-font-shp.lua
+2021/05/21 | 57342 | macros/luatex/generic/luaotfload/fontloader-fonts-lig.lua
+2021/05/21 | 912 | macros/luatex/generic/luaotfload/fontloader-fonts-mis.lua
+2021/05/21 | 3674 | macros/luatex/generic/luaotfload/fontloader-fonts-syn.lua
+2021/05/21 | 23399 | macros/luatex/generic/luaotfload/fontloader-fonts-tfm.lua
+2021/05/21 | 59344 | macros/luatex/generic/luaotfload/fontloader-font-ttf.lua
+2021/05/21 | 2667 | macros/luatex/generic/luaotfload/fontloader-font-vfc.lua
+2021/05/21 | 1850 | macros/luatex/generic/luaotfload/fontloader-l-boolean.lua
+2021/05/21 | 22175 | macros/luatex/generic/luaotfload/fontloader-l-file.lua
+2021/05/21 | 361 | macros/luatex/generic/luaotfload/fontloader-l-function.lua
+2021/05/21 | 11829 | macros/luatex/generic/luaotfload/fontloader-l-io.lua
+2021/05/21 | 38735 | macros/luatex/generic/luaotfload/fontloader-l-lpeg.lua
+2021/05/21 | 6405 | macros/luatex/generic/luaotfload/fontloader-l-lua.lua
+2021/05/21 | 2555 | macros/luatex/generic/luaotfload/fontloader-l-math.lua
+2021/05/21 | 6644 | macros/luatex/generic/luaotfload/fontloader-l-string.lua
+2021/05/21 | 41758 | macros/luatex/generic/luaotfload/fontloader-l-table.lua
+2021/05/21 | 41303 | macros/luatex/generic/luaotfload/fontloader-l-unicode.lua
+2021/05/21 | 15196 | macros/luatex/generic/luaotfload/fontloader-reference-load-order.lua
+2021/05/21 | 5885 | macros/luatex/generic/luaotfload/fontloader-reference-load-order.tex
+2021/05/21 | 966557 | macros/luatex/generic/luaotfload/fontloader-reference.lua
+2021/05/21 | 11552 | macros/luatex/generic/luaotfload/fontloader-util-fil.lua
+2021/05/21 | 45129 | macros/luatex/generic/luaotfload/fontloader-util-str.lua
+2021/05/21 | 32597 | macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua
+2021/05/21 | 52 | macros/luatex/generic/luaotfload/luaotfload-blacklist.cnf
+2021/05/21 | 6809 | macros/luatex/generic/luaotfload/luaotfload-case.lua
+2021/05/21 | 3287334 | macros/luatex/generic/luaotfload/luaotfload-characters.lua
+2021/05/21 | 15954 | macros/luatex/generic/luaotfload/luaotfload-colors.lua
+2021/05/21 | 16548 | macros/luatex/generic/luaotfload/luaotfload.conf.5
+2021/05/21 | 735 | macros/luatex/generic/luaotfload/luaotfload.conf.example
+2021/05/21 | 31152 | macros/luatex/generic/luaotfload/luaotfload-configuration.lua
+2021/05/21 | 77497 | macros/luatex/generic/luaotfload/luaotfload-conf.pdf
+2021/05/21 | 18074 | macros/luatex/generic/luaotfload/luaotfload.conf.rst
+2021/05/21 | 134863 | macros/luatex/generic/luaotfload/luaotfload-database.lua
+2021/05/21 | 21858 | macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua
+2021/05/21 | 4956 | macros/luatex/generic/luaotfload/luaotfload-dvi.lua
+2021/05/21 | 1004 | macros/luatex/generic/luaotfload/luaotfload-embolden.lua
+2021/05/21 | 4047 | macros/luatex/generic/luaotfload/luaotfload-fallback.lua
+2021/05/21 | 29580 | macros/luatex/generic/luaotfload/luaotfload-features.lua
+2021/05/21 | 25336 | macros/luatex/generic/luaotfload/luaotfload-filelist.lua
+2021/05/21 | 102502 | macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua
+2021/05/21 | 13657 | macros/luatex/generic/luaotfload/luaotfload-harf-define.lua
+2021/05/21 | 41594 | macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua
+2021/05/21 | 19549 | macros/luatex/generic/luaotfload/luaotfload-init.lua
+2021/05/21 | 494977 | macros/luatex/generic/luaotfload/luaotfload-latex.pdf
+2021/05/21 | 16675 | macros/luatex/generic/luaotfload/luaotfload-latex.tex
+2021/05/21 | 19516 | macros/luatex/generic/luaotfload/luaotfload-letterspace.lua
+2021/05/21 | 8840 | macros/luatex/generic/luaotfload/luaotfload-loaders.lua
+2021/05/21 | 11323 | macros/luatex/generic/luaotfload/luaotfload-log.lua
+2021/05/21 | 13788 | macros/luatex/generic/luaotfload/luaotfload.lua
+2021/05/21 | 275 | macros/luatex/generic/luaotfload/luaotfload-main.lua
+2021/05/21 | 99215 | macros/luatex/generic/luaotfload/luaotfload-main.tex
+2021/05/21 | 15068 | macros/luatex/generic/luaotfload/luaotfload-multiscript.lua
+2021/05/21 | 12224 | macros/luatex/generic/luaotfload/luaotfload-notdef.lua
+2021/05/21 | 30999 | macros/luatex/generic/luaotfload/luaotfload-parsers.lua
+2021/05/21 | 10984 | macros/luatex/generic/luaotfload/luaotfload-resolvers.lua
+2021/05/21 | 2506 | macros/luatex/generic/luaotfload/luaotfload-scripts.lua
+2021/05/21 | 6317 | macros/luatex/generic/luaotfload/luaotfload-status.lua
+2021/05/21 | 1812 | macros/luatex/generic/luaotfload/luaotfload.sty
+2021/05/21 | 2582 | macros/luatex/generic/luaotfload/luaotfload-suppress.lua
+2021/05/21 | 6309 | macros/luatex/generic/luaotfload/luaotfload-szss.lua
+2021/05/21 | 12829 | macros/luatex/generic/luaotfload/luaotfload-tool.1
+2021/05/21 | 54080 | macros/luatex/generic/luaotfload/luaotfload-tool.lua
+2021/05/21 | 77067 | macros/luatex/generic/luaotfload/luaotfload-tool.pdf
+2021/05/21 | 16116 | macros/luatex/generic/luaotfload/luaotfload-tool.rst
+2021/05/21 | 7528 | macros/luatex/generic/luaotfload/luaotfload-tounicode.lua
+2021/05/21 | 7589 | macros/luatex/generic/luaotfload/luaotfload-unicode.lua
+2021/05/21 | 20294 | macros/luatex/generic/luaotfload/NEWS
+2021/05/21 | 3784 | macros/luatex/generic/luaotfload/README.md
+2021/05/21 | 21837 | macros/luatex/generic/luaotfload/scripts-demo.pdf
+2021/05/21 | 699 | macros/luatex/generic/luaotfload/scripts-demo.tex
+2021/05/21 | 8559 | macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf
+2021/05/21 | 191 | macros/luatex/generic/luaotfload/shaper-demo-graphite.tex
+2021/05/21 | 8479 | macros/luatex/generic/luaotfload/shaper-demo.pdf
+2021/05/21 | 182 | macros/luatex/generic/luaotfload/shaper-demo.tex
+2021/05/21 | 1932221 | macros/luatex/generic/luaotfload.zip
2019/12/22 | 2475 | macros/luatex/generic/luapackageloader/luapackageloader.lua
2019/12/22 | 33904 | macros/luatex/generic/luapackageloader/luapackageloader.pdf
2019/12/22 | 1014 | macros/luatex/generic/luapackageloader/luapackageloader.sty
@@ -222766,114 +222764,114 @@
2015/10/04 | 263467 | macros/luatex/generic/luatexbase/luatexbase.pdf
2015/10/04 | 450 | macros/luatex/generic/luatexbase/README.md
2015/10/04 | 270547 | macros/luatex/generic/luatexbase.zip
-2021/05/17 | 1536 | macros/luatex/generic/luatexja/COPYING
-2021/05/17 | 945 | macros/luatex/generic/luatexja/doc/jfm-testf.lua
-2021/05/17 | 3238 | macros/luatex/generic/luatexja/doc/jfm-test.lua
-2021/05/17 | 4452 | macros/luatex/generic/luatexja/doc/jfm-ujisc33.lua
-2021/05/17 | 166557 | macros/luatex/generic/luatexja/doc/lltjp-geometry.pdf
-2021/05/17 | 13726 | macros/luatex/generic/luatexja/doc/lltjp-geometry.tex
-2021/05/17 | 400691 | macros/luatex/generic/luatexja/doc/ltjclasses.pdf
-2021/05/17 | 69366 | macros/luatex/generic/luatexja/doc/ltjltxdoc.pdf
-2021/05/17 | 457434 | macros/luatex/generic/luatexja/doc/ltjsclasses.pdf
-2021/05/17 | 534065 | macros/luatex/generic/luatexja/doc/luatexja.dtx
-2021/05/17 | 693538 | macros/luatex/generic/luatexja/doc/luatexja-en.pdf
-2021/05/17 | 355 | macros/luatex/generic/luatexja/doc/luatexja.ins
-2021/05/17 | 1130313 | macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
-2021/05/17 | 381339 | macros/luatex/generic/luatexja/doc/luatexja-ruby.pdf
-2021/05/17 | 52002 | macros/luatex/generic/luatexja/doc/luatexja-ruby.tex
-2021/05/17 | 3797 | macros/luatex/generic/luatexja/README
-2021/05/17 | 4559 | macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty
-2021/05/17 | 33461 | macros/luatex/generic/luatexja/src/addons/luatexja-ajmacros.sty
-2021/05/17 | 15839 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
-2021/05/17 | 1637 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
-2021/05/17 | 6891 | macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty
-2021/05/17 | 29181 | macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
-2021/05/17 | 9765 | macros/luatex/generic/luatexja/src/addons/luatexja-ruby.sty
-2021/05/17 | 2193 | macros/luatex/generic/luatexja/src/addons/luatexja-zhfonts.sty
-2021/05/17 | 2601 | macros/luatex/generic/luatexja/src/jfm-banjiao.lua
-2021/05/17 | 2207 | macros/luatex/generic/luatexja/src/jfm-CCT.lua
-2021/05/17 | 2342 | macros/luatex/generic/luatexja/src/jfm-jis.lua
-2021/05/17 | 2586 | macros/luatex/generic/luatexja/src/jfm-kaiming.lua
-2021/05/17 | 8106 | macros/luatex/generic/luatexja/src/jfm-min.lua
-2021/05/17 | 192 | macros/luatex/generic/luatexja/src/jfm-mono.lua
-2021/05/17 | 200 | macros/luatex/generic/luatexja/src/jfm-prop.lua
-2021/05/17 | 196 | macros/luatex/generic/luatexja/src/jfm-propv.lua
-2021/05/17 | 196 | macros/luatex/generic/luatexja/src/jfm-propw.lua
-2021/05/17 | 2575 | macros/luatex/generic/luatexja/src/jfm-quanjiao.lua
-2021/05/17 | 4808 | macros/luatex/generic/luatexja/src/jfm-tmin.lua
-2021/05/17 | 13899 | macros/luatex/generic/luatexja/src/jfm-ujis.lua
-2021/05/17 | 11506 | macros/luatex/generic/luatexja/src/jfm-ujisv.lua
-2021/05/17 | 26934 | macros/luatex/generic/luatexja/src/lltjext.sty
-2021/05/17 | 19572 | macros/luatex/generic/luatexja/src/ltj-adjust.lua
-2021/05/17 | 12151 | macros/luatex/generic/luatexja/src/ltj-base.lua
-2021/05/17 | 6203 | macros/luatex/generic/luatexja/src/ltj-base.sty
-2021/05/17 | 3961 | macros/luatex/generic/luatexja/src/ltj-charrange.lua
-2021/05/17 | 177581 | macros/luatex/generic/luatexja/src/ltjclasses.dtx
-2021/05/17 | 1278 | macros/luatex/generic/luatexja/src/ltjclasses.ins
-2021/05/17 | 3748 | macros/luatex/generic/luatexja/src/ltj-compat.lua
-2021/05/17 | 5222 | macros/luatex/generic/luatexja/src/ltj-debug.lua
-2021/05/17 | 39711 | macros/luatex/generic/luatexja/src/ltj-direction.lua
-2021/05/17 | 1786 | macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
-2021/05/17 | 154828 | macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua
-2021/05/17 | 55333 | macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
-2021/05/17 | 48217 | macros/luatex/generic/luatexja/src/ltj-jfont.lua
-2021/05/17 | 54427 | macros/luatex/generic/luatexja/src/ltj-jisx0208.lua
-2021/05/17 | 18722 | macros/luatex/generic/luatexja/src/ltj-kinsoku.tex
-2021/05/17 | 5544 | macros/luatex/generic/luatexja/src/ltj-latex.sty
-2021/05/17 | 3755 | macros/luatex/generic/luatexja/src/ltj-lineskip.lua
-2021/05/17 | 5940 | macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua
-2021/05/17 | 8607 | macros/luatex/generic/luatexja/src/ltjltxdoc.dtx
-2021/05/17 | 126 | macros/luatex/generic/luatexja/src/ltjltxdoc.ins
-2021/05/17 | 7370 | macros/luatex/generic/luatexja/src/ltj-math.lua
-2021/05/17 | 8609 | macros/luatex/generic/luatexja/src/ltj-otf.lua
-2021/05/17 | 4408 | macros/luatex/generic/luatexja/src/ltj-plain.sty
-2021/05/17 | 7026 | macros/luatex/generic/luatexja/src/ltj-pretreat.lua
-2021/05/17 | 14517 | macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
-2021/05/17 | 32099 | macros/luatex/generic/luatexja/src/ltj-ruby.lua
-2021/05/17 | 188942 | macros/luatex/generic/luatexja/src/ltjsclasses.dtx
-2021/05/17 | 385 | macros/luatex/generic/luatexja/src/ltjsclasses.ins
-2021/05/17 | 13194 | macros/luatex/generic/luatexja/src/ltj-setwidth.lua
-2021/05/17 | 4871 | macros/luatex/generic/luatexja/src/ltj-stack.lua
-2021/05/17 | 7661 | macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua
-2021/05/17 | 3451 | macros/luatex/generic/luatexja/src/luatexja-compat.sty
-2021/05/17 | 29538 | macros/luatex/generic/luatexja/src/luatexja-core.sty
-2021/05/17 | 21136 | macros/luatex/generic/luatexja/src/luatexja.lua
-2021/05/17 | 1832 | macros/luatex/generic/luatexja/src/luatexja.sty
-2021/05/17 | 12389 | macros/luatex/generic/luatexja/src/patches/lltjcore.sty
-2021/05/17 | 6497 | macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
-2021/05/17 | 49501 | macros/luatex/generic/luatexja/src/patches/lltjfont.sty
-2021/05/17 | 617 | macros/luatex/generic/luatexja/src/patches/lltjp-array.sty
-2021/05/17 | 4196 | macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty
-2021/05/17 | 825 | macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty
-2021/05/17 | 405 | macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty
-2021/05/17 | 5850 | macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty
-2021/05/17 | 1362 | macros/luatex/generic/luatexja/src/patches/lltjp-footmisc.sty
-2021/05/17 | 18543 | macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
-2021/05/17 | 14709 | macros/luatex/generic/luatexja/src/patches/lltjp-listings.sty
-2021/05/17 | 2057 | macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty
-2021/05/17 | 189 | macros/luatex/generic/luatexja/src/patches/lltjp-preview.sty
-2021/05/17 | 3693 | macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty
-2021/05/17 | 885 | macros/luatex/generic/luatexja/src/patches/lltjp-stfloats.sty
-2021/05/17 | 5682 | macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty
-2021/05/17 | 2374 | macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
-2021/05/17 | 3371 | macros/luatex/generic/luatexja/src/patches/lltjp-xunicode.sty
-2021/05/17 | 580 | macros/luatex/generic/luatexja/tool/blocks2defcharrange.rb
-2021/05/17 | 1224 | macros/luatex/generic/luatexja/tool/chars2defcharrange.rb
-2021/05/17 | 1130 | macros/luatex/generic/luatexja/tool/function_uax50.lua
-2021/05/17 | 1397 | macros/luatex/generic/luatexja/tool/ivslist.tex
-2021/05/17 | 7790 | macros/luatex/generic/luatexja/tool/jfm-convert.lua
-2021/05/17 | 551 | macros/luatex/generic/luatexja/tool/jfm-readable.rb
-2021/05/17 | 6060 | macros/luatex/generic/luatexja/tool/kyoikukanjiChars.tex
-2021/05/17 | 4262 | macros/luatex/generic/luatexja/tool/kyoikukanji.txt
-2021/05/17 | 3313 | macros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl
-2021/05/17 | 355 | macros/luatex/generic/luatexja/tool/otf-AdobeMingStd-Light.txt
-2021/05/17 | 326 | macros/luatex/generic/luatexja/tool/otf-AdobeMyungjoStd-Medium.txt
-2021/05/17 | 317 | macros/luatex/generic/luatexja/tool/otf-AdobeSongStd-Light.txt
-2021/05/17 | 896 | macros/luatex/generic/luatexja/tool/otf-KozMinPr6N-Regular.txt
-2021/05/17 | 945 | macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua
-2021/05/17 | 3100 | macros/luatex/generic/luatexja/tool/table_jisx0208.tex
-2021/05/17 | 11335 | macros/luatex/generic/luatexja/tool/unicodeBlocks.tex
-2021/05/17 | 3782646 | macros/luatex/generic/luatexja.zip
+2021/05/21 | 1536 | macros/luatex/generic/luatexja/COPYING
+2021/05/21 | 945 | macros/luatex/generic/luatexja/doc/jfm-testf.lua
+2021/05/21 | 3238 | macros/luatex/generic/luatexja/doc/jfm-test.lua
+2021/05/21 | 4452 | macros/luatex/generic/luatexja/doc/jfm-ujisc33.lua
+2021/05/21 | 166557 | macros/luatex/generic/luatexja/doc/lltjp-geometry.pdf
+2021/05/21 | 13726 | macros/luatex/generic/luatexja/doc/lltjp-geometry.tex
+2021/05/21 | 400691 | macros/luatex/generic/luatexja/doc/ltjclasses.pdf
+2021/05/21 | 69366 | macros/luatex/generic/luatexja/doc/ltjltxdoc.pdf
+2021/05/21 | 457434 | macros/luatex/generic/luatexja/doc/ltjsclasses.pdf
+2021/05/21 | 534065 | macros/luatex/generic/luatexja/doc/luatexja.dtx
+2021/05/21 | 693535 | macros/luatex/generic/luatexja/doc/luatexja-en.pdf
+2021/05/21 | 355 | macros/luatex/generic/luatexja/doc/luatexja.ins
+2021/05/21 | 1130307 | macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
+2021/05/21 | 381339 | macros/luatex/generic/luatexja/doc/luatexja-ruby.pdf
+2021/05/21 | 52002 | macros/luatex/generic/luatexja/doc/luatexja-ruby.tex
+2021/05/21 | 3797 | macros/luatex/generic/luatexja/README
+2021/05/21 | 4559 | macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty
+2021/05/21 | 33461 | macros/luatex/generic/luatexja/src/addons/luatexja-ajmacros.sty
+2021/05/21 | 15839 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
+2021/05/21 | 1637 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
+2021/05/21 | 6891 | macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty
+2021/05/21 | 29181 | macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
+2021/05/21 | 9765 | macros/luatex/generic/luatexja/src/addons/luatexja-ruby.sty
+2021/05/21 | 2193 | macros/luatex/generic/luatexja/src/addons/luatexja-zhfonts.sty
+2021/05/21 | 2601 | macros/luatex/generic/luatexja/src/jfm-banjiao.lua
+2021/05/21 | 2207 | macros/luatex/generic/luatexja/src/jfm-CCT.lua
+2021/05/21 | 2342 | macros/luatex/generic/luatexja/src/jfm-jis.lua
+2021/05/21 | 2586 | macros/luatex/generic/luatexja/src/jfm-kaiming.lua
+2021/05/21 | 8106 | macros/luatex/generic/luatexja/src/jfm-min.lua
+2021/05/21 | 192 | macros/luatex/generic/luatexja/src/jfm-mono.lua
+2021/05/21 | 200 | macros/luatex/generic/luatexja/src/jfm-prop.lua
+2021/05/21 | 196 | macros/luatex/generic/luatexja/src/jfm-propv.lua
+2021/05/21 | 196 | macros/luatex/generic/luatexja/src/jfm-propw.lua
+2021/05/21 | 2575 | macros/luatex/generic/luatexja/src/jfm-quanjiao.lua
+2021/05/21 | 4808 | macros/luatex/generic/luatexja/src/jfm-tmin.lua
+2021/05/21 | 13899 | macros/luatex/generic/luatexja/src/jfm-ujis.lua
+2021/05/21 | 11506 | macros/luatex/generic/luatexja/src/jfm-ujisv.lua
+2021/05/21 | 26934 | macros/luatex/generic/luatexja/src/lltjext.sty
+2021/05/21 | 19572 | macros/luatex/generic/luatexja/src/ltj-adjust.lua
+2021/05/21 | 12151 | macros/luatex/generic/luatexja/src/ltj-base.lua
+2021/05/21 | 6203 | macros/luatex/generic/luatexja/src/ltj-base.sty
+2021/05/21 | 3961 | macros/luatex/generic/luatexja/src/ltj-charrange.lua
+2021/05/21 | 177581 | macros/luatex/generic/luatexja/src/ltjclasses.dtx
+2021/05/21 | 1278 | macros/luatex/generic/luatexja/src/ltjclasses.ins
+2021/05/21 | 3748 | macros/luatex/generic/luatexja/src/ltj-compat.lua
+2021/05/21 | 5222 | macros/luatex/generic/luatexja/src/ltj-debug.lua
+2021/05/21 | 39711 | macros/luatex/generic/luatexja/src/ltj-direction.lua
+2021/05/21 | 1765 | macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
+2021/05/21 | 154828 | macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua
+2021/05/21 | 55333 | macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
+2021/05/21 | 48217 | macros/luatex/generic/luatexja/src/ltj-jfont.lua
+2021/05/21 | 54427 | macros/luatex/generic/luatexja/src/ltj-jisx0208.lua
+2021/05/21 | 18722 | macros/luatex/generic/luatexja/src/ltj-kinsoku.tex
+2021/05/21 | 5544 | macros/luatex/generic/luatexja/src/ltj-latex.sty
+2021/05/21 | 3755 | macros/luatex/generic/luatexja/src/ltj-lineskip.lua
+2021/05/21 | 5940 | macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua
+2021/05/21 | 8607 | macros/luatex/generic/luatexja/src/ltjltxdoc.dtx
+2021/05/21 | 126 | macros/luatex/generic/luatexja/src/ltjltxdoc.ins
+2021/05/21 | 7370 | macros/luatex/generic/luatexja/src/ltj-math.lua
+2021/05/21 | 8609 | macros/luatex/generic/luatexja/src/ltj-otf.lua
+2021/05/21 | 4408 | macros/luatex/generic/luatexja/src/ltj-plain.sty
+2021/05/21 | 7026 | macros/luatex/generic/luatexja/src/ltj-pretreat.lua
+2021/05/21 | 14517 | macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
+2021/05/21 | 32099 | macros/luatex/generic/luatexja/src/ltj-ruby.lua
+2021/05/21 | 188942 | macros/luatex/generic/luatexja/src/ltjsclasses.dtx
+2021/05/21 | 385 | macros/luatex/generic/luatexja/src/ltjsclasses.ins
+2021/05/21 | 13194 | macros/luatex/generic/luatexja/src/ltj-setwidth.lua
+2021/05/21 | 4871 | macros/luatex/generic/luatexja/src/ltj-stack.lua
+2021/05/21 | 7661 | macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua
+2021/05/21 | 3451 | macros/luatex/generic/luatexja/src/luatexja-compat.sty
+2021/05/21 | 29536 | macros/luatex/generic/luatexja/src/luatexja-core.sty
+2021/05/21 | 21136 | macros/luatex/generic/luatexja/src/luatexja.lua
+2021/05/21 | 1832 | macros/luatex/generic/luatexja/src/luatexja.sty
+2021/05/21 | 12389 | macros/luatex/generic/luatexja/src/patches/lltjcore.sty
+2021/05/21 | 6497 | macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
+2021/05/21 | 49501 | macros/luatex/generic/luatexja/src/patches/lltjfont.sty
+2021/05/21 | 617 | macros/luatex/generic/luatexja/src/patches/lltjp-array.sty
+2021/05/21 | 4196 | macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty
+2021/05/21 | 825 | macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty
+2021/05/21 | 405 | macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty
+2021/05/21 | 5850 | macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty
+2021/05/21 | 1362 | macros/luatex/generic/luatexja/src/patches/lltjp-footmisc.sty
+2021/05/21 | 18543 | macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
+2021/05/21 | 14709 | macros/luatex/generic/luatexja/src/patches/lltjp-listings.sty
+2021/05/21 | 2057 | macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty
+2021/05/21 | 189 | macros/luatex/generic/luatexja/src/patches/lltjp-preview.sty
+2021/05/21 | 3693 | macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty
+2021/05/21 | 885 | macros/luatex/generic/luatexja/src/patches/lltjp-stfloats.sty
+2021/05/21 | 5682 | macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty
+2021/05/21 | 2374 | macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
+2021/05/21 | 3371 | macros/luatex/generic/luatexja/src/patches/lltjp-xunicode.sty
+2021/05/21 | 580 | macros/luatex/generic/luatexja/tool/blocks2defcharrange.rb
+2021/05/21 | 1224 | macros/luatex/generic/luatexja/tool/chars2defcharrange.rb
+2021/05/21 | 1130 | macros/luatex/generic/luatexja/tool/function_uax50.lua
+2021/05/21 | 1397 | macros/luatex/generic/luatexja/tool/ivslist.tex
+2021/05/21 | 7790 | macros/luatex/generic/luatexja/tool/jfm-convert.lua
+2021/05/21 | 551 | macros/luatex/generic/luatexja/tool/jfm-readable.rb
+2021/05/21 | 6060 | macros/luatex/generic/luatexja/tool/kyoikukanjiChars.tex
+2021/05/21 | 4262 | macros/luatex/generic/luatexja/tool/kyoikukanji.txt
+2021/05/21 | 3313 | macros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl
+2021/05/21 | 355 | macros/luatex/generic/luatexja/tool/otf-AdobeMingStd-Light.txt
+2021/05/21 | 326 | macros/luatex/generic/luatexja/tool/otf-AdobeMyungjoStd-Medium.txt
+2021/05/21 | 317 | macros/luatex/generic/luatexja/tool/otf-AdobeSongStd-Light.txt
+2021/05/21 | 896 | macros/luatex/generic/luatexja/tool/otf-KozMinPr6N-Regular.txt
+2021/05/21 | 945 | macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua
+2021/05/21 | 3100 | macros/luatex/generic/luatexja/tool/table_jisx0208.tex
+2021/05/21 | 11335 | macros/luatex/generic/luatexja/tool/unicodeBlocks.tex
+2021/05/21 | 3782606 | macros/luatex/generic/luatexja.zip
2021/04/20 | 8210 | macros/luatex/generic/luatexko/ChangeLog
2021/04/20 | 326736 | macros/luatex/generic/luatexko/luatexko-doc.pdf
2021/04/20 | 32803 | macros/luatex/generic/luatexko/luatexko-doc.tex
@@ -231030,12 +231028,12 @@
1992/06/17 | 2111 | macros/text1/vax_vms/vmssort.pas
2005/11/04 | 1084902 | macros/text1.zip
2020/09/25 | 221 | macros/unicodetex/generic/README.txt
-2021/02/12 | 76435 | macros/unicodetex/latex/aalok/aalok.dtx
-2021/02/05 | 5136 | macros/unicodetex/latex/aalok/aalok.ins
-2021/02/12 | 178189 | macros/unicodetex/latex/aalok/aalok.pdf
-2021/02/05 | 35149 | macros/unicodetex/latex/aalok/COPYING
-2021/02/12 | 2028 | macros/unicodetex/latex/aalok/README.txt
-2021/02/13 | 208072 | macros/unicodetex/latex/aalok.zip
+2021/05/21 | 78171 | macros/unicodetex/latex/aalok/aalok.dtx
+2021/05/21 | 5297 | macros/unicodetex/latex/aalok/aalok.ins
+2021/05/21 | 153734 | macros/unicodetex/latex/aalok/aalok.pdf
+2021/05/20 | 35149 | macros/unicodetex/latex/aalok/COPYING
+2021/05/21 | 1999 | macros/unicodetex/latex/aalok/README.txt
+2021/05/21 | 185248 | macros/unicodetex/latex/aalok.zip
2021/03/15 | 7598 | macros/unicodetex/latex/beaulivre/beaulivre.cls
2021/03/16 | 166042 | macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
2021/03/16 | 8233 | macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
@@ -265278,6 +265276,8 @@
2019/12/11 | 11292 | systems/texlive/tlnet/archive/alphalph.source.r53087.tar.xz
2019/03/11 | 4484924 | systems/texlive/tlnet/archive/alpha-persian.doc.r50316.tar.xz
2019/03/11 | 7452 | systems/texlive/tlnet/archive/alpha-persian.r50316.tar.xz
+2021/05/20 | 1078332 | systems/texlive/tlnet/archive/alterqcm.doc.r59265.tar.xz
+2021/05/20 | 6916 | systems/texlive/tlnet/archive/alterqcm.r59265.tar.xz
2019/02/28 | 160688 | systems/texlive/tlnet/archive/altfont.doc.r15878.tar.xz
2019/02/28 | 3528 | systems/texlive/tlnet/archive/altfont.r15878.tar.xz
2019/02/28 | 9172 | systems/texlive/tlnet/archive/altfont.source.r15878.tar.xz
@@ -267195,7 +267195,7 @@
2020/03/04 | 408 | systems/texlive/tlnet/archive/collection-langpolish.r54074.tar.xz
2020/03/04 | 392 | systems/texlive/tlnet/archive/collection-langportuguese.r54074.tar.xz
2020/03/07 | 380 | systems/texlive/tlnet/archive/collection-langspanish.r54141.tar.xz
-2021/05/14 | 6348 | systems/texlive/tlnet/archive/collection-latexextra.r59183.tar.xz
+2021/05/20 | 6356 | systems/texlive/tlnet/archive/collection-latexextra.r59271.tar.xz
2020/12/03 | 696 | systems/texlive/tlnet/archive/collection-latex.r57048.tar.xz
2021/02/24 | 772 | systems/texlive/tlnet/archive/collection-latexrecommended.r57862.tar.xz
2021/05/14 | 724 | systems/texlive/tlnet/archive/collection-luatex.r59184.tar.xz
@@ -267481,8 +267481,8 @@
2019/02/28 | 280964 | systems/texlive/tlnet/archive/coverpage.doc.r15878.tar.xz
2019/02/28 | 3676 | systems/texlive/tlnet/archive/coverpage.r15878.tar.xz
2019/02/28 | 10320 | systems/texlive/tlnet/archive/coverpage.source.r15878.tar.xz
-2021/03/22 | 500228 | systems/texlive/tlnet/archive/covington.doc.r58589.tar.xz
-2021/03/22 | 8588 | systems/texlive/tlnet/archive/covington.r58589.tar.xz
+2021/05/20 | 500844 | systems/texlive/tlnet/archive/covington.doc.r59266.tar.xz
+2021/05/20 | 8600 | systems/texlive/tlnet/archive/covington.r59266.tar.xz
2019/02/28 | 5548 | systems/texlive/tlnet/archive/c-pascal.doc.r18337.tar.xz
2019/02/28 | 4988 | systems/texlive/tlnet/archive/c-pascal.r18337.tar.xz
2019/02/28 | 584752 | systems/texlive/tlnet/archive/cprotect.doc.r21209.tar.xz
@@ -268523,9 +268523,9 @@
2021/01/25 | 1828 | systems/texlive/tlnet/archive/ean13isbn.r57514.tar.xz
2019/02/28 | 948 | systems/texlive/tlnet/archive/ean.doc.r20851.tar.xz
2019/02/28 | 3148 | systems/texlive/tlnet/archive/ean.r20851.tar.xz
-2021/05/18 | 309908 | systems/texlive/tlnet/archive/easybook.doc.r59245.tar.xz
-2021/05/18 | 13496 | systems/texlive/tlnet/archive/easybook.r59245.tar.xz
-2021/05/18 | 29704 | systems/texlive/tlnet/archive/easybook.source.r59245.tar.xz
+2021/05/20 | 311580 | systems/texlive/tlnet/archive/easybook.doc.r59278.tar.xz
+2021/05/20 | 13712 | systems/texlive/tlnet/archive/easybook.r59278.tar.xz
+2021/05/20 | 30100 | systems/texlive/tlnet/archive/easybook.source.r59278.tar.xz
2019/02/28 | 4540 | systems/texlive/tlnet/archive/easy.doc.r19440.tar.xz
2020/09/08 | 175976 | systems/texlive/tlnet/archive/easyfig.doc.r56291.tar.xz
2020/09/08 | 1936 | systems/texlive/tlnet/archive/easyfig.r56291.tar.xz
@@ -272943,8 +272943,8 @@
2019/02/28 | 196212 | systems/texlive/tlnet/archive/newspaper.doc.r15878.tar.xz
2019/02/28 | 1924 | systems/texlive/tlnet/archive/newspaper.r15878.tar.xz
2019/02/28 | 6804 | systems/texlive/tlnet/archive/newspaper.source.r15878.tar.xz
-2021/05/18 | 966788 | systems/texlive/tlnet/archive/newtx.doc.r59238.tar.xz
-2021/05/18 | 5604320 | systems/texlive/tlnet/archive/newtx.r59238.tar.xz
+2021/05/20 | 966784 | systems/texlive/tlnet/archive/newtx.doc.r59277.tar.xz
+2021/05/20 | 5604344 | systems/texlive/tlnet/archive/newtx.r59277.tar.xz
2021/05/17 | 332420 | systems/texlive/tlnet/archive/newtxsf.doc.r59227.tar.xz
2021/05/17 | 105908 | systems/texlive/tlnet/archive/newtxsf.r59227.tar.xz
2020/03/24 | 171356 | systems/texlive/tlnet/archive/newtxtt.doc.r54512.tar.xz
@@ -273709,6 +273709,9 @@
2019/11/07 | 37128 | systems/texlive/tlnet/archive/pgfgantt.source.r52662.tar.xz
2019/02/28 | 1412 | systems/texlive/tlnet/archive/pgfkeyx.doc.r26093.tar.xz
2019/02/28 | 7088 | systems/texlive/tlnet/archive/pgfkeyx.r26093.tar.xz
+2021/05/20 | 257332 | systems/texlive/tlnet/archive/pgfmath-xfp.doc.r59268.tar.xz
+2021/05/20 | 1920 | systems/texlive/tlnet/archive/pgfmath-xfp.r59268.tar.xz
+2021/05/20 | 5204 | systems/texlive/tlnet/archive/pgfmath-xfp.source.r59268.tar.xz
2019/02/28 | 858652 | systems/texlive/tlnet/archive/pgfmolbio.doc.r35152.tar.xz
2019/02/28 | 13796 | systems/texlive/tlnet/archive/pgfmolbio.r35152.tar.xz
2019/02/28 | 45240 | systems/texlive/tlnet/archive/pgfmolbio.source.r35152.tar.xz
@@ -273935,9 +273938,9 @@
2019/02/28 | 10064 | systems/texlive/tlnet/archive/pmgraph.r15878.tar.xz
2020/03/18 | 683796 | systems/texlive/tlnet/archive/pmhanguljamo.doc.r54378.tar.xz
2020/03/18 | 5136 | systems/texlive/tlnet/archive/pmhanguljamo.r54378.tar.xz
-2021/05/05 | 624016 | systems/texlive/tlnet/archive/pm-isomath.doc.r59077.tar.xz
-2021/05/05 | 2664 | systems/texlive/tlnet/archive/pm-isomath.r59077.tar.xz
-2021/05/05 | 17108 | systems/texlive/tlnet/archive/pm-isomath.source.r59077.tar.xz
+2021/05/20 | 653444 | systems/texlive/tlnet/archive/pm-isomath.doc.r59269.tar.xz
+2021/05/20 | 2812 | systems/texlive/tlnet/archive/pm-isomath.r59269.tar.xz
+2021/05/20 | 18592 | systems/texlive/tlnet/archive/pm-isomath.source.r59269.tar.xz
2021/02/26 | 245112 | systems/texlive/tlnet/archive/pmx.aarch64-linux.r57930.tar.xz
2021/02/27 | 220600 | systems/texlive/tlnet/archive/pmx.amd64-freebsd.r57941.tar.xz
2021/02/24 | 199516 | systems/texlive/tlnet/archive/pmx.amd64-netbsd.r57877.tar.xz
@@ -274014,11 +274017,11 @@
2019/02/28 | 1860 | systems/texlive/tlnet/archive/postcards.r21641.tar.xz
2019/02/28 | 93292 | systems/texlive/tlnet/archive/poster-mac.doc.r18305.tar.xz
2019/02/28 | 3152 | systems/texlive/tlnet/archive/poster-mac.r18305.tar.xz
-2021/04/05 | 947592 | systems/texlive/tlnet/archive/powerdot.doc.r58730.tar.xz
+2021/05/20 | 948160 | systems/texlive/tlnet/archive/powerdot.doc.r59272.tar.xz
2019/11/26 | 280080 | systems/texlive/tlnet/archive/powerdot-fuberlin.doc.r52922.tar.xz
2019/11/26 | 2704 | systems/texlive/tlnet/archive/powerdot-fuberlin.r52922.tar.xz
-2021/04/05 | 26304 | systems/texlive/tlnet/archive/powerdot.r58730.tar.xz
-2021/04/05 | 67108 | systems/texlive/tlnet/archive/powerdot.source.r58730.tar.xz
+2021/05/20 | 26268 | systems/texlive/tlnet/archive/powerdot.r59272.tar.xz
+2021/05/20 | 67080 | systems/texlive/tlnet/archive/powerdot.source.r59272.tar.xz
2019/02/28 | 9412 | systems/texlive/tlnet/archive/powerdot-tuliplab.doc.r47963.tar.xz
2019/02/28 | 1271908 | systems/texlive/tlnet/archive/powerdot-tuliplab.r47963.tar.xz
2019/02/28 | 317360 | systems/texlive/tlnet/archive/ppr-prv.doc.r15878.tar.xz
@@ -274075,6 +274078,9 @@
2019/02/28 | 2324 | systems/texlive/tlnet/archive/progressbar.r33822.tar.xz
2019/02/28 | 80808 | systems/texlive/tlnet/archive/progress.doc.r19519.tar.xz
2019/02/28 | 4192 | systems/texlive/tlnet/archive/progress.r19519.tar.xz
+2021/05/20 | 346208 | systems/texlive/tlnet/archive/projlib.doc.r59271.tar.xz
+2021/05/20 | 9248 | systems/texlive/tlnet/archive/projlib.r59271.tar.xz
+2021/05/20 | 9348 | systems/texlive/tlnet/archive/projlib.source.r59271.tar.xz
2019/05/23 | 372132 | systems/texlive/tlnet/archive/proof-at-the-end.doc.r51194.tar.xz
2019/05/23 | 4440 | systems/texlive/tlnet/archive/proof-at-the-end.r51194.tar.xz
2019/05/23 | 12500 | systems/texlive/tlnet/archive/proof-at-the-end.source.r51194.tar.xz
@@ -275254,9 +275260,9 @@
2019/02/28 | 250180 | systems/texlive/tlnet/archive/SIunits.doc.r15878.tar.xz
2019/02/28 | 6064 | systems/texlive/tlnet/archive/SIunits.r15878.tar.xz
2019/02/28 | 34544 | systems/texlive/tlnet/archive/SIunits.source.r15878.tar.xz
-2021/05/18 | 1944240 | systems/texlive/tlnet/archive/siunitx.doc.r59239.tar.xz
-2021/05/18 | 59548 | systems/texlive/tlnet/archive/siunitx.r59239.tar.xz
-2021/05/18 | 100736 | systems/texlive/tlnet/archive/siunitx.source.r59239.tar.xz
+2021/05/20 | 2362424 | systems/texlive/tlnet/archive/siunitx.doc.r59279.tar.xz
+2021/05/20 | 60252 | systems/texlive/tlnet/archive/siunitx.r59279.tar.xz
+2021/05/20 | 101336 | systems/texlive/tlnet/archive/siunitx.source.r59279.tar.xz
2019/02/28 | 200108 | systems/texlive/tlnet/archive/skak.doc.r46259.tar.xz
2019/02/28 | 316212 | systems/texlive/tlnet/archive/skaknew.doc.r20031.tar.xz
2019/02/28 | 160064 | systems/texlive/tlnet/archive/skaknew.r20031.tar.xz
@@ -275599,9 +275605,9 @@
2019/02/28 | 54904 | systems/texlive/tlnet/archive/sudoku.doc.r15878.tar.xz
2019/02/28 | 1864 | systems/texlive/tlnet/archive/sudoku.r15878.tar.xz
2019/02/28 | 4356 | systems/texlive/tlnet/archive/sudoku.source.r15878.tar.xz
-2021/02/07 | 990468 | systems/texlive/tlnet/archive/suftesi.doc.r57650.tar.xz
-2021/02/07 | 14104 | systems/texlive/tlnet/archive/suftesi.r57650.tar.xz
-2021/02/07 | 40176 | systems/texlive/tlnet/archive/suftesi.source.r57650.tar.xz
+2021/05/20 | 1036036 | systems/texlive/tlnet/archive/suftesi.doc.r59280.tar.xz
+2021/05/20 | 14868 | systems/texlive/tlnet/archive/suftesi.r59280.tar.xz
+2021/05/20 | 43284 | systems/texlive/tlnet/archive/suftesi.source.r59280.tar.xz
2021/04/06 | 73408 | systems/texlive/tlnet/archive/sugconf.doc.r58752.tar.xz
2021/04/06 | 2608 | systems/texlive/tlnet/archive/sugconf.r58752.tar.xz
2019/08/20 | 327664 | systems/texlive/tlnet/archive/superiors.doc.r51909.tar.xz
@@ -275609,8 +275615,8 @@
2020/02/04 | 259052 | systems/texlive/tlnet/archive/supertabular.doc.r53658.tar.xz
2020/02/04 | 3960 | systems/texlive/tlnet/archive/supertabular.r53658.tar.xz
2020/02/04 | 13472 | systems/texlive/tlnet/archive/supertabular.source.r53658.tar.xz
-2021/04/11 | 196768 | systems/texlive/tlnet/archive/suppose.doc.r58819.tar.xz
-2021/04/11 | 2216 | systems/texlive/tlnet/archive/suppose.r58819.tar.xz
+2021/05/20 | 197208 | systems/texlive/tlnet/archive/suppose.doc.r59281.tar.xz
+2021/05/20 | 2448 | systems/texlive/tlnet/archive/suppose.r59281.tar.xz
2019/02/28 | 744 | systems/texlive/tlnet/archive/susy.doc.r19440.tar.xz
2019/02/28 | 944 | systems/texlive/tlnet/archive/susy.r19440.tar.xz
2019/02/28 | 1380 | systems/texlive/tlnet/archive/svgcolor.doc.r15878.tar.xz
@@ -275978,14 +275984,14 @@
2019/02/28 | 344 | systems/texlive/tlnet/archive/texdoc.amd64-freebsd.r47948.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/texdoc.amd64-netbsd.r47948.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/texdoc.armhf-linux.r47948.tar.xz
-2021/03/18 | 134156 | systems/texlive/tlnet/archive/texdoc.doc.r58477.tar.xz
+2021/05/20 | 135656 | systems/texlive/tlnet/archive/texdoc.doc.r59283.tar.xz
2019/02/28 | 336 | systems/texlive/tlnet/archive/texdoc.i386-cygwin.r47948.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/texdoc.i386-freebsd.r47948.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/texdoc.i386-linux.r47948.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/texdoc.i386-netbsd.r47948.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/texdoc.i386-solaris.r47948.tar.xz
2021/02/28 | 43540 | systems/texlive/tlnet/archive/tex.doc.r57972.tar.xz
-2021/03/18 | 26808 | systems/texlive/tlnet/archive/texdoc.r58477.tar.xz
+2021/05/20 | 26932 | systems/texlive/tlnet/archive/texdoc.r59283.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/texdoctk.aarch64-linux.r46208.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/texdoctk.amd64-freebsd.r29785.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/texdoctk.amd64-netbsd.r30191.tar.xz
@@ -276115,7 +276121,7 @@
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r55172.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r55172.tar.xz
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r55172.tar.xz
-2021/05/19 | 397212 | systems/texlive/tlnet/archive/texlive-scripts.doc.r59251.tar.xz
+2021/05/20 | 397364 | systems/texlive/tlnet/archive/texlive-scripts.doc.r59286.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.aarch64-linux.r53577.tar.xz
2020/01/27 | 924 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-freebsd.r53577.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-netbsd.r53577.tar.xz
@@ -276139,7 +276145,7 @@
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r55172.tar.xz
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r55172.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r55172.tar.xz
-2021/05/19 | 107992 | systems/texlive/tlnet/archive/texlive-scripts.r59251.tar.xz
+2021/05/20 | 108004 | systems/texlive/tlnet/archive/texlive-scripts.r59286.tar.xz
2021/02/25 | 572 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r57908.tar.xz
2021/04/12 | 36308 | systems/texlive/tlnet/archive/texlive-scripts.win32.r58829.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r55172.tar.xz
@@ -277527,8 +277533,8 @@
2021/03/16 | 7303724 | systems/texlive/tlnet/archive/xetex.i386-solaris.r58388.tar.xz
2020/06/08 | 21096 | systems/texlive/tlnet/archive/xetex-itrans.doc.r55475.tar.xz
2020/06/08 | 24624 | systems/texlive/tlnet/archive/xetex-itrans.r55475.tar.xz
-2021/05/16 | 264180 | systems/texlive/tlnet/archive/xetexko.doc.r59215.tar.xz
-2021/05/16 | 53912 | systems/texlive/tlnet/archive/xetexko.r59215.tar.xz
+2021/05/20 | 264084 | systems/texlive/tlnet/archive/xetexko.doc.r59282.tar.xz
+2021/05/20 | 53784 | systems/texlive/tlnet/archive/xetexko.r59282.tar.xz
2019/02/28 | 932 | systems/texlive/tlnet/archive/xetex-pstricks.doc.r17055.tar.xz
2019/02/28 | 724 | systems/texlive/tlnet/archive/xetex-pstricks.r17055.tar.xz
2021/02/28 | 6988 | systems/texlive/tlnet/archive/xetex.r57972.tar.xz
@@ -277841,16 +277847,16 @@
2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz
2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz
2021/05/02 | 105152 | systems/texlive/tlnet/install-tl
-2021/05/19 | 6812491 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2021/05/19 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2021/05/19 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2021/05/21 | 6812825 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2021/05/21 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2021/05/21 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2021/04/11 | 4945 | systems/texlive/tlnet/install-tl-windows.bat
-2021/05/19 | 20809678 | systems/texlive/tlnet/install-tl-windows.exe
-2021/05/19 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2021/05/19 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2021/05/19 | 25584657 | systems/texlive/tlnet/install-tl.zip
-2021/05/19 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2021/05/19 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2021/05/21 | 20810464 | systems/texlive/tlnet/install-tl-windows.exe
+2021/05/21 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2021/05/21 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2021/05/21 | 25584691 | systems/texlive/tlnet/install-tl.zip
+2021/05/21 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2021/05/21 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2021/04/01 | 1229 | systems/texlive/tlnet/README.md
2021/04/01 | 0 | systems/texlive/tlnet/TEXLIVE_2021
2021/03/15 | 6571 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -277860,7 +277866,7 @@
2021/03/15 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2021/05/07 | 49598 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2021/05/18 | 6830 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2021/05/20 | 6946 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2020/04/15 | 223687 | systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt
2020/04/15 | 2606592 | systems/texlive/tlnet/tlpkg/installer/curl/curl.exe
2017/04/16 | 2629 | systems/texlive/tlnet/tlpkg/installer/installer-options.txt
@@ -277902,18 +277908,18 @@
2021/05/16 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2021/05/16 | 5402 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2021/05/16 | 27555 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2021/05/19 | 17234715 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2021/05/19 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2021/05/21 | 17243572 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2021/05/21 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2021/05/16 | 86511 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2021/05/19 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2021/05/19 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2021/05/19 | 2305240 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2021/05/21 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2021/05/21 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2021/05/21 | 2308404 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2021/05/16 | 58801 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2021/05/16 | 42084 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2021/05/16 | 16103 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
2021/05/18 | 149246 | systems/texlive/tlnet/tlpkg/TeXLive/TLUtils.pm
2021/05/16 | 37954 | systems/texlive/tlnet/tlpkg/TeXLive/TLWinGoo.pm
-2021/05/16 | 5934 | systems/texlive/tlnet/tlpkg/TeXLive/trans.pl
+2021/05/20 | 6032 | systems/texlive/tlnet/tlpkg/TeXLive/trans.pl
2020/03/07 | 116238 | systems/texlive/tlnet/tlpkg/tlperl/bin/libgcc_s_dw2-1.dll
2020/03/07 | 1565198 | systems/texlive/tlnet/tlpkg/tlperl/bin/libstdc++-6.dll
2020/03/07 | 60416 | systems/texlive/tlnet/tlpkg/tlperl/bin/libwinpthread-1.dll
@@ -282596,7 +282602,7 @@
2020/10/03 | 318630 | 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
-2021/05/20 | 576615 | systems/win32/miktex/tm/packages/files.csv.lzma
+2021/05/21 | 576615 | 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
@@ -283797,9 +283803,9 @@
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2021/03/15 | 39247 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
2021/03/15 | 43386 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/05/20 | 209628 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2021/05/20 | 1272038 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2021/05/20 | 1188156 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2021/05/21 | 209603 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2021/05/21 | 1272452 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2021/05/21 | 1187128 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2021/03/15 | 13447 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
2021/03/15 | 14320 | 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
@@ -283960,190 +283966,190 @@
2018/04/09 | 400132 | systems/win32/miktex/tm/packages/newunicodechar.tar.lzma
2011/09/19 | 101312 | systems/win32/miktex/tm/packages/newvbtm.tar.lzma
2021/03/17 | 232249 | systems/win32/miktex/tm/packages/newverbs.tar.lzma
-2021/05/20 | 576226 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2021/05/20 | 50847 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2021/05/20 | 56457 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2021/05/20 | 968696 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2021/05/20 | 1078878 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2021/05/20 | 29055 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2021/05/20 | 31344 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2021/05/20 | 29869 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2021/05/20 | 34633 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2021/05/20 | 49972 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2021/05/20 | 57598 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2021/05/20 | 84772 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2021/05/20 | 94738 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2021/05/20 | 67679 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2021/05/20 | 75418 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2021/05/20 | 27181 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2021/05/20 | 30883 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2021/05/20 | 330233 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2021/05/20 | 392596 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2021/05/20 | 32745 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2021/05/20 | 36679 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2021/05/20 | 51432 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2021/05/20 | 56717 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2021/05/20 | 4707 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma
-2021/05/20 | 239477 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2021/05/20 | 261963 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2021/05/20 | 179377 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2021/05/20 | 195665 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2021/05/20 | 52475 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2021/05/20 | 59144 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2021/05/20 | 21129 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2021/05/20 | 23292 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2021/05/20 | 461401 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2021/05/20 | 45648 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2021/05/20 | 51159 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2021/05/20 | 282106 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2021/05/20 | 321895 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2021/05/20 | 41103 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2021/05/20 | 45278 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2021/05/20 | 116931 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2021/05/20 | 131490 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2021/05/20 | 1281102 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2021/05/20 | 1425980 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2021/05/20 | 87637 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2021/05/20 | 99604 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2021/05/20 | 43056 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2021/05/20 | 47876 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2021/05/20 | 25155 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2021/05/20 | 28008 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2021/05/20 | 55822 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2021/05/20 | 62802 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2021/05/20 | 135003 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2021/05/20 | 152763 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2021/05/20 | 73180 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2021/05/20 | 77855 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2021/05/20 | 71569 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2021/05/20 | 80661 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2021/05/20 | 258663 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2021/05/20 | 295554 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2021/05/20 | 22039 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2021/05/20 | 25002 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2021/05/20 | 97486 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2021/05/20 | 112251 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2021/05/20 | 63836 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2021/05/20 | 72859 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2021/05/20 | 96144 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2021/05/20 | 115468 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2021/05/20 | 38068 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2021/05/20 | 42628 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2021/05/20 | 484053 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2021/05/20 | 567627 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2021/05/20 | 147140 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2021/05/20 | 159969 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2021/05/20 | 94801 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2021/05/20 | 109276 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2021/05/20 | 16327 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2021/05/20 | 17958 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2021/05/20 | 28118 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2021/05/20 | 30037 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2021/05/20 | 625282 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2021/05/20 | 680050 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2021/05/20 | 532039 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2021/05/20 | 594870 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2021/05/20 | 475937 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2021/05/20 | 511635 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2021/05/20 | 94269 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2021/05/20 | 103322 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2021/05/20 | 1725547 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2021/05/20 | 2009490 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2021/05/20 | 67651 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2021/05/20 | 74164 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2021/05/20 | 27362 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2021/05/20 | 31593 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2021/05/20 | 7747 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2021/05/20 | 8774 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2021/05/20 | 195565 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2021/05/20 | 214105 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2021/05/20 | 250213 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2021/05/20 | 283977 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2021/05/20 | 97134 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2021/05/20 | 101765 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2021/05/20 | 60551 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2021/05/20 | 67929 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2021/05/20 | 124971 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2021/05/20 | 136427 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2021/05/20 | 147150 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2021/05/20 | 163657 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2021/05/20 | 199700 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2021/05/20 | 180048 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2021/05/20 | 67450 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2021/05/20 | 77486 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2021/05/20 | 31192 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2021/05/20 | 35064 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2021/05/20 | 38065 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2021/05/20 | 42574 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2021/05/20 | 42925 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2021/05/20 | 47008 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2021/05/20 | 45937 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2021/05/20 | 52454 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2021/05/20 | 193715 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2021/05/20 | 211056 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2021/05/20 | 35462 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2021/05/20 | 39690 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2021/05/20 | 748364 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2021/05/20 | 816072 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2021/05/20 | 198131 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2021/05/20 | 202559 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2021/05/20 | 208181 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2021/05/20 | 243479 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2021/05/20 | 78745 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2021/05/20 | 87704 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2021/05/20 | 1171731 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2021/05/20 | 1307723 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2021/05/20 | 20120 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2021/05/20 | 23881 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2021/05/20 | 31544 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2021/05/20 | 37240 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2021/05/20 | 64017 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2021/05/20 | 72150 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2021/05/20 | 43676 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2021/05/20 | 51979 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2021/05/20 | 1295414 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2021/05/20 | 1424813 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2021/05/20 | 42388 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2021/05/20 | 51797 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2021/05/20 | 56223 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2021/05/20 | 59831 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2021/05/20 | 25341 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2021/05/20 | 27274 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2021/05/20 | 16112 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2021/05/20 | 18097 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2021/05/20 | 63675 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2021/05/20 | 70110 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2021/05/20 | 153890 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2021/05/20 | 167906 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2021/05/20 | 56908 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2021/05/20 | 65322 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2021/05/20 | 98516 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2021/05/20 | 104625 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2021/05/20 | 2499401 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2021/05/20 | 2616931 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2021/05/20 | 55219 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2021/05/20 | 62226 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2021/05/20 | 33441 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2021/05/20 | 37294 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2021/05/20 | 27197 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2021/05/20 | 33152 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2021/05/20 | 65731 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2021/05/20 | 70325 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2021/05/20 | 311191 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2021/05/20 | 345367 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2021/05/20 | 55563 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
-2021/05/20 | 57066 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2021/05/20 | 583629 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2021/05/20 | 618762 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2021/05/20 | 39563 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2021/05/20 | 43391 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/05/20 | 209612 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2021/05/20 | 1272470 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2021/05/20 | 1188360 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2021/05/20 | 13470 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2021/05/20 | 14354 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2021/05/21 | 576226 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2021/05/21 | 50847 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2021/05/21 | 56457 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2021/05/21 | 968696 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2021/05/21 | 1078878 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2021/05/21 | 29055 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2021/05/21 | 31343 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2021/05/21 | 29868 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2021/05/21 | 34634 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2021/05/21 | 49971 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2021/05/21 | 57599 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2021/05/21 | 84774 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2021/05/21 | 94735 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2021/05/21 | 67679 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2021/05/21 | 75417 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2021/05/21 | 27183 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2021/05/21 | 30884 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2021/05/21 | 330233 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2021/05/21 | 392597 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2021/05/21 | 32745 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2021/05/21 | 36679 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2021/05/21 | 51432 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2021/05/21 | 56719 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2021/05/21 | 4707 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma
+2021/05/21 | 239478 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2021/05/21 | 261962 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2021/05/21 | 179379 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2021/05/21 | 195664 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2021/05/21 | 52475 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2021/05/21 | 59144 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2021/05/21 | 21128 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2021/05/21 | 23291 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2021/05/21 | 461399 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2021/05/21 | 45649 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2021/05/21 | 51159 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2021/05/21 | 282107 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2021/05/21 | 321895 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2021/05/21 | 41103 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2021/05/21 | 45278 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2021/05/21 | 116930 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2021/05/21 | 131489 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2021/05/21 | 1281102 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2021/05/21 | 1425981 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2021/05/21 | 87638 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2021/05/21 | 99604 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2021/05/21 | 43057 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2021/05/21 | 47877 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2021/05/21 | 25156 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2021/05/21 | 28009 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2021/05/21 | 55822 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2021/05/21 | 62801 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2021/05/21 | 135006 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2021/05/21 | 152762 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2021/05/21 | 73181 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2021/05/21 | 77857 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2021/05/21 | 71568 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2021/05/21 | 80661 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2021/05/21 | 258663 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2021/05/21 | 295555 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2021/05/21 | 22040 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2021/05/21 | 25002 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2021/05/21 | 97490 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2021/05/21 | 112250 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2021/05/21 | 63836 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2021/05/21 | 72859 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2021/05/21 | 96145 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2021/05/21 | 115470 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2021/05/21 | 38069 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2021/05/21 | 42626 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2021/05/21 | 484055 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2021/05/21 | 567627 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2021/05/21 | 147140 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2021/05/21 | 159969 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2021/05/21 | 94802 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2021/05/21 | 109274 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2021/05/21 | 16327 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2021/05/21 | 17957 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2021/05/21 | 28119 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2021/05/21 | 30038 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2021/05/21 | 625283 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2021/05/21 | 680048 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2021/05/21 | 532038 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2021/05/21 | 594869 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2021/05/21 | 475936 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2021/05/21 | 511634 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2021/05/21 | 94269 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2021/05/21 | 103322 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2021/05/21 | 1725549 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2021/05/21 | 2009491 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2021/05/21 | 67650 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2021/05/21 | 74163 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2021/05/21 | 27362 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2021/05/21 | 31593 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2021/05/21 | 7747 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2021/05/21 | 8774 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2021/05/21 | 195566 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2021/05/21 | 214104 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2021/05/21 | 250213 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2021/05/21 | 283977 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2021/05/21 | 97135 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2021/05/21 | 101763 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2021/05/21 | 60551 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2021/05/21 | 67929 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2021/05/21 | 124973 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2021/05/21 | 136427 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2021/05/21 | 147151 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2021/05/21 | 163656 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2021/05/21 | 199701 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2021/05/21 | 180048 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2021/05/21 | 67450 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2021/05/21 | 77487 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2021/05/21 | 31191 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2021/05/21 | 35064 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2021/05/21 | 38066 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2021/05/21 | 42573 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2021/05/21 | 42923 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2021/05/21 | 47007 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2021/05/21 | 45937 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2021/05/21 | 52454 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2021/05/21 | 193717 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2021/05/21 | 211055 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2021/05/21 | 35463 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2021/05/21 | 39690 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2021/05/21 | 748362 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2021/05/21 | 816071 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2021/05/21 | 198131 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2021/05/21 | 202558 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2021/05/21 | 208180 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2021/05/21 | 243478 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2021/05/21 | 78746 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2021/05/21 | 87704 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2021/05/21 | 1171731 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2021/05/21 | 1307723 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2021/05/21 | 20120 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2021/05/21 | 23881 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2021/05/21 | 31543 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2021/05/21 | 37242 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2021/05/21 | 64017 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2021/05/21 | 72150 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2021/05/21 | 43677 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2021/05/21 | 51979 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2021/05/21 | 1295415 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2021/05/21 | 1424811 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2021/05/21 | 42388 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2021/05/21 | 51798 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2021/05/21 | 56223 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2021/05/21 | 59831 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2021/05/21 | 25342 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2021/05/21 | 27274 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2021/05/21 | 16113 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2021/05/21 | 18096 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2021/05/21 | 63674 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2021/05/21 | 70109 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2021/05/21 | 153890 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2021/05/21 | 167908 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2021/05/21 | 56909 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2021/05/21 | 65322 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2021/05/21 | 98518 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2021/05/21 | 104625 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2021/05/21 | 2499401 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2021/05/21 | 2616931 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2021/05/21 | 55219 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2021/05/21 | 62226 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2021/05/21 | 33441 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2021/05/21 | 37293 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2021/05/21 | 27197 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2021/05/21 | 33151 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2021/05/21 | 65733 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2021/05/21 | 70325 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2021/05/21 | 311191 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2021/05/21 | 345367 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/05/21 | 55563 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2021/05/21 | 57066 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2021/05/21 | 583627 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2021/05/21 | 618763 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2021/05/21 | 39563 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2021/05/21 | 43390 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2021/05/21 | 209568 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2021/05/21 | 1271700 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2021/05/21 | 1187934 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2021/05/21 | 13470 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2021/05/21 | 14353 | 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
-2021/05/20 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2021/05/21 | 1153 | 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
@@ -284479,7 +284485,7 @@
2020/10/20 | 342254 | systems/win32/miktex/tm/packages/preview.tar.lzma
2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma
2021/04/23 | 274028 | systems/win32/miktex/tm/packages/principia.tar.lzma
-2021/05/20 | 839 | systems/win32/miktex/tm/packages/pr.ini
+2021/05/21 | 839 | 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
@@ -285669,7 +285675,7 @@
2021/05/16 | 5532928 | systems/win32/w32tex/aleph-w32.tar.xz
2021/05/09 | 63720288 | systems/win32/w32tex/biblatex-biber.tar.xz
2016/12/13 | 65971452 | systems/win32/w32tex/cbfonts.tar.xz
-2021/05/19 | 833676 | systems/win32/w32tex/ChangeLog
+2021/05/20 | 834009 | 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
@@ -285677,7 +285683,7 @@
2017/06/24 | 644754 | systems/win32/w32tex/ChangeLog.4
2021/05/19 | 23543676 | systems/win32/w32tex/cjkzr.tar.xz
2013/04/27 | 15858676 | systems/win32/w32tex/context-doc.tar.xz
-2021/05/18 | 144819648 | systems/win32/w32tex/context.tar.xz
+2021/05/20 | 144842692 | systems/win32/w32tex/context.tar.xz
2021/05/04 | 914852 | systems/win32/w32tex/cweb-w32.tar.xz
2021/03/22 | 6433932 | systems/win32/w32tex/datetime2.tar.xz
2021/04/07 | 846020 | systems/win32/w32tex/dvi2ps-w32.tar.xz
@@ -285693,7 +285699,7 @@
2021/03/21 | 34776716 | systems/win32/w32tex/latex.tar.xz
2021/04/07 | 1007424 | systems/win32/w32tex/lcdf-typetools-w32.tar.xz
2021/03/30 | 421014648 | systems/win32/w32tex/ltxpkgdocs.tar.xz
-2021/05/19 | 35275956 | systems/win32/w32tex/ltxpkgs.tar.xz
+2021/05/20 | 35275504 | systems/win32/w32tex/ltxpkgs.tar.xz
2021/05/12 | 3891892 | systems/win32/w32tex/luajittex-dev-w32.tar.xz
2021/05/12 | 3899756 | systems/win32/w32tex/luajittex-exp-w32.tar.xz
2021/05/12 | 3907764 | systems/win32/w32tex/luajittex-w32.tar.xz
@@ -285702,7 +285708,7 @@
2021/05/16 | 18944520 | systems/win32/w32tex/luatex-exp-w32.tar.xz
2021/05/18 | 68821292 | systems/win32/w32tex/luatexja.tar.xz
2021/05/16 | 18926672 | systems/win32/w32tex/luatex-w32.tar.xz
-2021/05/12 | 1612948 | systems/win32/w32tex/makeindex-w32.tar.xz
+2021/05/19 | 1613268 | systems/win32/w32tex/makeindex-w32.tar.xz
2021/03/28 | 5371984 | systems/win32/w32tex/manual.tar.xz
2021/05/18 | 439584 | systems/win32/w32tex/mftools.tar.xz
2021/04/07 | 525008 | systems/win32/w32tex/mftrace-w32.tar.xz
@@ -285752,7 +285758,7 @@
2021/05/18 | 45561092 | systems/win32/w32tex/web2c-w32.tar.xz
2021/05/08 | 811412 | systems/win32/w32tex/win64/aleph-w64.tar.xz
2020/08/20 | 22351540 | systems/win32/w32tex/win64/biblatex-biber-w64.tar.xz
-2021/05/10 | 2227976 | systems/win32/w32tex/win64/context-w64.tar.xz
+2021/05/20 | 2227944 | systems/win32/w32tex/win64/context-w64.tar.xz
2021/05/04 | 441456 | systems/win32/w32tex/win64/cweb-w64.tar.xz
2021/04/07 | 758972 | systems/win32/w32tex/win64/dvi2ps-w64.tar.xz
2021/04/07 | 448472 | systems/win32/w32tex/win64/dvi2tty-w64.tar.xz
@@ -285771,7 +285777,7 @@
2021/05/12 | 3133228 | systems/win32/w32tex/win64/luatex-dev-w64.tar.xz
2021/05/12 | 3127940 | systems/win32/w32tex/win64/luatex-exp-w64.tar.xz
2021/05/12 | 3128308 | systems/win32/w32tex/win64/luatex-w64.tar.xz
-2021/05/12 | 1083588 | systems/win32/w32tex/win64/makeindex-w64.tar.xz
+2021/05/19 | 1083292 | systems/win32/w32tex/win64/makeindex-w64.tar.xz
2021/04/07 | 431500 | systems/win32/w32tex/win64/mftools-w64.tar.xz
2021/04/07 | 377008 | systems/win32/w32tex/win64/mftrace-w64.tar.xz
2020/01/18 | 362540 | systems/win32/w32tex/win64/m-tx-w64.tar.xz
@@ -285890,7 +285896,7 @@
2004/06/04 | 404 | tds/tds.sed
2004/06/23 | 65418 | tds/tds.tex
2019/05/29 | 304264 | tds.zip
-2021/05/21 | 186 | timestamp
+2021/05/22 | 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 787ebf9de1..20c6a185ce 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 14b281f2be..a024aa3293 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,372 +1,685 @@
+2021/05/21 | 99604 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2021/05/21 | 99215 | macros/luatex/generic/luaotfload/luaotfload-main.tex
+2021/05/21 | 9901036 | macros/latex/contrib/acmart.zip
+2021/05/21 | 9881 | macros/luatex/generic/luaotfload/fontloader-fonts-gbn.lua
+2021/05/21 | 98518 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2021/05/21 | 9765 | macros/luatex/generic/luatexja/src/addons/luatexja-ruby.sty
+2021/05/21 | 97490 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2021/05/21 | 9740 | macros/luatex/generic/lualibs/lualibs-trac-inf.lua
+2021/05/21 | 97135 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2021/05/21 | 968696 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2021/05/21 | 96848 | macros/latex/contrib/siunitx/siunitx-unit.dtx
+2021/05/21 | 966557 | macros/luatex/generic/luaotfload/fontloader-reference.lua
+2021/05/21 | 964 | macros/latex/contrib/siunitx/README.md
+2021/05/21 | 96145 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2021/05/21 | 94802 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2021/05/21 | 94735 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2021/05/21 | 945 | macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua
+2021/05/21 | 945 | macros/luatex/generic/luatexja/doc/jfm-testf.lua
+2021/05/21 | 94470 | macros/luatex/generic/luaotfload/fontloader-font-otr.lua
+2021/05/21 | 94269 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2021/05/21 | 91892 | macros/luatex/generic/luaotfload/fontloader-font-cff.lua
+2021/05/21 | 912 | macros/luatex/generic/luaotfload/fontloader-fonts-mis.lua
+2021/05/21 | 896 | macros/luatex/generic/luatexja/tool/otf-KozMinPr6N-Regular.txt
+2021/05/21 | 885 | macros/luatex/generic/luatexja/src/patches/lltjp-stfloats.sty
+2021/05/21 | 8840 | macros/luatex/generic/luaotfload/luaotfload-loaders.lua
+2021/05/21 | 8774 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2021/05/21 | 87704 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2021/05/21 | 87638 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2021/05/21 | 8762 | macros/latex/contrib/siunitx/siunitx-command.dtx
+2021/05/21 | 864936 | macros/luatex/generic/luaotfload/fontloader-2021-05-20.lua
+2021/05/21 | 8609 | macros/luatex/generic/luatexja/src/ltj-otf.lua
+2021/05/21 | 8607 | macros/luatex/generic/luatexja/src/ltjltxdoc.dtx
+2021/05/21 | 8597 | macros/luatex/generic/luaotfload/filegraph.tex
+2021/05/21 | 8559 | macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf
+2021/05/21 | 8479 | macros/luatex/generic/luaotfload/shaper-demo.pdf
+2021/05/21 | 84774 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2021/05/21 | 839 | systems/win32/miktex/tm/packages/pr.ini
+2021/05/21 | 825 | macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty
+2021/05/21 | 81627 | macros/luatex/generic/lualibs/lualibs.pdf
+2021/05/21 | 816071 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2021/05/21 | 8106 | macros/luatex/generic/luatexja/src/jfm-min.lua
+2021/05/21 | 80661 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2021/05/21 | 7904 | macros/luatex/generic/luaotfload/fontloader-font-oti.lua
+2021/05/21 | 78746 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2021/05/21 | 78171 | macros/unicodetex/latex/aalok/aalok.dtx
+2021/05/21 | 7790 | macros/luatex/generic/luatexja/tool/jfm-convert.lua
+2021/05/21 | 77857 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2021/05/21 | 77497 | macros/luatex/generic/luaotfload/luaotfload-conf.pdf
+2021/05/21 | 77487 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2021/05/21 | 7747 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2021/05/21 | 77067 | macros/luatex/generic/luaotfload/luaotfload-tool.pdf
+2021/05/21 | 7661 | macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua
+2021/05/21 | 75912 | macros/latex/contrib/fontsize/fontsize.dtx
+2021/05/21 | 7589 | macros/luatex/generic/luaotfload/luaotfload-unicode.lua
+2021/05/21 | 75417 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2021/05/21 | 7528 | macros/luatex/generic/luaotfload/luaotfload-tounicode.lua
+2021/05/21 | 748362 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2021/05/21 | 74163 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2021/05/21 | 7370 | macros/luatex/generic/luatexja/src/ltj-math.lua
+2021/05/21 | 735 | macros/luatex/generic/luaotfload/luaotfload.conf.example
+2021/05/21 | 73181 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2021/05/21 | 72859 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2021/05/21 | 7260 | macros/luatex/generic/luaotfload/fontloader-fonts-ext.lua
+2021/05/21 | 72150 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2021/05/21 | 71568 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2021/05/21 | 70325 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2021/05/21 | 7026 | macros/luatex/generic/luatexja/src/ltj-pretreat.lua
+2021/05/21 | 70109 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2021/05/21 | 699 | macros/luatex/generic/luaotfload/scripts-demo.tex
+2021/05/21 | 69366 | macros/luatex/generic/luatexja/doc/ltjltxdoc.pdf
+2021/05/21 | 693535 | macros/luatex/generic/luatexja/doc/luatexja-en.pdf
+2021/05/21 | 6891 | macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty
+2021/05/21 | 6866 | macros/luatex/generic/luaotfload/fontloader-font-afk.lua
+2021/05/21 | 6812825 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2021/05/21 | 6809 | macros/luatex/generic/luaotfload/luaotfload-case.lua
+2021/05/21 | 680048 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2021/05/21 | 67929 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2021/05/21 | 67679 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2021/05/21 | 67650 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2021/05/21 | 67450 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2021/05/21 | 6644 | macros/luatex/generic/luaotfload/fontloader-l-string.lua
+2021/05/21 | 65733 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2021/05/21 | 65322 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2021/05/21 | 65279 | macros/luatex/generic/luaotfload/fontloader-font-otj.lua
+2021/05/21 | 6497 | macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
+2021/05/21 | 6405 | macros/luatex/generic/luaotfload/fontloader-l-lua.lua
+2021/05/21 | 64017 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2021/05/21 | 63836 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2021/05/21 | 63674 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2021/05/21 | 63211 | macros/luatex/generic/luaotfload/fontloader-font-con.lua
+2021/05/21 | 6317 | macros/luatex/generic/luaotfload/luaotfload-status.lua
+2021/05/21 | 6309 | macros/luatex/generic/luaotfload/luaotfload-szss.lua
+2021/05/21 | 62801 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2021/05/21 | 625283 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2021/05/21 | 62226 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2021/05/21 | 6203 | macros/luatex/generic/luatexja/src/ltj-base.sty
+2021/05/21 | 618763 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2021/05/21 | 617 | macros/luatex/generic/luatexja/src/patches/lltjp-array.sty
+2021/05/21 | 6060 | macros/luatex/generic/luatexja/tool/kyoikukanjiChars.tex
+2021/05/21 | 60551 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2021/05/21 | 605308 | macros/latex/contrib/siunitx/siunitx.pdf
+2021/05/21 | 59831 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2021/05/21 | 594869 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2021/05/21 | 5940 | macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua
+2021/05/21 | 59344 | macros/luatex/generic/luaotfload/fontloader-font-ttf.lua
+2021/05/21 | 59144 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2021/05/21 | 5885 | macros/luatex/generic/luaotfload/fontloader-reference-load-order.tex
+2021/05/21 | 5850 | macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty
+2021/05/21 | 583627 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2021/05/21 | 580 | macros/luatex/generic/luatexja/tool/blocks2defcharrange.rb
+2021/05/21 | 576615 | systems/win32/miktex/tm/packages/files.csv.lzma
+2021/05/21 | 576226 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2021/05/21 | 57599 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2021/05/21 | 57342 | macros/luatex/generic/luaotfload/fontloader-fonts-lig.lua
+2021/05/21 | 57066 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2021/05/21 | 56909 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2021/05/21 | 5682 | macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty
+2021/05/21 | 567627 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2021/05/21 | 56719 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2021/05/21 | 56457 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2021/05/21 | 56223 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2021/05/21 | 55822 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2021/05/21 | 55563 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2021/05/21 | 5544 | macros/luatex/generic/luatexja/src/ltj-latex.sty
+2021/05/21 | 55333 | macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
+2021/05/21 | 55219 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2021/05/21 | 551 | macros/luatex/generic/luatexja/tool/jfm-readable.rb
+2021/05/21 | 5502 | macros/luatex/generic/luaotfload/fontloader-font-cid.lua
+2021/05/21 | 549 | macros/latex/contrib/tiscreen/README
+2021/05/21 | 54427 | macros/luatex/generic/luatexja/src/ltj-jisx0208.lua
+2021/05/21 | 54080 | macros/luatex/generic/luaotfload/luaotfload-tool.lua
+2021/05/21 | 5388 | macros/luatex/generic/luaotfload/fontloader-data-con.lua
+2021/05/21 | 534065 | macros/luatex/generic/luatexja/doc/luatexja.dtx
+2021/05/21 | 532038 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2021/05/21 | 52 | macros/luatex/generic/luaotfload/luaotfload-blacklist.cnf
+2021/05/21 | 5297 | macros/unicodetex/latex/aalok/aalok.ins
+2021/05/21 | 52475 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2021/05/21 | 52454 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2021/05/21 | 5222 | macros/luatex/generic/luatexja/src/ltj-debug.lua
+2021/05/21 | 52002 | macros/luatex/generic/luatexja/doc/luatexja-ruby.tex
+2021/05/21 | 51979 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2021/05/21 | 51798 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2021/05/21 | 51432 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2021/05/21 | 511634 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2021/05/21 | 51159 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2021/05/21 | 50847 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2021/05/21 | 49971 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2021/05/21 | 4956 | macros/luatex/generic/luaotfload/luaotfload-dvi.lua
+2021/05/21 | 49501 | macros/luatex/generic/luatexja/src/patches/lltjfont.sty
+2021/05/21 | 494977 | macros/luatex/generic/luaotfload/luaotfload-latex.pdf
+2021/05/21 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2021/05/21 | 4871 | macros/luatex/generic/luatexja/src/ltj-stack.lua
+2021/05/21 | 484055 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2021/05/21 | 48217 | macros/luatex/generic/luatexja/src/ltj-jfont.lua
+2021/05/21 | 4808 | macros/luatex/generic/luatexja/src/jfm-tmin.lua
+2021/05/21 | 47877 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2021/05/21 | 475936 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2021/05/21 | 47497 | macros/latex/contrib/siunitx/siunitx-table.dtx
+2021/05/21 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
+2021/05/21 | 4740 | macros/luatex/generic/lualibs/README.md
+2021/05/21 | 4707 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma
+2021/05/21 | 47007 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2021/05/21 | 4629 | macros/latex/contrib/siunitx/siunitx-locale.dtx
+2021/05/21 | 461399 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2021/05/21 | 46091 | macros/luatex/generic/luaotfload/fontloader-basics-chr.lua
+2021/05/21 | 45937 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2021/05/21 | 4588 | macros/luatex/generic/lualibs/lualibs-number.lua
+2021/05/21 | 457434 | macros/luatex/generic/luatexja/doc/ltjsclasses.pdf
+2021/05/21 | 45649 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2021/05/21 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2021/05/21 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2021/05/21 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2021/05/21 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2021/05/21 | 4559 | macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty
+2021/05/21 | 45278 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2021/05/21 | 45129 | macros/luatex/generic/luaotfload/fontloader-util-str.lua
+2021/05/21 | 45129 | macros/luatex/generic/lualibs/lualibs-util-str.lua
+2021/05/21 | 4452 | macros/luatex/generic/luatexja/doc/jfm-ujisc33.lua
+2021/05/21 | 4408 | macros/luatex/generic/luatexja/src/ltj-plain.sty
+2021/05/21 | 44027 | macros/latex/contrib/projlib/ProjLib.dtx
+2021/05/21 | 43677 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2021/05/21 | 43390 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2021/05/21 | 43057 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2021/05/21 | 42923 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2021/05/21 | 4262 | macros/luatex/generic/luatexja/tool/kyoikukanji.txt
+2021/05/21 | 42626 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2021/05/21 | 42573 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2021/05/21 | 42388 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2021/05/21 | 4196 | macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty
+2021/05/21 | 41758 | macros/luatex/generic/luaotfload/fontloader-l-table.lua
+2021/05/21 | 41594 | macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua
+2021/05/21 | 41303 | macros/luatex/generic/luaotfload/fontloader-l-unicode.lua
+2021/05/21 | 41103 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2021/05/21 | 405 | macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty
+2021/05/21 | 4047 | macros/luatex/generic/luaotfload/luaotfload-fallback.lua
+2021/05/21 | 400691 | macros/luatex/generic/luatexja/doc/ltjclasses.pdf
+2021/05/21 | 40024 | macros/luatex/generic/luaotfload/filegraph.pdf
+2021/05/21 | 39711 | macros/luatex/generic/luatexja/src/ltj-direction.lua
+2021/05/21 | 39690 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2021/05/21 | 3961 | macros/luatex/generic/luatexja/src/ltj-charrange.lua
+2021/05/21 | 39563 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2021/05/21 | 39406 | macros/latex/contrib/siunitx/CHANGELOG.md
+2021/05/21 | 392597 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2021/05/21 | 388666 | macros/latex/contrib/projlib.zip
+2021/05/21 | 387444 | macros/latex/contrib/fontsize.zip
+2021/05/21 | 38735 | macros/luatex/generic/luaotfload/fontloader-l-lpeg.lua
+2021/05/21 | 38735 | macros/luatex/generic/lualibs/lualibs-lpeg.lua
+2021/05/21 | 385 | macros/luatex/generic/luatexja/src/ltjsclasses.ins
+2021/05/21 | 3821 | macros/luatex/generic/luaotfload/fontloader-fonts-def.lua
+2021/05/21 | 381339 | macros/luatex/generic/luatexja/doc/luatexja-ruby.pdf
+2021/05/21 | 38069 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2021/05/21 | 38066 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2021/05/21 | 3797 | macros/luatex/generic/luatexja/README
+2021/05/21 | 378517 | macros/latex/contrib/fontsize/fontsize.pdf
+2021/05/21 | 3784 | macros/luatex/generic/luaotfload/README.md
+2021/05/21 | 3782606 | macros/luatex/generic/luatexja.zip
+2021/05/21 | 3755 | macros/luatex/generic/luatexja/src/ltj-lineskip.lua
+2021/05/21 | 3748 | macros/luatex/generic/luatexja/src/ltj-compat.lua
+2021/05/21 | 37293 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2021/05/21 | 37242 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2021/05/21 | 3693 | macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty
+2021/05/21 | 3693 | macros/luatex/generic/luaotfload/fontloader-font-imp-italics.lua
+2021/05/21 | 3687 | macros/latex/contrib/siunitx/siunitx.ins
+2021/05/21 | 3674 | macros/luatex/generic/luaotfload/fontloader-fonts-syn.lua
+2021/05/21 | 36679 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2021/05/21 | 361 | macros/luatex/generic/luaotfload/fontloader-l-function.lua
+2021/05/21 | 3580 | macros/luatex/generic/luaotfload/fontloader-font-imp-ligatures.lua
+2021/05/21 | 355 | macros/luatex/generic/luatexja/tool/otf-AdobeMingStd-Light.txt
+2021/05/21 | 355 | macros/luatex/generic/luatexja/doc/luatexja.ins
+2021/05/21 | 35463 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2021/05/21 | 35064 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2021/05/21 | 34922 | macros/luatex/generic/luaotfload/fontloader-font-ott.lua
+2021/05/21 | 34634 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2021/05/21 | 345367 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/05/21 | 3451 | macros/luatex/generic/luatexja/src/luatexja-compat.sty
+2021/05/21 | 343784 | macros/latex/contrib/easybook.zip
+2021/05/21 | 3406 | macros/luatex/generic/luaotfload/fontloader-font-imp-tex.lua
+2021/05/21 | 3371 | macros/luatex/generic/luatexja/src/patches/lltjp-xunicode.sty
+2021/05/21 | 33461 | macros/luatex/generic/luatexja/src/addons/luatexja-ajmacros.sty
+2021/05/21 | 33441 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2021/05/21 | 33151 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2021/05/21 | 3313 | macros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl
+2021/05/21 | 33086 | macros/luatex/generic/luaotfload/fontloader-font-otl.lua
+2021/05/21 | 330233 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2021/05/21 | 3287334 | macros/luatex/generic/luaotfload/luaotfload-characters.lua
+2021/05/21 | 32745 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2021/05/21 | 326 | macros/luatex/generic/luatexja/tool/otf-AdobeMyungjoStd-Medium.txt
+2021/05/21 | 32597 | macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua
+2021/05/21 | 3238 | macros/luatex/generic/luatexja/doc/jfm-test.lua
+2021/05/21 | 321895 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2021/05/21 | 32099 | macros/luatex/generic/luatexja/src/ltj-ruby.lua
+2021/05/21 | 31802 | macros/luatex/generic/luaotfload/fontloader-font-otc.lua
+2021/05/21 | 317 | macros/luatex/generic/luatexja/tool/otf-AdobeSongStd-Light.txt
+2021/05/21 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
+2021/05/21 | 31593 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2021/05/21 | 31543 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2021/05/21 | 3141 | macros/luatex/generic/lualibs/NEWS
+2021/05/21 | 31368 | macros/latex/contrib/siunitx/siunitx-compound.dtx
+2021/05/21 | 31349 | macros/luatex/generic/luaotfload/fontloader-font-one.lua
+2021/05/21 | 31343 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2021/05/21 | 31335 | macros/latex/contrib/siunitx/siunitx-print.dtx
+2021/05/21 | 312353 | macros/latex/contrib/easybook/easybook.pdf
+2021/05/21 | 31191 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2021/05/21 | 31152 | macros/luatex/generic/luaotfload/luaotfload-configuration.lua
+2021/05/21 | 311191 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2021/05/21 | 3100 | macros/luatex/generic/luatexja/tool/table_jisx0208.tex
+2021/05/21 | 30999 | macros/luatex/generic/luaotfload/luaotfload-parsers.lua
+2021/05/21 | 30884 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2021/05/21 | 30038 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2021/05/21 | 29868 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2021/05/21 | 2964 | macros/latex/contrib/tiscreen/doc/tiscreen-doc.tex
+2021/05/21 | 29580 | macros/luatex/generic/luaotfload/luaotfload-features.lua
+2021/05/21 | 295555 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2021/05/21 | 29536 | macros/luatex/generic/luatexja/src/luatexja-core.sty
+2021/05/21 | 29181 | macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
+2021/05/21 | 29055 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2021/05/21 | 2883 | macros/latex/contrib/siunitx/siunitx-binary.dtx
+2021/05/21 | 283977 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2021/05/21 | 282107 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2021/05/21 | 28119 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2021/05/21 | 28009 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2021/05/21 | 27823 | macros/luatex/generic/lualibs/lualibs.dtx
+2021/05/21 | 27620 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
+2021/05/21 | 275 | macros/luatex/generic/luaotfload/luaotfload-main.lua
+2021/05/21 | 273734 | install/macros/luatex/generic/lualibs.tds.zip
+2021/05/21 | 27362 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2021/05/21 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
+2021/05/21 | 27274 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2021/05/21 | 27197 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2021/05/21 | 27183 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2021/05/21 | 26934 | macros/luatex/generic/luatexja/src/lltjext.sty
+2021/05/21 | 2667 | macros/luatex/generic/luaotfload/fontloader-font-vfc.lua
+2021/05/21 | 266042 | macros/luatex/generic/lualibs.zip
+2021/05/21 | 261962 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2021/05/21 | 2616931 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2021/05/21 | 2601 | macros/luatex/generic/luatexja/src/jfm-banjiao.lua
+2021/05/21 | 2586 | macros/luatex/generic/luatexja/src/jfm-kaiming.lua
+2021/05/21 | 258663 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2021/05/21 | 2582 | macros/luatex/generic/luaotfload/luaotfload-suppress.lua
+2021/05/21 | 2575 | macros/luatex/generic/luatexja/src/jfm-quanjiao.lua
+2021/05/21 | 25719 | macros/latex/contrib/siunitx/siunitx-complex.dtx
+2021/05/21 | 25584691 | systems/texlive/tlnet/install-tl.zip
+2021/05/21 | 2555 | macros/luatex/generic/luaotfload/fontloader-l-math.lua
+2021/05/21 | 25342 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2021/05/21 | 25336 | macros/luatex/generic/luaotfload/luaotfload-filelist.lua
+2021/05/21 | 25264 | macros/luatex/generic/luaotfload/fontloader-font-ocl.lua
+2021/05/21 | 25156 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2021/05/21 | 2506 | macros/luatex/generic/luaotfload/luaotfload-scripts.lua
+2021/05/21 | 250213 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2021/05/21 | 25002 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2021/05/21 | 2499401 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2021/05/21 | 243478 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2021/05/21 | 2426 | macros/latex/contrib/siunitx/siunitx-code.tex
+2021/05/21 | 239478 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2021/05/21 | 23881 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2021/05/21 | 2374 | macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
+2021/05/21 | 2342 | macros/luatex/generic/luatexja/src/jfm-jis.lua
+2021/05/21 | 23399 | macros/luatex/generic/luaotfload/fontloader-fonts-tfm.lua
+2021/05/21 | 23291 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2021/05/21 | 2315 | macros/luatex/generic/luaotfload/fontloader-fonts-enc.lua
+2021/05/21 | 2308404 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2021/05/21 | 22966 | macros/luatex/generic/luaotfload/fontloader-font-oto.lua
+2021/05/21 | 22175 | macros/luatex/generic/luaotfload/fontloader-l-file.lua
+2021/05/21 | 2207 | macros/luatex/generic/luatexja/src/jfm-CCT.lua
+2021/05/21 | 22040 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2021/05/21 | 2199205 | install/macros/latex/contrib/siunitx.tds.zip
+2021/05/21 | 2193 | macros/luatex/generic/luatexja/src/addons/luatexja-zhfonts.sty
+2021/05/21 | 21858 | macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua
+2021/05/21 | 21837 | macros/luatex/generic/luaotfload/scripts-demo.pdf
+2021/05/21 | 2161925 | macros/latex/contrib/siunitx.zip
+2021/05/21 | 214104 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2021/05/21 | 21136 | macros/luatex/generic/luatexja/src/luatexja.lua
+2021/05/21 | 21128 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2021/05/21 | 211055 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2021/05/21 | 209603 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2021/05/21 | 209568 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2021/05/21 | 208180 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2021/05/21 | 20810464 | systems/texlive/tlnet/install-tl-windows.exe
+2021/05/21 | 2057 | macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty
+2021/05/21 | 20294 | macros/luatex/generic/luaotfload/NEWS
+2021/05/21 | 202558 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2021/05/21 | 20120 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2021/05/21 | 200 | macros/luatex/generic/luatexja/src/jfm-prop.lua
+2021/05/21 | 2009491 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2021/05/21 | 1999 | macros/unicodetex/latex/aalok/README.txt
+2021/05/21 | 199701 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2021/05/21 | 19944 | macros/luatex/generic/luaotfload/fontloader-font-def.lua
+2021/05/21 | 198131 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2021/05/21 | 196 | macros/luatex/generic/luatexja/src/jfm-propw.lua
+2021/05/21 | 196 | macros/luatex/generic/luatexja/src/jfm-propv.lua
+2021/05/21 | 19572 | macros/luatex/generic/luatexja/src/ltj-adjust.lua
+2021/05/21 | 19570 | macros/luatex/generic/luaotfload/fontloader-font-map.lua
+2021/05/21 | 195664 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2021/05/21 | 195566 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2021/05/21 | 19549 | macros/luatex/generic/luaotfload/luaotfload-init.lua
+2021/05/21 | 19541 | macros/latex/contrib/siunitx/siunitx.dtx
+2021/05/21 | 19516 | macros/luatex/generic/luaotfload/luaotfload-letterspace.lua
+2021/05/21 | 19410 | macros/luatex/generic/lualibs/lualibs-os.lua
+2021/05/21 | 193717 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2021/05/21 | 1936005 | install/macros/luatex/generic/luaotfload.tds.zip
+2021/05/21 | 1932221 | macros/luatex/generic/luaotfload.zip
+2021/05/21 | 192 | macros/luatex/generic/luatexja/src/jfm-mono.lua
+2021/05/21 | 191 | macros/luatex/generic/luaotfload/shaper-demo-graphite.tex
+2021/05/21 | 189 | macros/luatex/generic/luatexja/src/patches/lltjp-preview.sty
+2021/05/21 | 188942 | macros/luatex/generic/luatexja/src/ltjsclasses.dtx
+2021/05/21 | 18722 | macros/luatex/generic/luatexja/src/ltj-kinsoku.tex
+2021/05/21 | 18717 | macros/luatex/generic/luaotfload/fontloader-font-onr.lua
+2021/05/21 | 18714 | macros/luatex/generic/luaotfload/COPYING
+2021/05/21 | 18543 | macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
+2021/05/21 | 185248 | macros/unicodetex/latex/aalok.zip
+2021/05/21 | 1850 | macros/luatex/generic/luaotfload/fontloader-l-boolean.lua
+2021/05/21 | 18411 | macros/luatex/generic/luaotfload/fontloader-font-ota.lua
+2021/05/21 | 183595 | macros/luatex/generic/luaotfload/fontloader-font-ots.lua
+2021/05/21 | 1832 | macros/luatex/generic/luatexja/src/luatexja.sty
+2021/05/21 | 182 | macros/luatex/generic/luaotfload/shaper-demo.tex
+2021/05/21 | 1812 | macros/luatex/generic/luaotfload/luaotfload.sty
+2021/05/21 | 18096 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2021/05/21 | 18074 | macros/luatex/generic/luaotfload/luaotfload.conf.rst
+2021/05/21 | 180048 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2021/05/21 | 17957 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2021/05/21 | 1794 | macros/luatex/generic/luaotfload/fontloader-font-ini.lua
+2021/05/21 | 179379 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2021/05/21 | 177581 | macros/luatex/generic/luatexja/src/ltjclasses.dtx
+2021/05/21 | 1765 | macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
+2021/05/21 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
+2021/05/21 | 1725549 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2021/05/21 | 17243572 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2021/05/21 | 167908 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2021/05/21 | 16675 | macros/luatex/generic/luaotfload/luaotfload-latex.tex
+2021/05/21 | 166557 | macros/luatex/generic/luatexja/doc/lltjp-geometry.pdf
+2021/05/21 | 16548 | macros/luatex/generic/luaotfload/luaotfload.conf.5
+2021/05/21 | 16529 | macros/latex/contrib/siunitx/siunitx-angle.dtx
+2021/05/21 | 1637 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
+2021/05/21 | 163656 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2021/05/21 | 16327 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2021/05/21 | 16116 | macros/luatex/generic/luaotfload/luaotfload-tool.rst
+2021/05/21 | 16113 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2021/05/21 | 159969 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2021/05/21 | 15954 | macros/luatex/generic/luaotfload/luaotfload-colors.lua
+2021/05/21 | 15839 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
+2021/05/21 | 154828 | macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua
+2021/05/21 | 154135 | macros/luatex/generic/luaotfload/fontloader-font-dsp.lua
+2021/05/21 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2021/05/21 | 153890 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2021/05/21 | 153734 | macros/unicodetex/latex/aalok/aalok.pdf
+2021/05/21 | 1536 | macros/luatex/generic/luatexja/COPYING
+2021/05/21 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2021/05/21 | 152762 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2021/05/21 | 15196 | macros/luatex/generic/luaotfload/fontloader-reference-load-order.lua
+2021/05/21 | 1511 | macros/latex/contrib/fontsize/README
+2021/05/21 | 15068 | macros/luatex/generic/luaotfload/luaotfload-multiscript.lua
+2021/05/21 | 147151 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2021/05/21 | 147140 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2021/05/21 | 14713 | macros/luatex/generic/lualibs/lualibs-url.lua
+2021/05/21 | 14709 | macros/luatex/generic/luatexja/src/patches/lltjp-listings.sty
+2021/05/21 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2021/05/21 | 14517 | macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
+2021/05/21 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2021/05/21 | 1449 | macros/luatex/generic/luaotfload/fontloader-font-lua.lua
+2021/05/21 | 1441845 | macros/latex/contrib/siunitx/siunitx-code.pdf
+2021/05/21 | 14353 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2021/05/21 | 14351 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
+2021/05/21 | 1425981 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2021/05/21 | 1424811 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2021/05/21 | 1397 | macros/luatex/generic/luatexja/tool/ivslist.tex
+2021/05/21 | 13899 | macros/luatex/generic/luatexja/src/jfm-ujis.lua
+2021/05/21 | 138579 | macros/latex/contrib/siunitx/siunitx.tex
+2021/05/21 | 13788 | macros/luatex/generic/luaotfload/luaotfload.lua
+2021/05/21 | 13726 | macros/luatex/generic/luatexja/doc/lltjp-geometry.tex
+2021/05/21 | 13657 | macros/luatex/generic/luaotfload/luaotfload-harf-define.lua
+2021/05/21 | 136427 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2021/05/21 | 1362 | macros/luatex/generic/luatexja/src/patches/lltjp-footmisc.sty
+2021/05/21 | 13500 | macros/luatex/generic/luaotfload/fontloader-font-shp.lua
+2021/05/21 | 135006 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2021/05/21 | 134863 | macros/luatex/generic/luaotfload/luaotfload-database.lua
+2021/05/21 | 13470 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2021/05/21 | 13194 | macros/luatex/generic/luatexja/src/ltj-setwidth.lua
+2021/05/21 | 131865 | macros/luatex/generic/lualibs/lualibs-basic-merged.lua
+2021/05/21 | 131489 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2021/05/21 | 1307723 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2021/05/21 | 1295415 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2021/05/21 | 12829 | macros/luatex/generic/luaotfload/luaotfload-tool.1
+2021/05/21 | 1281102 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2021/05/21 | 1278 | macros/luatex/generic/luatexja/src/ltjclasses.ins
+2021/05/21 | 12745 | macros/luatex/generic/luaotfload/fontloader-basics-gen.lua
+2021/05/21 | 1272452 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2021/05/21 | 1271700 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2021/05/21 | 12704 | macros/luatex/generic/luaotfload/fontloader-font-imp-effects.lua
+2021/05/21 | 126 | macros/luatex/generic/luatexja/src/ltjltxdoc.ins
+2021/05/21 | 12566 | macros/luatex/generic/lualibs/lualibs-package.lua
+2021/05/21 | 124973 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2021/05/21 | 124455 | macros/latex/contrib/easybook/easybook.dtx
+2021/05/21 | 12389 | macros/luatex/generic/luatexja/src/patches/lltjcore.sty
+2021/05/21 | 123718 | macros/latex/contrib/tiscreen.zip
+2021/05/21 | 1224 | macros/luatex/generic/luatexja/tool/chars2defcharrange.rb
+2021/05/21 | 12224 | macros/luatex/generic/luaotfload/luaotfload-notdef.lua
+2021/05/21 | 121968 | macros/latex/contrib/tiscreen/doc/tiscreen-doc.pdf
+2021/05/21 | 12151 | macros/luatex/generic/luatexja/src/ltj-base.lua
+2021/05/21 | 119385 | macros/luatex/generic/luaotfload/fontloader-font-oup.lua
+2021/05/21 | 1187934 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2021/05/21 | 1187128 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2021/05/21 | 11829 | macros/luatex/generic/luaotfload/fontloader-l-io.lua
+2021/05/21 | 1171731 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2021/05/21 | 116930 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2021/05/21 | 11552 | macros/luatex/generic/luaotfload/fontloader-util-fil.lua
+2021/05/21 | 115470 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2021/05/21 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2021/05/21 | 11506 | macros/luatex/generic/luatexja/src/jfm-ujisv.lua
+2021/05/21 | 113800 | macros/latex/contrib/siunitx/siunitx-number.dtx
+2021/05/21 | 11335 | macros/luatex/generic/luatexja/tool/unicodeBlocks.tex
+2021/05/21 | 11323 | macros/luatex/generic/luaotfload/luaotfload-log.lua
+2021/05/21 | 1130 | macros/luatex/generic/luatexja/tool/function_uax50.lua
+2021/05/21 | 1130307 | macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
+2021/05/21 | 112250 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2021/05/21 | 111260 | macros/luatex/generic/lualibs/lualibs-extended-merged.lua
+2021/05/21 | 10984 | macros/luatex/generic/luaotfload/luaotfload-resolvers.lua
+2021/05/21 | 109274 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2021/05/21 | 1078878 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2021/05/21 | 107562 | macros/luatex/generic/luaotfload/fontloader-font-osd.lua
+2021/05/21 | 104625 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2021/05/21 | 103322 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2021/05/21 | 102502 | macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua
+2021/05/21 | 10200 | macros/luatex/generic/luaotfload/fontloader-basics-nod.lua
+2021/05/21 | 101763 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2021/05/21 | 10106 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
+2021/05/21 | 1004 | macros/luatex/generic/luaotfload/luaotfload-embolden.lua
+2021/05/21 | 10045 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
2021/05/20 | 999995 | macros/latex/contrib/acrotex/doc/eformman.pdf
-2021/05/20 | 99604 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
2021/05/20 | 9875 | support/texdoc/script/texdoclib-score.tlu
-2021/05/20 | 98516 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2021/05/20 | 97486 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2021/05/20 | 97134 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2021/05/20 | 968696 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2021/05/20 | 96848 | macros/latex/contrib/siunitx/siunitx-unit.dtx
-2021/05/20 | 964 | macros/latex/contrib/siunitx/README.md
-2021/05/20 | 96144 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2021/05/20 | 966784 | systems/texlive/tlnet/archive/newtx.doc.r59277.tar.xz
2021/05/20 | 9482 | support/texdoc/script/texdoclib-view.tlu
-2021/05/20 | 94801 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2021/05/20 | 94738 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2021/05/20 | 94269 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2021/05/20 | 948160 | systems/texlive/tlnet/archive/powerdot.doc.r59272.tar.xz
+2021/05/20 | 9348 | systems/texlive/tlnet/archive/projlib.source.r59271.tar.xz
2021/05/20 | 93301 | macros/xetex/generic/xetexko/xetexko.sty
-2021/05/20 | 8774 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2021/05/20 | 87704 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2021/05/20 | 87637 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2021/05/20 | 8762 | macros/latex/contrib/siunitx/siunitx-command.dtx
+2021/05/20 | 9248 | systems/texlive/tlnet/archive/projlib.r59271.tar.xz
2021/05/20 | 8626662 | systems/win32/miktex/tm/packages/hvfloat.tar.lzma
-2021/05/20 | 84772 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2021/05/20 | 8600 | systems/texlive/tlnet/archive/covington.r59266.tar.xz
2021/05/20 | 84310 | support/texdoc/doc/texdoc.pdf
+2021/05/20 | 842246 | macros/latex/contrib/acmart/acmart.pdf
2021/05/20 | 841881 | macros/latex/contrib/suftesi/suftesi.pdf
-2021/05/20 | 839 | systems/win32/miktex/tm/packages/pr.ini
2021/05/20 | 8397497 | fonts/newtx.zip
+2021/05/20 | 834009 | systems/win32/w32tex/ChangeLog
2021/05/20 | 8291 | support/texdoc/NEWS
-2021/05/20 | 816072 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2021/05/20 | 80661 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2021/05/20 | 78745 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2021/05/20 | 795 | macros/latex/contrib/acmart/samples/samples.ins
2021/05/20 | 781050 | systems/win32/miktex/tm/packages/apa7.tar.lzma
2021/05/20 | 7793 | macros/xetex/generic/xetexko/ChangeLog
-2021/05/20 | 77855 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2021/05/20 | 77486 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2021/05/20 | 7747 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2021/05/20 | 75418 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2021/05/20 | 748364 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2021/05/20 | 74164 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2021/05/20 | 73180 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2021/05/20 | 72859 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2021/05/20 | 72150 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2021/05/20 | 71569 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2021/05/20 | 768566 | macros/latex/contrib/acmart/samples/sample-lualatex.pdf
2021/05/20 | 7060 | support/texdoc/script/texdoclib-cli.tlu
-2021/05/20 | 70325 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2021/05/20 | 70110 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2021/05/20 | 6946 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2021/05/20 | 6916 | systems/texlive/tlnet/archive/alterqcm.r59265.tar.xz
2021/05/20 | 681675 | macros/latex/contrib/suftesi/templates.zip
-2021/05/20 | 680050 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2021/05/20 | 67929 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
2021/05/20 | 677458 | systems/win32/miktex/tm/packages/pm-isomath.tar.lzma
-2021/05/20 | 67679 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2021/05/20 | 67651 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2021/05/20 | 67450 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2021/05/20 | 67080 | systems/texlive/tlnet/archive/powerdot.source.r59272.tar.xz
2021/05/20 | 668 | macros/xetex/generic/xetexko/xetexko-hanging.sty
-2021/05/20 | 65731 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
2021/05/20 | 6558 | support/texdoc/doc/texdoc-doc.cls
-2021/05/20 | 65322 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2021/05/20 | 653971 | macros/latex/contrib/acmart/samples/sample-xelatex.pdf
+2021/05/20 | 653444 | systems/texlive/tlnet/archive/pm-isomath.doc.r59269.tar.xz
2021/05/20 | 647 | macros/xetex/generic/xetexko/xetexko-vertical.sty
2021/05/20 | 641 | macros/xetex/generic/xetexko/xetexko-space.sty
-2021/05/20 | 64017 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
2021/05/20 | 639 | macros/xetex/generic/xetexko/xetexko-josa.sty
2021/05/20 | 639 | macros/xetex/generic/xetexko/xetexko-font.sty
-2021/05/20 | 63836 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2021/05/20 | 63675 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2021/05/20 | 62802 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2021/05/20 | 625282 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2021/05/20 | 62226 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2021/05/20 | 618762 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2021/05/20 | 6356 | systems/texlive/tlnet/archive/collection-latexextra.r59271.tar.xz
2021/05/20 | 6114 | macros/latex/contrib/acrotex/README.md
-2021/05/20 | 60551 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2021/05/20 | 605429 | macros/latex/contrib/siunitx/siunitx.pdf
-2021/05/20 | 59831 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2021/05/20 | 594870 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2021/05/20 | 59144 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2021/05/20 | 583629 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2021/05/20 | 576615 | systems/win32/miktex/tm/packages/files.csv.lzma
-2021/05/20 | 576226 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2021/05/20 | 57598 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2021/05/20 | 57066 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2021/05/20 | 56908 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2021/05/20 | 567627 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2021/05/20 | 56717 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2021/05/20 | 56457 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2021/05/20 | 56223 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2021/05/20 | 55822 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2021/05/20 | 55563 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
-2021/05/20 | 55219 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2021/05/20 | 6032 | systems/texlive/tlnet/tlpkg/TeXLive/trans.pl
+2021/05/20 | 60252 | systems/texlive/tlnet/archive/siunitx.r59279.tar.xz
+2021/05/20 | 598702 | macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf
+2021/05/20 | 598279 | macros/latex/contrib/acmart/samples/sample-manuscript.pdf
+2021/05/20 | 596225 | macros/latex/contrib/acmart/samples/sample-acmsmall.pdf
+2021/05/20 | 586372 | macros/latex/contrib/acmart/samples/sample-acmlarge.pdf
+2021/05/20 | 5604344 | systems/texlive/tlnet/archive/newtx.r59277.tar.xz
+2021/05/20 | 543905 | macros/latex/contrib/acmart/samples/sample-acmtog.pdf
2021/05/20 | 542664 | macros/latex/contrib/acrotex/doc/aeb_man.tex
-2021/05/20 | 532039 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2021/05/20 | 52475 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2021/05/20 | 52454 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2021/05/20 | 51979 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2021/05/20 | 51797 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2021/05/20 | 51432 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2021/05/20 | 53784 | systems/texlive/tlnet/archive/xetexko.r59282.tar.xz
+2021/05/20 | 5204 | systems/texlive/tlnet/archive/pgfmath-xfp.source.r59268.tar.xz
2021/05/20 | 513671 | systems/win32/miktex/tm/packages/covington.tar.lzma
-2021/05/20 | 511635 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2021/05/20 | 51159 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2021/05/20 | 50847 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2021/05/20 | 49972 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2021/05/20 | 484053 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2021/05/20 | 47876 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2021/05/20 | 475937 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2021/05/20 | 47494 | macros/latex/contrib/siunitx/siunitx-table.dtx
-2021/05/20 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
-2021/05/20 | 4707 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma
-2021/05/20 | 47008 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2021/05/20 | 4629 | macros/latex/contrib/siunitx/siunitx-locale.dtx
-2021/05/20 | 461401 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2021/05/20 | 45937 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2021/05/20 | 45648 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2021/05/20 | 45278 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2021/05/20 | 43676 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2021/05/20 | 43391 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/05/20 | 43056 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2021/05/20 | 42925 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2021/05/20 | 42628 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2021/05/20 | 500844 | systems/texlive/tlnet/archive/covington.doc.r59266.tar.xz
+2021/05/20 | 43284 | systems/texlive/tlnet/archive/suftesi.source.r59280.tar.xz
2021/05/20 | 4259 | support/texdoc/script/texdoclib-const.tlu
-2021/05/20 | 42574 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2021/05/20 | 42388 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2021/05/20 | 41103 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2021/05/20 | 39690 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2021/05/20 | 39563 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2021/05/20 | 414201 | macros/latex/contrib/acmart/acmguide.pdf
+2021/05/20 | 397364 | systems/texlive/tlnet/archive/texlive-scripts.doc.r59286.tar.xz
2021/05/20 | 39492 | macros/xetex/generic/xetexko/hanjaexa_hangul.tab
-2021/05/20 | 392596 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2021/05/20 | 39119 | macros/latex/contrib/siunitx/CHANGELOG.md
2021/05/20 | 3849 | support/texdoc/README.md
2021/05/20 | 38415 | fonts/newtx/README
2021/05/20 | 3807 | support/texdoc/doc/texdoc.1
-2021/05/20 | 38068 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2021/05/20 | 38065 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
2021/05/20 | 3800139 | macros/latex/contrib/acrotex.zip
2021/05/20 | 3756 | macros/latex/contrib/suppose/suppose-doc.tex
-2021/05/20 | 37294 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2021/05/20 | 37240 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2021/05/20 | 3687 | macros/latex/contrib/siunitx/siunitx.ins
-2021/05/20 | 36679 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2021/05/20 | 3744372 | info/biblio/tugboat.bib
2021/05/20 | 365158 | systems/win32/miktex/tm/packages/projlib.tar.lzma
+2021/05/20 | 3573 | info/biblio/tugboat.ltx
2021/05/20 | 356212 | systems/win32/miktex/tm/packages/easybook.tar.lzma
-2021/05/20 | 35462 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2021/05/20 | 35275504 | systems/win32/w32tex/ltxpkgs.tar.xz
+2021/05/20 | 35149 | macros/unicodetex/latex/aalok/COPYING
2021/05/20 | 35147 | support/texdoc/COPYING
-2021/05/20 | 35064 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
2021/05/20 | 3471 | macros/xetex/generic/xetexko/README
-2021/05/20 | 34633 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2021/05/20 | 345367 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/05/20 | 346208 | systems/texlive/tlnet/archive/projlib.doc.r59271.tar.xz
2021/05/20 | 34042 | support/texdoc/doc/texdoc.tex
2021/05/20 | 33948 | macros/xetex/generic/xetexko/xetexko-doc.tex
2021/05/20 | 3369 | support/texdoc/script/texdoclib-util.tlu
-2021/05/20 | 33441 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
2021/05/20 | 333842 | macros/xetex/generic/xetexko.zip
-2021/05/20 | 33152 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2021/05/20 | 330233 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2021/05/20 | 32745 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2021/05/20 | 321895 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2021/05/20 | 3312 | macros/latex/contrib/acmart/Makefile
2021/05/20 | 3214 | support/texdoc/script/texdoclib-alias.tlu
-2021/05/20 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
-2021/05/20 | 31593 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2021/05/20 | 31544 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2021/05/20 | 31368 | macros/latex/contrib/siunitx/siunitx-compound.dtx
-2021/05/20 | 31344 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2021/05/20 | 31335 | macros/latex/contrib/siunitx/siunitx-print.dtx
-2021/05/20 | 31192 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2021/05/20 | 311191 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2021/05/20 | 30883 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2021/05/20 | 30037 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2021/05/20 | 29869 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2021/05/20 | 295554 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2021/05/20 | 29055 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2021/05/20 | 2883 | macros/latex/contrib/siunitx/siunitx-binary.dtx
-2021/05/20 | 283977 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2021/05/20 | 282106 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2021/05/20 | 28118 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2021/05/20 | 28008 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2021/05/20 | 27620 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
-2021/05/20 | 27362 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2021/05/20 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
-2021/05/20 | 27274 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2021/05/20 | 27197 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2021/05/20 | 27181 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2021/05/20 | 31368 | macros/latex/contrib/acmart/samples/samples.dtx
+2021/05/20 | 311580 | systems/texlive/tlnet/archive/easybook.doc.r59278.tar.xz
+2021/05/20 | 30100 | systems/texlive/tlnet/archive/easybook.source.r59278.tar.xz
+2021/05/20 | 2812 | systems/texlive/tlnet/archive/pm-isomath.r59269.tar.xz
+2021/05/20 | 26932 | systems/texlive/tlnet/archive/texdoc.r59283.tar.xz
2021/05/20 | 264490 | systems/win32/miktex/tm/packages/pgfmath-xfp.tar.lzma
-2021/05/20 | 261963 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2021/05/20 | 2616931 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2021/05/20 | 258663 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2021/05/20 | 25719 | macros/latex/contrib/siunitx/siunitx-complex.dtx
+2021/05/20 | 264084 | systems/texlive/tlnet/archive/xetexko.doc.r59282.tar.xz
+2021/05/20 | 26268 | systems/texlive/tlnet/archive/powerdot.r59272.tar.xz
+2021/05/20 | 257332 | systems/texlive/tlnet/archive/pgfmath-xfp.doc.r59268.tar.xz
2021/05/20 | 254326 | macros/xetex/generic/xetexko/xetexko-doc.pdf
-2021/05/20 | 25341 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
2021/05/20 | 2527870 | systems/win32/miktex/tm/packages/siunitx.tar.lzma
-2021/05/20 | 25155 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2021/05/20 | 250213 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2021/05/20 | 25002 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2021/05/20 | 2499401 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2021/05/20 | 249884 | macros/latex/contrib/acmart/acmart.dtx
+2021/05/20 | 2448 | systems/texlive/tlnet/archive/suppose.r59281.tar.xz
2021/05/20 | 24459 | support/texdoc/script/texdoclib-search.tlu
-2021/05/20 | 243479 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2021/05/20 | 2426 | macros/latex/contrib/siunitx/siunitx-code.tex
-2021/05/20 | 239477 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2021/05/20 | 23881 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2021/05/20 | 23292 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2021/05/20 | 2362424 | systems/texlive/tlnet/archive/siunitx.doc.r59279.tar.xz
2021/05/20 | 232596 | macros/latex/contrib/suftesi/suftesi.dtx
2021/05/20 | 2288 | fonts/newtx/tex/ot1ntxtosf.fd
2021/05/20 | 2288 | fonts/newtx/tex/ly1ntxtosf.fd
2021/05/20 | 2255476 | macros/latex/contrib/acrotex/doc/aeb_man.pdf
2021/05/20 | 2254 | fonts/newtx/tex/t1ntxtosf.fd
-2021/05/20 | 22039 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2021/05/20 | 2198038 | install/macros/latex/contrib/siunitx.tds.zip
-2021/05/20 | 2160773 | macros/latex/contrib/siunitx.zip
-2021/05/20 | 214105 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2021/05/20 | 222934 | macros/latex/contrib/projlib/ProjLib-doc-cn.pdf
+2021/05/20 | 2227944 | systems/win32/w32tex/win64/context-w64.tar.xz
2021/05/20 | 2115 | fonts/newtx/tex/ot1ntxosf.fd
-2021/05/20 | 21129 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
2021/05/20 | 2110 | fonts/newtx/tex/ly1ntxtlf.fd
-2021/05/20 | 211056 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
2021/05/20 | 2109 | fonts/newtx/tex/ot1ntxtlf.fd
-2021/05/20 | 209628 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2021/05/20 | 209612 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
2021/05/20 | 2081 | fonts/newtx/tex/t1ntxosf.fd
-2021/05/20 | 208181 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
2021/05/20 | 2079 | fonts/newtx/tex/t1ntxtlf.fd
+2021/05/20 | 20758 | macros/latex/contrib/projlib/ProjLib-doc-en.tex
2021/05/20 | 2071 | fonts/newtx/tex/ot1ntxlf.fd
2021/05/20 | 2071 | fonts/newtx/tex/ly1ntxlf.fd
2021/05/20 | 206852 | macros/latex/contrib/suppose/suppose-doc.pdf
2021/05/20 | 20413 | support/texdoc/script/texdoclib-config.tlu
2021/05/20 | 2037 | fonts/newtx/tex/t1ntxlf.fd
-2021/05/20 | 202559 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2021/05/20 | 20120 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2021/05/20 | 2009490 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2021/05/20 | 199700 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
2021/05/20 | 199588 | macros/latex/contrib/suppose.zip
-2021/05/20 | 198131 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
2021/05/20 | 197272 | macros/latex/contrib/acrotex/doc/eformman.tex
-2021/05/20 | 195665 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2021/05/20 | 195565 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2021/05/20 | 19541 | macros/latex/contrib/siunitx/siunitx.dtx
-2021/05/20 | 193715 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2021/05/20 | 197208 | systems/texlive/tlnet/archive/suppose.doc.r59281.tar.xz
+2021/05/20 | 19479 | macros/latex/contrib/projlib/ProjLib-doc-cn.tex
+2021/05/20 | 1920 | systems/texlive/tlnet/archive/pgfmath-xfp.r59268.tar.xz
+2021/05/20 | 18592 | systems/texlive/tlnet/archive/pm-isomath.source.r59269.tar.xz
2021/05/20 | 1828 | fonts/newtx/tex/ly1ntxosf.fd
2021/05/20 | 1812 | macros/xetex/generic/xetexko/hanjacom_hangul.tab
-2021/05/20 | 18097 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2021/05/20 | 180048 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2021/05/20 | 17958 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2021/05/20 | 179377 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2021/05/20 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
-2021/05/20 | 1725547 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
2021/05/20 | 17204 | support/texdoc/texdoc.cnf
-2021/05/20 | 167906 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
2021/05/20 | 1673509 | systems/win32/miktex/tm/packages/bxjscls.tar.lzma
2021/05/20 | 1670 | macros/latex/contrib/suftesi/README
-2021/05/20 | 16529 | macros/latex/contrib/siunitx/siunitx-angle.dtx
-2021/05/20 | 163657 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2021/05/20 | 16327 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2021/05/20 | 16112 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2021/05/20 | 159969 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
2021/05/20 | 1577056 | install/macros/latex/contrib/suftesi.tds.zip
2021/05/20 | 1560182 | macros/latex/contrib/suftesi.zip
-2021/05/20 | 153890 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2021/05/20 | 152763 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
2021/05/20 | 151198 | support/texdoc.zip
-2021/05/20 | 147150 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2021/05/20 | 147140 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2021/05/20 | 1441368 | macros/latex/contrib/siunitx/siunitx-code.pdf
-2021/05/20 | 14354 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
-2021/05/20 | 14351 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
-2021/05/20 | 1425980 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2021/05/20 | 1424813 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2021/05/20 | 138635 | macros/latex/contrib/siunitx/siunitx.tex
+2021/05/20 | 14868 | systems/texlive/tlnet/archive/suftesi.r59280.tar.xz
+2021/05/20 | 144842692 | systems/win32/w32tex/context.tar.xz
+2021/05/20 | 143188 | macros/latex/contrib/projlib/ProjLib-doc-en.pdf
2021/05/20 | 1382 | support/texdoc/script/texdoc.tlu
-2021/05/20 | 136427 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2021/05/20 | 135003 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2021/05/20 | 13470 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2021/05/20 | 13712 | systems/texlive/tlnet/archive/easybook.r59278.tar.xz
+2021/05/20 | 135656 | systems/texlive/tlnet/archive/texdoc.doc.r59283.tar.xz
2021/05/20 | 1320 | support/texdoc/script/texdoclib.tlu
-2021/05/20 | 131490 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2021/05/20 | 1307723 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2021/05/20 | 1295414 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2021/05/20 | 1281102 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2021/05/20 | 1272470 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2021/05/20 | 1272038 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
2021/05/20 | 126756 | macros/latex/contrib/acrotex/examples/jquiztst.pdf
2021/05/20 | 125412 | macros/xetex/generic/xetexko/hanja_hangul.tab
-2021/05/20 | 124971 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2021/05/20 | 1188360 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2021/05/20 | 1188156 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
-2021/05/20 | 1171731 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2021/05/20 | 116931 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2021/05/20 | 122787914 | macros/context/latest/cont-tmf.zip
2021/05/20 | 1167310 | systems/win32/miktex/tm/packages/alterqcm.tar.lzma
2021/05/20 | 1158238 | systems/win32/miktex/tm/packages/tuda-ci.tar.lzma
-2021/05/20 | 115468 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2021/05/20 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
-2021/05/20 | 113474 | macros/latex/contrib/siunitx/siunitx-number.dtx
-2021/05/20 | 112251 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2021/05/20 | 109276 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2021/05/20 | 1078878 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2021/05/20 | 11035 | macros/latex/contrib/acmart/README
+2021/05/20 | 108004 | systems/texlive/tlnet/archive/texlive-scripts.r59286.tar.xz
+2021/05/20 | 1078332 | systems/texlive/tlnet/archive/alterqcm.doc.r59265.tar.xz
2021/05/20 | 106879 | systems/win32/miktex/tm/packages/hvqrurl.tar.lzma
2021/05/20 | 10506 | macros/latex/contrib/suppose/suppose.sty
-2021/05/20 | 104625 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2021/05/20 | 1036036 | systems/texlive/tlnet/archive/suftesi.doc.r59280.tar.xz
2021/05/20 | 1035605 | systems/win32/miktex/tm/packages/powerdot.tar.lzma
-2021/05/20 | 103322 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2021/05/20 | 101765 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2021/05/20 | 10106 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
-2021/05/20 | 10045 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
+2021/05/20 | 1030499 | macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf
+2021/05/20 | 1028143 | macros/latex/contrib/acmart/samples/sample-sigplan.pdf
+2021/05/20 | 1022861 | macros/latex/contrib/acmart/samples/sample-authordraft.pdf
+2021/05/20 | 1019048 | macros/latex/contrib/acmart/samples/sample-sigconf.pdf
+2021/05/20 | 1016 | macros/latex/contrib/acmart/acmart.ins
+2021/05/20 | 101336 | systems/texlive/tlnet/archive/siunitx.source.r59279.tar.xz
2021/05/19 | 990 | macros/latex/contrib/suppose/README.md
2021/05/19 | 9672 | systems/texlive/tlnet/archive/hvfloat.r59255.tar.xz
2021/05/19 | 93556 | systems/texlive/tlnet/archive/latexmk.r59258.tar.xz
2021/05/19 | 9123868 | systems/texlive/tlnet/archive/hvfloat.doc.r59255.tar.xz
-2021/05/19 | 833676 | systems/win32/w32tex/ChangeLog
2021/05/19 | 82880 | systems/texlive/tlnet/archive/bxjscls.source.r59253.tar.xz
2021/05/19 | 731740 | systems/texlive/tlnet/archive/apa7.doc.r59254.tar.xz
-2021/05/19 | 6812491 | systems/texlive/tlnet/install-tl-unx.tar.gz
2021/05/19 | 669845 | macros/latex/contrib/pm-isomath.zip
2021/05/19 | 57656 | macros/latex/contrib/covington/covington.tex
2021/05/19 | 546181 | macros/latex/contrib/powerdot/doc/powerdot.pdf
2021/05/19 | 510313 | macros/latex/contrib/covington.zip
2021/05/19 | 5016 | macros/latex/contrib/covington/README
-2021/05/19 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2021/05/19 | 487245 | macros/latex/contrib/covington/covington.pdf
2021/05/19 | 479652 | systems/texlive/tlnet/archive/latexmk.doc.r59258.tar.xz
2021/05/19 | 455 | systems/texlive/tlnet/update-tlmgr-r59259.sh.sha512.asc
2021/05/19 | 455 | systems/texlive/tlnet/update-tlmgr-r59259.exe.sha512.asc
-2021/05/19 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2021/05/19 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2021/05/19 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2021/05/19 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2021/05/19 | 42864 | systems/texlive/tlnet/archive/tuda-ci.r59257.tar.xz
-2021/05/19 | 41232 | macros/latex/contrib/projlib/ProjLib.dtx
2021/05/19 | 4038208 | systems/texlive/tlnet/update-tlmgr-r59259.exe
-2021/05/19 | 397212 | systems/texlive/tlnet/archive/texlive-scripts.doc.r59251.tar.xz
-2021/05/19 | 388889 | macros/latex/contrib/projlib.zip
-2021/05/19 | 35275956 | systems/win32/w32tex/ltxpkgs.tar.xz
-2021/05/19 | 343655 | macros/latex/contrib/easybook.zip
2021/05/19 | 3414 | info/biblio/sgml.ltx
2021/05/19 | 33204 | systems/texlive/tlnet/archive/bxjscls.r59253.tar.xz
2021/05/19 | 32844 | macros/latex/contrib/covington/covington.sty
2021/05/19 | 32636 | systems/texlive/tlnet/archive/apa7.source.r59254.tar.xz
2021/05/19 | 322742 | macros/latex/contrib/powerdot/source/powerdot.dtx
2021/05/19 | 3174 | macros/latex/contrib/projlib/README.md
-2021/05/19 | 312209 | macros/latex/contrib/easybook/easybook.pdf
2021/05/19 | 2842 | macros/latex/contrib/projlib/ProjLib.ins
2021/05/19 | 27996 | macros/latex/contrib/alterqcm/latex/alterqcm.sty
2021/05/19 | 2684279 | info/biblio/sgml.bib
2021/05/19 | 260671 | macros/latex/contrib/pgfmath-xfp/pgfmath-xfp.pdf
2021/05/19 | 260624 | macros/latex/contrib/pgfmath-xfp.zip
-2021/05/19 | 25584657 | systems/texlive/tlnet/install-tl.zip
2021/05/19 | 23543676 | systems/win32/w32tex/cjkzr.tar.xz
2021/05/19 | 230600 | systems/texlive/tlnet/archive/texlive.infra.r59259.tar.xz
-2021/05/19 | 2305240 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
-2021/05/19 | 222025 | macros/latex/contrib/projlib/ProjLib-doc-cn.pdf
-2021/05/19 | 20809678 | systems/texlive/tlnet/install-tl-windows.exe
2021/05/19 | 207840 | systems/texlive/tlnet/archive/texlive.infra.doc.r59259.tar.xz
-2021/05/19 | 20335 | macros/latex/contrib/projlib/ProjLib-doc-en.tex
-2021/05/19 | 19058 | macros/latex/contrib/projlib/ProjLib-doc-cn.tex
2021/05/19 | 1886 | macros/latex/contrib/powerdot/README
2021/05/19 | 1768 | macros/latex/contrib/alterqcm/README.md
-2021/05/19 | 17234715 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
2021/05/19 | 16230 | macros/latex/contrib/pgfmath-xfp/pgfmath-xfp.dtx
+2021/05/19 | 1613268 | systems/win32/w32tex/makeindex-w32.tar.xz
2021/05/19 | 1557524 | systems/texlive/tlnet/archive/bxjscls.doc.r59253.tar.xz
2021/05/19 | 154 | systems/texlive/tlnet/update-tlmgr-r59259.exe.sha512
2021/05/19 | 153 | systems/texlive/tlnet/update-tlmgr-r59259.sh.sha512
-2021/05/19 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2021/05/19 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2021/05/19 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2021/05/19 | 145010 | macros/latex/contrib/projlib/ProjLib-doc-en.pdf
-2021/05/19 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2021/05/19 | 14040 | systems/texlive/tlnet/archive/apa7.r59254.tar.xz
2021/05/19 | 1296 | systems/texlive/tlnet/archive/hvqrurl.r59256.tar.xz
-2021/05/19 | 124513 | macros/latex/contrib/easybook/easybook.dtx
-2021/05/19 | 122787952 | macros/context/latest/cont-tmf.zip
2021/05/19 | 1187176 | macros/latex/contrib/alterqcm.zip
2021/05/19 | 1153 | macros/latex/contrib/pgfmath-xfp/README.md
2021/05/19 | 1116316 | systems/texlive/tlnet/archive/tuda-ci.doc.r59257.tar.xz
-2021/05/19 | 107992 | systems/texlive/tlnet/archive/texlive-scripts.r59251.tar.xz
+2021/05/19 | 1083292 | systems/win32/w32tex/win64/makeindex-w64.tar.xz
2021/05/19 | 1055325 | macros/latex/contrib/powerdot.zip
2021/05/19 | 105300 | systems/texlive/tlnet/archive/hvqrurl.doc.r59256.tar.xz
2021/05/19 | 10022811 | systems/texlive/tlnet/update-tlmgr-r59259.sh
2021/05/18 | 98477852 | systems/win32/w32tex/pgfcontrib.tar.xz
2021/05/18 | 9831392 | systems/win32/w32tex/newtxpx-boondoxfonts.tar.xz
-2021/05/18 | 966788 | systems/texlive/tlnet/archive/newtx.doc.r59238.tar.xz
2021/05/18 | 9383 | macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
2021/05/18 | 930770 | systems/win32/miktex/tm/packages/unravel.tar.lzma
2021/05/18 | 9294 | macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
@@ -386,7 +699,6 @@
2021/05/18 | 68821292 | systems/win32/w32tex/luatexja.tar.xz
2021/05/18 | 6881 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
2021/05/18 | 6880886 | systems/win32/miktex/tm/packages/pdfmanagement-testphase.tar.lzma
-2021/05/18 | 6830 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2021/05/18 | 681250 | systems/win32/miktex/tm/packages/tagpdf.tar.lzma
2021/05/18 | 680455 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
2021/05/18 | 6647 | macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
@@ -402,7 +714,6 @@
2021/05/18 | 622116 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
2021/05/18 | 6027 | language/japanese/BX/bxjscls/README.md
2021/05/18 | 602737 | macros/latex/contrib/acrotex/exerquiz.dtx
-2021/05/18 | 59548 | systems/texlive/tlnet/archive/siunitx.r59239.tar.xz
2021/05/18 | 594862 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
2021/05/18 | 589930 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
2021/05/18 | 586772 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
@@ -413,7 +724,6 @@
2021/05/18 | 5789 | macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
2021/05/18 | 574086 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
2021/05/18 | 56265 | macros/latex/contrib/hvfloat/latex/hvfloat.sty
-2021/05/18 | 5604320 | systems/texlive/tlnet/archive/newtx.r59238.tar.xz
2021/05/18 | 558963 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
2021/05/18 | 55575 | systems/win32/miktex/tm/packages/xetex.tar.lzma
2021/05/18 | 550643 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
@@ -454,9 +764,7 @@
2021/05/18 | 319277 | systems/win32/miktex/tm/packages/xetexko.tar.lzma
2021/05/18 | 3175 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
2021/05/18 | 315801 | macros/latex/contrib/alterqcm/doc/doc-aq-main.pdf
-2021/05/18 | 309908 | systems/texlive/tlnet/archive/easybook.doc.r59245.tar.xz
2021/05/18 | 30816 | macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
-2021/05/18 | 29704 | systems/texlive/tlnet/archive/easybook.source.r59245.tar.xz
2021/05/18 | 286769 | systems/win32/miktex/tm/packages/tikz-cd.tar.lzma
2021/05/18 | 27427 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
2021/05/18 | 2644 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
@@ -481,7 +789,6 @@
2021/05/18 | 20584 | systems/texlive/tlnet/archive/euclideangeometry.source.r59246.tar.xz
2021/05/18 | 196590 | macros/latex/contrib/apa7/samples/longsample.pdf
2021/05/18 | 1950018 | systems/win32/miktex/tm/packages/pgf-spectra.tar.lzma
-2021/05/18 | 1944240 | systems/texlive/tlnet/archive/siunitx.doc.r59239.tar.xz
2021/05/18 | 193058 | systems/win32/miktex/tm/packages/mindflow.tar.lzma
2021/05/18 | 189956 | systems/texlive/tlnet/archive/luatexja.r59248.tar.xz
2021/05/18 | 18778 | macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
@@ -511,15 +818,14 @@
2021/05/18 | 149246 | systems/texlive/tlnet/tlpkg/TeXLive/TLUtils.pm
2021/05/18 | 1488 | systems/texlive/tlnet/archive/collection-mathscience.r59247.tar.xz
2021/05/18 | 146333 | systems/win32/miktex/tm/packages/vancouver.tar.lzma
-2021/05/18 | 144819648 | systems/win32/w32tex/context.tar.xz
2021/05/18 | 144274 | macros/latex/contrib/apa7/apa7.dtx
2021/05/18 | 143299 | systems/win32/miktex/tm/packages/plautopatch.tar.lzma
2021/05/18 | 13710 | macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
2021/05/18 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r59249.tar.xz
-2021/05/18 | 13496 | systems/texlive/tlnet/archive/easybook.r59245.tar.xz
2021/05/18 | 1344643 | systems/win32/miktex/tm/packages/paresse.tar.lzma
2021/05/18 | 133720 | systems/texlive/tlnet/archive/bnumexpr.doc.r59244.tar.xz
2021/05/18 | 1329888 | systems/texlive/tlnet/archive/libertinust1math.doc.r59241.tar.xz
+2021/05/18 | 1325 | macros/latex/contrib/tiscreen/tex/tiscreen.sty
2021/05/18 | 13086872 | systems/texlive/tlnet/archive/pgfplots.doc.r59243.tar.xz
2021/05/18 | 130712608 | systems/win32/w32tex/web2c-lib.tar.xz
2021/05/18 | 1278 | macros/latex/contrib/apa7/README.txt
@@ -539,158 +845,44 @@
2021/05/18 | 1022019 | systems/win32/miktex/tm/packages/biblatex-gost.tar.lzma
2021/05/18 | 1011384 | systems/texlive/tlnet/archive/libertinust1math.r59241.tar.xz
2021/05/18 | 10078 | macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
-2021/05/18 | 100736 | systems/texlive/tlnet/archive/siunitx.source.r59239.tar.xz
-2021/05/17 | 9765 | macros/luatex/generic/luatexja/src/addons/luatexja-ruby.sty
2021/05/17 | 950 | macros/latex/contrib/euclideangeometry/README.txt
-2021/05/17 | 945 | macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua
-2021/05/17 | 945 | macros/luatex/generic/luatexja/doc/jfm-testf.lua
-2021/05/17 | 896 | macros/luatex/generic/luatexja/tool/otf-KozMinPr6N-Regular.txt
-2021/05/17 | 885 | macros/luatex/generic/luatexja/src/patches/lltjp-stfloats.sty
-2021/05/17 | 8609 | macros/luatex/generic/luatexja/src/ltj-otf.lua
-2021/05/17 | 8607 | macros/luatex/generic/luatexja/src/ltjltxdoc.dtx
2021/05/17 | 830360 | systems/texlive/tlnet/archive/babel.doc.r59229.tar.xz
-2021/05/17 | 825 | macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty
-2021/05/17 | 8106 | macros/luatex/generic/luatexja/src/jfm-min.lua
2021/05/17 | 79556 | macros/latex/contrib/bnumexpr/bnumexpr.dtx
-2021/05/17 | 7790 | macros/luatex/generic/luatexja/tool/jfm-convert.lua
-2021/05/17 | 7661 | macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua
-2021/05/17 | 7370 | macros/luatex/generic/luatexja/src/ltj-math.lua
-2021/05/17 | 7026 | macros/luatex/generic/luatexja/src/ltj-pretreat.lua
-2021/05/17 | 69366 | macros/luatex/generic/luatexja/doc/ltjltxdoc.pdf
-2021/05/17 | 693538 | macros/luatex/generic/luatexja/doc/luatexja-en.pdf
2021/05/17 | 6892 | systems/texlive/tlnet/archive/qrbill.r59232.tar.xz
-2021/05/17 | 6891 | macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty
2021/05/17 | 685196 | systems/texlive/tlnet/archive/babel.source.r59229.tar.xz
2021/05/17 | 68217 | macros/latex/contrib/euclideangeometry/euclideangeometry.dtx
-2021/05/17 | 6497 | macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
-2021/05/17 | 6203 | macros/luatex/generic/luatexja/src/ltj-base.sty
-2021/05/17 | 617 | macros/luatex/generic/luatexja/src/patches/lltjp-array.sty
2021/05/17 | 607417 | support/TeX4ht/source/tex4ht-html4.tex
-2021/05/17 | 6060 | macros/luatex/generic/luatexja/tool/kyoikukanjiChars.tex
-2021/05/17 | 5940 | macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua
-2021/05/17 | 5850 | macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty
-2021/05/17 | 580 | macros/luatex/generic/luatexja/tool/blocks2defcharrange.rb
2021/05/17 | 576312 | systems/texlive/tlnet/archive/l3kernel.source.r59231.tar.xz
-2021/05/17 | 5682 | macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty
-2021/05/17 | 5544 | macros/luatex/generic/luatexja/src/ltj-latex.sty
-2021/05/17 | 55333 | macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
-2021/05/17 | 551 | macros/luatex/generic/luatexja/tool/jfm-readable.rb
-2021/05/17 | 54427 | macros/luatex/generic/luatexja/src/ltj-jisx0208.lua
-2021/05/17 | 534065 | macros/luatex/generic/luatexja/doc/luatexja.dtx
-2021/05/17 | 5222 | macros/luatex/generic/luatexja/src/ltj-debug.lua
-2021/05/17 | 52002 | macros/luatex/generic/luatexja/doc/luatexja-ruby.tex
-2021/05/17 | 49501 | macros/luatex/generic/luatexja/src/patches/lltjfont.sty
-2021/05/17 | 4871 | macros/luatex/generic/luatexja/src/ltj-stack.lua
-2021/05/17 | 48217 | macros/luatex/generic/luatexja/src/ltj-jfont.lua
-2021/05/17 | 4808 | macros/luatex/generic/luatexja/src/jfm-tmin.lua
-2021/05/17 | 476 | macros/latex/contrib/tiscreen/README
2021/05/17 | 459194 | support/latexmk.zip
-2021/05/17 | 457434 | macros/luatex/generic/luatexja/doc/ltjsclasses.pdf
-2021/05/17 | 4559 | macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty
-2021/05/17 | 4452 | macros/luatex/generic/luatexja/doc/jfm-ujisc33.lua
2021/05/17 | 443469 | macros/latex/contrib/euclideangeometry/euclideangeometry.pdf
-2021/05/17 | 4408 | macros/luatex/generic/luatexja/src/ltj-plain.sty
-2021/05/17 | 4262 | macros/luatex/generic/luatexja/tool/kyoikukanji.txt
-2021/05/17 | 4196 | macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty
2021/05/17 | 414397 | support/latexmk/latexmk.pl
-2021/05/17 | 405 | macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty
-2021/05/17 | 400691 | macros/luatex/generic/luatexja/doc/ltjclasses.pdf
-2021/05/17 | 39711 | macros/luatex/generic/luatexja/src/ltj-direction.lua
-2021/05/17 | 3961 | macros/luatex/generic/luatexja/src/ltj-charrange.lua
-2021/05/17 | 385 | macros/luatex/generic/luatexja/src/ltjsclasses.ins
-2021/05/17 | 381339 | macros/luatex/generic/luatexja/doc/luatexja-ruby.pdf
-2021/05/17 | 3797 | macros/luatex/generic/luatexja/README
-2021/05/17 | 3782646 | macros/luatex/generic/luatexja.zip
-2021/05/17 | 3755 | macros/luatex/generic/luatexja/src/ltj-lineskip.lua
-2021/05/17 | 3748 | macros/luatex/generic/luatexja/src/ltj-compat.lua
-2021/05/17 | 3693 | macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty
2021/05/17 | 3640 | systems/texlive/tlnet/archive/paresse.r59228.tar.xz
2021/05/17 | 36348 | support/latexmk/CHANGES
2021/05/17 | 3577 | macros/latex/contrib/alterqcm/doc/latex/doc-aq-greek.tex
-2021/05/17 | 355 | macros/luatex/generic/luatexja/tool/otf-AdobeMingStd-Light.txt
-2021/05/17 | 355 | macros/luatex/generic/luatexja/doc/luatexja.ins
-2021/05/17 | 3451 | macros/luatex/generic/luatexja/src/luatexja-compat.sty
-2021/05/17 | 3371 | macros/luatex/generic/luatexja/src/patches/lltjp-xunicode.sty
-2021/05/17 | 33461 | macros/luatex/generic/luatexja/src/addons/luatexja-ajmacros.sty
2021/05/17 | 332420 | systems/texlive/tlnet/archive/newtxsf.doc.r59227.tar.xz
-2021/05/17 | 3313 | macros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl
-2021/05/17 | 326 | macros/luatex/generic/luatexja/tool/otf-AdobeMyungjoStd-Medium.txt
-2021/05/17 | 3238 | macros/luatex/generic/luatexja/doc/jfm-test.lua
2021/05/17 | 3210 | macros/latex/contrib/acrotex/exerquiz.ins
-2021/05/17 | 32099 | macros/luatex/generic/luatexja/src/ltj-ruby.lua
2021/05/17 | 3182 | macros/latex/contrib/bnumexpr/README.md
-2021/05/17 | 317 | macros/luatex/generic/luatexja/tool/otf-AdobeSongStd-Light.txt
-2021/05/17 | 3100 | macros/luatex/generic/luatexja/tool/table_jisx0208.tex
-2021/05/17 | 29538 | macros/luatex/generic/luatexja/src/luatexja-core.sty
-2021/05/17 | 2948 | macros/latex/contrib/tiscreen/doc/tiscreen-doc.tex
-2021/05/17 | 29181 | macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
2021/05/17 | 2733232 | systems/texlive/tlnet/archive/dviout.win32.r59222.tar.xz
-2021/05/17 | 26934 | macros/luatex/generic/luatexja/src/lltjext.sty
2021/05/17 | 26220 | macros/latex/contrib/alterqcm/doc/latex/doc-aq-globales.tex
-2021/05/17 | 2601 | macros/luatex/generic/luatexja/src/jfm-banjiao.lua
-2021/05/17 | 2586 | macros/luatex/generic/luatexja/src/jfm-kaiming.lua
-2021/05/17 | 2575 | macros/luatex/generic/luatexja/src/jfm-quanjiao.lua
2021/05/17 | 2441089 | install/macros/musixtex.tds.zip
2021/05/17 | 2424239 | macros/musixtex.zip
-2021/05/17 | 2374 | macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
-2021/05/17 | 2342 | macros/luatex/generic/luatexja/src/jfm-jis.lua
-2021/05/17 | 2207 | macros/luatex/generic/luatexja/src/jfm-CCT.lua
-2021/05/17 | 2193 | macros/luatex/generic/luatexja/src/addons/luatexja-zhfonts.sty
2021/05/17 | 211589 | support/latexmk/latexmk.txt
-2021/05/17 | 21136 | macros/luatex/generic/luatexja/src/luatexja.lua
-2021/05/17 | 2057 | macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty
-2021/05/17 | 200 | macros/luatex/generic/luatexja/src/jfm-prop.lua
-2021/05/17 | 196 | macros/luatex/generic/luatexja/src/jfm-propw.lua
-2021/05/17 | 196 | macros/luatex/generic/luatexja/src/jfm-propv.lua
-2021/05/17 | 19572 | macros/luatex/generic/luatexja/src/ltj-adjust.lua
2021/05/17 | 193225 | support/latexmk/latexmk.pdf
-2021/05/17 | 192 | macros/luatex/generic/luatexja/src/jfm-mono.lua
-2021/05/17 | 189 | macros/luatex/generic/luatexja/src/patches/lltjp-preview.sty
-2021/05/17 | 188942 | macros/luatex/generic/luatexja/src/ltjsclasses.dtx
-2021/05/17 | 18722 | macros/luatex/generic/luatexja/src/ltj-kinsoku.tex
-2021/05/17 | 18543 | macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
2021/05/17 | 18449 | support/latexmk/INSTALL
-2021/05/17 | 1832 | macros/luatex/generic/luatexja/src/luatexja.sty
2021/05/17 | 179988 | systems/texlive/tlnet/archive/babel.r59229.tar.xz
-2021/05/17 | 1786 | macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
-2021/05/17 | 177581 | macros/luatex/generic/luatexja/src/ltjclasses.dtx
2021/05/17 | 17566664 | graphics/pgf/contrib/pgfplots.zip
2021/05/17 | 170748 | support/latexmk/latexmk.1
2021/05/17 | 166956 | systems/texlive/tlnet/archive/l3kernel.r59231.tar.xz
-2021/05/17 | 166557 | macros/luatex/generic/luatexja/doc/lltjp-geometry.pdf
-2021/05/17 | 1637 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
-2021/05/17 | 15839 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
-2021/05/17 | 154828 | macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua
2021/05/17 | 154576 | systems/texlive/tlnet/archive/qrbill.doc.r59232.tar.xz
2021/05/17 | 154447 | macros/latex/contrib/bnumexpr.zip
-2021/05/17 | 1536 | macros/luatex/generic/luatexja/COPYING
-2021/05/17 | 14709 | macros/luatex/generic/luatexja/src/patches/lltjp-listings.sty
-2021/05/17 | 14517 | macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
2021/05/17 | 14060 | systems/texlive/tlnet/archive/paresse.source.r59228.tar.xz
-2021/05/17 | 1397 | macros/luatex/generic/luatexja/tool/ivslist.tex
-2021/05/17 | 13899 | macros/luatex/generic/luatexja/src/jfm-ujis.lua
-2021/05/17 | 13726 | macros/luatex/generic/luatexja/doc/lltjp-geometry.tex
-2021/05/17 | 1362 | macros/luatex/generic/luatexja/src/patches/lltjp-footmisc.sty
2021/05/17 | 1335464 | systems/texlive/tlnet/archive/paresse.doc.r59228.tar.xz
-2021/05/17 | 13194 | macros/luatex/generic/luatexja/src/ltj-setwidth.lua
2021/05/17 | 131719 | macros/latex/contrib/bnumexpr/bnumexpr.pdf
2021/05/17 | 12832 | support/latexmk/README
-2021/05/17 | 1278 | macros/luatex/generic/luatexja/src/ltjclasses.ins
-2021/05/17 | 126 | macros/luatex/generic/luatexja/src/ltjltxdoc.ins
-2021/05/17 | 12389 | macros/luatex/generic/luatexja/src/patches/lltjcore.sty
-2021/05/17 | 123749 | macros/latex/contrib/tiscreen.zip
-2021/05/17 | 1224 | macros/luatex/generic/luatexja/tool/chars2defcharrange.rb
-2021/05/17 | 122211 | macros/latex/contrib/tiscreen/doc/tiscreen-doc.pdf
-2021/05/17 | 12151 | macros/luatex/generic/luatexja/src/ltj-base.lua
2021/05/17 | 11744 | systems/texlive/tlnet/archive/qrbill.source.r59232.tar.xz
2021/05/17 | 115671 | macros/latex/contrib/hvfloat/doc/hvfloat.tex
-2021/05/17 | 11506 | macros/luatex/generic/luatexja/src/jfm-ujisv.lua
-2021/05/17 | 11335 | macros/luatex/generic/luatexja/tool/unicodeBlocks.tex
-2021/05/17 | 1130 | macros/luatex/generic/luatexja/tool/function_uax50.lua
-2021/05/17 | 1130313 | macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
2021/05/17 | 1104801 | macros/latex/contrib/euclideangeometry.zip
2021/05/17 | 10905440 | systems/texlive/tlnet/archive/l3kernel.doc.r59231.tar.xz
-2021/05/17 | 1071 | macros/latex/contrib/tiscreen/tex/tiscreen.sty
2021/05/17 | 105908 | systems/texlive/tlnet/archive/newtxsf.r59227.tar.xz
2021/05/17 | 10280 | macros/latex/contrib/acrotex/examples/jquiztst.tex
2021/05/16 | 9997 | usergrps/usergrps/ca.html
@@ -724,7 +916,6 @@
2021/05/16 | 620828 | macros/latex/contrib/paresse/paresse-fra.pdf
2021/05/16 | 615104 | macros/latex/contrib/euclideangeometry/euclideangeometry-man.pdf
2021/05/16 | 6140 | macros/musixtex/tex/musixvbm.tex
-2021/05/16 | 5934 | systems/texlive/tlnet/tlpkg/TeXLive/trans.pl
2021/05/16 | 58801 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2021/05/16 | 5861208 | fonts/libertinust1math.zip
2021/05/16 | 585851 | macros/latex/contrib/paresse/paresse-eng.pdf
@@ -732,7 +923,6 @@
2021/05/16 | 5532928 | systems/win32/w32tex/aleph-w32.tar.xz
2021/05/16 | 5451 | macros/musixtex/doc/musixdoc/frontmatter.tex
2021/05/16 | 5402 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
-2021/05/16 | 53912 | systems/texlive/tlnet/archive/xetexko.r59215.tar.xz
2021/05/16 | 52856740 | systems/win32/w32tex/latex-dev.tar.xz
2021/05/16 | 49842 | usergrps/usergrps/lugs.pdf
2021/05/16 | 49478912 | systems/win32/w32tex/xetex-w32.tar.xz
@@ -753,7 +943,6 @@
2021/05/16 | 27555 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
2021/05/16 | 27232 | systems/texlive/tlnet/archive/tagpdf.source.r59214.tar.xz
2021/05/16 | 26800 | support/TeX4ht/source/Makefile
-2021/05/16 | 264180 | systems/texlive/tlnet/archive/xetexko.doc.r59215.tar.xz
2021/05/16 | 2462 | fonts/newtxsf/README
2021/05/16 | 24020 | systems/texlive/tlnet/archive/tagpdf.r59214.tar.xz
2021/05/16 | 2390104 | graphics/pgf/contrib/pgf-spectra/pgf-spectraManual.pdf
@@ -1922,80 +2111,3 @@
2021/05/15 | 101088 | systems/texlive/tlnet/archive/pdfmanagement-testphase.source.r59194.tar.xz
2021/05/15 | 10074 | graphics/pgf/base/doc/text-en/pgfmanual-en-main-preamble.tex
2021/05/15 | 1000 | graphics/pgf/base/source/MultilevelLayout_script.h
-2021/05/14 | 947436 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
-2021/05/14 | 890 | macros/latex/contrib/noindentafter/doc/LICENSE.md
-2021/05/14 | 8522926 | macros/latex/contrib/pdfmanagement-testphase.zip
-2021/05/14 | 83038 | macros/latex/contrib/tagpdf/tagpdf.tex
-2021/05/14 | 8282 | macros/latex/contrib/tagpdf/tagpdf-tree.dtx
-2021/05/14 | 7728 | macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
-2021/05/14 | 724 | systems/texlive/tlnet/archive/collection-luatex.r59184.tar.xz
-2021/05/14 | 6702 | macros/latex/contrib/tagpdf/tagpdf-checks.dtx
-2021/05/14 | 6676 | systems/texlive/tlnet/archive/lua-ul.r59186.tar.xz
-2021/05/14 | 6652 | macros/latex/contrib/profcollege/metapost/PfCSvgnames.mp
-2021/05/14 | 661637 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
-2021/05/14 | 658596 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
-2021/05/14 | 6348 | systems/texlive/tlnet/archive/collection-latexextra.r59183.tar.xz
-2021/05/14 | 6306 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
-2021/05/14 | 619765 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
-2021/05/14 | 611 | macros/latex/contrib/profcollege/metapost/PfCLaTeX.mp
-2021/05/14 | 588344 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
-2021/05/14 | 5860 | systems/texlive/tlnet/archive/huawei.r59180.tar.xz
-2021/05/14 | 580 | macros/latex/contrib/pdfmanagement-testphase/transparent-ltx.sty
-2021/05/14 | 573518 | macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
-2021/05/14 | 555364 | macros/latex/contrib/profcollege/latex/ProfCollege.sty
-2021/05/14 | 55245 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
-2021/05/14 | 552201 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
-2021/05/14 | 551626 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
-2021/05/14 | 53204 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
-2021/05/14 | 526914 | macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
-2021/05/14 | 517767 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
-2021/05/14 | 51720 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
-2021/05/14 | 5056 | macros/latex/contrib/profcollege/metapost/PfCAfficheur.mp
-2021/05/14 | 4827 | macros/musixtex/doc/musixdoc/musixdoc.sty
-2021/05/14 | 4567 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.ins
-2021/05/14 | 446163 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
-2021/05/14 | 438103 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
-2021/05/14 | 435558 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
-2021/05/14 | 431 | macros/latex/contrib/profcollege/metapost/PfCConstantes.mp
-2021/05/14 | 4241560 | macros/latex/contrib/profcollege.zip
-2021/05/14 | 421911 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
-2021/05/14 | 4212 | macros/latex/contrib/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty
-2021/05/14 | 419934 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
-2021/05/14 | 406986 | macros/latex/contrib/noindentafter/doc/noindentafter.pdf
-2021/05/14 | 403906 | macros/latex/contrib/noindentafter.zip
-2021/05/14 | 3797 | macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
-2021/05/14 | 367124 | systems/texlive/tlnet/archive/huawei.doc.r59180.tar.xz
-2021/05/14 | 326028 | systems/texlive/tlnet/archive/tabularray.doc.r59183.tar.xz
-2021/05/14 | 32140 | macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp
-2021/05/14 | 29399 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
-2021/05/14 | 2794 | macros/latex/contrib/tagpdf/tagpdf-space.dtx
-2021/05/14 | 27930 | macros/latex/contrib/tagpdf/tagpdf-backend.dtx
-2021/05/14 | 2781147 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
-2021/05/14 | 2774239 | macros/latex/contrib/tagpdf/tagpdf.pdf
-2021/05/14 | 26831 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
-2021/05/14 | 26394 | macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
-2021/05/14 | 24624 | macros/latex/contrib/tagpdf/tagpdf-struct.dtx
-2021/05/14 | 22954 | macros/latex/contrib/tagpdf/tagpdf-mc.dtx
-2021/05/14 | 2127 | macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
-2021/05/14 | 18535 | macros/latex/contrib/tagpdf/tagpdf.dtx
-2021/05/14 | 18487 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
-2021/05/14 | 17807 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
-2021/05/14 | 17664 | systems/texlive/tlnet/archive/tabularray.r59183.tar.xz
-2021/05/14 | 1743 | macros/latex/contrib/pdfmanagement-testphase/pdflscape-ltx.sty
-2021/05/14 | 17429 | macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
-2021/05/14 | 172511 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
-2021/05/14 | 1682253 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.zip
-2021/05/14 | 16428 | macros/latex/contrib/tagpdf/tagpdf-roles.dtx
-2021/05/14 | 15720 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
-2021/05/14 | 14748 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
-2021/05/14 | 13296 | macros/latex/contrib/profcollege/metapost/PfCCalculatrice.mp
-2021/05/14 | 1295 | macros/latex/contrib/tagpdf/README.md
-2021/05/14 | 1257 | macros/latex/contrib/noindentafter/README.md
-2021/05/14 | 12275 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
-2021/05/14 | 12085 | macros/latex/contrib/noindentafter/source/noindentafter.dtx
-2021/05/14 | 1195 | macros/latex/contrib/pdfmanagement-testphase/README.md
-2021/05/14 | 11265 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
-2021/05/14 | 10640 | systems/texlive/tlnet/archive/lua-ul.source.r59186.tar.xz
-2021/05/14 | 104283 | macros/latex/contrib/profcollege/metapost/PfCScratchpdf.mp
-2021/05/14 | 102313 | macros/latex/contrib/profcollege/metapost/PfCScratch.mp
-2021/05/14 | 100604 | systems/texlive/tlnet/archive/lua-ul.doc.r59186.tar.xz
diff --git a/macros/latex/contrib/acmart/README b/macros/latex/contrib/acmart/README
index 9b623902ff..40cbff3a83 100644
--- a/macros/latex/contrib/acmart/README
+++ b/macros/latex/contrib/acmart/README
@@ -286,4 +286,10 @@ Version 1.76. Added many journal abbreviations to the bst.
New experimental option: pbalance
ORCID linking code
-Version 1.77. Changed the way to typset multiple affiliations (Christoph Sommer) \ No newline at end of file
+Version 1.77. Changed the way to typeset multiple affiliations (Christoph Sommer)
+
+Version 1.78. Documentation update.
+ Magic texcount comments for samples.
+ Title page now is split if there are too many authors
+ Bug fixes.
+ \ No newline at end of file
diff --git a/macros/latex/contrib/acmart/acmart.dtx b/macros/latex/contrib/acmart/acmart.dtx
index c0e62e554c..d113dd5043 100644
--- a/macros/latex/contrib/acmart/acmart.dtx
+++ b/macros/latex/contrib/acmart/acmart.dtx
@@ -1679,6 +1679,36 @@
% uppercasing.
%
%
+%\subsection{Counting words}
+%\label{sec:ug_counting}
+%
+% Some ACM conferences use word count limits for papers. The
+% calculation of word number for a paper with math, tables and figures
+% is not a trivial task. Currently the authoritative word count is
+% done by translating the PDF to text and using |wc -w| on the
+% output. Authors can use the package |texcount| (used by Overleaf)
+% to get an estimate of the word count. To faciliate this one adds to the
+% beginning of the package metacomments
+% \begin{verbatim}
+% %TC:macro \cite [option:text,text]
+% %TC:macro \citep [option:text,text]
+% %TC:macro \citet [option:text,text]
+% %TC:envir table 0 1
+% %TC:envir table* 0 1
+% %TC:envir tabular [ignore] word
+% %TC:envir displaymath 0 word
+% %TC:envir math 0 word
+% %TC:envir comment 0 0
+% \end{verbatim}
+% and uses |\begin{math}...\end{math}| instead of dollar signs for
+% math. Note that the count is in any case approximate, and the final
+% decision of editors is based on PDF count.
+%
+% The script |texcount| provides a report of word count in the
+% document.
+%
+%
+%
%
%\subsection{Disabled or forbidden commands}
%\label{sec:ug_disabled}
@@ -1907,7 +1937,7 @@
\ProvidesFile{acmart.dtx}
%</gobble>
%<class>\ProvidesClass{acmart}
-[2021/04/16 v1.77 Typesetting articles for the Association for Computing Machinery]
+[2021/05/01 v1.78 Typesetting articles for the Association for Computing Machinery]
% \end{macrocode}
%
% \changes{v1.00}{2016/04/14}{First released version}
@@ -2014,6 +2044,7 @@
% \changes{1.71}{2020/05/02}{LuaTeX now uses the OTF versions of
% fonts}
% \changes{1.75}{2020/10/29}{Documentation update}
+% \changes{1.78}{2021/05/01}{Documentation update: Word count}
%
% And the driver code:
% \begin{macrocode}
@@ -4669,8 +4700,11 @@
% \begin{macrocode}
\AtEndDocument{\if@ACM@nonacm\else\if@ACM@printacmref\else
\ifnum\getrefnumber{TotPages}>1\relax
- \ClassWarningNoLine{\@classname}{ACM reference format is mandatory
- for papers over one page}%
+ \ClassWarningNoLine{\@classname}{%
+ ACM reference format is mandatory \MessageBreak
+ for papers over one page. \MessageBreak
+ Please add printacmref=true to the \MessageBreak
+ \string\settopmatter\space command.}%
\fi\fi\fi}
% \end{macrocode}
%
@@ -5417,9 +5451,12 @@
% its argument. Added a bugfix}
% \changes{v1.68}{2020/01/19}{Deleted grouping altogether}
% \changes{v1.69}{2020/02/02}{Changed dot to colon for sigplan}
+% \changes{v1.78}{2021/05/02}{Again suppressed \cs{vspace} warning}
% This macro starts sections for proceedings and uses \cs{small} for journals
% \begin{macrocode}
\def\@specialsection#1{%
+ \let\@vspace\@vspace@orig
+ \let\@vspacer\@vspacer@orig
\ifcase\ACM@format@nr
\relax % manuscript
\par\medskip\small\noindent#1: %
@@ -5440,6 +5477,8 @@
\or % sigchi-a
\section*{#1}%
\fi
+ \let\@vspace\@vspace@acm
+ \let\@vspacer\@vspacer@acm
}
% \end{macrocode}
%
@@ -5449,9 +5488,14 @@
% \begin{macro}{\@printtopmatter}
% \changes{v1.06}{2016/05/01}{Added processing badges}
% \changes{v1.46}{2017/08/29}{Deleted rule}
+% \changes{v1.78}{2021/05/16}{Added processing the overflowing title box}
% The printing of top matter starts a new page and uses the given
% title box. Note that for |sigchi-a| we print badges here rather
% than in \cs{mktitle} since we want them in the margins.
+%
+% Note that if there are too many authors, |\mktitle@bx| might
+% overflow the page. Therefore we start with checking this and if
+% this happens, we split the box and print it page by page.
% \begin{macrocode}
\def\@printtopmatter{%
\ifx\@startPage\@empty
@@ -5459,6 +5503,18 @@
\else
\setcounter{page}{\@startPage}%
\fi
+ \@tempdima=\ht\mktitle@bx
+ \advance\@tempdima by \dp\mktitle@bx
+ \ifdim\@tempdima>0.9\textheight
+ \loop
+ \setbox\@tempboxa=\vsplit \mktitle@bx to 0.9\textheight
+ \thispagestyle{firstpagestyle}%
+ \noindent\unvbox\@tempboxa
+ \clearpage
+ \@tempdima=\ht\mktitle@bx
+ \advance\@tempdima by \dp\mktitle@bx
+ \ifdim\@tempdima>0.9\textheight\repeat
+ \fi
\thispagestyle{firstpagestyle}%
\noindent
\ifcase\ACM@format@nr
@@ -5954,6 +6010,7 @@
% \changes{v1.40}{2017/06/04}{Switched to MakeTextUppercase}
% \changes{v1.73}{2020/09/07}{Check the presence of required elements
% for affiliations}
+% \changes{v1.78}{2021/05/16}{Unboxing \cs{mktitle@bx}}
% This version is used in most journal formats. Note that \cs{and} between
% authors with the same affiliation becomes \verb*| and |:
% \begin{macrocode}
@@ -5985,7 +6042,7 @@
\fi
\fi
\global\let\and\@typeset@author@line}%
- \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par\medskip
+ \global\setbox\mktitle@bx=\vbox{\noindent\unvbox\mktitle@bx\par\medskip
\noindent\addresses\@typeset@author@line
\par\medskip}%
}
@@ -6050,6 +6107,7 @@
% \changes{v1.36}{2017/05/12}{Added authorsperrow overrride}
% \changes{v1.73}{2020/09/07}{Check the presence of required elements
% for affiliations}
+% \changes{v1.78}{2021/05/16}{Unboxing \cs{mktitle@bx}}
% The |sigconf| version. Here we use a centered design with each
% author in a separate box.
% \begin{macrocode}
@@ -6116,7 +6174,7 @@
% \begin{macrocode}
\hsize=\textwidth
\global\setbox\mktitle@bx=\vbox{\noindent
- \box\mktitle@bx\par\medskip\leavevmode
+ \unvbox\mktitle@bx\par\medskip\leavevmode
\lineskip=1pc\relax\centering\hspace*{-1em}%
\addresses\let\and\@typeset@author@bx\and\par\bigskip}}
% \end{macrocode}
@@ -6261,12 +6319,13 @@
% \begin{macro}{\@mkteasers}
% Typesetting the teasers
% \changes{v1.56}{2018/11/1}{Added check for description}
+% \changes{v1.78}{2021/05/16}{Unboxing \cs{mktitle@bx}}
% \begin{macrocode}
\def\@mkteasers{%
\ifx\@teaserfigures\@empty\else
\def\@teaser##1{\par\bigskip\bgroup
\captionsetup{type=figure}##1\egroup\par}
- \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par
+ \global\setbox\mktitle@bx=\vbox{\noindent\unvbox\mktitle@bx\par
\noindent\@Description@presentfalse
\@teaserfigures\par\if@Description@present\else
\global\@undescribed@imagestrue
diff --git a/macros/latex/contrib/acmart/acmart.pdf b/macros/latex/contrib/acmart/acmart.pdf
index c6d2536d6a..263327bbc5 100644
--- a/macros/latex/contrib/acmart/acmart.pdf
+++ b/macros/latex/contrib/acmart/acmart.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/acmguide.pdf b/macros/latex/contrib/acmart/acmguide.pdf
index b78e8dc8b5..88691decd5 100644
--- a/macros/latex/contrib/acmart/acmguide.pdf
+++ b/macros/latex/contrib/acmart/acmguide.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf b/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf
index d82e7482eb..97525d134e 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf
index 113cc1abbd..d92aacd297 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf
index 1906e776a7..76848b87b3 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf
index 27aae47e2d..a7310de528 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmtog.pdf b/macros/latex/contrib/acmart/samples/sample-acmtog.pdf
index 91359df33c..c192a9190f 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmtog.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmtog.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-authordraft.pdf b/macros/latex/contrib/acmart/samples/sample-authordraft.pdf
index c2c9075ba6..f53ec3d520 100644
--- a/macros/latex/contrib/acmart/samples/sample-authordraft.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-authordraft.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-lualatex.pdf b/macros/latex/contrib/acmart/samples/sample-lualatex.pdf
index 0b4fbd4d3d..2f5d4eb0e8 100644
--- a/macros/latex/contrib/acmart/samples/sample-lualatex.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-lualatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-manuscript.pdf b/macros/latex/contrib/acmart/samples/sample-manuscript.pdf
index effe8aa896..d2dc2faf4e 100644
--- a/macros/latex/contrib/acmart/samples/sample-manuscript.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-manuscript.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf.pdf
index 5a9c0f6cf8..43c162e86c 100644
--- a/macros/latex/contrib/acmart/samples/sample-sigconf.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-sigconf.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-sigplan.pdf b/macros/latex/contrib/acmart/samples/sample-sigplan.pdf
index 2237485dcc..81112ed95d 100644
--- a/macros/latex/contrib/acmart/samples/sample-sigplan.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-sigplan.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-xelatex.pdf b/macros/latex/contrib/acmart/samples/sample-xelatex.pdf
index 74fcfe089f..928edaf286 100644
--- a/macros/latex/contrib/acmart/samples/sample-xelatex.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-xelatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/samples.dtx b/macros/latex/contrib/acmart/samples/samples.dtx
index d826fd4e4a..1599f8670e 100644
--- a/macros/latex/contrib/acmart/samples/samples.dtx
+++ b/macros/latex/contrib/acmart/samples/samples.dtx
@@ -1,4 +1,19 @@
%<*manuscript|acmsmall|acmsmall-submission|acmlarge|acmtog|sigconf|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf>
+%%
+%%
+%% Commands for TeXCount
+%<<TCMACROS
+%TC:macro \cite [option:text,text]
+%TC:macro \citep [option:text,text]
+%TC:macro \citet [option:text,text]
+%TC:envir table 0 1
+%TC:envir table* 0 1
+%TC:envir tabular [ignore] word
+%TC:envir displaymath 0 word
+%TC:envir math 0 word
+%TC:envir comment 0 0
+%TCMACROS
+%%
%%
%% The first command in your LaTeX source must be the \documentclass command.
%<manuscript>\documentclass[manuscript,screen,review]{acmart}
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index c9295ed617..b990509cef 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -23,11 +23,11 @@
%
% \changes{v1.20}{2021/01/09}{ф┐оцФ╣хТМхоМхЦДчФицИ╖цЦЗцбгуАВ}
% \changes{v1.20}{2021/01/09}{цибцЭ┐цЫ┤цФ╣ф╕║ф╜┐чФи CC-BY шо╕хПпхНПшооуАВ}
-% \changes{v1.25m}{2021/05/03}{хПЦц╢ИщЩДх╕жчЪДчд║ф╛ЛцЦЗф╗╢я╝МхПпцЯечЬЛхОЖхП▓чЙИцЬмхПКхЕ╢хоГцЭец║РчЪДф╜┐чФица╖ф╛ЛуАВ}
+% \changes{v1.25n}{2021/05/03}{хПЦц╢ИщЩДх╕жчЪДчд║ф╛ЛцЦЗф╗╢я╝МхПпцЯечЬЛхОЖхП▓чЙИцЬмхПКхЕ╢хоГцЭец║РчЪДф╜┐чФица╖ф╛ЛуАВ}
%
% \title{\sffamily easybook цЦЗцбгч▒╗цЙЛхЖМ}
% \author{чЮ┐цпЕ}
-% \date{2021/05/19\hskip\ccwd\relax v1.25m\thanks{\url{https://gitee.com/texl3/easybook}}}
+% \date{2021/05/21\hskip\ccwd\relax v1.25n\thanks{\url{https://gitee.com/texl3/easybook}}}
%
% \maketitle
% \begin{abstract}
@@ -117,7 +117,7 @@
% \end{syntax}
% ф╝ащАТч╗Щ \cls{ctexbook} шо╛ч╜охнЧф╜Уя╝МцЬАхе╜ф╕НшжБф╜┐чФихОЯцЬЙчЪД \opt{fontset} щАЙщб╣я╝Мщ╗ШшодцГЕхЖ╡ф╕Лф╜┐чФишЗкхоЪф╣ЙхнЧф╜УшАМф╕Нх╝АхРпш┐Щф╕кщАЙщб╣я╝МхПпца╣цНохоЙшгЕчЪДхнЧф╜УхПКчФ╡шДСч│╗ч╗ЯщАЙхПЦуАВ\opt{noto} ф╕О \opt{none} щАЙщб╣чЪДчЫ╕хЕ│цППш┐░шзБх░ПшКВ \ref{subsec:font settings}я╝М\opt{overleaf} цШпф╕Аф╕кхРДч│╗ч╗ЯщАЪчФищАЙщб╣я╝Мф╝ЪцгАц╡Лч│╗ч╗ЯчОпхвГщАЙхПЦхп╣х║ФхнЧф╜УуАВ
% \changes{v1.21}{2021/01/12}{щ╗ШшодхнЧф╜Уф╕О \CTeX ф╕АшЗ┤я╝Мф╕НхЖНцШпшЗкхоЪф╣ЙхнЧф╜УуАВ}
-% \changes{v1.25m}{2021/05/04}{ф┐охдНф╜┐чФи \pkg{xeCJK} ф╕О \pkg{fontspec} хоПхМЕчЪДхнЧф╜Ушо╛ч╜охС╜ф╗дхЬи \hologo{LuaLaTeX} ф╕Лхд▒цХИчЪДщЧощвШуАВ}
+% \changes{v1.25n}{2021/05/04}{ф┐охдНф╜┐чФи \pkg{xeCJK} ф╕О \pkg{fontspec} хоПхМЕчЪДхнЧф╜Ушо╛ч╜охС╜ф╗дхЬи \hologo{LuaLaTeX} ф╕Лхд▒цХИчЪДщЧощвШуАВ}
% \end{function}
%
% \begin{function}[rEXP,added = 2021-01-05,updated = 2021-01-13]{paper}
@@ -168,7 +168,7 @@
% \tn{listoflistings*+}\oarg{щФохА╝хИЧшби}
% \end{syntax}
% \tn{listoffigures} хС╜ф╗дш╛УхЗ║хЫ╛чЙЗчЫох╜Хя╝М\tn{listoftables} ш╛УхЗ║шбица╝чЫох╜Хя╝М\tn{listoflistings} ш╛УхЗ║ф╗гчаБчЫох╜ХуАВх╕жцЬЙцШЯхП╖чЪДчЫох╜ХхС╜ф╗дф╕Нх░ЖцаЗщвШц╖╗хКаш┐Ыф╕╗цЦЗцбгчЫох╜Хя╝Мх╕жцЬЙ+хП╖чЪДчЫох╜ХхС╜ф╗дхПпф╗еф╜┐х╜УхЙНцаЗщвШч╝ЦхП╖уАВ\tn{tableofcontents+} ф╕ОхЕ╢хоГхС╜ф╗дф╕НхРМцШпчФиф║Ош╛УхЗ║хПМшпнчЫох╜Хя╝МщЬАшжБф╕ОхПМшпнчЫох╜ХцаЗщвШхС╜ф╗д \tn{bichapter} чнЙцИЦшо╛ч╜охЫ╛чЙЗуАБшбица╝хТМф╗гчаБчнЙшЛ▒цЦЗчЫох╜ХчЪДцаЗщвШщЕНхРИф╜┐чФия╝МщЩДхКаф╗гчаБцШпф╕нцЦЗф╕ОшЛ▒цЦЗчЫох╜Хф╣ЛщЧ┤чЪДф╗гчаБя╝МхПпф╗ецПТхЕецЦЗцЬмхТМцНвщб╡хС╜ф╗дчнЙуАВчЫох╜ХчЪДщФохА╝хИЧшбищАЙщб╣хжВф╕Л
-% \changes{v1.25m}{2021/05/05}{хС╜ф╗д \tn{tableofcontents} хПпф╗еш╛УхЗ║хПМшпнчЫох╜ХуАВ}
+% \changes{v1.25n}{2021/05/05}{хС╜ф╗д \tn{tableofcontents} хПпф╗еш╛УхЗ║хПМшпнчЫох╜ХуАВ}
% \end{function}
%
% \begin{function}{multoc,title,format,aftertitle,pagestyle,book,article}
@@ -199,7 +199,7 @@
% хПМшпнчЫох╜ХчЪДцаЗщвШхС╜ф╗дчЫохЙНшо╛ч╜оф║Жх╕╕чФичЪДф╕Йф╕кч║зхИля╝МхоГф╗мх░Жф╕нцЦЗцаЗщвШцнгх╕╕ш╛УхЗ║я╝Мх╣╢ф╜┐ф╕ншЛ▒цЦЗцаЗщвШхКахЕехПМшпнчЫох╜Хя╝Мш┐Щф╕кхКЯшГ╜цШпф╕║хЫ╜хЖЕф╕Аф║ЫхдзхнжчЪДхнжф╜Ншо║цЦЗцибцЭ┐чЪДшжБц▒Вшо╛шобя╝МхЬиф╕АшИмцГЕхЖ╡хТМшЛ▒цЦЗцибх╝Пф╕Лф╕НщЬАшжБф╜┐чФиуАВ
%
% хоГф╗мчЪДцШЯхП╖хПШф╜УхС╜ф╗дф╜┐цЦЗф╕нцаЗщвШф╕Нч╝ЦхП╖я╝Мф╜ЖцШпф╗НчД╢хКахЕехПМшпнчЫох╜Хя╝МшЛешЛ▒цЦЗцаЗщвШхПВцХ░чй║ч╜ощВгф╣Иф╗ЕхКахЕеф╕нцЦЗчЫох╜ХшАМф╕НхКахЕешЛ▒цЦЗчЫох╜Хя╝Мш┐Щф╕АчЙ╣чВ╣ф╕О \tn{chapter*} чнЙхС╜ф╗дчЪДшбМф╕║ф╕Нхдкф╕Аца╖я╝МхЬиф╕Аф║ЫцГЕхЖ╡ф╕Лф╝ЪчФихИ░уАВхПпщАЙхПВцХ░цШпчЫох╜Хф╕нчЪДф╕нцЦЗцаЗщвШя╝Мщ╗Шшодф╕Оф╕нцЦЗцаЗщвШф╕АшЗ┤я╝МцнгцЦЗцаЗщвШш┐ЗщХ┐цЧ╢хПпчФихоГшо╛ч╜охЬичЫох╜Хф╕нцШ╛чд║чЪДцаЗщвШуАВхПМшпнчЫох╜ХчЪДца╝х╝ПцШпф╕АшЗ┤чЪДя╝МхЕ▒ф║лф╜┐чФи \tn{tocset} чЪДшо╛ч╜оя╝МшЛ▒цЦЗчЫох╜ХчЪДчлач║зхИлцаЗщвШхРНхПКч╝ЦхП╖чЪДф┐оцФ╣цЦ╣х╝ПхжВф╕Л
-% \changes{v1.25m}{2021/05/05}{хвЮхКаф╕ОхПМшпнчЫох╜ХщЕНхРИчЪДцаЗщвШхС╜ф╗дуАВ}
+% \changes{v1.25n}{2021/05/05}{хвЮхКаф╕ОхПМшпнчЫох╜ХщЕНхРИчЪДцаЗщвШхС╜ф╗дуАВ}
% \end{function}
%
% \begin{function}{biname,binmuber}
@@ -299,7 +299,7 @@
% \changes{v1.10}{2021/01/08}{ф┐охдНф║Ж \opt{linktopage} щАЙщб╣хЕ│щЧнцЧ╢чЫох╜Хф╕нцаЗщвШч╝ЦхП╖цЧаш╢ЕщУ╛цОечЪДщЧощвШуАВ}
% \changes{v1.23}{2021/03/19}{ф┐охдНхЬи \pkg{ctex} v2.5.6 цЫ┤цЦ░хРО \cls{easybook} ф╕О \pkg{hyperref} хЖ▓чкБщЧощвШуАВ}
% \changes{v1.24}{2021/04/05}{хвЮхКа \pkg{hyperref} ш╢ЕщУ╛цОещАЙщб╣хоМцХ┤чЪДцФпцМБуАВ}
-% \changes{v1.25m}{2021/05/06}{цибхЭЧхРН \opt{link} цФ╣ф╕║ \opt{refset}я╝М\opt{link} ф╜Ьф╕║хЕ╝хо╣цАзф┐ЭчХЩуАВ}
+% \changes{v1.25n}{2021/05/06}{цибхЭЧхРН \opt{link} цФ╣ф╕║ \opt{refset}я╝М\opt{link} ф╜Ьф╕║хЕ╝хо╣цАзф┐ЭчХЩуАВ}
% \end{function}
%
% \begin{optdesc}
@@ -356,7 +356,7 @@
% \ding{229} ф╗еф╕КщАЙщб╣ш╖пх╛Дф╕║ \opt{subfont/...}
% \changes{v1.10}{2021/01/08}{хКахЕешЗкхоЪф╣ЙщЭЮцнгцЦЗхнЧф╜УщАЙщб╣уАВ}
% \changes{v1.23}{2021/02/08}{ф┐охдНф╜┐чФи \tn{zihao} хС╜ф╗дшо╛ч╜охнЧф╜Ухд▒цХИчЪДщЧощвШуАВ}
-% \changes{v1.25m}{2021/05/19}{хЕ╢хоГхнЧф╜УцибхЭЧхРНчФ▒ \opt{elsefont} цФ╣ф╕║ \opt{subfont}я╝Мх╣╢хвЮхКацХ░хнжхнЧф╜УчЪДщАЙщб╣ \opt{subfont/math}уАВ}
+% \changes{v1.25n}{2021/05/21}{хЕ╢хоГхнЧф╜УцибхЭЧхРНчФ▒ \opt{elsefont} цФ╣ф╕║ \opt{subfont}я╝Мх╣╢хвЮхКацХ░хнжхнЧф╜УчЪДщАЙщб╣ \opt{subfont/math}уАВ}
% \end{function}
%
% \begin{optdesc}
@@ -381,7 +381,7 @@
% \changes{v1.21}{2021/01/11}{хвЮхКа \opt{bibset} щАЙщб╣я╝МхПпф╗еф╜┐чФи \hologo{BibTeX} цИЦ \hologo{biber} ч╝ЦшпСхПВшАГцЦЗчМоуАВ}
% \changes{v1.23}{2021/02/23}{ф╜┐чФи \opt{bibset} щАЙщб╣цЧ╢хПпшо╛ч╜оцаЗц│ищгОца╝уАВ}
% \changes{v1.24}{2021/04/09}{хПпф╗еф╕Нш╜╜хЕехПВшАГцЦЗчМохМЕцЙЛхКищЕНч╜охПВшАГцЦЗчМоца╝х╝ПуАВ}
-% \changes{v1.25m}{2021/05/12}{хПЦц╢И \opt{bib-loadpkg} щАЙщб╣я╝МчФ▒цШпхРжшо╛ч╜охПВшАГцЦЗчМоцХ░цНох║УцЭехЖ│хоЪш╜╜хЕехоПхМЕуАВ}
+% \changes{v1.25n}{2021/05/12}{хПЦц╢И \opt{bib-loadpkg} щАЙщб╣я╝МчФ▒цШпхРжшо╛ч╜охПВшАГцЦЗчМоцХ░цНох║УцЭехЖ│хоЪш╜╜хЕехоПхМЕуАВ}
% \end{function}
%
% \begin{optdesc}
@@ -574,8 +574,8 @@
% \ding{229} ф╗еф╕КщАЙщб╣ш╖пх╛Дф╕║ \opt{hdrset/...} \\
% ф╕КщЭвхЗаф╕кщАЙщб╣чФиф║Ошо╛ч╜ошДЪц│ица╝х╝Пя╝М\opt{fnparskip} хТМ \opt{fnparindent} щАЙщб╣ф╗ЕхЬи \opt{fnhang = true} цЧ╢цЬЙцХИуАВ\opt{fnhang} чФиф║Ох░ЖшДЪц│ишо╛ч╜оф╕║цВмцМВч╝йш┐ЫчЪДца╝х╝Пя╝М\opt{fnmark-pos} щАЙщб╣шо╛ч╜ошДЪц│ич╝ЦхП╖чЪДф╜Нч╜оя╝Мцнгх╕╕цЦЗцЬмцИЦцШпф╕КцаЗх╜вх╝ПуАВ\opt{fnmark-num} щАЙщб╣шо╛ч╜ошДЪц│ич╝ЦхП╖чЪДца╝х╝Пя╝Мщ╗Шшодф╕║хОЯчФЯца╖х╝П \opt{plain}я╝Мш┐ШхПпф╗ецФ╣ф╕║ \opt{pifont} чЪДхРДф╕кчЙИцЬмя╝Мф╗Ох╖жх╛АхП│ф╛Эцмбф╕║цЩощАЪчЙИуАБщШ┤цЦЗшбмч║┐чЙИуАБщШ│цЦЗцЧашбмч║┐чЙИхТМщШ┤цЦЗцЧашбмч║┐чЙИя╝Мч╝║чВ╣цШпхоГф╗мчЪДч╝ЦхП╖ф╗ЕхМЕцЛм1-10уАВ
%
-% \opt{fnmark-form} цШпшДЪц│ицаЗшо░чЪДца╝х╝Пя╝Мщ╗Шшодф╕║чй║я╝МхЬицндшо╛ч╜охнЧф╜УхС╜ф╗дф╝ЪшжЖчЫЦ \opt{subfont/footnote} чЪДшо╛ч╜оя╝МцЬАхРОф╕Аф╕кца╝х╝ПхС╜ф╗дхПпф╗ех╕жцЬЙф╕Аф╕кхПВцХ░я╝Мш┐Щф╕кхПВцХ░цОехПЧшДЪц│ич╝ЦхП╖я╝Мф╕АшИмщЕНхРИ \opt{fnmark-num = plain} ф╜┐чФиуАВ\opt{afterfnmark} цШпшДЪц│ицаЗшо░хРОчЪДф╗гчаБя╝Мф╕АшИмчФиф║Ошо╛ч╜оцаЗшо░ф╕ОцЦЗцЬмщЧ┤чЪДш╖Эчж╗уАВ
-% \changes{v1.25m}{2021/05/12}{хвЮхКашДЪц│ица╖х╝Пшо╛ч╜ощАЙщб╣уАВ}
+% \opt{fnmark-form} цШпшДЪц│ицаЗшо░чЪДца╝х╝Пя╝МхЬицндшо╛ч╜охнЧф╜УхС╜ф╗дф╝ЪшжЖчЫЦ \opt{subfont/footnote} чЪДшо╛ч╜оя╝МцЬАхРОф╕Аф╕кца╝х╝ПхС╜ф╗дхПпф╗ех╕жцЬЙф╕Аф╕кхПВцХ░я╝Мш┐Щф╕кхПВцХ░цОехПЧшДЪц│ич╝ЦхП╖я╝Мф╕АшИмщЕНхРИ \opt{fnmark-num = plain} ф╜┐чФиуАВ\opt{afterfnmark} цШпшДЪц│ицаЗшо░хРОчЪДф╗гчаБя╝Мф╕АшИмчФиф║Ошо╛ч╜оцаЗшо░ф╕ОцЦЗцЬмщЧ┤чЪДш╖Эчж╗уАВ
+% \changes{v1.25n}{2021/05/12}{хвЮхКашДЪц│ица╖х╝Пшо╛ч╜ощАЙщб╣уАВ}
% \end{function}
%
% \subsection{чЫох╜Хца╖х╝П}
@@ -594,7 +594,7 @@
% \opt{format} цШпчЫох╜Хф╕нцаЗщвШчЪДца╝х╝Пя╝МхПпф╗ешо╛ч╜охнЧф╜УхТМхКахЕехЮВчЫ┤щЧ┤ш╖ЭчнЙя╝МхЮВчЫ┤щЧ┤ш╖ЭцЬАхе╜ф╜┐чФицЧащЧ┤ш╖ЭщЗНхРИчЪД \tn{addvspace} хС╜ф╗дя╝Мх╕жцЬЙхКахП╖чЪД \opt{format+} щАЙщб╣чФиф║ОхЬих╖▓цЬЙчЪДца╝х╝ПхС╜ф╗дхРОщЩДхКахЖЕхо╣уАВ\opt{indent} цШпчЫох╜Хф╕нцаЗщвШхЬищб╡щЭвх╖жф╛зчЪДч╝йш┐Ыш╖Эчж╗я╝Мх║ФшпецЬЙщХ┐х║жхНХф╜НуАВ\opt{rule} щАЙщб╣ф╕нф╕АшИмх║Фх╜Уф╜┐чФи \tn{tocrule} хС╜ф╗дя╝Мх░Жф╝ЪхЬицОеф╕ЛцЭеф╗Лч╗НуАВ\opt{numsep} цШпцЬЙч╝ЦхП╖чЪДцаЗщвШхЬичЫох╜Хф╕нч╝ЦхП╖ф╕ОцаЗщвШчЪДщЧ┤ш╖ЭуАВ
% \changes{v1.21}{2021/01/13}{хвЮхКащЕНч╜очЫох╜Хца╖х╝ПчЪДщАЙщб╣уАВ}
% \changes{v1.24}{2021/04/20}{хвЮхКачЫох╜Хф╕нч╝ЦхП╖ф╕ОцаЗщвШчЪДщЧ┤ш╖ЭщАЙщб╣ \opt{numsep}уАВ}
-% \changes{v1.25m}{2021/05/14}{хПпф╗ехИЖхИлшо╛ч╜охЫ╛чЙЗуАБшбица╝хТМф╗гчаБчЫох╜ХчЪДца╝х╝ПуАВ}
+% \changes{v1.25n}{2021/05/14}{хПпф╗ехИЖхИлшо╛ч╜охЫ╛чЙЗуАБшбица╝хТМф╗гчаБчЫох╜ХчЪДца╝х╝ПуАВ}
% \end{function}
%
% \begin{function}[added = 2021-01-13,updated = 2021-04-20]{\tocrule,\EbNumberLine}
@@ -642,7 +642,7 @@
%
% \begin{optdesc}
% \item[lolskip] \opt{lolskip} цШпф╗гчаБчЫох╜Хф╕нчлаф╣ЛщЧ┤чЪДф╗гчаБцаЗщвШчЪДш╖Эчж╗я╝Мф╕О \CTeX чЪДшбица╝чЫох╜ХхТМхЫ╛чЙЗчЫох╜Хф╕нчлаф╣ЛщЧ┤чЪДцаЗщвШш╖Эчж╗щАЙщб╣ \opt{lotskip} хТМ \opt{lofskip} ч▒╗ф╝╝я╝МхоГф╗мчЪДхА╝хЭЗщ╗Шшод0.8 pcя╝МхЬи \opt{article} цибх╝Пф╕нцндщАЙщб╣хд▒цХИуАВ
-% \item[belowoffset] \opt{belowoffset} щАЙщб╣ф╕║ф╕╗чЫох╜ХцаЗщвШ \tn{contentsname} хРОчЪДщЧ┤ш╖ЭшбехБ┐я╝Мф╕АшИмф╕║ш┤ЯхА╝я╝МчФиф║ОцК╡ц╢И \opt{format} ф╕ншо╛ч╜очЪДхЮВчЫ┤щЧ┤ш╖ЭуАВ\opt{(level)} ф╕нчЪД \opt{belowoffset} ф╕Оф╣ЛцДПф╣Йч▒╗ф╝╝я╝Мф╗гшби figureуАБtable хТМ lstlisting ф╕Йф╕кч║зхИля╝Мф╣ЯхПпф╗еф╜┐чФи \opt{list} ч╗Яф╕Ашо╛ч╜оя╝Мф╕АшИмф╕║цнгхА╝уАВх╗║шоош╖Эчж╗ \opt{lolskip(0.8pc) + (level)/format/addvspace(0.2pc) + (level)/belowoffset(0pc) = belowoffset(-1pc)}уАВ
+% \item[belowoffset] \opt{belowoffset} щАЙщб╣ф╕║ф╕╗цЦЗцбгчЫох╜ХцаЗщвШф╕ЛцЦ╣чЪДщЧ┤ш╖ЭшбехБ┐я╝Мф╕АшИмф╕║ш┤ЯхА╝я╝МчФиф║ОцК╡ц╢И \opt{format} ф╕нщвЭхдЦчЪДхЮВчЫ┤щЧ┤ш╖ЭуАВ\opt{(level)} ф╕нчЪД \opt{belowoffset} ф╕Оф╣ЛцДПф╣Йч▒╗ф╝╝я╝Мф╗гшби figureуАБtable хТМ lstlisting ф╕Йф╕кч║зхИля╝Мф╣ЯхПпф╗еф╜┐чФи \opt{list} ч╗Яф╕Ашо╛ч╜оя╝Мф╕АшИмф╕║цнгхА╝уАВ
% \item[tocline] чЫох╜ХцаЗчн╛цХ┤ф╜Уф╜┐чФи \opt{tocline} шо╛ч╜оя╝МхЬихЫ╛шбицаЗчн╛чЪДхПВцХ░ф╕н \#1 ф╗гшбич╝ЦхП╖я╝Мф╗гчаБцаЗчн╛ф╕нхИЩцШп \tn{thelstlisting} ф╗гшбич╝ЦхП╖я╝МцаЗчн╛ф╕нш┐ШхПпхМЕхРлцаЗчн╛хРНчз░я╝Мщ╗ШшодцаЗчн╛хРНчз░ф╕ОхЫ╛уАБшбихТМф╗гчаБчОпхвГчЪДцаЗщвШхРНчз░ф╕АшЗ┤уАВф╕ЛщЭвф╕╛ф╕кшо╛ч╜оцаЗчн╛чЪДф╛ЛхнР
% \begin{ctexexam}
% \tocset
@@ -679,7 +679,7 @@
% \tn{end}\marg{чОпхвГхРН}
% \end{syntax}
% \pkg{tabularray} цШпф╕Аф╕кш╛ГцЦ░чЪДхоПхМЕя╝Мф╕Нф╗ЕцПРф╛Ыф║Ж \pkg{tabularx}уАБ\pkg{multirow}уАБхТМ \pkg{booktabs} хоПхМЕчЪДхКЯшГ╜я╝Мх╣╢ф╕Фф╕Нф╛Эш╡ЦхЕ╢хоГхоПхМЕф╕ОхоГф╗мхРМцЧ╢ф╜┐чФиф╕Нф╝Ъф║зчФЯхЖ▓чкБя╝Мш┐ШхоЮчО░ф║ЖчФичоАф╛┐чЪДщФохА╝хИЧшбицЦ╣х╝Пшо╛ч╜ошбица╝ца╖х╝ПуАВчЫохЙНщЩдф║Жшбихд┤цЦЬч║┐ф╗ехПКш╖ищб╡хКЯшГ╜хнШхЬиф╕Нш╢│я╝МхЕ╢хоГцЦ╣щЭвх╖▓ц╗бш╢│хп╣шбица╝ч╗ЭхдзхдЪцХ░ца╝х╝ПчЪДщЬАц▒Вя╝МхЕ╖ф╜УчФиц│ХхПпшзБхоПхМЕчЪДшп┤цШОцЦЗцбгуАВ
-% \changes{v1.25m}{2021/05/17}{ф╜┐чФихКЯшГ╜цЫ┤ф╛┐цН╖щ╜РхЕичЪД \pkg{tabularray} хоПхМЕшо╛ч╜ошбица╝ца╖х╝ПуАВ}
+% \changes{v1.25n}{2021/05/17}{ф╜┐чФихКЯшГ╜цЫ┤ф╛┐цН╖щ╜РхЕичЪД \pkg{tabularray} хоПхМЕшо╛ч╜ошбица╝ца╖х╝ПуАВ}
% \end{function}
%
% \subsection{хИЧшби}
@@ -744,13 +744,13 @@
%
% \subsection{ф╣ащвШ}
% \label{subsec:exercise}
-% \begin{function}[added = 2021-01-05,updated = 2021-04-19]{exercise}
+% \begin{function}[added = 2021-01-05,updated = 2021-05-21]{exercise}
% \begin{syntax}
% \tn{begin}\marg{exercise}*+\oarg{щвЬшЙ▓хРН|(LightSkyBlue)}\oarg{ч╝ЦхП╖|(1.)}\parg{цаЗщвШ|(ф╣ащвШ)}\oarg{щЕНч╜ощАЙщб╣}\oarg{х║ПшиА}
% \ \tn{item} <ф╣ащвШхЖЕхо╣>
% \tn{end}\marg{exercise}
% \end{syntax}
-% ф╣ащвШчОпхвГ \env{exercise} чЪДцаЗщвШч┤зцОеф╕Кф╕АшКВч╝ЦхП╖х╣╢хКахЕечЫох╜Хф╕Ощб╡чЬЙя╝Мх╜Уф╜┐чФицШЯхП╖хПВцХ░цЧ╢ф╕Нш┐ЫшбМч╝ЦхП╖я╝Мф╜┐чФи+хП╖хПВцХ░хРпчФи \pkg{tcolorbox} цФпцМБчФЯцИРцаЗщвШуАВ\meta{щвЬшЙ▓хРН} щАЙщб╣хЬиф╜┐чФи+хП╖хПВцХ░цЧ╢цЬЙцХИя╝МхЕ╢ф╕нщвЬшЙ▓ф╕║шЗкхоЪф╣ЙцИЦ \pkg{xcolor} хМЕхРлчЪДщвЬшЙ▓хРНчз░уАВщвШчЫоч╝ЦхП╖ца╝х╝Пф╕Ох░ПшКВ \ref{subsec:sort list} цОТх║ПхИЧшбичЫ╕хРМя╝МцаЗщвШхРНщ╗Шшодф╕║ф╣ащвШуАВ
+% ф╣ащвШчОпхвГ \env{exercise} чЪДцаЗщвШч┤зцОеф╕Кф╕АшКВч╝ЦхП╖х╣╢хКахЕечЫох╜Хф╕Ощб╡чЬЙя╝Мх╜Уф╜┐чФицШЯхП╖хПВцХ░цЧ╢ф╕Нш┐ЫшбМч╝ЦхП╖я╝Мф╜┐чФи+хП╖хПВцХ░чЛмчлЛч╝ЦхП╖х╣╢хРпчФи \pkg{tcolorbox} цФпцМБчФЯцИРцаЗщвШуАВ\meta{щвЬшЙ▓хРН} щАЙщб╣хЬиф╜┐чФи+хП╖хПВцХ░цЧ╢цЬЙцХИя╝МхЕ╢ф╕нщвЬшЙ▓ф╕║шЗкхоЪф╣ЙцИЦ \pkg{xcolor} хМЕхРлчЪДщвЬшЙ▓хРНчз░уАВщвШчЫоч╝ЦхП╖ца╝х╝Пф╕Ох░ПшКВ \ref{subsec:sort list} цОТх║ПхИЧшбичЫ╕хРМя╝МцаЗщвШхРНщ╗Шшодф╕║ф╣ащвШуАВ
%
% щЕНч╜ощАЙщб╣хЬицШпхРжф╜┐чФи+хП╖хПВцХ░цЧ╢чФиц│Хф╕НхРМя╝Мф╜┐чФи+хП╖хПВцХ░цЧ╢ф╕║ \pkg{tcolorbox} чЪДчЫТхнРщАЙщб╣я╝Мф╛ЛхжВ \opt{boxrule} хТМ \opt{fontupper}уАВф╕Нф╜┐чФи+хП╖хПВцХ░цЧ╢чЫ╕х╜Уф║Ошо╛ч╜о \tn{ctexset}\{section = {\#1}\} щФохА╝щАЙщб╣хИЧшбия╝Мф╛ЛхжВ \opt{format} хТМ \opt{beforeskip}уАВ\meta{х║ПшиА} щАЙщб╣чФиф║ОхЬиф╣ащвШчОпхвГх╝АхзЛхЙНцПТхЕеф╕Ацо╡хЖЕхо╣я╝МхПпф╗ецШпцЦЗцЬмцИЦшАЕф╗гчаБуАВц│ицДПя╝МчОпхвГхЕ╖цЬЙчЫ╕хРМхоЪчХМчмжчЪДхПпщАЙхПВцХ░хПкшГ╜\textbf{ф╗ОхП│х╛Ах╖ж}чЬБчХея╝МчЬБчХечЪДхПВцХ░ф╜┐чФищ╗ШшодхА╝уАВ
% \changes{v1.23}{2021/02/08}{хвЮхКахЗЖчбочЪДф╣ащвШчЫТхнРцаЗщвШчЫох╜ХщФЪчВ╣уАВ}
@@ -843,7 +843,7 @@
% \tn{qtyrange}\oarg{щФохА╝хИЧшби}\marg{цХ░хнЧ1}\marg{цХ░хнЧ2}\marg{хНХф╜Н}
% \end{syntax}
% \pkg{siunitx} хоПхМЕчЪД \tn{num} хС╜ф╗дхПпф╗еш╛УхЗ║ф╗ечзСхнжшобцХ░ц│Хшбичд║чЪДцХ░хА╝я╝МхНХф╜Нца╝х╝ПхМЦхС╜ф╗д \tn{unit} хМЕхРлцЦЗхнЧщб╣чЫоя╝Иф╛ЛхжВхнЧцпНцИЦцХ░хнЧя╝ЙцЧ╢я╝Мф╜┐чФи . хТМ \~{} цФ╛ч╜охЬихНХхЕГф╣Шчзпф╕нщЧ┤я╝Мх╣╢ф╜┐чФи \_ хТМ \^{} цнгчбоцФ╛ч╜оцМЗхоЪчЪДф╕ЛцаЗхТМф╕КцаЗуАВца╝х╝ПхМЦцЦ╣ц│ХхПпхЬицХ░хнжхТМцЦЗцЬмцибх╝Пф╕Лф╜┐чФиуАВшАМ \tn{qty} хС╜ф╗дхПпчФицЭеш╛УхЗ║х╕жцЬЙхНХф╜НчЪДщЗПя╝М\tn{qtyrange} хПпф╗еш╛УхЗ║х╕жцЬЙшМГхЫ┤хТМхНХф╜НчЪДщЗПуАВ
-% \changes{v1.25m}{2021/05/18}{\pkg{siunitx} хоПхМЕ v3.0.0 цЫ┤цЦ░хРОчФиц│ХцФ╣хПШя╝Мф┐оцФ╣чЫ╕хЕ│щЕНч╜ощАЙщб╣уАВ}
+% \changes{v1.25n}{2021/05/18}{\pkg{siunitx} хоПхМЕ v3.0.0 цЫ┤цЦ░хРОчФиц│ХцФ╣хПШя╝Мф┐оцФ╣чЫ╕хЕ│щЕНч╜ощАЙщб╣уАВ}
% \end{function}
%
% \begin{ctexexam}
@@ -980,7 +980,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplClass{easybook}{2021/05/19}{1.25m}{beta}
+\ProvidesExplClass{easybook}{2021/05/21}{1.25n}{beta}
\cs_generate_variant:Nn \eb_ctex_define:nn { nx }
\cs_generate_variant:Nn \int_to_arabic:n { v }
@@ -1953,10 +1953,10 @@
\ifbool{@twocolumn}
{
\booltrue{@restonecol}
- \bool_if:NTF \l__eb_multoc_bool { \twocolumn } { \onecolumn }
+ \bool_if:NF \l__eb_multoc_bool { \onecolumn }
}{
\boolfalse{@restonecol}
- \bool_if:NTF \l__eb_multoc_bool { \twocolumn } { \onecolumn }
+ \bool_if:NT \l__eb_multoc_bool { \twocolumn }
}
}
{ \tl_set:Nn \l__eb_toc_type_tl { article } }
@@ -2294,8 +2294,8 @@
itemsep = .75ex plus .1ex,topsep = .75ex plus .1ex,
partopsep = 0ex,parsep = 0ex
}
-\newlist{outlinelist}{itemize}{1}
-\setlist[outlinelist]{label = outline,itemsep = .5ex plus .1ex}
+\newlist{eb@outline@list}{itemize}{1}
+\setlist[eb@outline@list]{label = outline,itemsep = .5ex plus .1ex}
\setlist[itemize,1]{label = bullet}
\setlist[itemize,2]{label = endash}
\setlist[itemize,3]{label = asterisk}
@@ -2517,12 +2517,13 @@
fonttitle = \sffamily,
boxrule = \l__eb_rule_width_dim
}
+ \newtcbox[auto~counter]{\eb@exercise@box}[1]{tc-exercise,#1}
\NewDocumentEnvironment{outline}{O{}D(){\abstractname}o+b}
{
\begin{tcolorbox}[tc-outline,title = #2,IfValueT = {#3}{#3}]
- \begin{outlinelist}[#1]
+ \begin{eb@outline@list}[#1]
#4
- \end{outlinelist}
+ \end{eb@outline@list}
\end{tcolorbox}
}{}
\NewDocumentEnvironment{exercise}
@@ -2530,19 +2531,19 @@
{
\IfBooleanTF{#2}
{
- \tcbox[
- tc-exercise,
- fuzzy~halo = 5pt~with~#3,
- IfValueT = {#6}{#6},
- phantom =
- \IfBooleanF{#1}
- {
- \CTEX@ifnametrue
- \refstepcounter{section}
- \markright{\CTEXthesection\hspace{0.5\ccwd}#5}
- \CTEX@addtocline{section}{#5}
- }
- ]{\IfBooleanF{#1}{\CTEXthesection\hspace{0.5\ccwd}}#5}
+ \eb@exercise@box
+ {
+ fuzzy~halo = 5pt~with~#3,
+ IfValueT = {#6}{#6},
+ phantom =
+ \IfBooleanF{#1}
+ {
+ \markright{\thetcbcounter\hspace{0.5\ccwd}#5}
+ \addcontentsline{toc}{section}
+ {\thetcbcounter\hspace{\eb@toc@section@numsep}#5}
+ }
+ }
+ {\IfBooleanF{#1}{\thetcbcounter\hspace{0.5\ccwd}}#5}
}{
\group_begin:
\ctex_set:nn { section } { format += \centering }
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index 8e42cef60f..2e2c1c01c6 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/fontsize/fontsize.dtx b/macros/latex/contrib/fontsize/fontsize.dtx
index 9c9c7fdeb5..53dab90cc0 100644
--- a/macros/latex/contrib/fontsize/fontsize.dtx
+++ b/macros/latex/contrib/fontsize/fontsize.dtx
@@ -56,7 +56,7 @@ This work has the LPPL maintenance status "author-maintained".
%<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
%<package>\ProvidesPackage{fontsize}
%<*package>
- [2021/04/18 v0.8.3 'fontsize' package. Set main font sizes (Ivan Valbusa)]
+ [2021/05/21 v0.8.4 'fontsize' package. Set main font sizes (Ivan Valbusa)]
%</package>
%<*driver>
\documentclass[12pt]{ltxdoc}
@@ -287,6 +287,7 @@ This work has the LPPL maintenance status "author-maintained".
% Right brace \} Tilde \~}
%
%
+% \changes{v0.8.4}{2021/05/21}{Maintenance release.}
% \changes{v0.8.3}{2021/04/18}{Corrected a bug in the \cmd{parindent} option.
% Updated documentation.}
% \changes{v0.8.2}{2021/04/17}{New \cmd{parindent} option. Updated documentation.}
@@ -741,16 +742,30 @@ This work has the LPPL maintenance status "author-maintained".
%
%^^A---------------------------------------------------------------------
%
-% \section{Some text samples}\label{sec:example}
+% \subsection{Some text samples}\label{sec:example}
%
%^^A--------------------------------------------------------------------
% The following samples are obtained with the \cmd{printsamples}
% command (see section \ref{sec:commands}):
%\begin{verbatim}
-%\printsamples{12.6pt}{10.6pt}[normalsizerr,normalsizerrr,large,larger,largerr]
+% \printsamples{12.6pt}{10.6pt}[normalsize,normalsizer,normalsizerr,
+% normalsizerrr,large,larger,largerr,largerr]
%\end{verbatim}
+% \printsamples{12.6pt}{10.6pt}[%
+% normalsize,normalsizer,normalsizerr,
+% normalsizerrr,large,larger,largerr,largerr]
%
-% \printsamples{12.6pt}{10.6pt}[normalsizerr,normalsizerrr,large,larger,largerr]
+%^^A---------------------------------------------------------------------
+%
+% \section{Known issues}
+%
+%^^A--------------------------------------------------------------------
+%
+% The \opt{parindent} option does not work with classes and packages which sets \cmd{parindent}
+% inside the \cmd{AtBeginDocument} hook (and other hooks). Among these is the \sty{tufte}
+% class \parencite{tufte}. In such cases you can set the default
+% indentation, for example, with \cmd{setlength}|{parindent}|\arm{dimen}
+% declared \textit{after} |\begin{document}|.
%
% \StopEventually{%
% \printbibliography[heading=bibintoc]
@@ -877,7 +892,8 @@ This work has the LPPL maintenance status "author-maintained".
% the maximum dimension that may be stored in plain
% \TeX\ and \LaTeX.
% The problem, which is probably more theoretical than practical,
-% can be solved (thanks to Claudio Beccari) simply by changing it to this:
+% can be solved simply by replacing
+% the above code with this (thanks to Claudio Beccari):
% \baddition
% \begin{macrocode}
\setlength{\@tempdimc}{\fpeval{100*\@tempdimb/\@tempdima}pt}%
@@ -1295,13 +1311,16 @@ This work has the LPPL maintenance status "author-maintained".
% \eaddition
% For the following lengths, all values are calculated proportionally to the main font.
% I took the \file{bk11.clo} file as a reference point. Note that the differences
-% in lengths affected by \sty{fontsize} inside the \file{bk*.clo} files only concern
+% in the lengths affected by \sty{fontsize} inside the \file{bk*.clo} files only concern
% \cmd{headheight}, \cmd{headsep}, \cmd{topskip} and \cmd{footskip}.
% \baddition
% \begin{macrocode}
-\setlength\smallskipamount{\fpeval{1.090909091\@tempdimb/4}pt \@plus 1\p@ \@minus 1\p@}%
-\setlength\medskipamount{\fpeval{1.090909091\@tempdimb/2}pt \@plus 2\p@ \@minus 2\p@}%
-\setlength\bigskipamount{\fpeval{1.090909091\@tempdimb}pt \@plus 4\p@ \@minus 4\p@}%
+\setlength\smallskipamount{
+ \fpeval{1.090909091\@tempdimb/4}pt \@plus 1\p@ \@minus 1\p@}%
+\setlength\medskipamount{
+ \fpeval{1.090909091\@tempdimb/2}pt \@plus 2\p@ \@minus 2\p@}%
+\setlength\bigskipamount{
+ \fpeval{1.090909091\@tempdimb}pt \@plus 4\p@ \@minus 4\p@}%
% \end{macrocode}
% \eaddition
% \def\tabfontsize{\fontsize{10.5}{12.5}\selectfont}
@@ -1456,7 +1475,7 @@ This work has the LPPL maintenance status "author-maintained".
%
% Here is a portion of the \sty{scrfontsizes} package. It simply provides the
% \cmd{generateclofile} command, without the KOMA related definitions.
-% There are no reserved names for the \file{.clo} files. The command name is
+% There are no reserved names for the \file{.clo} files. The name of the command is
% a new name for the KOMA \cmd{generatefontfile}. In fact what the command
% generates is a \file{.clo} file.
% \begin{macrocode}
@@ -2058,7 +2077,7 @@ This work has the LPPL maintenance status "author-maintained".
LARGE,LARGEr,LARGErr,LARGErrr,
huge,huger,hugerr,hugerrr,
Huge,Huger,Hugerr,Hugerrr,
- HGE,HUGEr,HUGErr,HUGErrr,
+ HUGE,HUGEr,HUGErr,HUGErrr,
}
}
{
@@ -2103,7 +2122,7 @@ This work has the LPPL maintenance status "author-maintained".
% \iffalse
%<*bib>
@manual{xkeyval,
- title = {The \textsf{xkeyval} package},
+ title = {The \sty{xkeyval} package},
subtitle = {Extension of the keyval package},
author = {Adriaens, Hendri},
url = {http://www.ctan.org/pkg/xkeyval},
@@ -2150,12 +2169,23 @@ This work has the LPPL maintenance status "author-maintained".
}
@manual{xfp,
- title = {The \textit{xfp} package Floating Point Unit},
+ title = {The \sty{xfp} package Floating Point Unit},
author = {{The \LaTeX\ Project}},
url = {https://www.ctan.org/pkg/xfp},
urldate = {2021-03-14},
date = {2021-03-12},
}
+
+@manual{tufte,
+ title = {\sty{tufte-latex} тАУ Document classes inspired by the work of Edward Tufte},
+ author = {Kevin Godby},
+ url = {https://www.ctan.org/pkg/tufte-latex},
+ urldate = {2021-05-18},
+ date = {2015},
+ version = {3.5.2}
+}
+
+
%</bib>
% \fi
% \Finale
diff --git a/macros/latex/contrib/fontsize/fontsize.pdf b/macros/latex/contrib/fontsize/fontsize.pdf
index 7dd7a0d45b..adfe679760 100644
--- a/macros/latex/contrib/fontsize/fontsize.pdf
+++ b/macros/latex/contrib/fontsize/fontsize.pdf
Binary files differ
diff --git a/macros/latex/contrib/projlib/ProjLib-doc-cn.pdf b/macros/latex/contrib/projlib/ProjLib-doc-cn.pdf
index 760b4b99c8..090fa0463b 100644
--- a/macros/latex/contrib/projlib/ProjLib-doc-cn.pdf
+++ b/macros/latex/contrib/projlib/ProjLib-doc-cn.pdf
Binary files differ
diff --git a/macros/latex/contrib/projlib/ProjLib-doc-cn.tex b/macros/latex/contrib/projlib/ProjLib-doc-cn.tex
index dfbedaf726..65c2f0ac2c 100644
--- a/macros/latex/contrib/projlib/ProjLib-doc-cn.tex
+++ b/macros/latex/contrib/projlib/ProjLib-doc-cn.tex
@@ -78,7 +78,7 @@
\title{\ProjLib{} х╖ехЕ╖щЫЖ\\[.3\baselineskip]\normalsize ф╜┐чФицМЗхНЧ}
\author{шо╕щФжцЦЗ}
-\thanks{хп╣х║ФчЙИцЬм.~~\texttt{\ProjLib{}~2021/05/19}}
+\thanks{хп╣х║ФчЙИцЬм.~~\texttt{\ProjLib{}~2021/05/20}}
\date{2021х╣┤5цЬИя╝МхМЧф║м}
\maketitle
@@ -124,9 +124,9 @@
\begin{itemize}
\item хКаш╜╜ \PJLamssim{}уАВхЕ│ф║ОхЕ╢шпжч╗ЖхКЯшГ╜я╝Мшп╖хПВщШЕцЬЙхЕ│ш┐Щф╕АхоПхМЕчЪДх░ПшКВуАВ
\end{itemize}
- \item \texttt{nothms}
+ \item \texttt{nothms}уАБ\texttt{regionalref}
\begin{itemize}
- \item ф╕Ншо╛хоЪхоЪчРЖч▒╗чОпхвГуАВхжВцЮЬф╜ах╕МцЬЫф╜┐чФишЗкх╖▒чЪДхоЪчРЖца╖х╝Пя╝МхПпф╗еф╜┐чФиш┐Щф╕АщАЙщб╣уАВ
+ \item цЭешЗк \PJLthm{} чЪДщАЙщб╣я╝Мшпжч╗Жф┐бцБпшп╖хПВщШЕцЬЙхЕ│ш┐Щф╕АхоПхМЕчЪДх░ПшКВуАВ
\end{itemize}
\end{itemize}
хПжхдЦя╝Мш┐ШцЬЙф╕Аф║Ыч╗Дф╗╢чЪДхПВцХ░хПпф╗еф╜Ьф╕║цЦЗцбгч▒╗чЪДхЕих▒АхПВцХ░ф╝ащАТя╝Мф╛ЛхжВ \PJLpaper{} чЪД \texttt{paperstyle} хТМ \texttt{preview} чнЙуАВшпжч╗Жф┐бцБпхПпф╗ехПВщШЕхп╣х║ФчЪДх░ПшКВуАВ
@@ -271,6 +271,10 @@
\begin{itemize}
\item ф╕Ншо╛хоЪхоЪчРЖч▒╗чОпхвГуАВхжВцЮЬф╜ах╕МцЬЫф╜┐чФишЗкх╖▒чЪДхоЪчРЖца╖х╝Пя╝МхПпф╗еф╜┐чФиш┐Щф╕АщАЙщб╣уАВ
\end{itemize}
+ \item \texttt{regionalref}
+ \begin{itemize}
+ \item хЬицЩ║шГ╜х╝ХчФицЧ╢я╝МхоЪчРЖч▒╗чОпхвГчЪДхРНчз░щЪПх╜УхЙНшпншиАшАМхПШхМЦя╝Ищ╗ШшодцГЕхЖ╡ф╕Ля╝Мх╝ХчФицЧ╢ф╝ЪхзЛч╗ИщЗЗчФихоЪчРЖч▒╗чОпхвГцЙАхдДшпнхвГф╕ЛчЪДхРНчз░я╝Ыф╛ЛхжВя╝МхЬишЛ▒цЦЗшпнхвГф╕нф╣жхЖЩчЪДхоЪчРЖя╝МхН│ф╜┐чиНхРОхЬиф╕нцЦЗшпнхвГф╕Лх╝ХчФицЧ╢я╝Мф╗Нх░ЖцШ╛чд║ф╕║ Theoremя╝ЙуАВхЬи \texttt{fast} цибх╝Пф╕Ля╝Мш┐Щф╕АщАЙщб╣щ╗ШшодхРпчФиуАВ
+ \end{itemize}
\end{itemize}
щвДшо╛чЪДхоЪчРЖч▒╗чОпхвГхМЕцЛмя╝Ъ\texttt{assumption}уАБ\texttt{axiom}уАБ\texttt{conjecture}уАБ\texttt{convention}уАБ\texttt{corollary}уАБ\texttt{definition}уАБ\texttt{definition-proposition}уАБ\texttt{definition-theorem}уАБ\texttt{example}уАБ\texttt{exercise}уАБ\texttt{fact}уАБ\texttt{hypothesis}уАБ\texttt{lemma}уАБ\texttt{notation}уАБ\texttt{problem}уАБ\texttt{property}уАБ\texttt{proposition}уАБ\texttt{question}уАБ\texttt{remark}уАБ\texttt{theorem}я╝Мф╗ехПКчЫ╕х║ФчЪДх╕жцЬЙцШЯхП╖ \lstinline|*| чЪДцЧач╝ЦхП╖чЙИцЬмуАВш┐Щф║ЫхоЪчРЖч▒╗чОпхвГхЬицШ╛чд║цЧ╢ф╝Ъф╛ЭцНох╜УхЙНшпншиАшАМчЫ╕х║ФхПШхМЦя╝Мф╛ЛхжВхЬиф╕нцЦЗцибх╝Пф╕Л \texttt{theorem} ф╝ЪцШ╛чд║ф╕║тАЬхоЪчРЖтАЭя╝МшАМхЬишЛ▒цЦЗцибх╝Пф╕ЛхИЩф╝ЪцШ╛чд║ф╕║тАЬTheoremтАЭуАВхЕ│ф║ОхжВф╜ХщАЙхоЪшпншиАя╝Мшп╖хПВщШЕхЕ│ф║О \PJLlang{} чЪДх░ПшКВуАВ
@@ -346,17 +350,17 @@
\end{proofidea}
-\bigskip
+\medskip
\section{чЫохЙНхнШхЬичЪДщЧощвШ}
-\begin{itemize}[itemsep=1em]
+\begin{itemize}[itemsep=.6em]
\item \PJLauthor{} ф╗НчД╢хдДф║ОхИЭцнещШ╢цо╡я╝МхЬих╛ИхдЪцЦ╣щЭвш┐Шш┐Ьш┐ЬцпФф╕Нф╕КчЫ╕хп╣цИРчЖЯчЪД \textsf{authblk}уАВ
\item \PJLlang{}я╝ЪщТИхп╣ \textsf{polyglossia} чЪДшо╛ч╜оф╗НчД╢хнШхЬишо╕хдЪщЧощвШя╝МхЫацндчО░хЬиф╕╗шжБхКЯшГ╜щГ╜цШпщАЪш┐З \textsf{babel} хоЮчО░чЪДуАВ
\item \PJLpaper{} чЪД \texttt{preview} хКЯшГ╜ф╕╗шжБцШпщАЪш┐З \textsf{geometry} хоПхМЕхоЮчО░чЪДя╝МхЫацндхЬи \textsc{\textsf{Koma}} цЦЗцбгч▒╗ф╕нцХИцЮЬф╕Нхе╜уАВ
\item \PJLthm{} хп╣ф║ОхоЪчРЖч▒╗чОпхвГчЪДч╝ЦхП╖ф╕Оца╖х╝Пшо╛хоЪчЫохЙНш┐ШцЧац│ХчФ▒чФицИ╖цЫ┤цФ╣уАВ
\item \PJLthm{}я╝ЪцЩ║шГ╜х╝ХчФищТИхп╣цЙАцЬЙ \PJLlang{} х╖▓цФпцМБшпншиАчЪДцЬмхЬ░хМЦх░Ъф╕НхоМцХ┤я╝Мф╕╗шжБцШпф╕нцЦЗуАБцЧецЦЗф╕Оф┐ДцЦЗуАВ
\item щФЩшппхдДчРЖхКЯшГ╜ф╕НхоМхЦДя╝МхЬихЗ║чО░ф╕Аф║ЫщЧощвШцЧ╢ц▓бцЬЙчЫ╕х║ФчЪДщФЩшппцПРчд║уАВ
- \item ф╗гчаБф╕нцЬЙшо╕хдЪхПпф╝ШхМЦф╣ЛхдДя╝МцЬЙф║ЫщГихИЖшАЧцЧ╢ш┐ЗщХ┐я╝МчЙ╣хИлцШп \PJLthm{} хп╣хоЪчРЖч▒╗чОпхвГчЪДхоЪф╣ЙуАВ
+ \item ф╗гчаБф╕нф╗НцЬЙшо╕хдЪхПпф╝ШхМЦф╣ЛхдДя╝МцЬЙф║ЫщГихИЖшАЧцЧ╢ш┐ЗщХ┐я╝МчЙ╣хИлцШп \PJLthm{} хп╣хоЪчРЖч▒╗чОпхвГчЪДхоЪф╣ЙуАВ
\end{itemize}
diff --git a/macros/latex/contrib/projlib/ProjLib-doc-en.pdf b/macros/latex/contrib/projlib/ProjLib-doc-en.pdf
index 9f651971aa..f4ebb70a96 100644
--- a/macros/latex/contrib/projlib/ProjLib-doc-en.pdf
+++ b/macros/latex/contrib/projlib/ProjLib-doc-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/projlib/ProjLib-doc-en.tex b/macros/latex/contrib/projlib/ProjLib-doc-en.tex
index 82a1aeda3b..b89c62a660 100644
--- a/macros/latex/contrib/projlib/ProjLib-doc-en.tex
+++ b/macros/latex/contrib/projlib/ProjLib-doc-en.tex
@@ -76,7 +76,7 @@
\title{\ProjLib{}~~Toolkit\\[.3\baselineskip]\normalsize User Manual}
\author{Jinwen Xu}
-\thanks{Corresponding to: \texttt{\ProjLib{}~2021/05/19}}
+\thanks{Corresponding to: \texttt{\ProjLib{}~2021/05/20}}
\date{May 2021, Beijing}
\maketitle
@@ -110,7 +110,7 @@ Just add the following line to your preamble:
\begin{itemize}
\item Fast mode. The functionality is appropriately reduced to get faster compilation speed, recommended to use during the writing phase.
\end{itemize}
- \item \texttt{palatino}уАБ\texttt{times}уАБ\texttt{garamond}уАБ\texttt{biolinum}
+ \item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{biolinum}
\begin{itemize}
\item Font options. As the name suggest, font with corresponding name will be loaded.
\end{itemize}
@@ -122,9 +122,9 @@ Just add the following line to your preamble:
\begin{itemize}
\item Load \PJLamssim{}. For more information about its functionality, see the section on this package.
\end{itemize}
- \item \texttt{nothms}
+ \item \texttt{nothms}, \texttt{regionalref}
\begin{itemize}
- \item The theorem-like environments will not be defined. You should use this option if you wish to apply your own theorem styles.
+ \item Options from \PJLthm{}, please refer to the section on this package for details.
\end{itemize}
\end{itemize}
In addition, there are also some options of the components that can (and should) be passed as global options of the document class, such as \texttt{paperstyle} and \texttt{preview} of \PJLpaper{}. For more information, please refer to the corresponding section.
@@ -246,7 +246,7 @@ For example, \lstinline|\AddLanguageSetting(German){\color{orange}}| can make al
\begin{itemize}
\item Set the paper color style. The options available for \meta{paper style name} are: \texttt{yellow}, \texttt{dark} and \texttt{nord}.
\end{itemize}
- \item \texttt{yellowpaper}уАБ\texttt{darkpaper}уАБ\texttt{nordpaper}
+ \item \texttt{yellowpaper}, \texttt{darkpaper}, \texttt{nordpaper}
\begin{itemize}
\item Set the paper color style. The effect is the same as \texttt{paperstyle} with the corresponding \meta{paper style name} specified.
\end{itemize}
@@ -261,11 +261,15 @@ It is recommended to pass these options as global options of the document class.
\subsection{PJLthm}
\PJLthm{} offers the configuration of theorem-like environments. It has the following option:
-% \vspace{-.3\baselineskip}
+
\begin{itemize}
\item \texttt{nothms}
\begin{itemize}
- \item The theorem-like environments will not be defined. You should use this option if you wish to apply your own theorem styles.
+ \item The theorem-like environments will not be defined. You may use this option if you wish to apply your own theorem styles.
+ \end{itemize}
+ \item \texttt{regionalref}
+ \begin{itemize}
+ \item When referencing, the name of the theorem-like environment changes with the current language (by default, the name will always remain the same; for example, when referencing a theorem written in the French context, even if one is currently in the English context, it will still be displayed as ``Th├йor├иme''). In \texttt{fast} mode, this option is automatically enabled.
\end{itemize}
\end{itemize}
@@ -287,7 +291,7 @@ If you need to define a new theorem-like environment, you must first define the
If you want to define an environment with an asterisk \lstinline|*| after the name, you don't need to write an asterisk in the \meta{name of environment} above. See the example below.
\end{remind}
-\medskip
+\clearpage% \medskip
And then define this environment in one of following five ways:
\begin{itemize}
\item \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}|
@@ -354,11 +358,11 @@ defines an unnumbered environment \lstinline|proofidea*| and a numbered environm
\item \PJLthm{}: The numbering and theorem-style settings of the theorem-like environments cannot be accessed by the user at present.
\item \PJLthm{}: The localization of \textsf{cleveref} is not yet complete for all supported languages of \PJLlang{}, especially for Chinese, Japanese and Russian.
\item The error handling mechanism is incomplete: there is no corresponding error prompt when some problems occur.
- \item There are many things that can be optimized in the code. Some codes take too long to run, especially the definition of theorem-like environments in \PJLthm{}.
+ \item There are still many things that can be optimized in the code. Some takes too long to run, especially the definition of theorem-like environments in \PJLthm{}.
\end{itemize}
-\clearpage
+\medskip % \clearpage
\section{Usage example}
\subsection{Standard classes}
diff --git a/macros/latex/contrib/projlib/ProjLib.dtx b/macros/latex/contrib/projlib/ProjLib.dtx
index 94e4aa5d8e..12abe0328e 100644
--- a/macros/latex/contrib/projlib/ProjLib.dtx
+++ b/macros/latex/contrib/projlib/ProjLib.dtx
@@ -18,47 +18,47 @@
%
%<*PJLamssim>
\ProvidesPackage{PJLamssim}
- [2021/05/19 Simulate some features of amsart]
+ [2021/05/20 Simulate some features of amsart]
%</PJLamssim>
%
%<*PJLauthor>
\ProvidesPackage{PJLauthor}
- [2021/05/19 Enhanced author information block]
+ [2021/05/20 Enhanced author information block]
%</PJLauthor>
%
%<*PJLdate>
\ProvidesPackage{PJLdate}
- [2021/05/19 Convert yyyy-mm-dd to normal datetime format]
+ [2021/05/20 Convert yyyy-mm-dd to normal datetime format]
%</PJLdate>
%
%<*PJLdraft>
\ProvidesPackage{PJLdraft}
- [2021/05/19 Some useful macros for the draft stage]
+ [2021/05/20 Some useful macros for the draft stage]
%</PJLdraft>
%
%<*PJLlang>
\ProvidesPackage{PJLlang}
- [2021/05/19 Multi-language configuration]
+ [2021/05/20 Multi-language configuration]
%</PJLlang>
%
%<*PJLlogo>
\ProvidesPackage{PJLlogo}
- [2021/05/19 The ProjLib logo]
+ [2021/05/20 The ProjLib logo]
%</PJLlogo>
%
%<*PJLpaper>
\ProvidesPackage{PJLpaper}
- [2021/05/19 Paper style configuration]
+ [2021/05/20 Paper style configuration]
%</PJLpaper>
%
%<*PJLthm>
\ProvidesPackage{PJLthm}
- [2021/05/19 Theorem setup and configuration]
+ [2021/05/20 Theorem setup and configuration]
%</PJLthm>
%
%<*PJLtoolkit>
\ProvidesPackage{PJLtoolkit}
- [2021/05/19 Collective interface of ProjLib Toolkit]
+ [2021/05/20 Collective interface of ProjLib Toolkit]
%</PJLtoolkit>
%
\RequirePackage{kvoptions}
@@ -764,7 +764,12 @@
prefix = @PJLthm@
}
\DeclareBoolOption[false]{nothms}
+\DeclareBoolOption[false]{fast}
+\DeclareBoolOption[false]{regionalref}
\ProcessKeyvalOptions*\relax
+\if@PJLthm@fast
+ \@PJLthm@regionalreftrue
+\fi
\RequirePackage{PJLlang}
\RequirePackage{amsmath,amsthm}
@@ -787,6 +792,69 @@
{\expandafter\PassFirstToSecond%
\expandafter{\temp}{\endgroup\InnerCreateTheorem{#1}}}%
}%
+\if@PJLthm@regionalref
+\NewDocumentCommand{\InnerCreateTheorem}{mmmod<>d()}{%
+% #1 = star or no star
+% #2 = name of environment
+% #3 = emptiness or star to append to name of environment
+% #4 = numbered like
+% #5 = numbered within
+% #6 = existed environment
+ \IfBooleanTF{#1}{%
+ \IfValueTF{#4}
+ {\@firstoftwo}
+ {\IfValueTF{#5}{\@firstoftwo}{\@secondoftwo}}%
+ }{%
+ \IfValueTF{#4}
+ {\IfValueTF{#5}{\@firstoftwo}{\@secondoftwo}}{
+ \@secondoftwo}
+ }%
+ {%
+ \GenericError{}%
+ {\string\CreateTheorem\space syntax error\on@line}{%
+ You cannot call the starred variant with optional argument,\MessageBreak
+ nor call the unstarred variant with several optional arguments.}%
+ {}%
+ }{%
+ \IfValueTF{#6}{%
+ \IfBooleanTF{#1}{%
+ \ifcsmacro{#2#3}%
+ {\renewenvironment{#2#3}{\begin{#6*}}{\end{#6*}}}%
+ {\newenvironment{#2#3}{\begin{#6*}}{\end{#6*}}}%
+ }{%
+ \ifcsmacro{#2#3}%
+ {\renewenvironment{#2#3}{\begin{#6}}{\end{#6}}}%
+ {\newenvironment{#2#3}{\begin{#6}}{\end{#6}}}%
+ }
+ }{%
+ \IfBooleanTF{#1}{%
+ \newtheorem*{#2#3}{\csname#2name\csname\languagename ABBR\endcsname\endcsname}
+ }{%
+ \IfValueTF{#5}{%
+ \newtheorem{PJL#2#3}{\csname#2name\csname\languagename ABBR\endcsname\endcsname}[#5]%
+ \newaliascnt{#2#3}{PJL#2#3}%
+ }{%
+ \IfValueTF{#4}{%
+ \newtheorem{PJL#2#3}[#4]{\csname#2name\csname\languagename ABBR\endcsname\endcsname}
+ }{%
+ \newtheorem{PJL#2#3}{\csname#2name\csname\languagename ABBR\endcsname\endcsname}
+ \newaliascnt{#2#3}{PJL#2#3}%
+ }%
+ }%
+ \crefname{PJL#2#3}%
+ {\csname#2name\csname\languagename ABBR\endcsname\endcsname}%
+ {\csname#2name\csname\languagename ABBR\endcsname\endcsname}%
+ \Crefname{PJL#2#3}%
+ {\csname#2name\csname\languagename ABBR\endcsname\endcsname}%
+ {\csname#2name\csname\languagename ABBR\endcsname\endcsname}%
+ \NewDocumentEnvironment{#2#3}{}
+ {\begin{PJL#2#3}}
+ {\end{PJL#2#3}}
+ }%
+ }%
+ }%
+}%
+\else
\NewDocumentCommand{\InnerCreateTheorem}{mmmod<>d()}{%
% #1 = star or no star
% #2 = name of environment
@@ -853,7 +921,7 @@
\NewDocumentEnvironment{#2#3}{}
{\csname#2\csname\languagename ABBR\endcsname#3\endcsname}%
{\csname end#2\csname\languagename ABBR\endcsname#3\endcsname}%
- }
+ }%
}%
}%
\NewDocumentCommand{\CreateTheoremNumberedLikeAliasCounter}{mmm}{%
@@ -867,6 +935,7 @@
{\csname#1name#2\endcsname}%
{\csname#1name#2\endcsname}%
}%
+\fi
%% English theorems names
\def\theoremnameEN{Theorem}
@@ -1158,6 +1227,7 @@
\DeclareBoolOption[false]{author}
\DeclareBoolOption[false]{amssim}
\DeclareBoolOption[false]{nothms}
+\DeclareBoolOption[false]{regionalref}
\DeclareBoolOption[false]{palatino}
\DeclareBoolOption[false]{times}
\DeclareBoolOption[false]{garamond}
@@ -1170,10 +1240,14 @@
\PassOptionsToPackage{fast}{PJLdate}
\PassOptionsToPackage{fast}{PJLdraft}
\PassOptionsToPackage{fast}{PJLlogo}
+ \PassOptionsToPackage{fast}{PJLthm}
\fi
\if@PJLtoolkit@nothms
\PassOptionsToPackage{nothms}{PJLthm}
\fi
+\if@PJLtoolkit@regionalref
+ \PassOptionsToPackage{regionalref}{PJLthm}
+\fi
\if@PJLtoolkit@author
\RequirePackage{PJLauthor}
diff --git a/macros/latex/contrib/siunitx/CHANGELOG.md b/macros/latex/contrib/siunitx/CHANGELOG.md
index 3215c8926b..093b87bada 100644
--- a/macros/latex/contrib/siunitx/CHANGELOG.md
+++ b/macros/latex/contrib/siunitx/CHANGELOG.md
@@ -7,6 +7,15 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
## [Unreleased]
+## [v3.0.4]
+
+### Changed
+- Standardise and document the position of `\color` in negative values
+ within the code-level API
+
+### Fixed
+- Alignment of integers in tables when `parse-numbers = tables` (issue #442)
+
## [v3.0.3]
### Changed
@@ -1280,7 +1289,8 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Added
- First public testing release (as `si`)
-[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.0.3...HEAD
+[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.0.4...HEAD
+[v3.0.4]: https://github.com/josephwright/siunitx/compare/v3.0.3...v3.0.4
[v3.0.3]: https://github.com/josephwright/siunitx/compare/v3.0.2...v3.0.3
[v3.0.2]: https://github.com/josephwright/siunitx/compare/v3.0.1...v3.0.2
[v3.0.1]: https://github.com/josephwright/siunitx/compare/v3.0.0...v3.0.1
diff --git a/macros/latex/contrib/siunitx/siunitx-code.pdf b/macros/latex/contrib/siunitx/siunitx-code.pdf
index 16510233a4..718aeef446 100644
--- a/macros/latex/contrib/siunitx/siunitx-code.pdf
+++ b/macros/latex/contrib/siunitx/siunitx-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx-number.dtx b/macros/latex/contrib/siunitx/siunitx-number.dtx
index 3bedf3794c..dec433df02 100644
--- a/macros/latex/contrib/siunitx/siunitx-number.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-number.dtx
@@ -68,7 +68,9 @@
% \cs{color} is assumed to be available. Where the latter may apply, numbers
% should be printed inside a group: note that \TeX{} grouping is not added
% \emph{within} formatted numbers as they may need to be decomposed into parts
-% (see \cs{siunitx_number_output:NN}).
+% (see \cs{siunitx_number_output:NN}). Such a color will be the \emph{first}
+% part of the result, meaning that a test for an initial |\color| and following
+% brace group may be used to detect/remove/adjust this part.
%
% \section{Formatting numbers}
%
@@ -3008,6 +3010,7 @@
}
\cs_new:Npn \@@_output:nnnnnnn #1#2#3#4#5#6#7#8
{
+ \@@_output_color:n {#2}
\@@_output_comparator:nn {#1} {#8}
\@@_output_bracket:nn {#5} {#7}
\@@_output_sign:nnn {#1} {#2} {#8}
@@ -3045,6 +3048,17 @@
\@@_output_exponent:nnnn
}
% \end{macrocode}
+% As color for negative values applies to the \emph{whole} output, we have
+% to deal with it before anything else.
+% \begin{macrocode}
+\cs_new:Npn \@@_output_color:n #1
+ {
+ \bool_lazy_and:nnT
+ { \str_if_eq_p:nn {#1} { - } }
+ { ! \tl_if_empty_p:N \l_@@_negative_color_tl }
+ { \exp_not:N \color { \exp_not:V \l_@@_negative_color_tl } }
+ }
+% \end{macrocode}
% To get the spacing correct this needs to be an ordinary math character.
% \begin{macrocode}
\cs_new:Npn \@@_output_comparator:nn #1#2
@@ -3055,11 +3069,11 @@
}
% \end{macrocode}
% Formatting signs has to deal with some additional formatting requirements
-% for negative numbers. Both making such numbers a fixed color and bracketing
-% them needs some rearrangement of the order of tokens, which is set up in
-% the main formatting macro by the dedicated do-nothing end function. We
-% also have the comparator passed here: if it is present, we need to deal
-% with tighter spacing.
+% for negative numbers. Making such numbers by bracketing them needs some
+% rearrangement of the order of tokens, which is set up in the main
+% formatting macro by the dedicated do-nothing end function. We also have
+% the comparator passed here: if it is present, we need to deal with
+% tighter spacing.
% \begin{macrocode}
\cs_new:Npn \@@_output_sign:nnn #1#2#3
{
@@ -3071,8 +3085,6 @@
{
\str_if_eq:nnTF {#2} { - }
{
- \tl_if_empty:NF \l_@@_negative_color_tl
- { \@@_output_sign_color:w }
\bool_if:NTF \l_@@_bracket_negative_bool
{ \@@_output_sign_brackets:w }
{ \@@_output_sign:nN {#1} #2 }
@@ -3094,13 +3106,6 @@
{ \exp_not:n {#1} }
}
\cs_new:Npn
- \@@_output_sign_color:w #1 \@@_output_end:
- {
- \exp_not:N \color { \exp_not:V \l_@@_negative_color_tl }
- #1
- \@@_output_end:
- }
-\cs_new:Npn
\@@_output_sign_brackets:w #1 \@@_output_end:
{
\exp_not:V \l_@@_bracket_open_tl
diff --git a/macros/latex/contrib/siunitx/siunitx-table.dtx b/macros/latex/contrib/siunitx/siunitx-table.dtx
index f4ca1ec529..3f8673c2fc 100644
--- a/macros/latex/contrib/siunitx/siunitx-table.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-table.dtx
@@ -671,10 +671,11 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{macro}{\@@_fil:}
-% A primitive renamed.
+% \begin{macro}{\@@_fil:, \@@_fill:}
+% Primitives renamed.
% \begin{macrocode}
\cs_new_eq:NN \@@_fil: \tex_hfil:D
+\cs_new_eq:NN \@@_fill: \tex_hfill:D
% \end{macrocode}
% \end{macro}
%
@@ -695,10 +696,10 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_color_check:N #1
{ \exp_after:wN \@@_color_check:w #1 \q_stop }
-\cs_new_protected:Npn \@@_color_check:w #1 \q_nil #2 \q_nil #3 \q_stop
+\cs_new_protected:Npn \@@_color_check:w #1 \q_nil #2 \q_stop
{
- \tl_if_head_eq_meaning:nNT {#2} \color
- { \@@_color_check:Nnw #2 \q_stop }
+ \tl_if_head_eq_meaning:nNT {#1} \color
+ { \@@_color_check:Nnw #1 \q_stop }
}
\cs_new_protected:Npn \@@_color_check:Nnw #1#2#3 \q_stop
{ \keys_set:nn { siunitx } { number-color = #2 } }
@@ -958,7 +959,6 @@
{
\tl_set:Nx \l_@@_tmp_tl
{ \siunitx_number_output:NN \l_@@_model_tl \q_nil }
- \@@_color_check:N \l_@@_tmp_tl
\exp_after:wN \@@_direct_format_aux:w
\l_@@_tmp_tl \q_stop
}
@@ -979,7 +979,7 @@
\char_set_active_eq:NN ##1 \@@_direct_format_switch:
\char_set_mathcode:nn { `##1 } { "8000 }
}
- \@@_fil:
+ \@@_fill:
}
\cs_new_protected:Npn \@@_direct_format_switch:
{
diff --git a/macros/latex/contrib/siunitx/siunitx.dtx b/macros/latex/contrib/siunitx/siunitx.dtx
index b8b6b79b02..40ba293d81 100644
--- a/macros/latex/contrib/siunitx/siunitx.dtx
+++ b/macros/latex/contrib/siunitx/siunitx.dtx
@@ -121,7 +121,7 @@
%
% Identify the package and give the over all version information.
% \begin{macrocode}
-\ProvidesExplPackage {siunitx} {2021-05-20} {3.0.3}
+\ProvidesExplPackage {siunitx} {2021-05-21} {3.0.4}
{A comprehensive (SI) units package}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/siunitx/siunitx.pdf b/macros/latex/contrib/siunitx/siunitx.pdf
index 2c3c742c94..3a8e7d0277 100644
--- a/macros/latex/contrib/siunitx/siunitx.pdf
+++ b/macros/latex/contrib/siunitx/siunitx.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx.tex b/macros/latex/contrib/siunitx/siunitx.tex
index 191e619490..857a1569a6 100644
--- a/macros/latex/contrib/siunitx/siunitx.tex
+++ b/macros/latex/contrib/siunitx/siunitx.tex
@@ -1693,7 +1693,7 @@ There are certain combinations of numerical input which can be ambiguous. This
can be corrected by adding brackets in the appropriate place, and is controlled
by the \opt{bracket-ambiguous-numbers} switch. This option only applies to pure
numbers: when formatting quantities, the need for brackets also depends on the
-placement of units, so is controlled by \opt{seperate-uncertainty-units}.
+placement of units, so is controlled by \opt{separate-uncertainty-units}.
\begin{LaTeXdemo}
\sisetup{separate-uncertainty}
\num{1.2(3)e4} \\
@@ -3147,7 +3147,6 @@ also be done using \pkg{siunitx} (Table~\ref{tbl:xmpl:unrel}).
S[
table-format = 5.0,
parse-numbers = false,
- input-digits = .0123456789,
input-decimal-markers = x
]
@{}
@@ -3393,9 +3392,9 @@ these units, needing no others and with no redundancy.
All other units within the \acro{SI} system are regarded as \enquote{derived}
from the seven base units. At the most basic, all other \acro{SI} units can be
expressed as combinations of the base units. However, many units (listed in
-Tables~\ref{tab:unit:derived} and~\ref{tab:unit:accepted}) have a special name
-and symbol. Most of these units are simple combinations of one or more base
-units (raised to powers as appropriate).
+Table~\ref{tab:unit:derived}) have a special name and symbol. Most of these
+units are simple combinations of one or more base units (raised to powers as
+appropriate).
A series of \acro{SI} prefixes for decimal multiples and sub-multiples are
provided, and can be used as modifiers for any \acro{SI} unit (either base or
@@ -3525,7 +3524,7 @@ but mathematically poor.\footnote{For example, for an acceleration \(a\), the
expression $[a]$ is the dimensions of $a$, \foreign{i.e.}~length per time
squared in this case.} Much better is to show division of all quantities by the
unit, which leaves the entries as unitless ratios. This is illustrated in
-Tables~\ref{tab:xmpl:unitless} and~\ref{fig:xmpl:unitless}.
+Table~\ref{tab:xmpl:unitless} and Figure~\ref{fig:xmpl:unitless}.
\begin{LaTeXdemo}[code and float]
\begin{table}
\caption{An example of table labelling.%
@@ -3580,7 +3579,7 @@ Tables~\ref{tab:xmpl:unitless} and~\ref{fig:xmpl:unitless}.
the titles are followed by \enquote{\unit{\kilo\gram}}!
\begin{LaTeXdemo}[code and float]
\begin{table}
- \caption{Good and bad columns.%
+ \caption{Bad and good columns.%
\label{tab:good}}
\sisetup{table-number-alignment = center}
\begin{tabular}{
@@ -3618,7 +3617,7 @@ unzip this in your local \path{texmf} directory.
The package requires \LaTeX3 support as provided in the \pkg{l3kernel} and
\pkg{l3packages} bundles. Both of these are included in \TeX{} Live and
-MiK\TeX{}, or are again available in ready-to-install from \acro{CTAN}.
+MiK\TeX{}, or are again available in ready-to-install form from \acro{CTAN}.
\section{Thanks}
diff --git a/macros/latex/contrib/tiscreen/README b/macros/latex/contrib/tiscreen/README
index 23693c804f..55292264d4 100644
--- a/macros/latex/contrib/tiscreen/README
+++ b/macros/latex/contrib/tiscreen/README
@@ -1,15 +1,16 @@
tiscreen (TI calculator screen)
-v1.0
+v1.0.1
This package mimics the screen of older Texas instruments dot matrix display
calculators, specifically the TI-82 STATS.
Changes:
+- 2021/05/21 Minor README and documentation issues
- 2021/05/17 Initial version
For more information, please see the documentation.
-Copyright 2021
+Copyright (C) 2021 Mustafa Ibrahim
This work may be distributed and/or modified under the conditions of the LaTeX
Project Public License, either version 1.3c or higher. The latest version the
license is at: http://www.latex-project.org/lppl.txt
diff --git a/macros/latex/contrib/tiscreen/doc/tiscreen-doc.pdf b/macros/latex/contrib/tiscreen/doc/tiscreen-doc.pdf
index 4c0f4f9f05..de6991dc04 100644
--- a/macros/latex/contrib/tiscreen/doc/tiscreen-doc.pdf
+++ b/macros/latex/contrib/tiscreen/doc/tiscreen-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/tiscreen/doc/tiscreen-doc.tex b/macros/latex/contrib/tiscreen/doc/tiscreen-doc.tex
index f959f56640..22baf4949b 100644
--- a/macros/latex/contrib/tiscreen/doc/tiscreen-doc.tex
+++ b/macros/latex/contrib/tiscreen/doc/tiscreen-doc.tex
@@ -1,4 +1,5 @@
\documentclass[a4paper,12pt]{article}
+\usepackage[iso,english]{isodate}
\usepackage[margin=1in]{geometry}
\usepackage[english]{babel}
\usepackage{parskip}
@@ -18,7 +19,6 @@
\title{TI calculator display\\{\small(TI-82 STATS)}}
\author{Mustafa Ibrahim}
-\date{2021/05/17}
\begin{document}
diff --git a/macros/latex/contrib/tiscreen/tex/tiscreen.sty b/macros/latex/contrib/tiscreen/tex/tiscreen.sty
index 2d911d6b2e..45c2b46292 100644
--- a/macros/latex/contrib/tiscreen/tex/tiscreen.sty
+++ b/macros/latex/contrib/tiscreen/tex/tiscreen.sty
@@ -1,3 +1,8 @@
+% Copyright (C) 2021 Mustafa Ibrahim
+% This work may be distributed and/or modified under the conditions of the LaTeX
+% Project Public License, either version 1.3c or higher. The latest version the
+% license is at: http://www.latex-project.org/lppl.txt
+
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tiscreen}[2021/05/17 Ti calculator screen]
diff --git a/macros/luatex/generic/lualibs/NEWS b/macros/luatex/generic/lualibs/NEWS
index 4c80d06987..cf8a853b6c 100644
--- a/macros/luatex/generic/lualibs/NEWS
+++ b/macros/luatex/generic/lualibs/NEWS
@@ -1,4 +1,6 @@
History of the lualibs package
+2021/05/20 v2.74/
+ * sync with Context current as of 2021/05/20.
2020/12/30 v2.73/
* sync with Context current as of 2020/12/30.
diff --git a/macros/luatex/generic/lualibs/README.md b/macros/luatex/generic/lualibs/README.md
index cf330df159..e2cd6be9bd 100644
--- a/macros/luatex/generic/lualibs/README.md
+++ b/macros/luatex/generic/lualibs/README.md
@@ -1,10 +1,10 @@
# The Lualibs Package
-VERSION: 2.73
+VERSION: 2.74
-DATE: 2020-12-30
+DATE: 2021-05-20
-FONTLOADERDATE: 2020-12-30
+FONTLOADERDATE: 2021-05-20
Lualibs is a collection of Lua modules useful for general programming.
diff --git a/macros/luatex/generic/lualibs/lualibs-basic-merged.lua b/macros/luatex/generic/lualibs/lualibs-basic-merged.lua
index 92e571a7cc..ac98df379a 100644
--- a/macros/luatex/generic/lualibs/lualibs-basic-merged.lua
+++ b/macros/luatex/generic/lualibs/lualibs-basic-merged.lua
@@ -1,6 +1,6 @@
-- merged file : lualibs-basic-merged.lua
-- parent file : lualibs-basic.lua
--- merge date : Wed Dec 30 17:55:54 2020
+-- merge date : 2021-05-20 23:14
do -- begin closure to overcome local limits and interference
@@ -133,7 +133,7 @@ if not modules then modules={} end modules ['l-package']={
copyright="PRAGMA ADE / ConTeXt Development Team",
license="see context related readme files"
}
-local type=type
+local type,unpack=type,unpack
local gsub,format,find=string.gsub,string.format,string.find
local insert,remove=table.insert,table.remove
local P,S,Cs,lpegmatch=lpeg.P,lpeg.S,lpeg.Cs,lpeg.match
@@ -163,6 +163,7 @@ local helpers=package.helpers or {
},
methods={},
sequence={
+ "reset loaded",
"already loaded",
"preload table",
"qualified path",
@@ -179,6 +180,7 @@ local methods=helpers.methods
local builtin=helpers.builtin
local extraluapaths={}
local extralibpaths={}
+local checkedfiles={}
local luapaths=nil
local libpaths=nil
local oldluapath=nil
@@ -312,10 +314,16 @@ end
local function loadedaslib(resolved,rawname)
local base=gsub(rawname,"%.","_")
local init="luaopen_"..gsub(base,"%.","_")
+ local data={ resolved,init,"" }
+ checkedfiles[#checkedfiles+1]=data
if helpers.trace then
helpers.report("calling loadlib with '%s' with init '%s'",resolved,init)
end
- return package.loadlib(resolved,init)
+ local a,b,c=package.loadlib(resolved,init)
+ if not a and type(b)=="string" then
+ data[3]=string.fullstrip(b or "unknown error")
+ end
+ return a,b,c
end
helpers.loadedaslib=loadedaslib
local function loadedbypath(name,rawname,paths,islib,what)
@@ -354,6 +362,10 @@ local function loadedbyname(name,rawname)
end
end
helpers.loadedbyname=loadedbyname
+methods["reset loaded"]=function(name)
+ checkedfiles={}
+ return false
+end
methods["already loaded"]=function(name)
return package.loaded[name]
end
@@ -395,6 +407,9 @@ end
methods["not loaded"]=function(name)
if helpers.trace then
helpers.report("unable to locate '%s'",name or "?")
+ for i=1,#checkedfiles do
+ helpers.report("checked file '%s', initializer '%s', message '%s'",unpack(checkedfiles[i]))
+ end
end
return nil
end
@@ -2591,13 +2606,13 @@ do -- begin closure to overcome local limits and interference
if not modules then modules={} end modules ['l-number']={
version=1.001,
- comment="companion to luat-lib.mkiv",
+ comment="companion to luat-lib.mkxl",
author="Hans Hagen, PRAGMA-ADE, Hasselt NL",
copyright="PRAGMA ADE / ConTeXt Development Team",
license="see context related readme files"
}
local tostring,tonumber=tostring,tonumber
-local format,floor,match,rep=string.format,math.floor,string.match,string.rep
+local format,match,rep=string.format,string.match,string.rep
local concat,insert=table.concat,table.insert
local lpegmatch=lpeg.match
local floor=math.floor
@@ -3371,7 +3386,7 @@ elseif name=="macosx" then
elseif find(architecture,"x86_64",1,true) then
platform="osx-64"
elseif find(architecture,"arm64",1,true) then
- platform="osx-64"
+ platform="osx-arm"
else
platform="osx-ppc"
end
@@ -4698,7 +4713,6 @@ if not modules then modules={} end modules ['l-unicode']={
license="see context related readme files"
}
utf=utf or {}
--- unicode=nil
if not string.utfcharacters then
local gmatch=string.gmatch
function string.characters(str)
diff --git a/macros/luatex/generic/lualibs/lualibs-extended-merged.lua b/macros/luatex/generic/lualibs/lualibs-extended-merged.lua
index cac8889ca3..9cd4487bf2 100644
--- a/macros/luatex/generic/lualibs/lualibs-extended-merged.lua
+++ b/macros/luatex/generic/lualibs/lualibs-extended-merged.lua
@@ -1,6 +1,6 @@
-- merged file : lualibs-extended-merged.lua
-- parent file : lualibs-extended.lua
--- merge date : Wed Dec 30 17:55:44 2020
+-- merge date : 2021-05-20 23:14
do -- begin closure to overcome local limits and interference
@@ -54,25 +54,59 @@ local function points(n)
n=n*ptf
if n%1==0 then
return format("%ipt",n)
+ else
+ return lpegmatch(stripzeros,format("%.5fpt",n))
+ end
+end
+local function nupoints(n)
+ if n==0 then
+ return "0"
+ end
+ n=tonumber(n)
+ if not n or n==0 then
+ return "0"
+ end
+ n=n*ptf
+ if n%1==0 then
+ return format("%i",n)
+ else
+ return format("%.5f",n)
end
- return lpegmatch(stripzeros,format("%.5fpt",n))
end
local function basepoints(n)
if n==0 then
- return "0pt"
+ return "0bp"
end
n=tonumber(n)
if not n or n==0 then
- return "0pt"
+ return "0bp"
end
n=n*bpf
if n%1==0 then
return format("%ibp",n)
+ else
+ return lpegmatch(stripzeros,format("%.5fbp",n))
+ end
+end
+local function nubasepoints(n)
+ if n==0 then
+ return "0"
+ end
+ n=tonumber(n)
+ if not n or n==0 then
+ return "0"
+ end
+ n=n*bpf
+ if n%1==0 then
+ return format("%i",n)
+ else
+ return format("%.5f",n)
end
- return lpegmatch(stripzeros,format("%.5fbp",n))
end
number.points=points
+number.nupoints=nupoints
number.basepoints=basepoints
+number.nubasepoints=nubasepoints
local rubish=spaceortab^0*newline
local anyrubish=spaceortab+newline
local stripped=(spaceortab^1/"")*newline
@@ -350,7 +384,9 @@ local environment={
concat=table.concat,
signed=number.signed,
points=number.points,
+ nupoints=number.nupoints,
basepoints=number.basepoints,
+ nubasepoints=number.nubasepoints,
utfchar=utf.char,
utfbyte=utf.byte,
lpegmatch=lpeg.match,
@@ -545,10 +581,18 @@ local format_p=function()
n=n+1
return format("points(a%s)",n)
end
+local format_P=function()
+ n=n+1
+ return format("nupoints(a%s)",n)
+end
local format_b=function()
n=n+1
return format("basepoints(a%s)",n)
end
+local format_B=function()
+ n=n+1
+ return format("nubasepoints(a%s)",n)
+end
local format_t=function(f)
n=n+1
if f and f~="" then
@@ -701,7 +745,7 @@ local builder=Cs { "start",
+V("n")
+V("N")
+V("k")
-+V("r")+V("h")+V("H")+V("u")+V("U")+V("p")+V("b")+V("t")+V("T")+V("l")+V("L")+V("I")+V("w")
++V("r")+V("h")+V("H")+V("u")+V("U")+V("p")+V("P")+V("b")+V("B")+V("t")+V("T")+V("l")+V("L")+V("I")+V("w")
+V("W")
+V("a")
+V("A")
@@ -739,7 +783,9 @@ local builder=Cs { "start",
["u"]=(prefix_any*P("u"))/format_u,
["U"]=(prefix_any*P("U"))/format_U,
["p"]=(prefix_any*P("p"))/format_p,
+ ["P"]=(prefix_any*P("P"))/format_P,
["b"]=(prefix_any*P("b"))/format_b,
+ ["B"]=(prefix_any*P("B"))/format_B,
["t"]=(prefix_tab*P("t"))/format_t,
["T"]=(prefix_tab*P("T"))/format_T,
["l"]=(prefix_any*P("l"))/format_l,
@@ -3312,10 +3358,8 @@ local function stoptiming(instance)
timer.loadtime=timer.loadtime+loadtime
timer.timing=0
timer.starttime=0
- return loadtime
end
end
- return 0
end
local function benchmarktimer(instance)
local timer=timers[instance or "notimer"]
diff --git a/macros/luatex/generic/lualibs/lualibs-lpeg.lua b/macros/luatex/generic/lualibs/lualibs-lpeg.lua
index b0868ba488..50306e4ab6 100644
--- a/macros/luatex/generic/lualibs/lualibs-lpeg.lua
+++ b/macros/luatex/generic/lualibs/lualibs-lpeg.lua
@@ -507,7 +507,7 @@ end
-- todo: cache when string
-function lpeg.replacer(one,two,makefunction,isutf) -- in principle we should sort the keys
+function lpeg.replacer(one,two,makefunction,isutf) -- in principle we should sort the keys but we have a better one anyway
local pattern
local u = isutf and utf8char or 1
if type(one) == "table" then
diff --git a/macros/luatex/generic/lualibs/lualibs-number.lua b/macros/luatex/generic/lualibs/lualibs-number.lua
index 9fd2f82f78..0ec60880d7 100644
--- a/macros/luatex/generic/lualibs/lualibs-number.lua
+++ b/macros/luatex/generic/lualibs/lualibs-number.lua
@@ -1,16 +1,13 @@
if not modules then modules = { } end modules ['l-number'] = {
version = 1.001,
- comment = "companion to luat-lib.mkiv",
+ comment = "companion to luat-lib.mkxl",
author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
copyright = "PRAGMA ADE / ConTeXt Development Team",
license = "see context related readme files"
}
--- this module will be replaced when we have the bit library .. the number based sets
--- might go away
-
local tostring, tonumber = tostring, tonumber
-local format, floor, match, rep = string.format, math.floor, string.match, string.rep
+local format, match, rep = string.format, string.match, string.rep
local concat, insert = table.concat, table.insert
local lpegmatch = lpeg.match
local floor = math.floor
@@ -18,51 +15,6 @@ local floor = math.floor
number = number or { }
local number = number
--- begin obsolete code --
-
--- if bit32 then
---
--- local btest, bor = bit32.btest, bit32.bor
---
--- function number.bit(p)
--- return 2 ^ (p - 1) -- 1-based indexing
--- end
---
--- number.hasbit = btest
--- number.setbit = bor
---
--- function number.setbit(x,p) -- why not bor?
--- return btest(x,p) and x or x + p
--- end
---
--- function number.clearbit(x,p)
--- return btest(x,p) and x - p or x
--- end
---
--- else
---
--- -- http://ricilake.blogspot.com/2007/10/iterating-bits-in-lua.html
---
--- function number.bit(p)
--- return 2 ^ (p - 1) -- 1-based indexing
--- end
---
--- function number.hasbit(x, p) -- typical call: if hasbit(x, bit(3)) then ...
--- return x % (p + p) >= p
--- end
---
--- function number.setbit(x, p)
--- return (x % (p + p) >= p) and x or x + p
--- end
---
--- function number.clearbit(x, p)
--- return (x % (p + p) >= p) and x - p or x
--- end
---
--- end
-
--- end obsolete code --
-
-- print(number.tobitstring(8))
-- print(number.tobitstring(14))
-- print(number.tobitstring(66))
diff --git a/macros/luatex/generic/lualibs/lualibs-os.lua b/macros/luatex/generic/lualibs/lualibs-os.lua
index 73841074c4..c7584ccce9 100644
--- a/macros/luatex/generic/lualibs/lualibs-os.lua
+++ b/macros/luatex/generic/lualibs/lualibs-os.lua
@@ -359,7 +359,7 @@ elseif name == "macosx" then
elseif find(architecture,"x86_64",1,true) then
platform = "osx-64"
elseif find(architecture,"arm64",1,true) then
- platform = "osx-64"
+ platform = "osx-arm"
else
platform = "osx-ppc"
end
diff --git a/macros/luatex/generic/lualibs/lualibs-package.lua b/macros/luatex/generic/lualibs/lualibs-package.lua
index a35ec3e2a9..ef37aebe74 100644
--- a/macros/luatex/generic/lualibs/lualibs-package.lua
+++ b/macros/luatex/generic/lualibs/lualibs-package.lua
@@ -16,7 +16,7 @@ if not modules then modules = { } end modules ['l-package'] = {
-- -- local mylib = require("libtest")
-- -- local mysql = require("luasql.mysql")
-local type = type
+local type, unpack = type, unpack
local gsub, format, find = string.gsub, string.format, string.find
local insert, remove = table.insert, table.remove
@@ -70,6 +70,7 @@ local helpers = package.helpers or {
methods = {
},
sequence = {
+ "reset loaded",
"already loaded",
"preload table",
"qualified path", -- beware, lua itself doesn't handle qualified paths (prepends ./)
@@ -91,6 +92,7 @@ local builtin = helpers.builtin
local extraluapaths = { }
local extralibpaths = { }
+local checkedfiles = { }
local luapaths = nil -- delayed
local libpaths = nil -- delayed
local oldluapath = nil
@@ -245,10 +247,17 @@ local function loadedaslib(resolved,rawname) -- todo: strip all before first -
-- so, we can do a require("foo/bar") and initialize bar
-- local base = gsub(file.basename(rawname),"%.","_")
local init = "luaopen_" .. gsub(base,"%.","_")
+ local data = { resolved, init, "" }
+ checkedfiles[#checkedfiles+1] = data
if helpers.trace then
helpers.report("calling loadlib with '%s' with init '%s'",resolved,init)
end
- return package.loadlib(resolved,init)
+ local a, b, c = package.loadlib(resolved,init)
+ if not a and type(b) == "string" then
+-- data[3] = gsub(b or "unknown error","[\n\r]","")
+ data[3] = string.fullstrip(b or "unknown error")
+ end
+ return a, b, c -- c can be 'init'
end
helpers.loadedaslib = loadedaslib
@@ -295,6 +304,12 @@ end
helpers.loadedbyname = loadedbyname
+methods["reset loaded"] = function(name)
+ checkedfiles = { }
+ return false
+end
+
+
methods["already loaded"] = function(name)
return package.loaded[name]
end
@@ -344,6 +359,9 @@ end
methods["not loaded"] = function(name)
if helpers.trace then
helpers.report("unable to locate '%s'",name or "?")
+ for i=1,#checkedfiles do
+ helpers.report("checked file '%s', initializer '%s', message '%s'",unpack(checkedfiles[i]))
+ end
end
return nil
end
diff --git a/macros/luatex/generic/lualibs/lualibs-trac-inf.lua b/macros/luatex/generic/lualibs/lualibs-trac-inf.lua
index 3db912be1f..e2736cfb6e 100644
--- a/macros/luatex/generic/lualibs/lualibs-trac-inf.lua
+++ b/macros/luatex/generic/lualibs/lualibs-trac-inf.lua
@@ -129,10 +129,8 @@ local function stoptiming(instance)
timer.loadtime = timer.loadtime + loadtime
timer.timing = 0
timer.starttime = 0
- return loadtime
end
end
- return 0
end
local function benchmarktimer(instance)
diff --git a/macros/luatex/generic/lualibs/lualibs-url.lua b/macros/luatex/generic/lualibs/lualibs-url.lua
index 6f834d778d..2e01ad4080 100644
--- a/macros/luatex/generic/lualibs/lualibs-url.lua
+++ b/macros/luatex/generic/lualibs/lualibs-url.lua
@@ -379,53 +379,53 @@ end
-- print(url.barepath("/test"),url.barepath("test/"),url.barepath("/test/"),url.barepath("test"))
-- print(url.barepath("/x/yz"),url.barepath("x/yz/"),url.barepath("/x/yz/"),url.barepath("x/yz"))
---~ print(url.filename("file:///c:/oeps.txt"))
---~ print(url.filename("c:/oeps.txt"))
---~ print(url.filename("file:///oeps.txt"))
---~ print(url.filename("file:///etc/test.txt"))
---~ print(url.filename("/oeps.txt"))
-
---~ from the spec on the web (sort of):
-
---~ local function test(str)
---~ local t = url.hashed(str)
---~ t.constructed = url.construct(t)
---~ print(table.serialize(t))
---~ end
-
---~ inspect(url.hashed("http://www.pragma-ade.com/test%20test?test=test%20test&x=123%3d45"))
---~ inspect(url.hashed("http://www.pragma-ade.com/test%20test?test=test%20test&x=123%3d45"))
-
---~ test("sys:///./colo-rgb")
-
---~ test("/data/site/output/q2p-develop/resources/ecaboperception4_res/topicresources/58313733/figuur-cow.jpg")
---~ test("file:///M:/q2p/develop/output/q2p-develop/resources/ecaboperception4_res/topicresources/58313733")
---~ test("M:/q2p/develop/output/q2p-develop/resources/ecaboperception4_res/topicresources/58313733")
---~ test("file:///q2p/develop/output/q2p-develop/resources/ecaboperception4_res/topicresources/58313733")
---~ test("/q2p/develop/output/q2p-develop/resources/ecaboperception4_res/topicresources/58313733")
-
---~ test("file:///cow%20with%20spaces")
---~ test("file:///cow%20with%20spaces.pdf")
---~ test("cow%20with%20spaces.pdf")
---~ test("some%20file")
---~ test("/etc/passwords")
---~ test("http://www.myself.com/some%20words.html")
---~ test("file:///c:/oeps.txt")
---~ test("file:///c|/oeps.txt")
---~ test("file:///etc/oeps.txt")
---~ test("file://./etc/oeps.txt")
---~ test("file:////etc/oeps.txt")
---~ test("ftp://ftp.is.co.za/rfc/rfc1808.txt")
---~ test("http://www.ietf.org/rfc/rfc2396.txt")
---~ test("ldap://[2001:db8::7]/c=GB?objectClass?one#what")
---~ test("mailto:John.Doe@example.com")
---~ test("news:comp.infosystems.www.servers.unix")
---~ test("tel:+1-816-555-1212")
---~ test("telnet://192.0.2.16:80/")
---~ test("urn:oasis:names:specification:docbook:dtd:xml:4.1.2")
---~ test("http://www.pragma-ade.com/spaced%20name")
-
---~ test("zip:///oeps/oeps.zip#bla/bla.tex")
---~ test("zip:///oeps/oeps.zip?bla/bla.tex")
-
---~ table.print(url.hashed("/test?test"))
+-- print(url.filename("file:///c:/oeps.txt"))
+-- print(url.filename("c:/oeps.txt"))
+-- print(url.filename("file:///oeps.txt"))
+-- print(url.filename("file:///etc/test.txt"))
+-- print(url.filename("/oeps.txt"))
+
+-- from the spec on the web (sort of):
+
+-- local function test(str)
+-- local t = url.hashed(str)
+-- t.constructed = url.construct(t)
+-- print(table.serialize(t))
+-- end
+
+-- inspect(url.hashed("http://www.pragma-ade.com/test%20test?test=test%20test&x=123%3d45"))
+-- inspect(url.hashed("http://www.pragma-ade.com/test%20test?test=test%20test&x=123%3d45"))
+
+-- test("sys:///./colo-rgb")
+
+-- test("/data/site/output/q2p-develop/resources/ecaboperception4_res/topicresources/58313733/figuur-cow.jpg")
+-- test("file:///M:/q2p/develop/output/q2p-develop/resources/ecaboperception4_res/topicresources/58313733")
+-- test("M:/q2p/develop/output/q2p-develop/resources/ecaboperception4_res/topicresources/58313733")
+-- test("file:///q2p/develop/output/q2p-develop/resources/ecaboperception4_res/topicresources/58313733")
+-- test("/q2p/develop/output/q2p-develop/resources/ecaboperception4_res/topicresources/58313733")
+
+-- test("file:///cow%20with%20spaces")
+-- test("file:///cow%20with%20spaces.pdf")
+-- test("cow%20with%20spaces.pdf")
+-- test("some%20file")
+-- test("/etc/passwords")
+-- test("http://www.myself.com/some%20words.html")
+-- test("file:///c:/oeps.txt")
+-- test("file:///c|/oeps.txt")
+-- test("file:///etc/oeps.txt")
+-- test("file://./etc/oeps.txt")
+-- test("file:////etc/oeps.txt")
+-- test("ftp://ftp.is.co.za/rfc/rfc1808.txt")
+-- test("http://www.ietf.org/rfc/rfc2396.txt")
+-- test("ldap://[2001:db8::7]/c=GB?objectClass?one#what")
+-- test("mailto:John.Doe@example.com")
+-- test("news:comp.infosystems.www.servers.unix")
+-- test("tel:+1-816-555-1212")
+-- test("telnet://192.0.2.16:80/")
+-- test("urn:oasis:names:specification:docbook:dtd:xml:4.1.2")
+-- test("http://www.pragma-ade.com/spaced%20name")
+
+-- test("zip:///oeps/oeps.zip#bla/bla.tex")
+-- test("zip:///oeps/oeps.zip?bla/bla.tex")
+
+-- table.print(url.hashed("/test?test"))
diff --git a/macros/luatex/generic/lualibs/lualibs-util-str.lua b/macros/luatex/generic/lualibs/lualibs-util-str.lua
index 2d3f4d669f..0d1f39de9d 100644
--- a/macros/luatex/generic/lualibs/lualibs-util-str.lua
+++ b/macros/luatex/generic/lualibs/lualibs-util-str.lua
@@ -70,27 +70,63 @@ local function points(n)
n = n * ptf
if n % 1 == 0 then
return format("%ipt",n)
+ else
+ return lpegmatch(stripzeros,format("%.5fpt",n)) -- plural as we need to keep the pt
+ end
+end
+
+local function nupoints(n)
+ if n == 0 then
+ return "0"
+ end
+ n = tonumber(n)
+ if not n or n == 0 then
+ return "0"
+ end
+ n = n * ptf
+ if n % 1 == 0 then
+ return format("%i",n)
+ else
+ return format("%.5f",n) -- no strip
end
- return lpegmatch(stripzeros,format("%.5fpt",n)) -- plural as we need to keep the pt
end
local function basepoints(n)
if n == 0 then
- return "0pt"
+ return "0bp"
end
n = tonumber(n)
if not n or n == 0 then
- return "0pt"
+ return "0bp"
end
n = n * bpf
if n % 1 == 0 then
return format("%ibp",n)
+ else
+ return lpegmatch(stripzeros,format("%.5fbp",n)) -- plural as we need to keep the pt
+ end
+end
+
+local function nubasepoints(n)
+ if n == 0 then
+ return "0"
+ end
+ n = tonumber(n)
+ if not n or n == 0 then
+ return "0"
+ end
+ n = n * bpf
+ if n % 1 == 0 then
+ return format("%i",n)
+ else
+ return format("%.5f",n) -- no strip
end
- return lpegmatch(stripzeros,format("%.5fbp",n)) -- plural as we need to keep the pt
end
-number.points = points
-number.basepoints = basepoints
+number.points = points
+number.nupoints = nupoints
+number.basepoints = basepoints
+number.nubasepoints = nubasepoints
-- str = " \n \ntest \n test\ntest "
-- print("["..string.gsub(string.collapsecrlf(str),"\n","+").."]")
@@ -357,7 +393,9 @@ end
-- U+hexadecimal %...u character number
-- U+HEXADECIMAL %...U character number
-- points %p number (scaled points)
+-- nupoints %P number (scaled points) / without unit / always 5 decimals
-- basepoints %b number (scaled points)
+-- nubasepoints %B number (scaled points) / without unit / always 5 decimals
-- table concat %...t table
-- table concat %{.}t table
-- serialize %...T sequenced (no nested tables)
@@ -616,7 +654,9 @@ local environment = {
concat = table.concat,
signed = number.signed,
points = number.points,
+ nupoints = number.nupoints,
basepoints = number.basepoints,
+ nubasepoints = number.nubasepoints,
utfchar = utf.char,
utfbyte = utf.byte,
lpegmatch = lpeg.match,
@@ -879,11 +919,21 @@ local format_p = function()
return format("points(a%s)",n)
end
+local format_P = function()
+ n = n + 1
+ return format("nupoints(a%s)",n)
+end
+
local format_b = function()
n = n + 1
return format("basepoints(a%s)",n)
end
+local format_B = function()
+ n = n + 1
+ return format("nubasepoints(a%s)",n)
+end
+
local format_t = function(f)
n = n + 1
if f and f ~= "" then
@@ -1125,7 +1175,7 @@ local builder = Cs { "start",
--
+ V("r")
+ V("h") + V("H") + V("u") + V("U")
- + V("p") + V("b")
+ + V("p") + V("P") + V("b") + V("B")
+ V("t") + V("T")
+ V("l") + V("L")
+ V("I")
@@ -1174,8 +1224,10 @@ local builder = Cs { "start",
["H"] = (prefix_any * P("H")) / format_H, -- %H => 0x0A1B2 (when - no 0x) was V
["u"] = (prefix_any * P("u")) / format_u, -- %u => u+0a1b2 (when - no u+)
["U"] = (prefix_any * P("U")) / format_U, -- %U => U+0A1B2 (when - no U+)
- ["p"] = (prefix_any * P("p")) / format_p, -- %p => 12.345pt / maybe: P (and more units)
- ["b"] = (prefix_any * P("b")) / format_b, -- %b => 12.342bp / maybe: B (and more units)
+ ["p"] = (prefix_any * P("p")) / format_p, -- %p => 12.345pt
+ ["P"] = (prefix_any * P("P")) / format_P, -- %p => 12.345
+ ["b"] = (prefix_any * P("b")) / format_b, -- %b => 12.342bp
+ ["B"] = (prefix_any * P("B")) / format_B, -- %b => 12.342
["t"] = (prefix_tab * P("t")) / format_t, -- %t => concat
["T"] = (prefix_tab * P("T")) / format_T, -- %t => sequenced
["l"] = (prefix_any * P("l")) / format_l, -- %l => boolean
diff --git a/macros/luatex/generic/lualibs/lualibs.dtx b/macros/luatex/generic/lualibs/lualibs.dtx
index 7246e8541e..73c5aafcc1 100644
--- a/macros/luatex/generic/lualibs/lualibs.dtx
+++ b/macros/luatex/generic/lualibs/lualibs.dtx
@@ -1,9 +1,9 @@
% \iffalse meta-comment
%
-% Copyright (C) 2009--2019 by
+% Copyright (C) 2009--2021 by
%
% PRAGMA ADE / ConTeXt Development Team
-% The LuaLaTeX Dev Team
+% The LaTeX Project Team
%
% See ConTeXt's mreadme.pdf for the license.
%
@@ -37,7 +37,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: lualibs 2020-12-30 v2.73 Lua additional functions.}
+\Msg{* Package: lualibs 2021-05-20 v2.74 Lua additional functions.}
\Msg{************************************************************************}
\keepsilent
@@ -48,9 +48,9 @@
\preamble
This is a generated file.
-Copyright (C) 2009--2019 by
+Copyright (C) 2009--2021 by
PRAGMA ADE / ConTeXt Development Team
- The LuaLaTeX Dev Team
+ The LaTeX Project Team
See ConTeXt's mreadme.pdf for the license.
@@ -107,7 +107,7 @@ and lualibs-extended.lua.
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{lualibs.drv}
- [2020/12/30 v2.73 Lua Libraries.]
+ [2021/05/20 v2.74 Lua Libraries.]
\documentclass{ltxdoc}
\usepackage{fancyvrb,xspace}
\usepackage[x11names]{xcolor}
@@ -115,8 +115,7 @@ and lualibs-extended.lua.
\def\primarycolor{DodgerBlue4} %%-> rgb 16 78 139 | #104e8b
\def\secondarycolor{Goldenrod4} %%-> rgb 139 105 200 | #8b6914
%
-\usepackage[
- bookmarks=true,
+\hypersetup{
colorlinks=true,
linkcolor=\primarycolor,
urlcolor=\secondarycolor,
@@ -124,8 +123,8 @@ and lualibs-extended.lua.
pdftitle={The lualibs package},
pdfsubject={Port of the ConTeXt Lua libraries},
pdfauthor={Elie Roux & Philipp Gesang},
- pdfkeywords={luatex, lualatex, unicode, opentype}
-]{hyperref}
+ pdfkeywords={luatex, lualatex, unicode, opentype}}
+
\newcommand*\email[1]{\href{mailto:#1}{#1}}
\usepackage{fontspec}
\setmainfont[
@@ -208,10 +207,10 @@ and lualibs-extended.lua.
% \GetFileInfo{lualibs.drv}
%
% \title{The \identifier{lualibs} package}
-% \date{2020/12/30 v2.73}
+% \date{2021/05/20 v2.74}
% \author{├Йlie Roux ┬╖ \email{elie.roux@telecom-bretagne.eu}\\
% Philipp Gesang ┬╖ \email{phg@phi-gamma.net}\\
-% The \LaTeX3 Project ┬╖ \email{https://github.com/latex3/lualibs/}\\
+% The \LaTeX{} Project ┬╖ \email{https://github.com/latex3/lualibs/}\\
% }
%
% \maketitle
@@ -429,8 +428,8 @@ lualibs = lualibs or { }
lualibs.module_info = {
name = "lualibs",
- version = "2.73", --TAGVERSION
- date = "2020-12-30", --TAGDATE
+ version = "2.74", --TAGVERSION
+ date = "2021-05-20", --TAGDATE
description = "ConTeXt Lua standard libraries.",
author = "Hans Hagen, PRAGMA-ADE, Hasselt NL & Elie Roux & Philipp Gesang",
copyright = "PRAGMA ADE / ConTeXt Development Team",
@@ -583,8 +582,8 @@ local loadmodule = lualibs.loadmodule
local lualibs_basic_module = {
name = "lualibs-basic",
- version = "2.73", --TAGVERSION
- date = "2020-12-30", --TAGDATE
+ version = "2.74", --TAGVERSION
+ date = "2021-05-20", --TAGDATE
description = "ConTeXt Lua libraries -- basic collection.",
author = "Hans Hagen, PRAGMA-ADE, Hasselt NL & Elie Roux & Philipp Gesang",
copyright = "PRAGMA ADE / ConTeXt Development Team",
@@ -665,8 +664,8 @@ lualibs = lualibs or { }
local lualibs_extended_module = {
name = "lualibs-extended",
- version = "2.73", --TAGVERSION
- date = "2020-12-30", --TAGDATE
+ version = "2.74", --TAGVERSION
+ date = "2021-05-20", --TAGDATE
description = "ConTeXt Lua libraries -- extended collection.",
author = "Hans Hagen, PRAGMA-ADE, Hasselt NL & Elie Roux & Philipp Gesang",
copyright = "PRAGMA ADE / ConTeXt Development Team",
diff --git a/macros/luatex/generic/lualibs/lualibs.pdf b/macros/luatex/generic/lualibs/lualibs.pdf
index 10274b447b..23df3045e6 100644
--- a/macros/luatex/generic/lualibs/lualibs.pdf
+++ b/macros/luatex/generic/lualibs/lualibs.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/NEWS b/macros/luatex/generic/luaotfload/NEWS
index 5b17fe46c1..f6e4e0fcb7 100644
--- a/macros/luatex/generic/luaotfload/NEWS
+++ b/macros/luatex/generic/luaotfload/NEWS
@@ -1,5 +1,11 @@
Change History
--------------
+2021-05-21 luaotfload v3.18
+
+ * Allow using variable fonts without explicitly specifying any axis values
+ * The fontloader has been synced with the context code from 2021-05-20
+ * Multiple small fixes, mostly concerning discretionaries in harf mode.
+
2021-01-08 luaotfload v3.17
* The fontloader has been synced with the context code from 2021-01-07.
diff --git a/macros/luatex/generic/luaotfload/README.md b/macros/luatex/generic/luaotfload/README.md
index 6704e66b90..a58b1c99fb 100644
--- a/macros/luatex/generic/luaotfload/README.md
+++ b/macros/luatex/generic/luaotfload/README.md
@@ -1,8 +1,8 @@
# The Luaotfload Package
-VERSION: 3.17
+VERSION: 3.18
-DATE: 2021-01-08
+DATE: 2021-05-21
## Description
diff --git a/macros/luatex/generic/luaotfload/filegraph.pdf b/macros/luatex/generic/luaotfload/filegraph.pdf
index c019d96ba8..0704762fd1 100644
--- a/macros/luatex/generic/luaotfload/filegraph.pdf
+++ b/macros/luatex/generic/luaotfload/filegraph.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/fontloader-2021-01-07.lua b/macros/luatex/generic/luaotfload/fontloader-2021-05-20.lua
index e333584b00..f541668099 100644
--- a/macros/luatex/generic/luaotfload/fontloader-2021-01-07.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-2021-05-20.lua
@@ -1,6 +1,6 @@
--[[info-----------------------------------------------------------------------
Luaotfload fontloader package
- build 2021-01-07 23:19:37
+ build 2021-05-20 19:43:52
-------------------------------------------------------------------------------
┬й 2021 PRAGMA ADE / ConTeXt Development Team
@@ -63,7 +63,7 @@
--info]]-----------------------------------------------------------------------
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬdata-conтАЭ 23a0f5386d46a1c157ae82a373e35fa0] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬdata-conтАЭ 23a0f5386d46a1c157ae82a373e35fa0] ---
if not modules then modules={} end modules ['data-con']={
version=1.100,
@@ -184,10 +184,10 @@ function containers.cleanname(name)
return (gsub(lower(name),"[^%w\128-\255]+","-"))
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬdata-conтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬdata-conтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬbasics-nodтАЭ 4b5c3c63e19df1b3f37fae7f87c25bda] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬbasics-nodтАЭ b2e0a0e5e1e27349aed464fa738b8db1] ---
if not modules then modules={} end modules ['luatex-fonts-nod']={
version=1.001,
@@ -241,8 +241,8 @@ nodes.nodecodes=nodecodes
nodes.glyphcodes=glyphcodes
nodes.disccodes=disccodes
nodes.dirvalues={ lefttoright=0,righttoleft=1 }
-nodes.handlers.protectglyphs=node.protect_glyphs
-nodes.handlers.unprotectglyphs=node.unprotect_glyphs
+nodes.handlers.protectglyphs=node.protectglyphs or node.protect_glyphs
+nodes.handlers.unprotectglyphs=node.unprotectglyphs or node.unprotect_glyphs
local direct=node.direct
local nuts={}
nodes.nuts=nuts
@@ -286,31 +286,33 @@ nuts.setprev=direct.setprev
nuts.setsplit=direct.setsplit
nuts.setsubtype=direct.setsubtype
nuts.setwidth=direct.setwidth
-nuts.getglyphdata=nuts.getattr
-nuts.setglyphdata=nuts.setattr
-nuts.ischar=direct.is_char
-nuts.isglyph=direct.is_glyph
+nuts.getglyphdata=nuts.getattribute or nuts.getattr
+nuts.setglyphdata=nuts.setattribute or nuts.setattr
+nuts.ischar=direct.ischar or direct.is_char
+nuts.isglyph=direct.isglyph or direct.is_glyph
nuts.copy=direct.copy
-nuts.copy_list=direct.copy_list
-nuts.copy_node=direct.copy
-nuts.end_of_math=direct.end_of_math
+nuts.copynode=direct.copy
+nuts.copylist=direct.copylist or direct.copy_list
+nuts.endofmath=direct.endofmath or direct.end_of_math
nuts.flush=direct.flush
-nuts.flush_list=direct.flush_list
-nuts.flush_node=direct.flush_node
+nuts.flushlist=direct.flushlist or direct.flush_list
+nuts.flushnode=direct.flushnode or direct.flush_node
nuts.free=direct.free
-nuts.insert_after=direct.insert_after
-nuts.insert_before=direct.insert_before
-nuts.is_node=direct.is_node
+nuts.insertafter=direct.insertafter or direct.insert_after
+nuts.insertbefore=direct.insertbefore or direct.insert_before
+nuts.isnode=direct.isnode or direct.is_node
+nuts.isdirect=direct.isdirect or direct.is_direct
+nuts.isnut=direct.isdirect or direct.is_direct
nuts.kerning=direct.kerning
nuts.ligaturing=direct.ligaturing
nuts.new=direct.new
nuts.remove=direct.remove
nuts.tail=direct.tail
nuts.traverse=direct.traverse
-nuts.traverse_char=direct.traverse_char
-nuts.traverse_glyph=direct.traverse_glyph
-nuts.traverse_id=direct.traverse_id
-local propertydata=direct.get_properties_table()
+nuts.traversechar=direct.traversechar or direct.traverse_char
+nuts.traverseglyph=direct.traverseglyph or direct.traverse_glyph
+nuts.traverseid=direct.traverseid or direct.traverse_id
+local propertydata=(direct.getpropertiestable or direct.get_properties_table)()
nodes.properties={ data=propertydata }
if direct.set_properties_mode then
direct.set_properties_mode(true,true)
@@ -343,10 +345,10 @@ local setfield=nuts.setfield
local getsubtype=nuts.getsubtype
local isglyph=nuts.isglyph
local find_tail=nuts.tail
-local flush_list=nuts.flush_list
-local flush_node=nuts.flush_node
-local traverse_id=nuts.traverse_id
-local copy_node=nuts.copy_node
+local flushlist=nuts.flushlist
+local flushnode=nuts.flushnode
+local traverseid=nuts.traverseid
+local copynode=nuts.copynode
local glyph_code=nodes.nodecodes.glyph
local ligature_code=nodes.glyphcodes.ligature
do
@@ -359,31 +361,31 @@ do
end
end
do
- local get_components=node.direct.getcomponents
- local set_components=node.direct.setcomponents
- local function copy_no_components(g,copyinjection)
- local components=get_components(g)
+ local getcomponents=node.direct.getcomponents
+ local setcomponents=node.direct.setcomponents
+ local function copynocomponents(g,copyinjection)
+ local components=getcomponents(g)
if components then
- set_components(g)
- local n=copy_node(g)
+ setcomponents(g)
+ local n=copynode(g)
if copyinjection then
copyinjection(n,g)
end
- set_components(g,components)
+ setcomponents(g,components)
return n
else
- local n=copy_node(g)
+ local n=copynode(g)
if copyinjection then
copyinjection(n,g)
end
return n
end
end
- local function copy_only_glyphs(current)
+ local function copyonlyglyphs(current)
local head=nil
local previous=nil
- for n in traverse_id(glyph_code,current) do
- n=copy_node(n)
+ for n in traverseid(glyph_code,current) do
+ n=copynode(n)
if head then
setlink(previous,n)
else
@@ -393,14 +395,14 @@ do
end
return head
end
- local function count_components(start,marks)
+ local function countcomponents(start,marks)
local char=isglyph(start)
if char then
if getsubtype(start)==ligature_code then
local n=0
- local components=get_components(start)
+ local components=getcomponents(start)
while components do
- n=n+count_components(components,marks)
+ n=n+countcomponents(components,marks)
components=getnext(components)
end
return n
@@ -410,24 +412,26 @@ do
end
return 0
end
- local function flush_components()
+ local function flushcomponents()
end
- nuts.set_components=set_components
- nuts.get_components=get_components
- nuts.copy_only_glyphs=copy_only_glyphs
- nuts.copy_no_components=copy_no_components
- nuts.count_components=count_components
- nuts.flush_components=flush_components
+ nuts.components={
+ set=setcomponents,
+ get=getcomponents,
+ copyonlyglyphs=copyonlyglyphs,
+ copynocomponents=copynocomponents,
+ count=countcomponents,
+ flush=flushcomponents,
+ }
end
-nuts.uses_font=direct.uses_font
+nuts.usesfont=direct.usesfont or direct.uses_font
do
local dummy=tonut(node.new("glyph"))
nuts.traversers={
- glyph=nuts.traverse_id(nodecodes.glyph,dummy),
- glue=nuts.traverse_id(nodecodes.glue,dummy),
- disc=nuts.traverse_id(nodecodes.disc,dummy),
- boundary=nuts.traverse_id(nodecodes.boundary,dummy),
- char=nuts.traverse_char(dummy),
+ glyph=nuts.traverseid(nodecodes.glyph,dummy),
+ glue=nuts.traverseid(nodecodes.glue,dummy),
+ disc=nuts.traverseid(nodecodes.disc,dummy),
+ boundary=nuts.traverseid(nodecodes.boundary,dummy),
+ char=nuts.traversechar(dummy),
node=nuts.traverse(dummy),
}
end
@@ -444,16 +448,16 @@ if not nuts.setreplace then
end
do
local getsubtype=nuts.getsubtype
- function nuts.start_of_par(n)
+ function nuts.startofpar(n)
local s=getsubtype(n)
return s==0 or s==2
end
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬbasics-nodтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬbasics-nodтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬbasics-chrтАЭ 64fafe4eaf55d64aead6513c1e74a024] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬbasics-chrтАЭ 64fafe4eaf55d64aead6513c1e74a024] ---
characters=characters or {}
@@ -4063,10 +4067,10 @@ characters.indicgroups={
},
}
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬbasics-chrтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬbasics-chrтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-iniтАЭ 5343de60613adb24cdd7a8d2ee1d153c] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-iniтАЭ 5343de60613adb24cdd7a8d2ee1d153c] ---
if not modules then modules={} end modules ['font-ini']={
version=1.001,
@@ -4107,10 +4111,10 @@ if node and not tex.getfontoffamily then
tex.getfontoffamily=node.family_font
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-iniтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-iniтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfonts-misтАЭ 17e967c9ec4d001deefd43ddf25e98f7] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfonts-misтАЭ 17e967c9ec4d001deefd43ddf25e98f7] ---
if not modules then modules={} end modules ['luatex-font-mis']={
version=1.001,
@@ -4142,10 +4146,10 @@ function font.each()
return table.sortedhash(fonts.hashes.identifiers)
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfonts-misтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfonts-misтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-conтАЭ 724e5dd14aec2d4d189f8619898004cf] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-conтАЭ 724e5dd14aec2d4d189f8619898004cf] ---
if not modules then modules={} end modules ['font-con']={
version=1.001,
@@ -5513,10 +5517,10 @@ function constructors.addcoreunicodes(unicodes)
return unicodes
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-conтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-conтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfonts-encтАЭ 5ff4ca50493d7c4ecea0e15c203099f0] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfonts-encтАЭ 5ff4ca50493d7c4ecea0e15c203099f0] ---
if not modules then modules={} end modules ['luatex-font-enc']={
version=1.001,
@@ -5585,10 +5589,10 @@ function encodings.load(filename)
return containers.write(encodings.cache,name,data)
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfonts-encтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfonts-encтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-cidтАЭ 22b0367742fb253deef84ef7ccf5e8de] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-cidтАЭ 22b0367742fb253deef84ef7ccf5e8de] ---
if not modules then modules={} end modules ['font-cid']={
version=1.001,
@@ -5739,10 +5743,10 @@ function cid.getmap(specification)
return found
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-cidтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-cidтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-mapтАЭ c4a39db5ad822b348aa61bca5f4a599a] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-mapтАЭ c4a39db5ad822b348aa61bca5f4a599a] ---
if not modules then modules={} end modules ['font-map']={
version=1.001,
@@ -6150,10 +6154,10 @@ function mappings.addtounicode(data,filename,checklookups,forceligatures)
end
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-mapтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-mapтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-vfcтАЭ a81c29eda98cd62cbebdb6c93544b50d] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-vfcтАЭ a81c29eda98cd62cbebdb6c93544b50d] ---
if not modules then modules={} end modules ['font-vfc']={
version=1.001,
@@ -6250,10 +6254,10 @@ helpers.commands=utilities.storage.allocate {
dummy=dummy,
}
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-vfcтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-vfcтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-otrтАЭ 64dcbbc7107538723990e1119a80a9f8] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-otrтАЭ ad238624c9ebd488d4bbe9af3b620189] ---
if not modules then modules={} end modules ['font-otr']={
version=1.001,
@@ -7010,8 +7014,6 @@ readers.post=function(f,fontdata,specification)
if length>0 then
glyphs[mapping].name=readstring(f,length)
else
- report("quit post name fetching at %a of %a: %s",i,maxnames,"overflow")
- break
end
end
end
@@ -8097,10 +8099,10 @@ function readers.extend(fontdata)
end
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-otrтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-otrтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-otiтАЭ 309a75f9c14b77d87e94eba827dc4e71] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-otiтАЭ 309a75f9c14b77d87e94eba827dc4e71] ---
if not modules then modules={} end modules ['font-oti']={
version=1.001,
@@ -8243,10 +8245,10 @@ function otffeatures.checkeddefaultlanguage(featuretype,autolanguage,languages)
end
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-otiтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-otiтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-ottтАЭ 673ed11e1d159997f535bfec5fa73808] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-ottтАЭ 3f67b1b1d40bbc222681d8db4aff0f42] ---
if not modules then modules={} end modules ["font-ott"]={
version=1.001,
@@ -9362,10 +9364,10 @@ function otffeatures.normalize(features,wrap)
end
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-ottтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-ottтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-cffтАЭ 2b677fad52d9999d0685e8525271a8cc] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-cffтАЭ 01e7c6fbc8961a566f4e4f8cbedb7004] ---
if not modules then modules={} end modules ['font-cff']={
version=1.001,
@@ -9377,7 +9379,7 @@ if not modules then modules={} end modules ['font-cff']={
}
local next,type,tonumber,rawget=next,type,tonumber,rawget
local byte,char,gmatch,sub=string.byte,string.char,string.gmatch,string.sub
-local concat,remove,unpack=table.concat,table.remove,table.unpack
+local concat,insert,remove,unpack=table.concat,table.insert,table.remove,table.unpack
local floor,abs,round,ceil,min,max=math.floor,math.abs,math.round,math.ceil,math.min,math.max
local P,C,R,S,C,Cs,Ct=lpeg.P,lpeg.C,lpeg.R,lpeg.S,lpeg.C,lpeg.Cs,lpeg.Ct
local lpegmatch=lpeg.match
@@ -10981,8 +10983,34 @@ do
showstate(reverse[t] or "<action>")
end
if top>0 then
- for i=1,top do
- r=r+1;result[r]=encode[stack[i]]
+ if t==8 and top>48 then
+ local n=0
+ for i=1,top do
+ if n==48 then
+ local zero=encode[0]
+ local res3=result[r-3]
+ local res2=result[r-2]
+ local res1=result[r-1]
+ local res0=result[r]
+ result[r-3]=zero
+ result[r-2]=zero
+ r=r+1;result[r]=chars[t]
+ r=r+1;result[r]=zero
+ r=r+1;result[r]=zero
+ r=r+1;result[r]=res3
+ r=r+1;result[r]=res2
+ r=r+1;result[r]=res1
+ r=r+1;result[r]=res0
+ n=1
+ else
+ n=n+1
+ end
+ r=r+1;result[r]=encode[stack[i]]
+ end
+ else
+ for i=1,top do
+ r=r+1;result[r]=encode[stack[i]]
+ end
end
top=0
end
@@ -11564,10 +11592,10 @@ function readers.cffcheck(filename)
end
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-cffтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-cffтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-ttfтАЭ ffffc827e1bcddc33a2b615340ecff7f] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-ttfтАЭ ffffc827e1bcddc33a2b615340ecff7f] ---
if not modules then modules={} end modules ['font-ttf']={
version=1.001,
@@ -12738,10 +12766,10 @@ function readers.gvar(f,fontdata,specification,glyphdata,shapedata)
end
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-ttfтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-ttfтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-dspтАЭ 174ce11f3ba0bddf270f48d8d2addd56] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-dspтАЭ 174ce11f3ba0bddf270f48d8d2addd56] ---
if not modules then modules={} end modules ['font-dsp']={
version=1.001,
@@ -16017,10 +16045,10 @@ function readers.mvar(f,fontdata,specification)
end
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-dspтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-dspтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-oupтАЭ 6f46aa00ae1c20c43f8ffaf329dc8695] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-oupтАЭ 4eb2f26e51835239e26a8df2ecf04366] ---
if not modules then modules={} end modules ['font-oup']={
version=1.001,
@@ -18264,6 +18292,28 @@ local function checkkerns(lookup)
end
return kerned
end
+local strip_pairs=true
+local compact_pairs=true
+local compact_singles=true
+local merge_pairs=true
+local merge_singles=true
+local merge_substitutions=true
+local merge_alternates=true
+local merge_multiples=true
+local merge_ligatures=true
+local merge_cursives=true
+local merge_marks=true
+directives.register("otf.strip.pairs",function(v) strip_pairs=v end)
+directives.register("otf.compact.pairs",function(v) compact_pairs=v end)
+directives.register("otf.compact.singles",function(v) compact_singles=v end)
+directives.register("otf.merge.pairs",function(v) merge_pairs=v end)
+directives.register("otf.merge.singles",function(v) merge_singles=v end)
+directives.register("otf.merge.substitutions",function(v) merge_substitutions=v end)
+directives.register("otf.merge.alternates",function(v) merge_alternates=v end)
+directives.register("otf.merge.multiples",function(v) merge_multiples=v end)
+directives.register("otf.merge.ligatures",function(v) merge_ligatures=v end)
+directives.register("otf.merge.cursives",function(v) merge_cursives=v end)
+directives.register("otf.merge.marks",function(v) merge_marks=v end)
local function checkpairs(lookup)
local steps=lookup.steps
local nofsteps=lookup.nofsteps
@@ -18311,26 +18361,27 @@ local function checkpairs(lookup)
end
return kerned
end
-local compact_pairs=true
-local compact_singles=true
-local merge_pairs=true
-local merge_singles=true
-local merge_substitutions=true
-local merge_alternates=true
-local merge_multiples=true
-local merge_ligatures=true
-local merge_cursives=true
-local merge_marks=true
-directives.register("otf.compact.pairs",function(v) compact_pairs=v end)
-directives.register("otf.compact.singles",function(v) compact_singles=v end)
-directives.register("otf.merge.pairs",function(v) merge_pairs=v end)
-directives.register("otf.merge.singles",function(v) merge_singles=v end)
-directives.register("otf.merge.substitutions",function(v) merge_substitutions=v end)
-directives.register("otf.merge.alternates",function(v) merge_alternates=v end)
-directives.register("otf.merge.multiples",function(v) merge_multiples=v end)
-directives.register("otf.merge.ligatures",function(v) merge_ligatures=v end)
-directives.register("otf.merge.cursives",function(v) merge_cursives=v end)
-directives.register("otf.merge.marks",function(v) merge_marks=v end)
+local function strippairs(lookup)
+ local steps=lookup.steps
+ local nofsteps=lookup.nofsteps
+ local stripped=0
+ for i=1,nofsteps do
+ local step=steps[i]
+ if step.format=="pair" then
+ local coverage=step.coverage
+ for g1,d1 in next,coverage do
+ for g2,d2 in next,d1 do
+ if d2[2] then
+ elseif d2[1]==true then
+ d1[g2]=nil
+ stripped=stripped+1
+ end
+ end
+ end
+ end
+ end
+ return stripped
+end
function readers.compact(data)
if not data or data.compacted then
return
@@ -18338,6 +18389,7 @@ function readers.compact(data)
data.compacted=true
end
local resources=data.resources
+ local stripped=0
local merged=0
local kerned=0
local allsteps=0
@@ -18375,6 +18427,9 @@ function readers.compact(data)
kerned=kerned+checkkerns(lookup)
end
elseif kind=="gpos_pair" then
+ if strip_pairs then
+ stripped=stripped+strippairs(lookup)
+ end
if merge_pairs then
merged=merged+mergesteps_2(lookup)
end
@@ -18415,6 +18470,9 @@ function readers.compact(data)
compact("sequences")
compact("sublookups")
if trace_optimizations then
+ if stripped>0 then
+ report_optimizations("%i zero positions stripped before merging",stripped)
+ end
if merged>0 then
report_optimizations("%i steps of %i removed due to merging",merged,allsteps)
end
@@ -18661,10 +18719,10 @@ function readers.expand(data)
expandlookups(sublookups)
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-oupтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-oupтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-otlтАЭ f4e6652a191003493389de230b14cfb3] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-otlтАЭ 6f701653de713e8aa80d82c7cdf32d75] ---
if not modules then modules={} end modules ['font-otl']={
version=1.001,
@@ -18692,7 +18750,7 @@ local trace_defining=false registertracker("fonts.defining",function(v) trace_d
local report_otf=logs.reporter("fonts","otf loading")
local fonts=fonts
local otf=fonts.handlers.otf
-otf.version=3.113
+otf.version=3.116
otf.cache=containers.define("fonts","otl",otf.version,true)
otf.svgcache=containers.define("fonts","svg",otf.version,true)
otf.pngcache=containers.define("fonts","png",otf.version,true)
@@ -19145,6 +19203,7 @@ local function read_from_otf(specification)
if tfmdata then
tfmdata.properties.name=specification.name
tfmdata.properties.sub=specification.sub
+ tfmdata.properties.id=specification.id
tfmdata=constructors.scale(tfmdata,specification)
local allfeatures=tfmdata.shared.features or specification.features.normal
constructors.applymanipulators("otf",tfmdata,allfeatures,trace_features,report_otf)
@@ -19370,10 +19429,10 @@ otf.coverup={
end
}
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-otlтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-otlтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-otoтАЭ 2b1d6bc63b2ebf8f2655a15e1cda6541] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-otoтАЭ 2b1d6bc63b2ebf8f2655a15e1cda6541] ---
if not modules then modules={} end modules ['font-oto']={
version=1.001,
@@ -19831,10 +19890,10 @@ registerotffeature {
}
otf.basemodeinitializer=featuresinitializer
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-otoтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-otoтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-otjтАЭ 8de59cb9b043e5f73c6b9f7cc8f6978e] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-otjтАЭ b2c165bd6771a57633f992d07384b739] ---
if not modules then modules={} end modules ['font-otj']={
version=1.001,
@@ -19884,6 +19943,8 @@ local getoffsets=nuts.getoffsets
local getboth=nuts.getboth
local getdisc=nuts.getdisc
local setdisc=nuts.setdisc
+local getreplace=nuts.getreplace
+local setreplace=nuts.setreplace
local setoffsets=nuts.setoffsets
local ischar=nuts.ischar
local getkern=nuts.getkern
@@ -19893,8 +19954,8 @@ local setwidth=nuts.setwidth
local getwidth=nuts.getwidth
local nextchar=nuts.traversers.char
local nextglue=nuts.traversers.glue
-local insert_node_before=nuts.insert_before
-local insert_node_after=nuts.insert_after
+local insertnodebefore=nuts.insertbefore
+local insertnodeafter=nuts.insertafter
local properties=nodes.properties.data
local fontkern=nuts.pool and nuts.pool.fontkern
local italickern=nuts.pool and nuts.pool.italickern
@@ -19908,7 +19969,7 @@ end)
if not fontkern then
local thekern=nuts.new("kern",0)
local setkern=nuts.setkern
- local copy_node=nuts.copy_node
+ local copy_node=nuts.copy
fontkern=function(k)
local n=copy_node(thekern)
setkern(n,k)
@@ -19918,7 +19979,7 @@ end
if not italickern then
local thekern=nuts.new("kern",3)
local setkern=nuts.setkern
- local copy_node=nuts.copy_node
+ local copy_node=nuts.copy
italickern=function(k)
local n=copy_node(thekern)
setkern(n,k)
@@ -20379,12 +20440,12 @@ local function inject_kerns_only(head,where)
if leftkern and leftkern~=0 then
if prev and getid(prev)==glue_code then
if useitalickerns then
- head=insert_node_before(head,current,italickern(leftkern))
+ head=insertnodebefore(head,current,italickern(leftkern))
else
setwidth(prev,getwidth(prev)+leftkern)
end
else
- head=insert_node_before(head,current,fontkern(leftkern))
+ head=insertnodebefore(head,current,fontkern(leftkern))
end
end
end
@@ -20438,7 +20499,7 @@ local function inject_kerns_only(head,where)
if i then
local leftkern=i.leftkern
if leftkern and leftkern~=0 then
- pre=insert_node_before(pre,n,fontkern(leftkern))
+ pre=insertnodebefore(pre,n,fontkern(leftkern))
done=true
end
end
@@ -20453,7 +20514,7 @@ local function inject_kerns_only(head,where)
if i then
local leftkern=i.leftkern
if leftkern and leftkern~=0 then
- post=insert_node_before(post,n,fontkern(leftkern))
+ post=insertnodebefore(post,n,fontkern(leftkern))
done=true
end
end
@@ -20468,7 +20529,7 @@ local function inject_kerns_only(head,where)
if i then
local leftkern=i.leftkern
if leftkern and leftkern~=0 then
- replace=insert_node_before(replace,n,fontkern(leftkern))
+ replace=insertnodebefore(replace,n,fontkern(leftkern))
done=true
end
end
@@ -20530,36 +20591,34 @@ local function inject_positions_only(head,where)
rightkern=0
elseif prev and getid(prev)==glue_code then
if useitalickerns then
- head=insert_node_before(head,current,italickern(leftkern))
+ head=insertnodebefore(head,current,italickern(leftkern))
else
setwidth(prev,getwidth(prev)+leftkern)
end
else
- head=insert_node_before(head,current,fontkern(leftkern))
+ head=insertnodebefore(head,current,fontkern(leftkern))
end
end
if rightkern and rightkern~=0 then
if next and getid(next)==glue_code then
if useitalickerns then
- insert_node_after(head,current,italickern(rightkern))
+ insertnodeafter(head,current,italickern(rightkern))
else
setwidth(next,getwidth(next)+rightkern)
end
else
- insert_node_after(head,current,fontkern(rightkern))
+ insertnodeafter(head,current,fontkern(rightkern))
end
end
- else
+ elseif next then
local i=p.emptyinjections
if i then
local rightkern=i.rightkern
- if rightkern and rightkern~=0 then
- if next and getid(next)==disc_code then
- if replace then
- else
- replace=fontkern(rightkern)
- done=true
- end
+ if rightkern and rightkern~=0 and getid(next)==disc_code then
+ local replace=getreplace(next)
+ if replace then
+ else
+ setreplace(next,fontkern(rightkern))
end
end
end
@@ -20620,12 +20679,12 @@ local function inject_positions_only(head,where)
end
local leftkern=i.leftkern
if leftkern and leftkern~=0 then
- pre=insert_node_before(pre,n,fontkern(leftkern))
+ pre=insertnodebefore(pre,n,fontkern(leftkern))
done=true
end
local rightkern=i.rightkern
if rightkern and rightkern~=0 then
- insert_node_after(pre,n,fontkern(rightkern))
+ insertnodeafter(pre,n,fontkern(rightkern))
done=true
end
end
@@ -20644,12 +20703,12 @@ local function inject_positions_only(head,where)
end
local leftkern=i.leftkern
if leftkern and leftkern~=0 then
- post=insert_node_before(post,n,fontkern(leftkern))
+ post=insertnodebefore(post,n,fontkern(leftkern))
done=true
end
local rightkern=i.rightkern
if rightkern and rightkern~=0 then
- insert_node_after(post,n,fontkern(rightkern))
+ insertnodeafter(post,n,fontkern(rightkern))
done=true
end
end
@@ -20668,12 +20727,12 @@ local function inject_positions_only(head,where)
end
local leftkern=i.leftkern
if leftkern and leftkern~=0 then
- replace=insert_node_before(replace,n,fontkern(leftkern))
+ replace=insertnodebefore(replace,n,fontkern(leftkern))
done=true
end
local rightkern=i.rightkern
if rightkern and rightkern~=0 then
- insert_node_after(replace,n,fontkern(rightkern))
+ insertnodeafter(replace,n,fontkern(rightkern))
done=true
end
end
@@ -20688,7 +20747,7 @@ local function inject_positions_only(head,where)
if i then
local rightkern=i.rightkern
if rightkern and rightkern~=0 then
- pre=insert_node_before(pre,pre,fontkern(rightkern))
+ pre=insertnodebefore(pre,pre,fontkern(rightkern))
done=true
end
end
@@ -20701,7 +20760,7 @@ local function inject_positions_only(head,where)
if i then
local rightkern=i.rightkern
if rightkern and rightkern~=0 then
- replace=insert_node_before(replace,replace,fontkern(rightkern))
+ replace=insertnodebefore(replace,replace,fontkern(rightkern))
done=true
end
end
@@ -20804,8 +20863,8 @@ local function inject_everything(head,where)
if trace_injections then
report_injections("correcting non zero width mark %C",getchar(n))
end
- insert_node_before(n,n,fontkern(-wn))
- insert_node_after(n,n,fontkern(-wn))
+ insertnodebefore(n,n,fontkern(-wn))
+ insertnodeafter(n,n,fontkern(-wn))
end
end
end
@@ -20897,37 +20956,35 @@ local function inject_everything(head,where)
rightkern=0
elseif prev and getid(prev)==glue_code then
if useitalickerns then
- head=insert_node_before(head,current,italickern(leftkern))
+ head=insertnodebefore(head,current,italickern(leftkern))
else
setwidth(prev,getwidth(prev)+leftkern)
end
else
- head=insert_node_before(head,current,fontkern(leftkern))
+ head=insertnodebefore(head,current,fontkern(leftkern))
end
end
if rightkern and rightkern~=0 then
if next and getid(next)==glue_code then
if useitalickerns then
- insert_node_after(head,current,italickern(rightkern))
+ insertnodeafter(head,current,italickern(rightkern))
else
setwidth(next,getwidth(next)+rightkern)
end
else
- insert_node_after(head,current,fontkern(rightkern))
+ insertnodeafter(head,current,fontkern(rightkern))
end
end
end
- else
+ elseif next then
local i=p.emptyinjections
if i then
local rightkern=i.rightkern
- if rightkern and rightkern~=0 then
- if next and getid(next)==disc_code then
- if replace then
- else
- replace=fontkern(rightkern)
- done=true
- end
+ if rightkern and rightkern~=0 and getid(next)==disc_code then
+ local replace=getreplace(next)
+ if replace then
+ else
+ setreplace(next,fontkern(rightkern))
end
end
end
@@ -21002,12 +21059,12 @@ local function inject_everything(head,where)
end
local leftkern=i.leftkern
if leftkern and leftkern~=0 then
- pre=insert_node_before(pre,n,fontkern(leftkern))
+ pre=insertnodebefore(pre,n,fontkern(leftkern))
done=true
end
local rightkern=i.rightkern
if rightkern and rightkern~=0 then
- insert_node_after(pre,n,fontkern(rightkern))
+ insertnodeafter(pre,n,fontkern(rightkern))
done=true
end
if hasmarks then
@@ -21032,12 +21089,12 @@ local function inject_everything(head,where)
end
local leftkern=i.leftkern
if leftkern and leftkern~=0 then
- post=insert_node_before(post,n,fontkern(leftkern))
+ post=insertnodebefore(post,n,fontkern(leftkern))
done=true
end
local rightkern=i.rightkern
if rightkern and rightkern~=0 then
- insert_node_after(post,n,fontkern(rightkern))
+ insertnodeafter(post,n,fontkern(rightkern))
done=true
end
if hasmarks then
@@ -21062,12 +21119,12 @@ local function inject_everything(head,where)
end
local leftkern=i.leftkern
if leftkern and leftkern~=0 then
- replace=insert_node_before(replace,n,fontkern(leftkern))
+ replace=insertnodebefore(replace,n,fontkern(leftkern))
done=true
end
local rightkern=i.rightkern
if rightkern and rightkern~=0 then
- insert_node_after(replace,n,fontkern(rightkern))
+ insertnodeafter(replace,n,fontkern(rightkern))
done=true
end
if hasmarks then
@@ -21088,7 +21145,7 @@ local function inject_everything(head,where)
if i then
local rightkern=i.rightkern
if rightkern and rightkern~=0 then
- pre=insert_node_before(pre,pre,fontkern(rightkern))
+ pre=insertnodebefore(pre,pre,fontkern(rightkern))
done=true
end
end
@@ -21101,7 +21158,7 @@ local function inject_everything(head,where)
if i then
local rightkern=i.rightkern
if rightkern and rightkern~=0 then
- replace=insert_node_before(replace,replace,fontkern(rightkern))
+ replace=insertnodebefore(replace,replace,fontkern(rightkern))
done=true
end
end
@@ -21254,8 +21311,8 @@ local function injectspaces(head)
if trace_spaces then
report_spaces("%C [%p + %p + %p] %C",prevchar,lnew,old,rnew,nextchar)
end
- head=insert_node_before(head,n,italickern(lnew))
- insert_node_after(head,n,italickern(rnew))
+ head=insertnodebefore(head,n,italickern(lnew))
+ insertnodeafter(head,n,italickern(rnew))
else
local new=old+(leftkern+rightkern)*factor
if trace_spaces then
@@ -21270,7 +21327,7 @@ local function injectspaces(head)
if trace_spaces then
report_spaces("%C [%p + %p]",prevchar,old,new)
end
- insert_node_after(head,n,italickern(new))
+ insertnodeafter(head,n,italickern(new))
else
local new=old+leftkern*factor
if trace_spaces then
@@ -21289,7 +21346,7 @@ local function injectspaces(head)
if trace_spaces then
report_spaces("[%p + %p] %C",old,new,nextchar)
end
- insert_node_after(head,n,italickern(new))
+ insertnodeafter(head,n,italickern(new))
else
local new=old+rightkern*factor
if trace_spaces then
@@ -21329,10 +21386,10 @@ function injections.handler(head,where)
end
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-otjтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-otjтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-otaтАЭ ad1d5de06400f88829509e1f3ff2b473] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-otaтАЭ 2bb12d708e35bc05443eba791e2554e7] ---
if not modules then modules={} end modules ['font-ota']={
version=1.001,
@@ -21362,7 +21419,7 @@ local setprop=nuts.setprop
local getsubtype=nuts.getsubtype
local getchar=nuts.getchar
local ischar=nuts.ischar
-local end_of_math=nuts.end_of_math
+local endofmath=nuts.endofmath
local nodecodes=nodes.nodecodes
local disc_code=nodecodes.disc
local math_code=nodecodes.math
@@ -21468,7 +21525,7 @@ function analyzers.setstate(head,font)
end
first,last,n=nil,nil,0
if id==math_code then
- current=end_of_math(current)
+ current=endofmath(current)
end
elseif id==disc_code then
setstate(current,s_medi)
@@ -21481,7 +21538,7 @@ function analyzers.setstate(head,font)
end
first,last,n=nil,nil,0
if id==math_code then
- current=end_of_math(current)
+ current=endofmath(current)
end
end
current=getnext(current)
@@ -21697,7 +21754,7 @@ function methods.arab(head,font,attr)
first=nil
end
if id==math_code then
- current=end_of_math(current)
+ current=endofmath(current)
end
end
current=getnext(current)
@@ -21811,7 +21868,7 @@ do
wrapup()
end
if id==math_code then
- current=end_of_math(current)
+ current=endofmath(current)
end
end
current=getnext(current)
@@ -21826,10 +21883,10 @@ directives.register("otf.analyze.useunicodemarks",function(v)
analyzers.useunicodemarks=v
end)
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-otaтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-otaтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-otsтАЭ c780a471147527f4ddc139e017927ffe] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-otsтАЭ cb106ae882e8548051f00aac8b7fa862] ---
if not modules then modules={} end modules ['font-ots']={
version=1.001,
@@ -21908,23 +21965,24 @@ local setlink=nuts.setlink
local getwidth=nuts.getwidth
local getattr=nuts.getattr
local getglyphdata=nuts.getglyphdata
-local copy_no_components=nuts.copy_no_components
-local copy_only_glyphs=nuts.copy_only_glyphs
-local count_components=nuts.count_components
-local set_components=nuts.set_components
-local get_components=nuts.get_components
-local flush_components=nuts.flush_components
+local components=nuts.components
+local copynocomponents=components.copynocomponents
+local copyonlyglyphs=components.copyonlyglyphs
+local countcomponents=components.count
+local setcomponents=components.set
+local getcomponents=components.get
+local flushcomponents=components.flush
local ischar=nuts.ischar
-local usesfont=nuts.uses_font
-local insert_node_after=nuts.insert_after
+local usesfont=nuts.usesfont
+local insertnodeafter=nuts.insertafter
local copy_node=nuts.copy
-local copy_node_list=nuts.copy_list
+local copy_node_list=nuts.copylist
local remove_node=nuts.remove
local find_node_tail=nuts.tail
-local flush_node_list=nuts.flush_list
-local flush_node=nuts.flush_node
-local end_of_math=nuts.end_of_math
-local start_of_par=nuts.start_of_par
+local flushnodelist=nuts.flushlist
+local flushnode=nuts.flushnode
+local endofmath=nuts.endofmath
+local startofpar=nuts.startofpar
local setmetatable=setmetatable
local setmetatableindex=table.setmetatableindex
local nextnode=nuts.traversers.node
@@ -22055,12 +22113,12 @@ local function flattendisk(head,disc)
local prev,next=getboth(disc)
local ishead=head==disc
setdisc(disc)
- flush_node(disc)
+ flushnode(disc)
if pre then
- flush_node_list(pre)
+ flushnodelist(pre)
end
if post then
- flush_node_list(post)
+ flushnodelist(post)
end
if ishead then
if replace then
@@ -22109,16 +22167,16 @@ local function markstoligature(head,start,stop,char)
local next=getnext(stop)
setprev(start)
setnext(stop)
- local base=copy_no_components(start,copyinjection)
+ local base=copynocomponents(start,copyinjection)
if head==start then
head=base
end
resetinjection(base)
setchar(base,char)
setsubtype(base,ligatureglyph_code)
- set_components(base,start)
+ setcomponents(base,start)
setlink(prev,base,next)
- flush_components(start)
+ flushcomponents(start)
return head,base
end
end
@@ -22126,7 +22184,7 @@ local no_left_ligature_code=1
local no_right_ligature_code=2
local no_left_kern_code=4
local no_right_kern_code=8
-local has_glyph_option=node.direct.has_glyph_option or function(n,c)
+local hasglyphoption=function(n,c)
if c==no_left_ligature_code or c==no_right_ligature_code then
return getattr(n,a_noligature)==1
else
@@ -22134,7 +22192,7 @@ local has_glyph_option=node.direct.has_glyph_option or function(n,c)
end
end
local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfound,hasmarks)
- if has_glyph_option(start,no_right_ligature_code) then
+ if hasglyphoption(start,no_right_ligature_code) then
return head,start
end
if start==stop and getchar(start)==char then
@@ -22147,14 +22205,14 @@ local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfou
local comp=start
setprev(start)
setnext(stop)
- local base=copy_no_components(start,copyinjection)
+ local base=copynocomponents(start,copyinjection)
if start==head then
head=base
end
resetinjection(base)
setchar(base,char)
setsubtype(base,ligatureglyph_code)
- set_components(base,comp)
+ setcomponents(base,comp)
setlink(prev,base,next)
if not discfound then
local deletemarks=not skiphash or hasmarks
@@ -22167,7 +22225,7 @@ local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfou
local char=getchar(start)
if not marks[char] then
baseindex=baseindex+componentindex
- componentindex=count_components(start,marks)
+ componentindex=countcomponents(start,marks)
elseif not deletemarks then
setligaindex(start,baseindex+getligaindex(start,componentindex))
if trace_marks then
@@ -22175,7 +22233,7 @@ local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfou
end
local n=copy_node(start)
copyinjection(n,start)
- head,current=insert_node_after(head,current,n)
+ head,current=insertnodeafter(head,current,n)
elseif trace_marks then
logwarning("%s: delete ligature mark %s",pref(dataset,sequence),gref(char))
end
@@ -22198,14 +22256,14 @@ local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfou
break
end
end
- flush_components(components)
+ flushcomponents(components)
else
local discprev,discnext=getboth(discfound)
if discprev and discnext then
local pre,post,replace,pretail,posttail,replacetail=getdisc(discfound,true)
if not replace then
local prev=getprev(base)
- local copied=copy_only_glyphs(comp)
+ local copied=copyonlyglyphs(comp)
if pre then
setlink(discprev,pre)
else
@@ -22221,7 +22279,7 @@ local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfou
end
setlink(prev,discfound,next)
setboth(base)
- set_components(base,copied)
+ setcomponents(base,copied)
replace=base
if forcediscretionaries then
setdisc(discfound,pre,post,replace,discretionarydisc_code)
@@ -22245,7 +22303,7 @@ local function multiple_glyphs(head,start,multiple,skiphash,what,stop)
local n=copy_node(start)
resetinjection(n)
setchar(n,multiple[k])
- insert_node_after(head,start,n)
+ insertnodeafter(head,start,n)
start=n
end
if what==true then
@@ -22255,7 +22313,7 @@ local function multiple_glyphs(head,start,multiple,skiphash,what,stop)
local n=copy_node(start)
resetinjection(n)
setchar(n,m)
- insert_node_after(head,start,n)
+ insertnodeafter(head,start,n)
start=n
end
end
@@ -22485,7 +22543,7 @@ function handlers.gsub_ligature(head,start,dataset,sequence,ligature,rlmode,skip
return head,start,false,false
end
function handlers.gpos_single(head,start,dataset,sequence,kerns,rlmode,skiphash,step,injection)
- if has_glyph_option(start,no_right_kern_code) then
+ if hasglyphoption(start,no_right_kern_code) then
return head,start,false
else
local startchar=getchar(start)
@@ -22505,7 +22563,7 @@ function handlers.gpos_single(head,start,dataset,sequence,kerns,rlmode,skiphash,
end
end
function handlers.gpos_pair(head,start,dataset,sequence,kerns,rlmode,skiphash,step,injection)
- if has_glyph_option(start,no_right_kern_code) then
+ if hasglyphoption(start,no_right_kern_code) then
return head,start,false
else
local snext=getnext(start)
@@ -22994,7 +23052,7 @@ function chainprocs.gsub_ligature(head,start,stop,dataset,sequence,currentlookup
return head,start,false,0,false
end
function chainprocs.gpos_single(head,start,stop,dataset,sequence,currentlookup,rlmode,skiphash,chainindex)
- if not has_glyph_option(start,no_right_kern_code) then
+ if not hasglyphoption(start,no_right_kern_code) then
local mapping=currentlookup.mapping
if mapping==nil then
mapping=getmapping(dataset,sequence,currentlookup)
@@ -23022,7 +23080,7 @@ function chainprocs.gpos_single(head,start,stop,dataset,sequence,currentlookup,r
return head,start,false
end
function chainprocs.gpos_pair(head,start,stop,dataset,sequence,currentlookup,rlmode,skiphash,chainindex)
- if not has_glyph_option(start,no_right_kern_code) then
+ if not hasglyphoption(start,no_right_kern_code) then
local mapping=currentlookup.mapping
if mapping==nil then
mapping=getmapping(dataset,sequence,currentlookup)
@@ -23345,13 +23403,13 @@ local function checked(head)
if next then
setlink(kern,next)
end
- flush_node(current)
+ flushnode(current)
head=kern
current=next
else
local prev,next=getboth(current)
setlink(prev,kern,next)
- flush_node(current)
+ flushnode(current)
current=next
end
else
@@ -23801,105 +23859,225 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s
goto next
end
local s=seq.n
- local l=ck[5]
- local current=start
- local last=start
if s==1 then
- goto next
- end
- if l>f then
- local discfound
- local n=f+1
- last=startnext
- while n<=l do
- if postreplace and not last then
- last=getnext(sweepnode)
- sweeptype=nil
- end
- if last then
- local char,id=ischar(last,currentfont)
- if char then
- if skiphash and skiphash[char] then
- skipped=true
- if trace_skips then
- show_skip(dataset,sequence,char,ck,classes[char])
- end
- last=getnext(last)
- elseif seq[n][char] then
- if n<l then
+ else
+ local l=ck[5]
+ local current=start
+ local last=start
+ if l>f then
+ local discfound
+ local n=f+1
+ last=startnext
+ while n<=l do
+ if postreplace and not last then
+ last=getnext(sweepnode)
+ sweeptype=nil
+ end
+ if last then
+ local char,id=ischar(last,currentfont)
+ if char then
+ if skiphash and skiphash[char] then
+ skipped=true
+ if trace_skips then
+ show_skip(dataset,sequence,char,ck,classes[char])
+ end
last=getnext(last)
- end
- n=n+1
- elseif discfound then
- notmatchreplace[discfound]=true
- if notmatchpre[discfound] then
- goto next
+ elseif seq[n][char] then
+ if n<l then
+ last=getnext(last)
+ end
+ n=n+1
+ elseif discfound then
+ notmatchreplace[discfound]=true
+ if notmatchpre[discfound] then
+ goto next
+ else
+ break
+ end
else
- break
- end
- else
- goto next
- end
- elseif char==false then
- if discfound then
- notmatchreplace[discfound]=true
- if notmatchpre[discfound] then
goto next
+ end
+ elseif char==false then
+ if discfound then
+ notmatchreplace[discfound]=true
+ if notmatchpre[discfound] then
+ goto next
+ else
+ break
+ end
else
- break
+ goto next
end
- else
- goto next
- end
- elseif id==disc_code then
- discseen=true
- discfound=last
- notmatchpre[last]=nil
- notmatchpost[last]=true
- notmatchreplace[last]=nil
- local pre,post,replace=getdisc(last)
- if pre then
- local n=n
- while pre do
- if seq[n][getchar(pre)] then
- n=n+1
- if n>l then
+ elseif id==disc_code then
+ discseen=true
+ discfound=last
+ notmatchpre[last]=nil
+ notmatchpost[last]=true
+ notmatchreplace[last]=nil
+ local pre,post,replace=getdisc(last)
+ if pre then
+ local n=n
+ while pre do
+ if seq[n][getchar(pre)] then
+ n=n+1
+ if n>l then
+ break
+ end
+ pre=getnext(pre)
+ else
+ notmatchpre[last]=true
break
end
- pre=getnext(pre)
- else
+ end
+ if n<=l then
notmatchpre[last]=true
- break
end
- end
- if n<=l then
+ else
notmatchpre[last]=true
end
+ if replace then
+ while replace do
+ if seq[n][getchar(replace)] then
+ n=n+1
+ if n>l then
+ break
+ end
+ replace=getnext(replace)
+ else
+ notmatchreplace[last]=true
+ if notmatchpre[last] then
+ goto next
+ else
+ break
+ end
+ end
+ end
+ if notmatchpre[last] then
+ goto next
+ end
+ end
+ last=getnext(last)
else
- notmatchpre[last]=true
+ goto next
end
- if replace then
- while replace do
- if seq[n][getchar(replace)] then
- n=n+1
- if n>l then
- break
+ else
+ goto next
+ end
+ end
+ end
+ if f>1 then
+ if startprev then
+ local prev=startprev
+ if prereplace and prev==checkdisc then
+ prev=getprev(sweepnode)
+ end
+ if prev then
+ local discfound
+ local n=f-1
+ while n>=1 do
+ if prev then
+ local char,id=ischar(prev,currentfont)
+ if char then
+ if skiphash and skiphash[char] then
+ skipped=true
+ if trace_skips then
+ show_skip(dataset,sequence,char,ck,classes[char])
+ end
+ prev=getprev(prev)
+ elseif seq[n][char] then
+ if n>1 then
+ prev=getprev(prev)
+ end
+ n=n-1
+ elseif discfound then
+ notmatchreplace[discfound]=true
+ if notmatchpost[discfound] then
+ goto next
+ else
+ break
+ end
+ else
+ goto next
end
- replace=getnext(replace)
- else
- notmatchreplace[last]=true
- if notmatchpre[last] then
+ elseif char==false then
+ if discfound then
+ notmatchreplace[discfound]=true
+ if notmatchpost[discfound] then
+ goto next
+ end
+ else
goto next
+ end
+ break
+ elseif id==disc_code then
+ discseen=true
+ discfound=prev
+ notmatchpre[prev]=true
+ notmatchpost[prev]=nil
+ notmatchreplace[prev]=nil
+ local pre,post,replace,pretail,posttail,replacetail=getdisc(prev,true)
+ if pre~=start and post~=start and replace~=start then
+ if post then
+ local n=n
+ while posttail do
+ if seq[n][getchar(posttail)] then
+ n=n-1
+ if posttail==post or n<1 then
+ break
+ else
+ posttail=getprev(posttail)
+ end
+ else
+ notmatchpost[prev]=true
+ break
+ end
+ end
+ if n>=1 then
+ notmatchpost[prev]=true
+ end
+ else
+ notmatchpost[prev]=true
+ end
+ if replace then
+ while replacetail do
+ if seq[n][getchar(replacetail)] then
+ n=n-1
+ if replacetail==replace or n<1 then
+ break
+ else
+ replacetail=getprev(replacetail)
+ end
+ else
+ notmatchreplace[prev]=true
+ if notmatchpost[prev] then
+ goto next
+ else
+ break
+ end
+ end
+ end
+ else
+ end
+ end
+ prev=getprev(prev)
+ elseif id==glue_code then
+ local sn=seq[n]
+ if (sn[32] and spaces[prev]) or sn[0xFFFC] then
+ n=n-1
+ prev=getprev(prev)
else
- break
+ goto next
end
+ elseif seq[n][0xFFFC] then
+ n=n-1
+ prev=getprev(prev)
+ else
+ goto next
end
- end
- if notmatchpre[last] then
+ else
goto next
end
end
- last=getnext(last)
else
goto next
end
@@ -23907,34 +24085,32 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s
goto next
end
end
- end
- if f>1 then
- if startprev then
- local prev=startprev
- if prereplace and prev==checkdisc then
- prev=getprev(sweepnode)
+ if s>l then
+ local current=last and getnext(last)
+ if not current and postreplace then
+ current=getnext(sweepnode)
end
- if prev then
+ if current then
local discfound
- local n=f-1
- while n>=1 do
- if prev then
- local char,id=ischar(prev,currentfont)
+ local n=l+1
+ while n<=s do
+ if current then
+ local char,id=ischar(current,currentfont)
if char then
if skiphash and skiphash[char] then
skipped=true
if trace_skips then
show_skip(dataset,sequence,char,ck,classes[char])
end
- prev=getprev(prev)
+ current=getnext(current)
elseif seq[n][char] then
- if n>1 then
- prev=getprev(prev)
+ if n<s then
+ current=getnext(current)
end
- n=n-1
+ n=n+1
elseif discfound then
notmatchreplace[discfound]=true
- if notmatchpost[discfound] then
+ if notmatchpre[discfound] then
goto next
else
break
@@ -23945,202 +24121,84 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s
elseif char==false then
if discfound then
notmatchreplace[discfound]=true
- if notmatchpost[discfound] then
+ if notmatchpre[discfound] then
goto next
+ else
+ break
end
else
goto next
end
- break
elseif id==disc_code then
discseen=true
- discfound=prev
- notmatchpre[prev]=true
- notmatchpost[prev]=nil
- notmatchreplace[prev]=nil
- local pre,post,replace,pretail,posttail,replacetail=getdisc(prev,true)
- if pre~=start and post~=start and replace~=start then
- if post then
- local n=n
- while posttail do
- if seq[n][getchar(posttail)] then
- n=n-1
- if posttail==post or n<1 then
- break
- else
- posttail=getprev(posttail)
- end
- else
- notmatchpost[prev]=true
+ discfound=current
+ notmatchpre[current]=nil
+ notmatchpost[current]=true
+ notmatchreplace[current]=nil
+ local pre,post,replace=getdisc(current)
+ if pre then
+ local n=n
+ while pre do
+ if seq[n][getchar(pre)] then
+ n=n+1
+ if n>s then
break
+ else
+ pre=getnext(pre)
end
+ else
+ notmatchpre[current]=true
+ break
end
- if n>=1 then
- notmatchpost[prev]=true
- end
- else
- notmatchpost[prev]=true
end
- if replace then
- while replacetail do
- if seq[n][getchar(replacetail)] then
- n=n-1
- if replacetail==replace or n<1 then
- break
- else
- replacetail=getprev(replacetail)
- end
+ if n<=s then
+ notmatchpre[current]=true
+ end
+ else
+ notmatchpre[current]=true
+ end
+ if replace then
+ while replace do
+ if seq[n][getchar(replace)] then
+ n=n+1
+ if n>s then
+ break
else
- notmatchreplace[prev]=true
- if notmatchpost[prev] then
- goto next
- else
- break
- end
+ replace=getnext(replace)
+ end
+ else
+ notmatchreplace[current]=true
+ if notmatchpre[current] then
+ goto next
+ else
+ break
end
end
- else
end
+ else
end
- prev=getprev(prev)
+ current=getnext(current)
elseif id==glue_code then
local sn=seq[n]
- if (sn[32] and spaces[prev]) or sn[0xFFFC] then
- n=n-1
- prev=getprev(prev)
+ if (sn[32] and spaces[current]) or sn[0xFFFC] then
+ n=n+1
+ current=getnext(current)
else
goto next
end
elseif seq[n][0xFFFC] then
- n=n-1
- prev=getprev(prev)
- else
- goto next
- end
- else
- goto next
- end
- end
- else
- goto next
- end
- else
- goto next
- end
- end
- if s>l then
- local current=last and getnext(last)
- if not current and postreplace then
- current=getnext(sweepnode)
- end
- if current then
- local discfound
- local n=l+1
- while n<=s do
- if current then
- local char,id=ischar(current,currentfont)
- if char then
- if skiphash and skiphash[char] then
- skipped=true
- if trace_skips then
- show_skip(dataset,sequence,char,ck,classes[char])
- end
- current=getnext(current)
- elseif seq[n][char] then
- if n<s then
- current=getnext(current)
- end
- n=n+1
- elseif discfound then
- notmatchreplace[discfound]=true
- if notmatchpre[discfound] then
- goto next
- else
- break
- end
- else
- goto next
- end
- elseif char==false then
- if discfound then
- notmatchreplace[discfound]=true
- if notmatchpre[discfound] then
- goto next
- else
- break
- end
- else
- goto next
- end
- elseif id==disc_code then
- discseen=true
- discfound=current
- notmatchpre[current]=nil
- notmatchpost[current]=true
- notmatchreplace[current]=nil
- local pre,post,replace=getdisc(current)
- if pre then
- local n=n
- while pre do
- if seq[n][getchar(pre)] then
- n=n+1
- if n>s then
- break
- else
- pre=getnext(pre)
- end
- else
- notmatchpre[current]=true
- break
- end
- end
- if n<=s then
- notmatchpre[current]=true
- end
- else
- notmatchpre[current]=true
- end
- if replace then
- while replace do
- if seq[n][getchar(replace)] then
- n=n+1
- if n>s then
- break
- else
- replace=getnext(replace)
- end
- else
- notmatchreplace[current]=true
- if notmatchpre[current] then
- goto next
- else
- break
- end
- end
- end
- else
- end
- current=getnext(current)
- elseif id==glue_code then
- local sn=seq[n]
- if (sn[32] and spaces[current]) or sn[0xFFFC] then
n=n+1
current=getnext(current)
else
goto next
end
- elseif seq[n][0xFFFC] then
- n=n+1
- current=getnext(current)
else
goto next
end
- else
- goto next
end
+ else
+ goto next
end
- else
- goto next
end
end
if trace_contexts then
@@ -24902,7 +24960,7 @@ do
checkstep(head)
end
local initialrl=0
- if getid(head)==par_code and start_of_par(head) then
+ if getid(head)==par_code and startofpar(head) then
initialrl=pardirstate(head)
elseif direction==righttoleft_code then
initialrl=-1
@@ -25019,7 +25077,7 @@ do
start=getnext(start)
end
elseif id==math_code then
- start=getnext(end_of_math(start))
+ start=getnext(endofmath(start))
elseif id==dir_code then
topstack,rlmode=txtdirstate(start,dirstack,topstack,rlparmode)
start=getnext(start)
@@ -25089,7 +25147,7 @@ do
start=getnext(start)
end
elseif id==math_code then
- start=getnext(end_of_math(start))
+ start=getnext(endofmath(start))
elseif id==dir_code then
topstack,rlmode=txtdirstate(start,dirstack,topstack,rlparmode)
start=getnext(start)
@@ -25167,7 +25225,7 @@ do
elseif char==false or id==glue_code then
start=getnext(start)
elseif id==math_code then
- start=getnext(end_of_math(start))
+ start=getnext(endofmath(start))
elseif id==dir_code then
topstack,rlmode=txtdirstate(start,dirstack,topstack,rlparmode)
start=getnext(start)
@@ -25178,44 +25236,52 @@ do
return head
end
end
-local plugins={}
-otf.plugins=plugins
-local report=logs.reporter("fonts")
-function otf.registerplugin(name,f)
- if type(name)=="string" and type(f)=="function" then
- plugins[name]={ name,f }
- report()
- report("plugin %a has been loaded, please be aware of possible side effects",name)
- report()
- if logs.pushtarget then
- logs.pushtarget("log")
- end
- report("Plugins are not officially supported unless stated otherwise. This is because")
- report("they bypass the regular font handling and therefore some features in ConTeXt")
- report("(especially those related to fonts) might not work as expected or might not work")
- report("at all. Some plugins are for testing and development only and might change")
- report("whenever we feel the need for it.")
- report()
- if logs.poptarget then
- logs.poptarget()
+do
+ local plugins={}
+ otf.plugins=plugins
+ local report=logs.reporter("fonts")
+ local warned=false
+ local okay={ text=true }
+ function otf.registerplugin(name,f)
+ if type(name)=="string" and type(f)=="function" then
+ plugins[name]={ name,f }
+ if okay[name] then
+ else
+ report("plugin %a has been loaded, please be aware of possible side effects",name)
+ if not warned then
+ if logs.pushtarget then
+ logs.pushtarget("log")
+ end
+ report("Plugins are not officially supported unless stated otherwise. This is because")
+ report("they bypass the regular font handling and therefore some features in ConTeXt")
+ report("(especially those related to fonts) might not work as expected or might not work")
+ report("at all. Some plugins are for testing and development only and might change")
+ report("whenever we feel the need for it.")
+ report()
+ if logs.poptarget then
+ logs.poptarget()
+ end
+ warned=true
+ end
+ end
end
end
-end
-function otf.plugininitializer(tfmdata,value)
- if type(value)=="string" then
- tfmdata.shared.plugin=plugins[value]
+ function otf.plugininitializer(tfmdata,value)
+ if type(value)=="string" then
+ tfmdata.shared.plugin=plugins[value]
+ end
end
-end
-function otf.pluginprocessor(head,font,attr,direction)
- local s=fontdata[font].shared
- local p=s and s.plugin
- if p then
- if trace_plugins then
- report_process("applying plugin %a",p[1])
+ function otf.pluginprocessor(head,font,dynamic,direction)
+ local s=fontdata[font].shared
+ local p=s and s.plugin
+ if p then
+ if trace_plugins then
+ report_process("applying plugin %a",p[1])
+ end
+ return p[2](head,font,dynamic,direction)
+ else
+ return head,false
end
- return p[2](head,font,attr,direction)
- else
- return head,false
end
end
function otf.featuresinitializer(tfmdata,value)
@@ -25447,10 +25513,10 @@ registerotffeature {
},
}
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-otsтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-otsтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-osdтАЭ 73c9531c79df5ada320cb20777f7ed49] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-osdтАЭ 0e051ca0d3b1a8e0604ced27e753fde8] ---
if not modules then modules={} end modules ['font-osd']={
version=1.001,
@@ -25487,11 +25553,11 @@ local setprop=nuts.setprop
local getstate=nuts.getstate
local setstate=nuts.setstate
local ischar=nuts.ischar
-local insert_node_after=nuts.insert_after
+local insertnodeafter=nuts.insertafter
local copy_node=nuts.copy
local remove_node=nuts.remove
-local flush_list=nuts.flush_list
-local flush_node=nuts.flush_node
+local flushlist=nuts.flushlist
+local flushnode=nuts.flushnode
local copyinjection=nodes.injections.copy
local unsetvalue=attributes.unsetvalue
local fontdata=fonts.hashes.identifiers
@@ -26121,7 +26187,7 @@ local function inject_syntax_error(head,current,char)
else
setchar(current,dotted_circle)
end
- return insert_node_after(head,current,signal)
+ return insertnodeafter(head,current,signal)
end
local function initialize_one(font,attr)
local tfmdata=fontdata[font]
@@ -26239,7 +26305,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
if current==stop then
stop=getprev(stop)
head=remove_node(head,current)
- flush_node(current)
+ flushnode(current)
return head,stop,nbspaces
else
nbspaces=nbspaces+1
@@ -26269,7 +26335,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
tempcurrent=processcharacters(tempcurrent,font)
setstate(tempcurrent,unsetvalue)
if getchar(next)==getchar(tempcurrent) then
- flush_list(tempcurrent)
+ flushlist(tempcurrent)
if show_syntax_errors then
head,current=inject_syntax_error(head,current,char)
end
@@ -26277,8 +26343,8 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
setchar(current,getchar(tempcurrent))
local freenode=getnext(current)
setlink(current,tmp)
- flush_node(freenode)
- flush_list(tempcurrent)
+ flushnode(freenode)
+ flushlist(tempcurrent)
if changestop then
stop=current
end
@@ -26405,7 +26471,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
ch=tpm[1]
setchar(n,ch)
setchar(extra,tpm[2])
- head=insert_node_after(head,current,extra)
+ head=insertnodeafter(head,current,extra)
tpm=twopart_mark[ch]
end
while c~=stop and dependent_vowel[ch] do
@@ -26579,7 +26645,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
stop=getprev(stop)
end
head=remove_node(head,base)
- flush_node(base)
+ flushnode(base)
end
return head,stop,nbspaces
end
@@ -26839,7 +26905,7 @@ function handlers.devanagari_remove_joiners(head,start,kind,lookupname,replaceme
if head==start then
head=stop
end
- flush_list(start)
+ flushlist(start)
return head,stop,true
end
local function initialize_two(font,attr)
@@ -26984,7 +27050,7 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
if current==stop then
stop=getprev(stop)
head=remove_node(head,current)
- flush_node(current)
+ flushnode(current)
return head,stop,nbspaces
else
nbspaces=nbspaces+1
@@ -27081,7 +27147,7 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
char=tpm[1]
setchar(current,char)
setchar(extra,tpm[2])
- head=insert_node_after(head,current,extra)
+ head=insertnodeafter(head,current,extra)
tpm=twopart_mark[char]
end
if not moved[current] and dependent_vowel[char] then
@@ -27231,7 +27297,7 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
end
nbspaces=nbspaces-1
head=remove_node(head,base)
- flush_node(base)
+ flushnode(base)
end
return head,stop,nbspaces
end
@@ -27883,10 +27949,10 @@ for i=1,nofscripts do
methods[scripts_two[i]]=method_two
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-osdтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-osdтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-oclтАЭ 797b5c71bf819c5f4fb314a4d646e9a7] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-oclтАЭ 2a377351ae23c339764ec8ce2e8e9164] ---
if not modules then modules={} end modules ['font-ocl']={
version=1.001,
@@ -28172,7 +28238,11 @@ if context then
local xmlconvert=xml.convert
local xmlfirst=xml.first
function otfsvg.filterglyph(entry,index)
- local svg=xmlconvert(entry.data)
+ local d=entry.data
+ if gzip.compressed(d) then
+ d=gzip.decompress(d) or d
+ end
+ local svg=xmlconvert(d)
local root=svg and xmlfirst(svg,"/svg[@id='glyph"..index.."']")
local data=root and tostring(root)
return data
@@ -28208,9 +28278,10 @@ end
if inkscape then
local descriptions=tfmdata.descriptions
local nofshapes=#svgshapes
+ local s_format=inkscapeformat("pdf")
local f_svgfile=formatters["temp-otf-svg-shape-%i.svg"]
local f_pdffile=formatters["temp-otf-svg-shape-%i.pdf"]
- local f_convert=formatters["%s --export-%s=%s\n"]
+ local f_convert=formatters[new and "file-open:%s; export-%s:%s; export-do\n" or "%s --export-%s=%s\n"]
local filterglyph=otfsvg.filterglyph
local nofdone=0
local processed={}
@@ -28224,7 +28295,7 @@ end
local svgfile=f_svgfile(index)
local pdffile=f_pdffile(index)
savedata(svgfile,data)
- inkscape:write(f_convert(svgfile,inkscapeformat("pdf"),pdffile))
+ inkscape:write(f_convert(svgfile,s_format,pdffile))
processed[index]=true
nofdone=nofdone+1
if nofdone%25==0 then
@@ -28429,10 +28500,10 @@ if context then
}
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-oclтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-oclтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-otcтАЭ 0f12230ea07b5151f75d52726977e91f] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-otcтАЭ 0f12230ea07b5151f75d52726977e91f] ---
if not modules then modules={} end modules ['font-otc']={
version=1.001,
@@ -29189,10 +29260,10 @@ end
otf.enhancers.enhance=enhance
otf.enhancers.register("check extra features",enhance)
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-otcтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-otcтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-onrтАЭ 6d161533f3437435e12a0ad64866df44] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-onrтАЭ 6d161533f3437435e12a0ad64866df44] ---
if not modules then modules={} end modules ['font-onr']={
version=1.001,
@@ -29565,10 +29636,10 @@ function readers.getinfo(filename)
end
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-onrтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-onrтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-oneтАЭ 53cd565030e919da984b50471cc3be37] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-oneтАЭ bd39d42055a44ca2002f8ddbbbbf27c3] ---
if not modules then modules={} end modules ['font-one']={
version=1.001,
@@ -30179,6 +30250,7 @@ local function read_from_afm(specification)
local tfmdata=afmtotfm(specification)
if tfmdata then
tfmdata.properties.name=specification.name
+ tfmdata.properties.id=specification.id
tfmdata=constructors.scale(tfmdata,specification)
local allfeatures=tfmdata.shared.features or specification.features.normal
constructors.applymanipulators("afm",tfmdata,allfeatures,trace_features,report_afm)
@@ -30282,10 +30354,10 @@ registerafmenhancer("normalize features",enhance_normalize_features)
registerafmenhancer("check extra features",otfenhancers.enhance)
registerafmenhancer("fix names",enhance_fix_names)
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-oneтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-oneтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-afkтАЭ 9da14e0fb22129c053acc599d1312544] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-afkтАЭ 9da14e0fb22129c053acc599d1312544] ---
if not modules then modules={} end modules ['font-afk']={
version=1.001,
@@ -30452,10 +30524,10 @@ fonts.handlers.afm.helpdata={
}
}
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-afkтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-afkтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfonts-tfmтАЭ f0eb5e2a8068b17ad401bb7efdba1630] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfonts-tfmтАЭ f0eb5e2a8068b17ad401bb7efdba1630] ---
if not modules then modules={} end modules ['luatex-fonts-tfm']={
version=1.001,
@@ -30970,10 +31042,10 @@ registertfmfeature {
}
}
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfonts-tfmтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfonts-tfmтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-luaтАЭ 1fbfdf7b689b2bdfd0e3bb9bf74ce136] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-luaтАЭ 1fbfdf7b689b2bdfd0e3bb9bf74ce136] ---
if not modules then modules={} end modules ['font-lua']={
version=1.001,
@@ -31013,10 +31085,10 @@ function readers.lua(specification)
return check_lua(specification,fullname)
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-luaтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-luaтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-defтАЭ b9d908c2338b7dc443ce9d1e9fcb7139] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-defтАЭ b9d908c2338b7dc443ce9d1e9fcb7139] ---
if not modules then modules={} end modules ['font-def']={
version=1.001,
@@ -31416,10 +31488,10 @@ if not context then
callbacks.register('define_font',definers.read,"definition of fonts (tfmdata preparation)")
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-defтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-defтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-shpтАЭ 5ff497c993112d4fef4c148348d964eb] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-shpтАЭ 2bb36adb4b264a895a2c4d97e1ac1d1e] ---
if not modules then modules={} end modules ['font-shp']={
version=1.001,
@@ -31436,7 +31508,7 @@ local afm=fonts.handlers.afm
local pfb=fonts.handlers.pfb
local hashes=fonts.hashes
local identifiers=hashes.identifiers
-local version=0.009
+local version=0.010
local shapescache=containers.define("fonts","shapes",version,true)
local streamscache=containers.define("fonts","streams",version,true)
local compact_streams=false
@@ -31784,10 +31856,10 @@ callback.register("glyph_stream_provider",function(id,index,mode)
return ""
end)
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-shpтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-shpтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfonts-defтАЭ f435e0875f203f343157baeff876ec9c] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfonts-defтАЭ f435e0875f203f343157baeff876ec9c] ---
if not modules then modules={} end modules ['luatex-fonts-def']={
version=1.001,
@@ -31868,10 +31940,10 @@ function fonts.definers.applypostprocessors(tfmdata)
return tfmdata
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfonts-defтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfonts-defтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfonts-extтАЭ 32013cbc5d5d336be8b1d1e5879d86c4] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfonts-extтАЭ 32013cbc5d5d336be8b1d1e5879d86c4] ---
if not modules then modules={} end modules ['luatex-fonts-ext']={
version=1.001,
@@ -32057,10 +32129,10 @@ registerotffeature {
}
}
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfonts-extтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfonts-extтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-imp-texтАЭ ceb087ef6fa2f89aed7179f60ddf8f35] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-imp-texтАЭ ceb087ef6fa2f89aed7179f60ddf8f35] ---
if not modules then modules={} end modules ['font-imp-tex']={
version=1.001,
@@ -32159,10 +32231,10 @@ registerotffeature {
description="arabic digits",
}
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-imp-texтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-imp-texтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-imp-ligaturesтАЭ 26ffcf089391445f7af59536c8814364] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-imp-ligaturesтАЭ 26ffcf089391445f7af59536c8814364] ---
if not modules then modules={} end modules ['font-imp-ligatures']={
version=1.001,
@@ -32276,10 +32348,10 @@ if context then
}
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-imp-ligaturesтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-imp-ligaturesтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-imp-italicsтАЭ defcb415bc1e0a0999b27773902adc18] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-imp-italicsтАЭ defcb415bc1e0a0999b27773902adc18] ---
if not modules then modules={} end modules ['font-imp-italics']={
version=1.001,
@@ -32383,10 +32455,10 @@ if context then
registerafmfeature(dimensions_specification)
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-imp-italicsтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-imp-italicsтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-imp-effectsтАЭ a2dde5e071fcb3fc7b90f2bcd5aa4f22] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-imp-effectsтАЭ d05997c1826355548ec9aec1346f9f23] ---
if not modules then modules={} end modules ['font-imp-effects']={
version=1.001,
@@ -32570,74 +32642,55 @@ local rules={
"FractionRuleThickness",
"UnderbarRuleThickness",
}
-local setmathparameters
-local setmathcharacters
-if CONTEXTLMTXMODE and CONTEXTLMTXMODE>0 then
- setmathparameters=function(tfmdata,characters,mathparameters,dx,dy,squeeze,multiplier)
- if delta~=0 then
- for i=1,#rules do
- local name=rules[i]
- local value=mathparameters[name]
- if value then
- mathparameters[name]=(squeeze or 1)*(value+dy)
- end
+local function setmathparameters(tfmdata,characters,mathparameters,dx,dy,squeeze,multiplier)
+ if dy~=0 then
+ for i=1,#rules do
+ local name=rules[i]
+ local value=mathparameters[name]
+ if value then
+ mathparameters[name]=(squeeze or 1)*(value+dy)
end
end
end
- setmathcharacters=function()
- end
-else
- setmathparameters=function(tfmdata,characters,mathparameters,dx,dy,squeeze,multiplier)
- if delta~=0 then
- for i=1,#rules do
- local name=rules[i]
- local value=mathparameters[name]
- if value then
- mathparameters[name]=(squeeze or 1)*(value+dy)
- end
- end
+end
+local function setmathcharacters(tfmdata,characters,mathparameters,dx,dy,squeeze,wdelta,hdelta,ddelta)
+ local function wdpatch(char)
+ if wsnap~=0 then
+ char.width=char.width+wdelta/2
end
end
- setmathcharacters=function(tfmdata,characters,mathparameters,dx,dy,squeeze,wdelta,hdelta,ddelta)
- local function wdpatch(char)
- if wsnap~=0 then
- char.width=char.width+wdelta/2
+ local function htpatch(char)
+ if hsnap~=0 then
+ local height=char.height
+ if height then
+ char.height=char.height+2*dy
end
end
- local function htpatch(char)
- if hsnap~=0 then
- local height=char.height
- if height then
- char.height=char.height+2*dy
- end
- end
- end
- local character=characters[0x221A]
- if character and character.next then
- local char=character
- local next=character.next
+ end
+ local character=characters[0x221A]
+ if character and character.next then
+ local char=character
+ local next=character.next
+ wdpatch(char)
+ htpatch(char)
+ while next do
+ char=characters[next]
wdpatch(char)
htpatch(char)
- while next do
- char=characters[next]
- wdpatch(char)
- htpatch(char)
- next=char.next
- end
- if char then
- local v=char.vert_variants
- if v then
- local top=v[#v]
- if top then
- local char=characters[top.glyph]
- htpatch(char)
- end
+ next=char.next
+ end
+ if char then
+ local v=char.vert_variants
+ if v then
+ local top=v[#v]
+ if top then
+ local char=characters[top.glyph]
+ htpatch(char)
end
end
end
end
end
-local shiftmode=CONTEXTLMTXMODE and CONTEXTLMTXMODE>0
local function manipulateeffect(tfmdata)
local effect=tfmdata.properties.effect
if effect then
@@ -32659,45 +32712,38 @@ local function manipulateeffect(tfmdata)
local factor=(1+effect.factor)*factor
local hfactor=(1+effect.hfactor)*hfactor
local vfactor=(1+effect.vfactor)*vfactor
- if shiftmode then
- parameters.hshift=hshift
- parameters.vshift=vshift
- else
- vshift=vshift~=0 and upcommand[vshift] or false
- hshift=rightcommand[hshift]
- end
+ vshift=vshift~=0 and upcommand[vshift] or false
+ hshift=rightcommand[hshift]
for unicode,character in next,characters do
local oldwidth=character.width
local oldheight=character.height
local olddepth=character.depth
if oldwidth and oldwidth>0 then
character.width=oldwidth+wdelta
- if not shiftmode then
- local commands=character.commands
- if vshift then
- if commands then
+ local commands=character.commands
+ if vshift then
+ if commands then
+ prependcommands (commands,
+ hshift,
+ vshift
+ )
+ else
+ character.commands={
+ hshift,
+ vshift,
+ charcommand[unicode]
+ }
+ end
+ else
+ if commands then
prependcommands (commands,
- hshift,
- vshift
+ hshift
)
- else
- character.commands={
- hshift,
- vshift,
- charcommand[unicode]
- }
- end
else
- if commands then
- prependcommands (commands,
- hshift
- )
- else
- character.commands={
- hshift,
- charcommand[unicode]
- }
- end
+ character.commands={
+ hshift,
+ charcommand[unicode]
+ }
end
end
end
@@ -32769,10 +32815,10 @@ local specification={
registerotffeature(specification)
registerafmfeature(specification)
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfont-imp-effectsтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfont-imp-effectsтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfonts-ligтАЭ fbd251eea3810a43a8d5542319361d68] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfonts-ligтАЭ fbd251eea3810a43a8d5542319361d68] ---
fonts.handlers.otf.addfeature {
@@ -34841,10 +34887,10 @@ fonts.handlers.otf.addfeature {
["type"]="ligature",
}
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfonts-ligтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfonts-ligтАЭ] ---
-do --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfonts-gbnтАЭ 10ecdf01e7c926e5128ad8a9dff4d677] ---
+do --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfonts-gbnтАЭ 34e4543a02f6fbc8c2ade896cb6dc7df] ---
if not modules then modules={} end modules ['luatex-fonts-gbn']={
version=1.001,
@@ -34860,8 +34906,8 @@ local next=next
local fonts=fonts
local nodes=nodes
local nuts=nodes.nuts
-local traverse_id=nuts.traverse_id
-local flush_node=nuts.flush_node
+local traverseid=nuts.traverseid
+local flushnode=nuts.flushnode
local glyph_code=nodes.nodecodes.glyph
local disc_code=nodes.nodecodes.disc
local tonode=nuts.tonode
@@ -34920,7 +34966,7 @@ local function nodepass(head,groupcode,size,packtype,direction)
local variants=nil
local redundant=nil
local nofused=0
- for n in traverse_id(glyph_code,head) do
+ for n in traverseid(glyph_code,head) do
local font=getfont(n)
if font~=prevfont then
if basefont then
@@ -34998,13 +35044,13 @@ local function nodepass(head,groupcode,size,packtype,direction)
end
end
end
- flush_node(r)
+ flushnode(r)
end
end
- for d in traverse_id(disc_code,head) do
+ for d in traverseid(disc_code,head) do
local _,_,r=getdisc(d)
if r then
- for n in traverse_id(glyph_code,r) do
+ for n in traverseid(glyph_code,r) do
local font=getfont(n)
if font~=prevfont then
prevfont=font
@@ -35072,7 +35118,7 @@ local function basepass(head)
end
return head
end
-local protectpass=node.direct.protect_glyphs
+local protectpass=node.direct.protectglyphs or node.direct.protect_glyphs
local injectpass=nodes.injections.handler
function nodes.handlers.nodepass(head,...)
if head then
@@ -35109,7 +35155,7 @@ function nodes.simple_font_handler(head,groupcode,size,packtype,direction)
return head
end
-end --- [luaotfload, fontloader-2021-01-07.lua scope for тАЬfonts-gbnтАЭ] ---
+end --- [luaotfload, fontloader-2021-05-20.lua scope for тАЬfonts-gbnтАЭ] ---
--- vim:ft=lua:sw=2:ts=8:et:tw=79
diff --git a/macros/luatex/generic/luaotfload/fontloader-basics-nod.lua b/macros/luatex/generic/luaotfload/fontloader-basics-nod.lua
index 25f5473a5a..76e36f2aab 100644
--- a/macros/luatex/generic/luaotfload/fontloader-basics-nod.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-basics-nod.lua
@@ -71,8 +71,8 @@ nodes.glyphcodes = glyphcodes
nodes.disccodes = disccodes
nodes.dirvalues = { lefttoright = 0, righttoleft = 1 }
-nodes.handlers.protectglyphs = node.protect_glyphs -- beware: nodes!
-nodes.handlers.unprotectglyphs = node.unprotect_glyphs -- beware: nodes!
+nodes.handlers.protectglyphs = node.protectglyphs or node.protect_glyphs -- beware: nodes!
+nodes.handlers.unprotectglyphs = node.unprotectglyphs or node.unprotect_glyphs -- beware: nodes!
-- in generic code, at least for some time, we stay nodes, while in context
-- we can go nuts (e.g. experimental); this split permits us us keep code
@@ -81,84 +81,85 @@ nodes.handlers.unprotectglyphs = node.unprotect_glyphs -- beware: nodes!
-- much of this will go away .. it's part of the context interface and not
-- officially in luatex-*.lua
-local direct = node.direct
-local nuts = { }
-nodes.nuts = nuts
-
-local tonode = direct.tonode
-local tonut = direct.todirect
-
-nodes.tonode = tonode
-nodes.tonut = tonut
-
-nuts.tonode = tonode
-nuts.tonut = tonut
-
-nuts.getattr = direct.get_attribute
-nuts.getboth = direct.getboth
-nuts.getchar = direct.getchar
-nuts.getdirection = direct.getdirection
-nuts.getdisc = direct.getdisc
-nuts.getreplace = direct.getreplace
-nuts.getfield = direct.getfield
-nuts.getfont = direct.getfont
-nuts.getid = direct.getid
-nuts.getkern = direct.getkern
-nuts.getlist = direct.getlist
-nuts.getnext = direct.getnext
-nuts.getoffsets = direct.getoffsets
-nuts.getoptions = direct.getoptions or function() return 0 end
-nuts.getprev = direct.getprev
-nuts.getsubtype = direct.getsubtype
-nuts.getwidth = direct.getwidth
-nuts.setattr = direct.setfield
-nuts.setboth = direct.setboth
-nuts.setchar = direct.setchar
-nuts.setcomponents = direct.setcomponents
-nuts.setdirection = direct.setdirection
-nuts.setdisc = direct.setdisc
-nuts.setreplace = direct.setreplace
-nuts.setfield = setfield
-nuts.setkern = direct.setkern
-nuts.setlink = direct.setlink
-nuts.setlist = direct.setlist
-nuts.setnext = direct.setnext
-nuts.setoffsets = direct.setoffsets
-nuts.setprev = direct.setprev
-nuts.setsplit = direct.setsplit
-nuts.setsubtype = direct.setsubtype
-nuts.setwidth = direct.setwidth
-
-nuts.getglyphdata = nuts.getattr
-nuts.setglyphdata = nuts.setattr
-
-nuts.ischar = direct.is_char
-nuts.isglyph = direct.is_glyph
-
-nuts.copy = direct.copy
-nuts.copy_list = direct.copy_list
-nuts.copy_node = direct.copy
-nuts.end_of_math = direct.end_of_math
-nuts.flush = direct.flush
-nuts.flush_list = direct.flush_list
-nuts.flush_node = direct.flush_node
-nuts.free = direct.free
-nuts.insert_after = direct.insert_after
-nuts.insert_before = direct.insert_before
-nuts.is_node = direct.is_node
-nuts.kerning = direct.kerning
-nuts.ligaturing = direct.ligaturing
-nuts.new = direct.new
-nuts.remove = direct.remove
-nuts.tail = direct.tail
-nuts.traverse = direct.traverse
-nuts.traverse_char = direct.traverse_char
-nuts.traverse_glyph = direct.traverse_glyph
-nuts.traverse_id = direct.traverse_id
+local direct = node.direct
+local nuts = { }
+nodes.nuts = nuts
+
+local tonode = direct.tonode
+local tonut = direct.todirect
+
+nodes.tonode = tonode
+nodes.tonut = tonut
+
+nuts.tonode = tonode
+nuts.tonut = tonut
+
+nuts.getattr = direct.get_attribute
+nuts.getboth = direct.getboth
+nuts.getchar = direct.getchar
+nuts.getdirection = direct.getdirection
+nuts.getdisc = direct.getdisc
+nuts.getreplace = direct.getreplace
+nuts.getfield = direct.getfield
+nuts.getfont = direct.getfont
+nuts.getid = direct.getid
+nuts.getkern = direct.getkern
+nuts.getlist = direct.getlist
+nuts.getnext = direct.getnext
+nuts.getoffsets = direct.getoffsets
+nuts.getoptions = direct.getoptions or function() return 0 end
+nuts.getprev = direct.getprev
+nuts.getsubtype = direct.getsubtype
+nuts.getwidth = direct.getwidth
+nuts.setattr = direct.setfield
+nuts.setboth = direct.setboth
+nuts.setchar = direct.setchar
+nuts.setcomponents = direct.setcomponents
+nuts.setdirection = direct.setdirection
+nuts.setdisc = direct.setdisc
+nuts.setreplace = direct.setreplace
+nuts.setfield = setfield
+nuts.setkern = direct.setkern
+nuts.setlink = direct.setlink
+nuts.setlist = direct.setlist
+nuts.setnext = direct.setnext
+nuts.setoffsets = direct.setoffsets
+nuts.setprev = direct.setprev
+nuts.setsplit = direct.setsplit
+nuts.setsubtype = direct.setsubtype
+nuts.setwidth = direct.setwidth
+
+nuts.getglyphdata = nuts.getattribute or nuts.getattr
+nuts.setglyphdata = nuts.setattribute or nuts.setattr
+
+nuts.ischar = direct.ischar or direct.is_char
+nuts.isglyph = direct.isglyph or direct.is_glyph
+nuts.copy = direct.copy
+nuts.copynode = direct.copy
+nuts.copylist = direct.copylist or direct.copy_list
+nuts.endofmath = direct.endofmath or direct.end_of_math
+nuts.flush = direct.flush
+nuts.flushlist = direct.flushlist or direct.flush_list
+nuts.flushnode = direct.flushnode or direct.flush_node
+nuts.free = direct.free
+nuts.insertafter = direct.insertafter or direct.insert_after
+nuts.insertbefore = direct.insertbefore or direct.insert_before
+nuts.isnode = direct.isnode or direct.is_node
+nuts.isdirect = direct.isdirect or direct.is_direct
+nuts.isnut = direct.isdirect or direct.is_direct
+nuts.kerning = direct.kerning
+nuts.ligaturing = direct.ligaturing
+nuts.new = direct.new
+nuts.remove = direct.remove
+nuts.tail = direct.tail
+nuts.traverse = direct.traverse
+nuts.traversechar = direct.traversechar or direct.traverse_char
+nuts.traverseglyph = direct.traverseglyph or direct.traverse_glyph
+nuts.traverseid = direct.traverseid or direct.traverse_id
-- properties as used in the (new) injector:
-local propertydata = direct.get_properties_table()
+local propertydata = (direct.getpropertiestable or direct.get_properties_table)()
nodes.properties = { data = propertydata }
if direct.set_properties_mode then
@@ -199,10 +200,10 @@ local setfield = nuts.setfield
local getsubtype = nuts.getsubtype
local isglyph = nuts.isglyph
local find_tail = nuts.tail
-local flush_list = nuts.flush_list
-local flush_node = nuts.flush_node
-local traverse_id = nuts.traverse_id
-local copy_node = nuts.copy_node
+local flushlist = nuts.flushlist
+local flushnode = nuts.flushnode
+local traverseid = nuts.traverseid
+local copynode = nuts.copynode
local glyph_code = nodes.nodecodes.glyph
local ligature_code = nodes.glyphcodes.ligature
@@ -222,22 +223,22 @@ end
do
- local get_components = node.direct.getcomponents
- local set_components = node.direct.setcomponents
+ local getcomponents = node.direct.getcomponents
+ local setcomponents = node.direct.setcomponents
- local function copy_no_components(g,copyinjection)
- local components = get_components(g)
+ local function copynocomponents(g,copyinjection)
+ local components = getcomponents(g)
if components then
- set_components(g)
- local n = copy_node(g)
+ setcomponents(g)
+ local n = copynode(g)
if copyinjection then
copyinjection(n,g)
end
- set_components(g,components)
+ setcomponents(g,components)
-- maybe also upgrade the subtype but we don't use it anyway
return n
else
- local n = copy_node(g)
+ local n = copynode(g)
if copyinjection then
copyinjection(n,g)
end
@@ -245,11 +246,11 @@ do
end
end
- local function copy_only_glyphs(current)
+ local function copyonlyglyphs(current)
local head = nil
local previous = nil
- for n in traverse_id(glyph_code,current) do
- n = copy_node(n)
+ for n in traverseid(glyph_code,current) do
+ n = copynode(n)
if head then
setlink(previous,n)
else
@@ -260,14 +261,14 @@ do
return head
end
- local function count_components(start,marks)
+ local function countcomponents(start,marks)
local char = isglyph(start)
if char then
if getsubtype(start) == ligature_code then
local n = 0
- local components = get_components(start)
+ local components = getcomponents(start)
while components do
- n = n + count_components(components,marks)
+ n = n + countcomponents(components,marks)
components = getnext(components)
end
return n
@@ -278,20 +279,22 @@ do
return 0
end
- local function flush_components()
+ local function flushcomponents()
-- this is a no-op in mkiv / generic
end
- nuts.set_components = set_components
- nuts.get_components = get_components
- nuts.copy_only_glyphs = copy_only_glyphs
- nuts.copy_no_components = copy_no_components
- nuts.count_components = count_components
- nuts.flush_components = flush_components
+ nuts.components = {
+ set = setcomponents,
+ get = getcomponents,
+ copyonlyglyphs = copyonlyglyphs,
+ copynocomponents = copynocomponents,
+ count = countcomponents,
+ flush = flushcomponents,
+ }
end
-nuts.uses_font = direct.uses_font
+nuts.usesfont = direct.usesfont or direct.uses_font
do
@@ -301,12 +304,12 @@ do
local dummy = tonut(node.new("glyph"))
nuts.traversers = {
- glyph = nuts.traverse_id(nodecodes.glyph,dummy),
- glue = nuts.traverse_id(nodecodes.glue,dummy),
- disc = nuts.traverse_id(nodecodes.disc,dummy),
- boundary = nuts.traverse_id(nodecodes.boundary,dummy),
+ glyph = nuts.traverseid(nodecodes.glyph,dummy),
+ glue = nuts.traverseid(nodecodes.glue,dummy),
+ disc = nuts.traverseid(nodecodes.disc,dummy),
+ boundary = nuts.traverseid(nodecodes.boundary,dummy),
- char = nuts.traverse_char(dummy),
+ char = nuts.traversechar(dummy),
node = nuts.traverse(dummy),
}
@@ -333,7 +336,7 @@ do
local getsubtype = nuts.getsubtype
- function nuts.start_of_par(n)
+ function nuts.startofpar(n)
local s = getsubtype(n)
return s == 0 or s == 2 -- sorry, hardcoded, won't change anyway
end
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-cff.lua b/macros/luatex/generic/luaotfload/fontloader-font-cff.lua
index 4e2981011a..ff87292baf 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-cff.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-cff.lua
@@ -29,7 +29,7 @@ if not modules then modules = { } end modules ['font-cff'] = {
local next, type, tonumber, rawget = next, type, tonumber, rawget
local byte, char, gmatch, sub = string.byte, string.char, string.gmatch, string.sub
-local concat, remove, unpack = table.concat, table.remove, table.unpack
+local concat, insert, remove, unpack = table.concat, table.insert, table.remove, table.unpack
local floor, abs, round, ceil, min, max = math.floor, math.abs, math.round, math.ceil, math.min, math.max
local P, C, R, S, C, Cs, Ct = lpeg.P, lpeg.C, lpeg.R, lpeg.S, lpeg.C, lpeg.Cs, lpeg.Ct
local lpegmatch = lpeg.match
@@ -745,6 +745,13 @@ do
-- some back. I inlined some of then and a bit speed can be gained by more
-- inlining but not that much.
+ -- Maybe have several action tables:
+ --
+ -- keep curve / checked
+ -- keep curve / not checked
+ -- checked
+ -- not checked
+
local function xymoveto()
if keepcurve then
r = r + 1
@@ -1968,8 +1975,38 @@ do
showstate(reverse[t] or "<action>")
end
if top > 0 then
- for i=1,top do
- r = r + 1 ; result[r] = encode[stack[i]]
+ -- if t == 8 and top > 42 then
+ if t == 8 and top > 48 then
+ -- let's assume this only happens for rrcurveto .. the other ones would need some more
+ -- complex handling (cff2 stuff)
+ local n = 0
+ for i=1,top do
+ -- if n == 42 then
+ if n == 48 then
+ local zero = encode[0]
+ local res3 = result[r-3]
+ local res2 = result[r-2]
+ local res1 = result[r-1]
+ local res0 = result[r]
+ result[r-3] = zero
+ result[r-2] = zero
+ r = r + 1 ; result[r] = chars[t]
+ r = r + 1 ; result[r] = zero
+ r = r + 1 ; result[r] = zero
+ r = r + 1 ; result[r] = res3
+ r = r + 1 ; result[r] = res2
+ r = r + 1 ; result[r] = res1
+ r = r + 1 ; result[r] = res0
+ n = 1
+ else
+ n = n + 1
+ end
+ r = r + 1 ; result[r] = encode[stack[i]]
+ end
+ else
+ for i=1,top do
+ r = r + 1 ; result[r] = encode[stack[i]]
+ end
end
top = 0
end
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-imp-effects.lua b/macros/luatex/generic/luaotfload/fontloader-font-imp-effects.lua
index 43ce82b71a..27a16914b8 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-imp-effects.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-imp-effects.lua
@@ -207,94 +207,63 @@ local rules = {
"UnderbarRuleThickness",
}
--- local commands = char.commands
--- if commands then
--- local command = commands[1]
--- if command and command[1] == "right" then
--- commands[1] = rightcommand[command[2]-snap]
--- end
--- end
-
-- radicals are not yet ok
-local setmathparameters
-local setmathcharacters
-
-if CONTEXTLMTXMODE and CONTEXTLMTXMODE > 0 then
-
- setmathparameters = function(tfmdata,characters,mathparameters,dx,dy,squeeze,multiplier)
- if delta ~= 0 then
- for i=1,#rules do
- local name = rules[i]
- local value = mathparameters[name]
- if value then
- mathparameters[name] = (squeeze or 1) * (value + dy)
- end
+local function setmathparameters(tfmdata,characters,mathparameters,dx,dy,squeeze,multiplier)
+ -- hm, this was "if delta ~= 0 then" but delta was gone
+ if dy ~= 0 then
+ for i=1,#rules do
+ local name = rules[i]
+ local value = mathparameters[name]
+ if value then
+ mathparameters[name] = (squeeze or 1) * (value + dy)
end
end
end
+end
- setmathcharacters = function()
- end
+local function setmathcharacters(tfmdata,characters,mathparameters,dx,dy,squeeze,wdelta,hdelta,ddelta)
-else
+ -- still not the perfect rule
- setmathparameters = function(tfmdata,characters,mathparameters,dx,dy,squeeze,multiplier)
- if delta ~= 0 then
- for i=1,#rules do
- local name = rules[i]
- local value = mathparameters[name]
- if value then
- mathparameters[name] = (squeeze or 1) * (value + dy)
- end
- end
+ local function wdpatch(char)
+ if wsnap ~= 0 then
+ char.width = char.width + wdelta/2
end
end
- setmathcharacters = function(tfmdata,characters,mathparameters,dx,dy,squeeze,wdelta,hdelta,ddelta)
-
- -- still not the perfect rule
-
- local function wdpatch(char)
- if wsnap ~= 0 then
- char.width = char.width + wdelta/2
- end
- end
-
- local function htpatch(char)
- if hsnap ~= 0 then
- local height = char.height
- if height then
- char.height = char.height + 2 * dy
- end
+ local function htpatch(char)
+ if hsnap ~= 0 then
+ local height = char.height
+ if height then
+ char.height = char.height + 2 * dy
end
end
+ end
- local character = characters[0x221A]
+ local character = characters[0x221A]
- if character and character.next then
- local char = character
- local next = character.next
+ if character and character.next then
+ local char = character
+ local next = character.next
+ wdpatch(char)
+ htpatch(char)
+ while next do
+ char = characters[next]
wdpatch(char)
htpatch(char)
- while next do
- char = characters[next]
- wdpatch(char)
- htpatch(char)
- next = char.next
- end
- if char then
- local v = char.vert_variants
- if v then
- local top = v[#v]
- if top then
- local char = characters[top.glyph]
- htpatch(char)
- end
+ next = char.next
+ end
+ if char then
+ local v = char.vert_variants
+ if v then
+ local top = v[#v]
+ if top then
+ local char = characters[top.glyph]
+ htpatch(char)
end
end
end
-
end
end
@@ -304,8 +273,6 @@ end
-- inspect(fonts.hashes.characters[f][c])
-- end }
-local shiftmode = CONTEXTLMTXMODE and CONTEXTLMTXMODE > 0
-
local function manipulateeffect(tfmdata)
local effect = tfmdata.properties.effect
if effect then
@@ -327,49 +294,42 @@ local function manipulateeffect(tfmdata)
local factor = (1 + effect.factor) * factor
local hfactor = (1 + effect.hfactor) * hfactor
local vfactor = (1 + effect.vfactor) * vfactor
- if shiftmode then
- parameters.hshift = hshift
- parameters.vshift = vshift
- else
- vshift = vshift ~= 0 and upcommand[vshift] or false
- hshift = rightcommand[hshift]
- end
+ vshift = vshift ~= 0 and upcommand[vshift] or false
+ hshift = rightcommand[hshift]
for unicode, character in next, characters do
local oldwidth = character.width
local oldheight = character.height
local olddepth = character.depth
if oldwidth and oldwidth > 0 then
character.width = oldwidth + wdelta
- if not shiftmode then
- local commands = character.commands
- if vshift then
- if commands then
- prependcommands ( commands,
- -- show_effect,
- hshift,
- vshift
- )
- else
- character.commands = {
- -- show_effect,
- hshift,
- vshift,
- charcommand[unicode]
- }
- end
+ local commands = character.commands
+ if vshift then
+ if commands then
+ prependcommands ( commands,
+ -- show_effect,
+ hshift,
+ vshift
+ )
+ else
+ character.commands = {
+ -- show_effect,
+ hshift,
+ vshift,
+ charcommand[unicode]
+ }
+ end
+ else
+ if commands then
+ prependcommands ( commands,
+ -- show_effect,
+ hshift
+ )
else
- if commands then
- prependcommands ( commands,
- -- show_effect,
- hshift
- )
- else
- character.commands = {
- -- show_effect,
- hshift,
- charcommand[unicode]
- }
- end
+ character.commands = {
+ -- show_effect,
+ hshift,
+ charcommand[unicode]
+ }
end
end
end
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-ocl.lua b/macros/luatex/generic/luaotfload/fontloader-font-ocl.lua
index e6a38af5c3..7d960922f4 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-ocl.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-ocl.lua
@@ -370,13 +370,24 @@ if context then
local xmlconvert = xml.convert
local xmlfirst = xml.first
+ -- function otfsvg.filterglyph(entry,index)
+ -- -- we only support decompression in lmtx, so one needs to wipe the
+ -- -- cache when invalid xml is reported
+ -- local svg = xmlconvert(entry.data)
+ -- local root = svg and xmlfirst(svg,"/svg[@id='glyph"..index.."']")
+ -- local data = root and tostring(root)
+ -- -- report_svg("data for glyph %04X: %s",index,data)
+ -- return data
+ -- end
+
function otfsvg.filterglyph(entry,index)
- -- we only support decompression in lmtx, so one needs to wipe the
- -- cache when invalid xml is reported
- local svg = xmlconvert(entry.data)
+ local d = entry.data
+ if gzip.compressed(d) then
+ d = gzip.decompress(d) or d
+ end
+ local svg = xmlconvert(d)
local root = svg and xmlfirst(svg,"/svg[@id='glyph"..index.."']")
local data = root and tostring(root)
- -- report_svg("data for glyph %04X: %s",index,data)
return data
end
@@ -412,6 +423,9 @@ end
--
-- Because a generic setup can be flawed we need to catch bad inkscape runs which add a bit of
-- ugly overhead. Bah.
+ --
+ -- In the long run this method is a dead end because we cannot rely on command line arguments
+ -- etc to be upward compatible (so no real batch tool).
local new = nil
@@ -430,9 +444,10 @@ end
-- local indices = fonts.getindices(tfmdata)
local descriptions = tfmdata.descriptions
local nofshapes = #svgshapes
+ local s_format = inkscapeformat("pdf") -- hack, this will go away when is >= 0 is everywhere
local f_svgfile = formatters["temp-otf-svg-shape-%i.svg"]
local f_pdffile = formatters["temp-otf-svg-shape-%i.pdf"]
- local f_convert = formatters["%s --export-%s=%s\n"]
+ local f_convert = formatters[new and "file-open:%s; export-%s:%s; export-do\n" or "%s --export-%s=%s\n"]
local filterglyph = otfsvg.filterglyph
local nofdone = 0
local processed = { }
@@ -446,7 +461,7 @@ end
local svgfile = f_svgfile(index)
local pdffile = f_pdffile(index)
savedata(svgfile,data)
- inkscape:write(f_convert(svgfile,inkscapeformat("pdf"),pdffile))
+ inkscape:write(f_convert(svgfile,s_format,pdffile))
processed[index] = true
nofdone = nofdone + 1
if nofdone % 25 == 0 then
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-one.lua b/macros/luatex/generic/luaotfload/fontloader-font-one.lua
index 5ef6e47497..829f52ea04 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-one.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-one.lua
@@ -727,6 +727,7 @@ local function read_from_afm(specification)
local tfmdata = afmtotfm(specification)
if tfmdata then
tfmdata.properties.name = specification.name
+ tfmdata.properties.id = specification.id
tfmdata = constructors.scale(tfmdata, specification)
local allfeatures = tfmdata.shared.features or specification.features.normal
constructors.applymanipulators("afm",tfmdata,allfeatures,trace_features,report_afm)
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-osd.lua b/macros/luatex/generic/luaotfload/fontloader-font-osd.lua
index 87453d9e2d..2d0e685c19 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-osd.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-osd.lua
@@ -118,11 +118,11 @@ local setstate = nuts.setstate
local ischar = nuts.ischar
-local insert_node_after = nuts.insert_after
+local insertnodeafter = nuts.insertafter
local copy_node = nuts.copy
local remove_node = nuts.remove
-local flush_list = nuts.flush_list
-local flush_node = nuts.flush_node
+local flushlist = nuts.flushlist
+local flushnode = nuts.flushnode
local copyinjection = nodes.injections.copy -- KE: is this necessary? HH: probably not as positioning comes later and we rawget/set
@@ -826,7 +826,7 @@ local function inject_syntax_error(head,current,char)
else
setchar(current,dotted_circle)
end
- return insert_node_after(head,current,signal)
+ return insertnodeafter(head,current,signal)
end
-- hm, this is applied to one character:
@@ -968,7 +968,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
if current == stop then
stop = getprev(stop)
head = remove_node(head,current)
- flush_node(current)
+ flushnode(current)
return head, stop, nbspaces
else
nbspaces = nbspaces + 1
@@ -998,7 +998,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
tempcurrent = processcharacters(tempcurrent,font)
setstate(tempcurrent,unsetvalue)
if getchar(next) == getchar(tempcurrent) then
- flush_list(tempcurrent)
+ flushlist(tempcurrent)
if show_syntax_errors then
head, current = inject_syntax_error(head,current,char)
end
@@ -1006,8 +1006,8 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
setchar(current,getchar(tempcurrent)) -- we assumes that the result of blwf consists of one node
local freenode = getnext(current)
setlink(current,tmp)
- flush_node(freenode)
- flush_list(tempcurrent)
+ flushnode(freenode)
+ flushlist(tempcurrent)
if changestop then
stop = current
end
@@ -1154,7 +1154,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
ch = tpm[1]
setchar(n,ch)
setchar(extra,tpm[2])
- head = insert_node_after(head,current,extra)
+ head = insertnodeafter(head,current,extra)
tpm = twopart_mark[ch]
end
while c ~= stop and dependent_vowel[ch] do
@@ -1335,7 +1335,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
stop = getprev(stop)
end
head = remove_node(head,base)
- flush_node(base)
+ flushnode(base)
end
return head, stop, nbspaces
@@ -1712,7 +1712,7 @@ function handlers.devanagari_remove_joiners(head,start,kind,lookupname,replaceme
if head == start then
head = stop
end
- flush_list(start)
+ flushlist(start)
return head, stop, true
end
@@ -1876,7 +1876,7 @@ local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pas
if current == stop then
stop = getprev(stop)
head = remove_node(head,current)
- flush_node(current)
+ flushnode(current)
return head, stop, nbspaces
else
nbspaces = nbspaces + 1
@@ -1979,7 +1979,7 @@ local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pas
char = tpm[1]
setchar(current,char)
setchar(extra,tpm[2])
- head = insert_node_after(head,current,extra)
+ head = insertnodeafter(head,current,extra)
tpm = twopart_mark[char]
end
--
@@ -2154,7 +2154,7 @@ local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pas
end
nbspaces = nbspaces - 1
head = remove_node(head, base)
- flush_node(base)
+ flushnode(base)
end
return head, stop, nbspaces
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-ota.lua b/macros/luatex/generic/luaotfload/fontloader-font-ota.lua
index ce1b22b50d..a8f9f0047c 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-ota.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-ota.lua
@@ -40,7 +40,7 @@ local getsubtype = nuts.getsubtype
local getchar = nuts.getchar
local ischar = nuts.ischar
-local end_of_math = nuts.end_of_math
+local endofmath = nuts.endofmath
local nodecodes = nodes.nodecodes
----- glyph_code = nodecodes.glyph
@@ -173,7 +173,7 @@ function analyzers.setstate(head,font)
end
first, last, n = nil, nil, 0
if id == math_code then
- current = end_of_math(current)
+ current = endofmath(current)
end
elseif id == disc_code then
-- always in the middle .. it doesn't make much sense to assign a property
@@ -189,7 +189,7 @@ function analyzers.setstate(head,font)
end
first, last, n = nil, nil, 0
if id == math_code then
- current = end_of_math(current)
+ current = endofmath(current)
end
end
current = getnext(current)
@@ -435,7 +435,7 @@ function methods.arab(head,font,attr)
first = nil
end
if id == math_code then -- a bit duplicate as we test for glyphs twice
- current = end_of_math(current)
+ current = endofmath(current)
end
end
current = getnext(current)
@@ -562,7 +562,7 @@ do
wrapup()
end
if id == math_code then -- a bit duplicate as we test for glyphs twice
- current = end_of_math(current)
+ current = endofmath(current)
end
end
current = getnext(current)
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-otj.lua b/macros/luatex/generic/luaotfload/fontloader-font-otj.lua
index bb02044dca..c4ec9972cd 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-otj.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-otj.lua
@@ -90,6 +90,8 @@ local getoffsets = nuts.getoffsets
local getboth = nuts.getboth
local getdisc = nuts.getdisc
local setdisc = nuts.setdisc
+local getreplace = nuts.getreplace
+local setreplace = nuts.setreplace
local setoffsets = nuts.setoffsets
local ischar = nuts.ischar
local getkern = nuts.getkern
@@ -98,13 +100,11 @@ local setlink = nuts.setlink
local setwidth = nuts.setwidth
local getwidth = nuts.getwidth
------ traverse_id = nuts.traverse_id
------ traverse_char = nuts.traverse_char
local nextchar = nuts.traversers.char
local nextglue = nuts.traversers.glue
-local insert_node_before = nuts.insert_before
-local insert_node_after = nuts.insert_after
+local insertnodebefore = nuts.insertbefore
+local insertnodeafter = nuts.insertafter
local properties = nodes.properties.data
@@ -124,7 +124,7 @@ if not fontkern then -- generic
local thekern = nuts.new("kern",0) -- fontkern
local setkern = nuts.setkern
- local copy_node = nuts.copy_node
+ local copy_node = nuts.copy
fontkern = function(k)
local n = copy_node(thekern)
@@ -138,7 +138,7 @@ if not italickern then -- generic
local thekern = nuts.new("kern",3) -- italiccorrection
local setkern = nuts.setkern
- local copy_node = nuts.copy_node
+ local copy_node = nuts.copy
italickern = function(k)
local n = copy_node(thekern)
@@ -667,12 +667,12 @@ local function inject_kerns_only(head,where)
if leftkern and leftkern ~= 0 then
if prev and getid(prev) == glue_code then
if useitalickerns then
- head = insert_node_before(head,current,italickern(leftkern))
+ head = insertnodebefore(head,current,italickern(leftkern))
else
setwidth(prev, getwidth(prev) + leftkern)
end
else
- head = insert_node_before(head,current,fontkern(leftkern))
+ head = insertnodebefore(head,current,fontkern(leftkern))
end
end
end
@@ -731,7 +731,7 @@ local function inject_kerns_only(head,where)
if i then
local leftkern = i.leftkern
if leftkern and leftkern ~= 0 then
- pre = insert_node_before(pre,n,fontkern(leftkern))
+ pre = insertnodebefore(pre,n,fontkern(leftkern))
done = true
end
end
@@ -747,7 +747,7 @@ local function inject_kerns_only(head,where)
if i then
local leftkern = i.leftkern
if leftkern and leftkern ~= 0 then
- post = insert_node_before(post,n,fontkern(leftkern))
+ post = insertnodebefore(post,n,fontkern(leftkern))
done = true
end
end
@@ -763,7 +763,7 @@ local function inject_kerns_only(head,where)
if i then
local leftkern = i.leftkern
if leftkern and leftkern ~= 0 then
- replace = insert_node_before(replace,n,fontkern(leftkern))
+ replace = insertnodebefore(replace,n,fontkern(leftkern))
done = true
end
end
@@ -830,39 +830,36 @@ local function inject_positions_only(head,where)
rightkern = 0
elseif prev and getid(prev) == glue_code then
if useitalickerns then
- head = insert_node_before(head,current,italickern(leftkern))
+ head = insertnodebefore(head,current,italickern(leftkern))
else
setwidth(prev, getwidth(prev) + leftkern)
end
else
- head = insert_node_before(head,current,fontkern(leftkern))
+ head = insertnodebefore(head,current,fontkern(leftkern))
end
end
if rightkern and rightkern ~= 0 then
if next and getid(next) == glue_code then
if useitalickerns then
- insert_node_after(head,current,italickern(rightkern))
+ insertnodeafter(head,current,italickern(rightkern))
else
setwidth(next, getwidth(next) + rightkern)
end
else
- insert_node_after(head,current,fontkern(rightkern))
+ insertnodeafter(head,current,fontkern(rightkern))
end
end
- else
+ elseif next then
local i = p.emptyinjections
if i then
-- glyph|disc|glyph (special case)
local rightkern = i.rightkern
- if rightkern and rightkern ~= 0 then
- if next and getid(next) == disc_code then
- if replace then
- -- error, we expect an empty one
- else
- -- KE setfield(next,"replace",fontkern(rightkern)) -- maybe also leftkern
- replace = fontkern(rightkern) -- maybe also leftkern
- done = true --KE
- end
+ if rightkern and rightkern ~= 0 and getid(next) == disc_code then
+ local replace = getreplace(next)
+ if replace then
+ -- can't happen
+ else
+ setreplace(next,fontkern(rightkern))
end
end
end
@@ -925,12 +922,12 @@ local function inject_positions_only(head,where)
end
local leftkern = i.leftkern
if leftkern and leftkern ~= 0 then
- pre = insert_node_before(pre,n,fontkern(leftkern))
+ pre = insertnodebefore(pre,n,fontkern(leftkern))
done = true
end
local rightkern = i.rightkern
if rightkern and rightkern ~= 0 then
- insert_node_after(pre,n,fontkern(rightkern))
+ insertnodeafter(pre,n,fontkern(rightkern))
done = true
end
end
@@ -950,12 +947,12 @@ local function inject_positions_only(head,where)
end
local leftkern = i.leftkern
if leftkern and leftkern ~= 0 then
- post = insert_node_before(post,n,fontkern(leftkern))
+ post = insertnodebefore(post,n,fontkern(leftkern))
done = true
end
local rightkern = i.rightkern
if rightkern and rightkern ~= 0 then
- insert_node_after(post,n,fontkern(rightkern))
+ insertnodeafter(post,n,fontkern(rightkern))
done = true
end
end
@@ -975,12 +972,12 @@ local function inject_positions_only(head,where)
end
local leftkern = i.leftkern
if leftkern and leftkern ~= 0 then
- replace = insert_node_before(replace,n,fontkern(leftkern))
+ replace = insertnodebefore(replace,n,fontkern(leftkern))
done = true
end
local rightkern = i.rightkern
if rightkern and rightkern ~= 0 then
- insert_node_after(replace,n,fontkern(rightkern))
+ insertnodeafter(replace,n,fontkern(rightkern))
done = true
end
end
@@ -996,7 +993,7 @@ local function inject_positions_only(head,where)
-- glyph|pre glyphs
local rightkern = i.rightkern
if rightkern and rightkern ~= 0 then
- pre = insert_node_before(pre,pre,fontkern(rightkern))
+ pre = insertnodebefore(pre,pre,fontkern(rightkern))
done = true
end
end
@@ -1010,7 +1007,7 @@ local function inject_positions_only(head,where)
-- glyph|replace glyphs
local rightkern = i.rightkern
if rightkern and rightkern ~= 0 then
- replace = insert_node_before(replace,replace,fontkern(rightkern))
+ replace = insertnodebefore(replace,replace,fontkern(rightkern))
done = true
end
end
@@ -1144,8 +1141,8 @@ local function inject_everything(head,where)
--
-- todo: head and check for prev / next kern
--
- insert_node_before(n,n,fontkern(-wn))
- insert_node_after(n,n,fontkern(-wn))
+ insertnodebefore(n,n,fontkern(-wn))
+ insertnodeafter(n,n,fontkern(-wn))
end
end
end
@@ -1295,39 +1292,37 @@ local function inject_everything(head,where)
rightkern = 0
elseif prev and getid(prev) == glue_code then
if useitalickerns then
- head = insert_node_before(head,current,italickern(leftkern))
+ head = insertnodebefore(head,current,italickern(leftkern))
else
setwidth(prev, getwidth(prev) + leftkern)
end
else
- head = insert_node_before(head,current,fontkern(leftkern))
+ head = insertnodebefore(head,current,fontkern(leftkern))
end
end
if rightkern and rightkern ~= 0 then
if next and getid(next) == glue_code then
if useitalickerns then
- insert_node_after(head,current,italickern(rightkern))
+ insertnodeafter(head,current,italickern(rightkern))
else
setwidth(next, getwidth(next) + rightkern)
end
else
- insert_node_after(head,current,fontkern(rightkern))
+ insertnodeafter(head,current,fontkern(rightkern))
end
end
end
- else
+ elseif next then
local i = p.emptyinjections
if i then
-- glyph|disc|glyph (special case)
local rightkern = i.rightkern
- if rightkern and rightkern ~= 0 then
- if next and getid(next) == disc_code then
- if replace then
- -- error, we expect an empty one
- else
- replace = fontkern(rightkern)
- done = true
- end
+ if rightkern and rightkern ~= 0 and getid(next) == disc_code then
+ local replace = getreplace(next)
+ if replace then
+ -- can't happen
+ else
+ setreplace(next,fontkern(rightkern))
end
end
end
@@ -1406,12 +1401,12 @@ local function inject_everything(head,where)
end
local leftkern = i.leftkern
if leftkern and leftkern ~= 0 then
- pre = insert_node_before(pre,n,fontkern(leftkern))
+ pre = insertnodebefore(pre,n,fontkern(leftkern))
done = true
end
local rightkern = i.rightkern
if rightkern and rightkern ~= 0 then
- insert_node_after(pre,n,fontkern(rightkern))
+ insertnodeafter(pre,n,fontkern(rightkern))
done = true
end
if hasmarks then
@@ -1437,12 +1432,12 @@ local function inject_everything(head,where)
end
local leftkern = i.leftkern
if leftkern and leftkern ~= 0 then
- post = insert_node_before(post,n,fontkern(leftkern))
+ post = insertnodebefore(post,n,fontkern(leftkern))
done = true
end
local rightkern = i.rightkern
if rightkern and rightkern ~= 0 then
- insert_node_after(post,n,fontkern(rightkern))
+ insertnodeafter(post,n,fontkern(rightkern))
done = true
end
if hasmarks then
@@ -1468,12 +1463,12 @@ local function inject_everything(head,where)
end
local leftkern = i.leftkern
if leftkern and leftkern ~= 0 then
- replace = insert_node_before(replace,n,fontkern(leftkern))
+ replace = insertnodebefore(replace,n,fontkern(leftkern))
done = true
end
local rightkern = i.rightkern
if rightkern and rightkern ~= 0 then
- insert_node_after(replace,n,fontkern(rightkern))
+ insertnodeafter(replace,n,fontkern(rightkern))
done = true
end
if hasmarks then
@@ -1495,7 +1490,7 @@ local function inject_everything(head,where)
-- glyph|pre glyphs
local rightkern = i.rightkern
if rightkern and rightkern ~= 0 then
- pre = insert_node_before(pre,pre,fontkern(rightkern))
+ pre = insertnodebefore(pre,pre,fontkern(rightkern))
done = true
end
end
@@ -1509,7 +1504,7 @@ local function inject_everything(head,where)
-- glyph|replace glyphs
local rightkern = i.rightkern
if rightkern and rightkern ~= 0 then
- replace = insert_node_before(replace,replace,fontkern(rightkern))
+ replace = insertnodebefore(replace,replace,fontkern(rightkern))
done = true
end
end
@@ -1711,8 +1706,8 @@ local function injectspaces(head)
if trace_spaces then
report_spaces("%C [%p + %p + %p] %C",prevchar,lnew,old,rnew,nextchar)
end
- head = insert_node_before(head,n,italickern(lnew))
- insert_node_after(head,n,italickern(rnew))
+ head = insertnodebefore(head,n,italickern(lnew))
+ insertnodeafter(head,n,italickern(rnew))
else
local new = old + (leftkern + rightkern) * factor
if trace_spaces then
@@ -1727,7 +1722,7 @@ local function injectspaces(head)
if trace_spaces then
report_spaces("%C [%p + %p]",prevchar,old,new)
end
- insert_node_after(head,n,italickern(new)) -- tricky with traverse but ok
+ insertnodeafter(head,n,italickern(new)) -- tricky with traverse but ok
else
local new = old + leftkern * factor
if trace_spaces then
@@ -1746,7 +1741,7 @@ local function injectspaces(head)
if trace_spaces then
report_spaces("[%p + %p] %C",old,new,nextchar)
end
- insert_node_after(head,n,italickern(new))
+ insertnodeafter(head,n,italickern(new))
else
local new = old + rightkern * factor
if trace_spaces then
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-otl.lua b/macros/luatex/generic/luaotfload/fontloader-font-otl.lua
index 19de2bb777..4619e13dcf 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-otl.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-otl.lua
@@ -52,7 +52,7 @@ local report_otf = logs.reporter("fonts","otf loading")
local fonts = fonts
local otf = fonts.handlers.otf
-otf.version = 3.113 -- beware: also sync font-mis.lua and in mtx-fonts
+otf.version = 3.116 -- beware: also sync font-mis.lua and in mtx-fonts
otf.cache = containers.define("fonts", "otl", otf.version, true)
otf.svgcache = containers.define("fonts", "svg", otf.version, true)
otf.pngcache = containers.define("fonts", "png", otf.version, true)
@@ -608,6 +608,7 @@ local function read_from_otf(specification)
-- this late ? .. needs checking
tfmdata.properties.name = specification.name
tfmdata.properties.sub = specification.sub
+ tfmdata.properties.id = specification.id
--
tfmdata = constructors.scale(tfmdata,specification)
local allfeatures = tfmdata.shared.features or specification.features.normal
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-otr.lua b/macros/luatex/generic/luaotfload/fontloader-font-otr.lua
index 531f665de7..4b154b2563 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-otr.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-otr.lua
@@ -1292,8 +1292,8 @@ readers.post = function(f,fontdata,specification)
if length > 0 then
glyphs[mapping].name = readstring(f,length)
else
- report("quit post name fetching at %a of %a: %s",i,maxnames,"overflow")
- break
+ -- report("quit post name fetching at %a of %a: %s",i,maxnames,"overflow")
+ -- break
end
end
end
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-ots.lua b/macros/luatex/generic/luaotfload/fontloader-font-ots.lua
index 880bcb6d50..30d79c4077 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-ots.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-ots.lua
@@ -213,27 +213,29 @@ local getglyphdata = nuts.getglyphdata
-- their positions because some complex ligatures might need that. For the moment we
-- use an x_ prefix because for now generic follows the other approach.
-local copy_no_components = nuts.copy_no_components
-local copy_only_glyphs = nuts.copy_only_glyphs
-local count_components = nuts.count_components
-local set_components = nuts.set_components
-local get_components = nuts.get_components
-local flush_components = nuts.flush_components
+local components = nuts.components
+local copynocomponents = components.copynocomponents
+local copyonlyglyphs = components.copyonlyglyphs
+local countcomponents = components.count
+local setcomponents = components.set
+local getcomponents = components.get
+local flushcomponents = components.flush
---------------------------------------------------------------------------------------
local ischar = nuts.ischar
-local usesfont = nuts.uses_font
+local usesfont = nuts.usesfont
-local insert_node_after = nuts.insert_after
+local insertnodeafter = nuts.insertafter
local copy_node = nuts.copy
-local copy_node_list = nuts.copy_list
+local copy_node_list = nuts.copylist
local remove_node = nuts.remove
local find_node_tail = nuts.tail
-local flush_node_list = nuts.flush_list
-local flush_node = nuts.flush_node
-local end_of_math = nuts.end_of_math
-local start_of_par = nuts.start_of_par
+local flushnodelist = nuts.flushlist
+local flushnode = nuts.flushnode
+local endofmath = nuts.endofmath
+
+local startofpar = nuts.startofpar
local setmetatable = setmetatable
local setmetatableindex = table.setmetatableindex
@@ -317,13 +319,6 @@ local checkstep = (tracers and tracers.steppers.check) or function()
local registerstep = (tracers and tracers.steppers.register) or function() end
local registermessage = (tracers and tracers.steppers.message) or function() end
--- local function checkdisccontent(d)
--- local pre, post, replace = getdisc(d)
--- if pre then for n in traverse_id(glue_code,pre) do report("pre: %s",nodes.idstostring(pre)) break end end
--- if post then for n in traverse_id(glue_code,post) do report("pos: %s",nodes.idstostring(post)) break end end
--- if replace then for n in traverse_id(glue_code,replace) do report("rep: %s",nodes.idstostring(replace)) break end end
--- end
-
local function logprocess(...)
if trace_steps then
registermessage(...)
@@ -423,12 +418,12 @@ local function flattendisk(head,disc)
local prev, next = getboth(disc)
local ishead = head == disc
setdisc(disc)
- flush_node(disc)
+ flushnode(disc)
if pre then
- flush_node_list(pre)
+ flushnodelist(pre)
end
if post then
- flush_node_list(post)
+ flushnodelist(post)
end
if ishead then
if replace then
@@ -480,16 +475,16 @@ local function markstoligature(head,start,stop,char)
local next = getnext(stop)
setprev(start)
setnext(stop)
- local base = copy_no_components(start,copyinjection)
+ local base = copynocomponents(start,copyinjection)
if head == start then
head = base
end
resetinjection(base)
setchar(base,char)
setsubtype(base,ligatureglyph_code)
- set_components(base,start)
+ setcomponents(base,start)
setlink(prev,base,next)
- flush_components(start)
+ flushcomponents(start)
return head, base
end
end
@@ -509,7 +504,7 @@ local no_right_ligature_code = 2
local no_left_kern_code = 4
local no_right_kern_code = 8
-local has_glyph_option = node.direct.has_glyph_option or function(n,c)
+local hasglyphoption = function(n,c)
if c == no_left_ligature_code or c == no_right_ligature_code then
return getattr(n,a_noligature) == 1
else
@@ -520,7 +515,7 @@ end
-- in lmtx we need to check the components and can be slightly more clever
local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfound,hasmarks) -- brr head
- if has_glyph_option(start,no_right_ligature_code) then
+ if hasglyphoption(start,no_right_ligature_code) then
return head, start
end
if start == stop and getchar(start) == char then
@@ -533,14 +528,14 @@ local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfou
local comp = start
setprev(start)
setnext(stop)
- local base = copy_no_components(start,copyinjection)
+ local base = copynocomponents(start,copyinjection)
if start == head then
head = base
end
resetinjection(base)
setchar(base,char)
setsubtype(base,ligatureglyph_code)
- set_components(base,comp)
+ setcomponents(base,comp)
setlink(prev,base,next)
if not discfound then
local deletemarks = not skiphash or hasmarks
@@ -554,7 +549,7 @@ local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfou
local char = getchar(start)
if not marks[char] then
baseindex = baseindex + componentindex
- componentindex = count_components(start,marks)
+ componentindex = countcomponents(start,marks)
-- we can be more clever here: "not deletemarks or (skiphash and not skiphash[char])"
-- and such:
elseif not deletemarks then
@@ -565,7 +560,7 @@ local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfou
end
local n = copy_node(start)
copyinjection(n,start) -- is this ok ? we position later anyway
- head, current = insert_node_after(head,current,n) -- unlikely that mark has components
+ head, current = insertnodeafter(head,current,n) -- unlikely that mark has components
elseif trace_marks then
logwarning("%s: delete ligature mark %s",pref(dataset,sequence),gref(char))
end
@@ -590,7 +585,7 @@ local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfou
break
end
end
- flush_components(components)
+ flushcomponents(components)
else
-- discfound ... forget about marks .. probably no scripts that hyphenate and have marks
local discprev, discnext = getboth(discfound)
@@ -602,8 +597,8 @@ local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfou
if not replace then
-- looks like we never come here as it's not okay
local prev = getprev(base)
- -- local comp = get_components(base) -- already set
- local copied = copy_only_glyphs(comp)
+ -- local comp = getcomponents(base) -- already set
+ local copied = copyonlyglyphs(comp)
if pre then
setlink(discprev,pre)
else
@@ -620,7 +615,7 @@ local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfou
setlink(prev,discfound,next)
setboth(base)
-- here components have a pointer so we can't free it!
- set_components(base,copied)
+ setcomponents(base,copied)
replace = base
if forcediscretionaries then
setdisc(discfound,pre,post,replace,discretionarydisc_code)
@@ -650,7 +645,7 @@ local function multiple_glyphs(head,start,multiple,skiphash,what,stop) -- what t
local n = copy_node(start) -- ignore components
resetinjection(n)
setchar(n,multiple[k])
- insert_node_after(head,start,n)
+ insertnodeafter(head,start,n)
start = n
end
if what == true then
@@ -661,7 +656,7 @@ local function multiple_glyphs(head,start,multiple,skiphash,what,stop) -- what t
local n = copy_node(start) -- ignore components
resetinjection(n)
setchar(n,m)
- insert_node_after(head,start,n)
+ insertnodeafter(head,start,n)
start = n
end
end
@@ -924,7 +919,7 @@ function handlers.gsub_ligature(head,start,dataset,sequence,ligature,rlmode,skip
end
function handlers.gpos_single(head,start,dataset,sequence,kerns,rlmode,skiphash,step,injection)
- if has_glyph_option(start,no_right_kern_code) then
+ if hasglyphoption(start,no_right_kern_code) then
return head, start, false
else
local startchar = getchar(start)
@@ -945,7 +940,7 @@ function handlers.gpos_single(head,start,dataset,sequence,kerns,rlmode,skiphash,
end
function handlers.gpos_pair(head,start,dataset,sequence,kerns,rlmode,skiphash,step,injection)
- if has_glyph_option(start,no_right_kern_code) then
+ if hasglyphoption(start,no_right_kern_code) then
return head, start, false
else
local snext = getnext(start)
@@ -1536,7 +1531,7 @@ end
function chainprocs.gpos_single(head,start,stop,dataset,sequence,currentlookup,rlmode,skiphash,chainindex)
-- we actually should check no_left_kern_code with next
- if not has_glyph_option(start,no_right_kern_code) then
+ if not hasglyphoption(start,no_right_kern_code) then
local mapping = currentlookup.mapping
if mapping == nil then
mapping = getmapping(dataset,sequence,currentlookup)
@@ -1566,7 +1561,7 @@ end
function chainprocs.gpos_pair(head,start,stop,dataset,sequence,currentlookup,rlmode,skiphash,chainindex) -- todo: injections ?
-- we actually should check no_left_kern_code with next
- if not has_glyph_option(start,no_right_kern_code) then
+ if not hasglyphoption(start,no_right_kern_code) then
local mapping = currentlookup.mapping
if mapping == nil then
mapping = getmapping(dataset,sequence,currentlookup)
@@ -1934,13 +1929,13 @@ local function checked(head)
if next then
setlink(kern,next)
end
- flush_node(current)
+ flushnode(current)
head = kern
current = next
else
local prev, next = getboth(current)
setlink(prev,kern,next)
- flush_node(current)
+ flushnode(current)
current = next
end
else
@@ -2480,115 +2475,247 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s
-- report("no hit in %a at %i of %i contexts",sequence.type,k,nofcontexts)
goto next
end
- local s = seq.n -- or #seq
- local l = ck[5] -- last current
- local current = start
- local last = start
-
+ local s = seq.n -- or #seq
if s == 1 then
- goto next
- end
+ -- bit weird case: why use a chain, but it is a hit
+ else
+ local l = ck[5] -- last current
+ local current = start
+ local last = start
- -- current match
+ -- current match
- if l > f then
- -- before/current/after | before/current | current/after
- local discfound -- = nil
- local n = f + 1
- last = startnext -- the second in current (first already matched)
- while n <= l do
- if postreplace and not last then
- last = getnext(sweepnode)
- sweeptype = nil
- end
- if last then
- local char, id = ischar(last,currentfont)
- if char then
- if skiphash and skiphash[char] then
- skipped = true
- if trace_skips then
- show_skip(dataset,sequence,char,ck,classes[char])
- end
- last = getnext(last)
- elseif seq[n][char] then
- if n < l then
+ if l > f then
+ -- before/current/after | before/current | current/after
+ local discfound -- = nil
+ local n = f + 1
+ last = startnext -- the second in current (first already matched)
+ while n <= l do
+ if postreplace and not last then
+ last = getnext(sweepnode)
+ sweeptype = nil
+ end
+ if last then
+ local char, id = ischar(last,currentfont)
+ if char then
+ if skiphash and skiphash[char] then
+ skipped = true
+ if trace_skips then
+ show_skip(dataset,sequence,char,ck,classes[char])
+ end
last = getnext(last)
- end
- n = n + 1
- elseif discfound then
- notmatchreplace[discfound] = true
- if notmatchpre[discfound] then
- goto next
+ elseif seq[n][char] then
+ if n < l then
+ last = getnext(last)
+ end
+ n = n + 1
+ elseif discfound then
+ notmatchreplace[discfound] = true
+ if notmatchpre[discfound] then
+ goto next
+ else
+ break
+ end
else
- break
- end
- else
- goto next
- end
- elseif char == false then
- if discfound then
- notmatchreplace[discfound] = true
- if notmatchpre[discfound] then
goto next
+ end
+ elseif char == false then
+ if discfound then
+ notmatchreplace[discfound] = true
+ if notmatchpre[discfound] then
+ goto next
+ else
+ break
+ end
else
- break
+ goto next
end
- else
- goto next
- end
- elseif id == disc_code then
- -- elseif id == disc_code and (not discs or discs[last]) then
- discseen = true
- discfound = last
- notmatchpre[last] = nil
- notmatchpost[last] = true
- notmatchreplace[last] = nil
- local pre, post, replace = getdisc(last)
- if pre then
- local n = n
- while pre do
- if seq[n][getchar(pre)] then
- n = n + 1
- if n > l then
+ elseif id == disc_code then
+ -- elseif id == disc_code and (not discs or discs[last]) then
+ discseen = true
+ discfound = last
+ notmatchpre[last] = nil
+ notmatchpost[last] = true
+ notmatchreplace[last] = nil
+ local pre, post, replace = getdisc(last)
+ if pre then
+ local n = n
+ while pre do
+ if seq[n][getchar(pre)] then
+ n = n + 1
+ if n > l then
+ break
+ end
+ pre = getnext(pre)
+ else
+ notmatchpre[last] = true
break
end
- pre = getnext(pre)
- else
+ end
+ if n <= l then
notmatchpre[last] = true
- break
end
- end
- if n <= l then
+ else
notmatchpre[last] = true
end
+ if replace then
+ -- so far we never entered this branch
+ while replace do
+ if seq[n][getchar(replace)] then
+ n = n + 1
+ if n > l then
+ break
+ end
+ replace = getnext(replace)
+ else
+ notmatchreplace[last] = true
+ if notmatchpre[last] then
+ goto next
+ else
+ break
+ end
+ end
+ end
+ -- why here again
+ if notmatchpre[last] then
+ goto next
+ end
+ end
+ -- maybe only if match
+ last = getnext(last)
else
- notmatchpre[last] = true
+ goto next
end
- if replace then
- -- so far we never entered this branch
- while replace do
- if seq[n][getchar(replace)] then
- n = n + 1
- if n > l then
- break
+ else
+ goto next
+ end
+ end
+ end
+
+ -- before
+
+ if f > 1 then
+ if startprev then
+ local prev = startprev
+ if prereplace and prev == checkdisc then
+ prev = getprev(sweepnode)
+ end
+ if prev then
+ local discfound -- = nil
+ local n = f - 1
+ while n >= 1 do
+ if prev then
+ local char, id = ischar(prev,currentfont)
+ if char then
+ if skiphash and skiphash[char] then
+ skipped = true
+ if trace_skips then
+ show_skip(dataset,sequence,char,ck,classes[char])
+ end
+ prev = getprev(prev)
+ elseif seq[n][char] then
+ if n > 1 then
+ prev = getprev(prev)
+ end
+ n = n - 1
+ elseif discfound then
+ notmatchreplace[discfound] = true
+ if notmatchpost[discfound] then
+ goto next
+ else
+ break
+ end
+ else
+ goto next
end
- replace = getnext(replace)
- else
- notmatchreplace[last] = true
- if notmatchpre[last] then
+ elseif char == false then
+ if discfound then
+ notmatchreplace[discfound] = true
+ if notmatchpost[discfound] then
+ goto next
+ end
+ else
goto next
+ end
+ break
+ elseif id == disc_code then
+ -- elseif id == disc_code and (not discs or discs[prev]) then
+ -- the special case: f i where i becomes dottless i ..
+ discseen = true
+ discfound = prev
+ notmatchpre[prev] = true
+ notmatchpost[prev] = nil
+ notmatchreplace[prev] = nil
+ local pre, post, replace, pretail, posttail, replacetail = getdisc(prev,true)
+ -- weird test: needs checking
+ if pre ~= start and post ~= start and replace ~= start then
+ if post then
+ local n = n
+ while posttail do
+ if seq[n][getchar(posttail)] then
+ n = n - 1
+ if posttail == post or n < 1 then
+ break
+ else
+ posttail = getprev(posttail)
+ end
+ else
+ notmatchpost[prev] = true
+ break
+ end
+ end
+ if n >= 1 then
+ notmatchpost[prev] = true
+ end
+ else
+ notmatchpost[prev] = true
+ end
+ if replace then
+ -- we seldom enter this branch (e.g. on brill efficient)
+ while replacetail do
+ if seq[n][getchar(replacetail)] then
+ n = n - 1
+ if replacetail == replace or n < 1 then
+ break
+ else
+ replacetail = getprev(replacetail)
+ end
+ else
+ notmatchreplace[prev] = true
+ if notmatchpost[prev] then
+ goto next
+ else
+ break
+ end
+ end
+ end
+ else
+ -- notmatchreplace[prev] = true -- not according to Kai
+ end
+ end
+ prev = getprev(prev)
+ -- elseif id == glue_code and seq[n][32] and isspace(prev,threshold,id) then
+ -- elseif seq[n][32] and spaces[prev] then
+ -- n = n - 1
+ -- prev = getprev(prev)
+ elseif id == glue_code then
+ local sn = seq[n]
+ if (sn[32] and spaces[prev]) or sn[0xFFFC] then
+ n = n - 1
+ prev = getprev(prev)
else
- break
+ goto next
end
+ elseif seq[n][0xFFFC] then
+ n = n - 1
+ prev = getprev(prev)
+ else
+ goto next
end
- end
- -- why here again
- if notmatchpre[last] then
+ else
goto next
end
end
- -- maybe only if match
- last = getnext(last)
else
goto next
end
@@ -2596,37 +2723,35 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s
goto next
end
end
- end
- -- before
+ -- after
- if f > 1 then
- if startprev then
- local prev = startprev
- if prereplace and prev == checkdisc then
- prev = getprev(sweepnode)
+ if s > l then
+ local current = last and getnext(last)
+ if not current and postreplace then
+ current = getnext(sweepnode)
end
- if prev then
+ if current then
local discfound -- = nil
- local n = f - 1
- while n >= 1 do
- if prev then
- local char, id = ischar(prev,currentfont)
+ local n = l + 1
+ while n <= s do
+ if current then
+ local char, id = ischar(current,currentfont)
if char then
if skiphash and skiphash[char] then
skipped = true
if trace_skips then
show_skip(dataset,sequence,char,ck,classes[char])
end
- prev = getprev(prev)
+ current = getnext(current) -- was absent
elseif seq[n][char] then
- if n > 1 then
- prev = getprev(prev)
+ if n < s then -- new test
+ current = getnext(current) -- was absent
end
- n = n - 1
+ n = n + 1
elseif discfound then
notmatchreplace[discfound] = true
- if notmatchpost[discfound] then
+ if notmatchpre[discfound] then
goto next
else
break
@@ -2637,217 +2762,87 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s
elseif char == false then
if discfound then
notmatchreplace[discfound] = true
- if notmatchpost[discfound] then
+ if notmatchpre[discfound] then
goto next
+ else
+ break
end
else
goto next
end
- break
elseif id == disc_code then
- -- elseif id == disc_code and (not discs or discs[prev]) then
- -- the special case: f i where i becomes dottless i ..
- discseen = true
- discfound = prev
- notmatchpre[prev] = true
- notmatchpost[prev] = nil
- notmatchreplace[prev] = nil
- local pre, post, replace, pretail, posttail, replacetail = getdisc(prev,true)
- -- weird test: needs checking
- if pre ~= start and post ~= start and replace ~= start then
- if post then
- local n = n
- while posttail do
- if seq[n][getchar(posttail)] then
- n = n - 1
- if posttail == post or n < 1 then
- break
- else
- posttail = getprev(posttail)
- end
- else
- notmatchpost[prev] = true
+ -- elseif id == disc_code and (not discs or discs[current]) then
+ discseen = true
+ discfound = current
+ notmatchpre[current] = nil
+ notmatchpost[current] = true
+ notmatchreplace[current] = nil
+ local pre, post, replace = getdisc(current)
+ if pre then
+ local n = n
+ while pre do
+ if seq[n][getchar(pre)] then
+ n = n + 1
+ if n > s then
break
+ else
+ pre = getnext(pre)
end
+ else
+ notmatchpre[current] = true
+ break
end
- if n >= 1 then
- notmatchpost[prev] = true
- end
- else
- notmatchpost[prev] = true
end
- if replace then
- -- we seldom enter this branch (e.g. on brill efficient)
- while replacetail do
- if seq[n][getchar(replacetail)] then
- n = n - 1
- if replacetail == replace or n < 1 then
- break
- else
- replacetail = getprev(replacetail)
- end
+ if n <= s then
+ notmatchpre[current] = true
+ end
+ else
+ notmatchpre[current] = true
+ end
+ if replace then
+ -- so far we never entered this branch
+ while replace do
+ if seq[n][getchar(replace)] then
+ n = n + 1
+ if n > s then
+ break
else
- notmatchreplace[prev] = true
- if notmatchpost[prev] then
- goto next
- else
- break
- end
+ replace = getnext(replace)
+ end
+ else
+ notmatchreplace[current] = true
+ if notmatchpre[current] then
+ goto next
+ else
+ break
end
end
- else
- -- notmatchreplace[prev] = true -- not according to Kai
end
+ else
+ -- notmatchreplace[current] = true -- not according to Kai
end
- prev = getprev(prev)
- -- elseif id == glue_code and seq[n][32] and isspace(prev,threshold,id) then
- -- elseif seq[n][32] and spaces[prev] then
- -- n = n - 1
- -- prev = getprev(prev)
+ current = getnext(current)
elseif id == glue_code then
local sn = seq[n]
- if (sn[32] and spaces[prev]) or sn[0xFFFC] then
- n = n - 1
- prev = getprev(prev)
+ if (sn[32] and spaces[current]) or sn[0xFFFC] then
+ n = n + 1
+ current = getnext(current)
else
goto next
end
elseif seq[n][0xFFFC] then
- n = n - 1
- prev = getprev(prev)
- else
- goto next
- end
- else
- goto next
- end
- end
- else
- goto next
- end
- else
- goto next
- end
- end
-
- -- after
-
- if s > l then
- local current = last and getnext(last)
- if not current and postreplace then
- current = getnext(sweepnode)
- end
- if current then
- local discfound -- = nil
- local n = l + 1
- while n <= s do
- if current then
- local char, id = ischar(current,currentfont)
- if char then
- if skiphash and skiphash[char] then
- skipped = true
- if trace_skips then
- show_skip(dataset,sequence,char,ck,classes[char])
- end
- current = getnext(current) -- was absent
- elseif seq[n][char] then
- if n < s then -- new test
- current = getnext(current) -- was absent
- end
- n = n + 1
- elseif discfound then
- notmatchreplace[discfound] = true
- if notmatchpre[discfound] then
- goto next
- else
- break
- end
- else
- goto next
- end
- elseif char == false then
- if discfound then
- notmatchreplace[discfound] = true
- if notmatchpre[discfound] then
- goto next
- else
- break
- end
- else
- goto next
- end
- elseif id == disc_code then
- -- elseif id == disc_code and (not discs or discs[current]) then
- discseen = true
- discfound = current
- notmatchpre[current] = nil
- notmatchpost[current] = true
- notmatchreplace[current] = nil
- local pre, post, replace = getdisc(current)
- if pre then
- local n = n
- while pre do
- if seq[n][getchar(pre)] then
- n = n + 1
- if n > s then
- break
- else
- pre = getnext(pre)
- end
- else
- notmatchpre[current] = true
- break
- end
- end
- if n <= s then
- notmatchpre[current] = true
- end
- else
- notmatchpre[current] = true
- end
- if replace then
- -- so far we never entered this branch
- while replace do
- if seq[n][getchar(replace)] then
- n = n + 1
- if n > s then
- break
- else
- replace = getnext(replace)
- end
- else
- notmatchreplace[current] = true
- if notmatchpre[current] then
- goto next
- else
- break
- end
- end
- end
- else
- -- notmatchreplace[current] = true -- not according to Kai
- end
- current = getnext(current)
- elseif id == glue_code then
- local sn = seq[n]
- if (sn[32] and spaces[current]) or sn[0xFFFC] then
n = n + 1
current = getnext(current)
else
goto next
end
- elseif seq[n][0xFFFC] then
- n = n + 1
- current = getnext(current)
else
goto next
end
- else
- goto next
end
+ else
+ goto next
end
- else
- goto next
end
end
@@ -3795,7 +3790,7 @@ do
local initialrl = 0
- if getid(head) == par_code and start_of_par(head) then
+ if getid(head) == par_code and startofpar(head) then
initialrl = pardirstate(head)
elseif direction == righttoleft_code then
initialrl = -1
@@ -3945,11 +3940,11 @@ do
start = getnext(start)
end
elseif id == math_code then
- start = getnext(end_of_math(start))
+ start = getnext(endofmath(start))
elseif id == dir_code then
topstack, rlmode = txtdirstate(start,dirstack,topstack,rlparmode)
start = getnext(start)
- -- elseif id == par_code and start_of_par(start) then
+ -- elseif id == par_code and startofpar(start) then
-- rlparmode, rlmode = pardirstate(start)
-- start = getnext(start)
else
@@ -4029,11 +4024,11 @@ do
start = getnext(start)
end
elseif id == math_code then
- start = getnext(end_of_math(start))
+ start = getnext(endofmath(start))
elseif id == dir_code then
topstack, rlmode = txtdirstate(start,dirstack,topstack,rlparmode)
start = getnext(start)
- -- elseif id == par_code and start_of_par(start) then
+ -- elseif id == par_code and startofpar(start) then
-- rlparmode, rlmode = pardirstate(start)
-- start = getnext(start)
else
@@ -4140,11 +4135,11 @@ do
-- a different font|state or glue (happens often)
start = getnext(start)
elseif id == math_code then
- start = getnext(end_of_math(start))
+ start = getnext(endofmath(start))
elseif id == dir_code then
topstack, rlmode = txtdirstate(start,dirstack,topstack,rlparmode)
start = getnext(start)
- -- elseif id == par_code and start_of_par(start) then
+ -- elseif id == par_code and startofpar(start) then
-- rlparmode, rlmode = pardirstate(start)
-- start = getnext(start)
else
@@ -4161,49 +4156,60 @@ end
-- so far
-local plugins = { }
-otf.plugins = plugins
+do
-local report = logs.reporter("fonts")
+ local plugins = { }
+ otf.plugins = plugins
-function otf.registerplugin(name,f)
- if type(name) == "string" and type(f) == "function" then
- plugins[name] = { name, f }
- report()
- report("plugin %a has been loaded, please be aware of possible side effects",name)
- report()
- if logs.pushtarget then
- logs.pushtarget("log")
- end
- report("Plugins are not officially supported unless stated otherwise. This is because")
- report("they bypass the regular font handling and therefore some features in ConTeXt")
- report("(especially those related to fonts) might not work as expected or might not work")
- report("at all. Some plugins are for testing and development only and might change")
- report("whenever we feel the need for it.")
- report()
- if logs.poptarget then
- logs.poptarget()
+ local report = logs.reporter("fonts")
+ local warned = false
+ local okay = { text = true }
+
+ function otf.registerplugin(name,f)
+ if type(name) == "string" and type(f) == "function" then
+ plugins[name] = { name, f }
+ if okay[name] then
+ -- no warning (e.g. the diagnostic text plugin)
+ else
+ report("plugin %a has been loaded, please be aware of possible side effects",name)
+ if not warned then
+ if logs.pushtarget then
+ logs.pushtarget("log")
+ end
+ report("Plugins are not officially supported unless stated otherwise. This is because")
+ report("they bypass the regular font handling and therefore some features in ConTeXt")
+ report("(especially those related to fonts) might not work as expected or might not work")
+ report("at all. Some plugins are for testing and development only and might change")
+ report("whenever we feel the need for it.")
+ report()
+ if logs.poptarget then
+ logs.poptarget()
+ end
+ warned = true
+ end
+ end
end
end
-end
-function otf.plugininitializer(tfmdata,value)
- if type(value) == "string" then
- tfmdata.shared.plugin = plugins[value]
+ function otf.plugininitializer(tfmdata,value)
+ if type(value) == "string" then
+ tfmdata.shared.plugin = plugins[value]
+ end
end
-end
-function otf.pluginprocessor(head,font,attr,direction) -- n
- local s = fontdata[font].shared
- local p = s and s.plugin
- if p then
- if trace_plugins then
- report_process("applying plugin %a",p[1])
+ function otf.pluginprocessor(head,font,dynamic,direction) -- n
+ local s = fontdata[font].shared
+ local p = s and s.plugin
+ if p then
+ if trace_plugins then
+ report_process("applying plugin %a",p[1])
+ end
+ return p[2](head,font,dynamic,direction)
+ else
+ return head, false
end
- return p[2](head,font,attr,direction)
- else
- return head, false
end
+
end
function otf.featuresinitializer(tfmdata,value)
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-ott.lua b/macros/luatex/generic/luaotfload/fontloader-font-ott.lua
index f4d7e05a13..aa1defd6a1 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-ott.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-ott.lua
@@ -821,13 +821,13 @@ local features = allocate {
["dist"] = "distances",
["dlig"] = "discretionary ligatures",
["dnom"] = "denominators",
- ["dtls"] = "dotless forms", -- math
+ ["dtls"] = "dotless forms", -- math
["expt"] = "expert forms",
["falt"] = "final glyph alternates",
["fin2"] = "terminal forms #2",
["fin3"] = "terminal forms #3",
["fina"] = "terminal forms",
- ["flac"] = "flattened accents over capitals", -- math
+ ["flac"] = "flattened accents over capitals", -- math
["frac"] = "fractions",
["fwid"] = "full width",
["half"] = "half forms",
@@ -836,7 +836,7 @@ local features = allocate {
["hist"] = "historical forms",
["hkna"] = "horizontal kana alternates",
["hlig"] = "historical ligatures",
- ["hngl"] = "hangul",
+ ["hngl"] = "hangul", -- depricated
["hojo"] = "hojo kanji forms",
["hwid"] = "half width",
["init"] = "initial forms",
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-oup.lua b/macros/luatex/generic/luaotfload/fontloader-font-oup.lua
index 2c49bc993f..c93ad47438 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-oup.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-oup.lua
@@ -2564,6 +2564,34 @@ end
-- Because we pack we cannot mix tables and numbers so we can only turn a whole set in
-- format kern instead of pair.
+local strip_pairs = true
+
+local compact_pairs = true
+local compact_singles = true
+
+local merge_pairs = true
+local merge_singles = true
+local merge_substitutions = true
+local merge_alternates = true
+local merge_multiples = true
+local merge_ligatures = true
+local merge_cursives = true
+local merge_marks = true
+
+directives.register("otf.strip.pairs", function(v) strip_pairs = v end)
+
+directives.register("otf.compact.pairs", function(v) compact_pairs = v end)
+directives.register("otf.compact.singles", function(v) compact_singles = v end)
+
+directives.register("otf.merge.pairs", function(v) merge_pairs = v end)
+directives.register("otf.merge.singles", function(v) merge_singles = v end)
+directives.register("otf.merge.substitutions", function(v) merge_substitutions = v end)
+directives.register("otf.merge.alternates", function(v) merge_alternates = v end)
+directives.register("otf.merge.multiples", function(v) merge_multiples = v end)
+directives.register("otf.merge.ligatures", function(v) merge_ligatures = v end)
+directives.register("otf.merge.cursives", function(v) merge_cursives = v end)
+directives.register("otf.merge.marks", function(v) merge_marks = v end)
+
local function checkpairs(lookup)
local steps = lookup.steps
local nofsteps = lookup.nofsteps
@@ -2581,6 +2609,7 @@ local function checkpairs(lookup)
if v == true then
-- all zero
elseif v and (v[1] ~= 0 or v[2] ~= 0 or v[4] ~= 0) then
+ -- complex kerns
return false
end
end
@@ -2617,29 +2646,39 @@ local function checkpairs(lookup)
return kerned
end
-local compact_pairs = true
-local compact_singles = true
-
-local merge_pairs = true
-local merge_singles = true
-local merge_substitutions = true
-local merge_alternates = true
-local merge_multiples = true
-local merge_ligatures = true
-local merge_cursives = true
-local merge_marks = true
-
-directives.register("otf.compact.pairs", function(v) compact_pairs = v end)
-directives.register("otf.compact.singles", function(v) compact_singles = v end)
+local function strippairs(lookup)
+ local steps = lookup.steps
+ local nofsteps = lookup.nofsteps
+ local stripped = 0
-directives.register("otf.merge.pairs", function(v) merge_pairs = v end)
-directives.register("otf.merge.singles", function(v) merge_singles = v end)
-directives.register("otf.merge.substitutions", function(v) merge_substitutions = v end)
-directives.register("otf.merge.alternates", function(v) merge_alternates = v end)
-directives.register("otf.merge.multiples", function(v) merge_multiples = v end)
-directives.register("otf.merge.ligatures", function(v) merge_ligatures = v end)
-directives.register("otf.merge.cursives", function(v) merge_cursives = v end)
-directives.register("otf.merge.marks", function(v) merge_marks = v end)
+ for i=1,nofsteps do
+ local step = steps[i]
+ if step.format == "pair" then
+ local coverage = step.coverage
+ for g1, d1 in next, coverage do
+ for g2, d2 in next, d1 do
+ if d2[2] then
+ --- true or { a, b, c, d }
+ -- else
+ -- local v = d2[1]
+ -- if v == true then
+ -- d1[g2] = nil
+ -- stripped = stripped + 1
+ -- elseif v and (v[1] == 0 and v[2] == 0 and v[4] == 0) then -- vkrn can have v[3] ~= 0
+ -- d1[g2] = nil
+ -- stripped = stripped + 1
+ -- end
+ -- end
+ elseif d2[1] == true then
+ d1[g2] = nil
+ stripped = stripped + 1
+ end
+ end
+ end
+ end
+ end
+ return stripped
+end
function readers.compact(data)
if not data or data.compacted then
@@ -2648,6 +2687,7 @@ function readers.compact(data)
data.compacted = true
end
local resources = data.resources
+ local stripped = 0
local merged = 0
local kerned = 0
local allsteps = 0
@@ -2678,6 +2718,7 @@ function readers.compact(data)
merged = merged + mergesteps_4(lookup)
end
elseif kind == "gpos_single" then
+ -- maybe also strip zeros here
if merge_singles then
merged = merged + mergesteps_1(lookup,true)
end
@@ -2685,6 +2726,9 @@ function readers.compact(data)
kerned = kerned + checkkerns(lookup)
end
elseif kind == "gpos_pair" then
+ if strip_pairs then
+ stripped = stripped + strippairs(lookup) -- noto cjk from 24M -> 8 M
+ end
if merge_pairs then
merged = merged + mergesteps_2(lookup)
end
@@ -2726,6 +2770,9 @@ function readers.compact(data)
compact("sequences")
compact("sublookups")
if trace_optimizations then
+ if stripped > 0 then
+ report_optimizations("%i zero positions stripped before merging",stripped)
+ end
if merged > 0 then
report_optimizations("%i steps of %i removed due to merging",merged,allsteps)
end
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-shp.lua b/macros/luatex/generic/luaotfload/fontloader-font-shp.lua
index 78e8597b93..ecf0c94180 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-shp.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-shp.lua
@@ -17,7 +17,7 @@ local pfb = fonts.handlers.pfb
local hashes = fonts.hashes
local identifiers = hashes.identifiers
-local version = 0.009
+local version = 0.010
local shapescache = containers.define("fonts", "shapes", version, true)
local streamscache = containers.define("fonts", "streams", version, true)
diff --git a/macros/luatex/generic/luaotfload/fontloader-fonts-gbn.lua b/macros/luatex/generic/luaotfload/fontloader-fonts-gbn.lua
index 53be41c7ed..d690ee567d 100644
--- a/macros/luatex/generic/luaotfload/fontloader-fonts-gbn.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-fonts-gbn.lua
@@ -17,27 +17,27 @@ local next = next
local fonts = fonts
local nodes = nodes
-local nuts = nodes.nuts -- context abstraction of direct nodes
+local nuts = nodes.nuts -- context abstraction of direct nodes
-local traverse_id = nuts.traverse_id
-local flush_node = nuts.flush_node
+local traverseid = nuts.traverseid
+local flushnode = nuts.flushnode
-local glyph_code = nodes.nodecodes.glyph
-local disc_code = nodes.nodecodes.disc
+local glyph_code = nodes.nodecodes.glyph
+local disc_code = nodes.nodecodes.disc
-local tonode = nuts.tonode
-local tonut = nuts.tonut
+local tonode = nuts.tonode
+local tonut = nuts.tonut
-local getfont = nuts.getfont
-local getchar = nuts.getchar
-local getid = nuts.getid
-local getboth = nuts.getboth
-local getprev = nuts.getprev
-local getnext = nuts.getnext
-local getdisc = nuts.getdisc
-local setchar = nuts.setchar
-local setlink = nuts.setlink
-local setprev = nuts.setprev
+local getfont = nuts.getfont
+local getchar = nuts.getchar
+local getid = nuts.getid
+local getboth = nuts.getboth
+local getprev = nuts.getprev
+local getnext = nuts.getnext
+local getdisc = nuts.getdisc
+local setchar = nuts.setchar
+local setlink = nuts.setlink
+local setprev = nuts.setprev
-- from now on we apply ligaturing and kerning here because it might interfere with complex
-- opentype discretionary handling where the base ligature pass expect some weird extra
@@ -99,7 +99,7 @@ local function nodepass(head,groupcode,size,packtype,direction)
local variants = nil
local redundant = nil
local nofused = 0
- for n in traverse_id(glyph_code,head) do
+ for n in traverseid(glyph_code,head) do
local font = getfont(n)
if font ~= prevfont then
if basefont then
@@ -178,13 +178,13 @@ local function nodepass(head,groupcode,size,packtype,direction)
end
end
end
- flush_node(r)
+ flushnode(r)
end
end
- for d in traverse_id(disc_code,head) do
+ for d in traverseid(disc_code,head) do
local _, _, r = getdisc(d)
if r then
- for n in traverse_id(glyph_code,r) do
+ for n in traverseid(glyph_code,r) do
local font = getfont(n)
if font ~= prevfont then
prevfont = font
@@ -254,7 +254,7 @@ local function basepass(head)
return head
end
-local protectpass = node.direct.protect_glyphs
+local protectpass = node.direct.protectglyphs or node.direct.protect_glyphs
local injectpass = nodes.injections.handler
-- This is the only official public interface and this one can be hooked into a callback (chain) and
diff --git a/macros/luatex/generic/luaotfload/fontloader-l-lpeg.lua b/macros/luatex/generic/luaotfload/fontloader-l-lpeg.lua
index b0868ba488..50306e4ab6 100644
--- a/macros/luatex/generic/luaotfload/fontloader-l-lpeg.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-l-lpeg.lua
@@ -507,7 +507,7 @@ end
-- todo: cache when string
-function lpeg.replacer(one,two,makefunction,isutf) -- in principle we should sort the keys
+function lpeg.replacer(one,two,makefunction,isutf) -- in principle we should sort the keys but we have a better one anyway
local pattern
local u = isutf and utf8char or 1
if type(one) == "table" then
diff --git a/macros/luatex/generic/luaotfload/fontloader-reference.lua b/macros/luatex/generic/luaotfload/fontloader-reference.lua
index dde25ac75d..59cbd9ef8c 100644
--- a/macros/luatex/generic/luaotfload/fontloader-reference.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-reference.lua
@@ -1,6 +1,6 @@
-- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua
-- parent file : c:/data/develop/context/sources/luatex-fonts.lua
--- merge date : 2021-01-07 16:56
+-- merge date : 2021-05-20 15:57
do -- begin closure to overcome local limits and interference
@@ -3158,25 +3158,59 @@ local function points(n)
n=n*ptf
if n%1==0 then
return format("%ipt",n)
+ else
+ return lpegmatch(stripzeros,format("%.5fpt",n))
+ end
+end
+local function nupoints(n)
+ if n==0 then
+ return "0"
+ end
+ n=tonumber(n)
+ if not n or n==0 then
+ return "0"
+ end
+ n=n*ptf
+ if n%1==0 then
+ return format("%i",n)
+ else
+ return format("%.5f",n)
end
- return lpegmatch(stripzeros,format("%.5fpt",n))
end
local function basepoints(n)
if n==0 then
- return "0pt"
+ return "0bp"
end
n=tonumber(n)
if not n or n==0 then
- return "0pt"
+ return "0bp"
end
n=n*bpf
if n%1==0 then
return format("%ibp",n)
+ else
+ return lpegmatch(stripzeros,format("%.5fbp",n))
+ end
+end
+local function nubasepoints(n)
+ if n==0 then
+ return "0"
+ end
+ n=tonumber(n)
+ if not n or n==0 then
+ return "0"
+ end
+ n=n*bpf
+ if n%1==0 then
+ return format("%i",n)
+ else
+ return format("%.5f",n)
end
- return lpegmatch(stripzeros,format("%.5fbp",n))
end
number.points=points
+number.nupoints=nupoints
number.basepoints=basepoints
+number.nubasepoints=nubasepoints
local rubish=spaceortab^0*newline
local anyrubish=spaceortab+newline
local stripped=(spaceortab^1/"")*newline
@@ -3454,7 +3488,9 @@ local environment={
concat=table.concat,
signed=number.signed,
points=number.points,
+ nupoints=number.nupoints,
basepoints=number.basepoints,
+ nubasepoints=number.nubasepoints,
utfchar=utf.char,
utfbyte=utf.byte,
lpegmatch=lpeg.match,
@@ -3649,10 +3685,18 @@ local format_p=function()
n=n+1
return format("points(a%s)",n)
end
+local format_P=function()
+ n=n+1
+ return format("nupoints(a%s)",n)
+end
local format_b=function()
n=n+1
return format("basepoints(a%s)",n)
end
+local format_B=function()
+ n=n+1
+ return format("nubasepoints(a%s)",n)
+end
local format_t=function(f)
n=n+1
if f and f~="" then
@@ -3805,7 +3849,7 @@ local builder=Cs { "start",
+V("n")
+V("N")
+V("k")
-+V("r")+V("h")+V("H")+V("u")+V("U")+V("p")+V("b")+V("t")+V("T")+V("l")+V("L")+V("I")+V("w")
++V("r")+V("h")+V("H")+V("u")+V("U")+V("p")+V("P")+V("b")+V("B")+V("t")+V("T")+V("l")+V("L")+V("I")+V("w")
+V("W")
+V("a")
+V("A")
@@ -3843,7 +3887,9 @@ local builder=Cs { "start",
["u"]=(prefix_any*P("u"))/format_u,
["U"]=(prefix_any*P("U"))/format_U,
["p"]=(prefix_any*P("p"))/format_p,
+ ["P"]=(prefix_any*P("P"))/format_P,
["b"]=(prefix_any*P("b"))/format_b,
+ ["B"]=(prefix_any*P("B"))/format_B,
["t"]=(prefix_tab*P("t"))/format_t,
["T"]=(prefix_tab*P("T"))/format_T,
["l"]=(prefix_any*P("l"))/format_l,
@@ -4915,8 +4961,8 @@ nodes.nodecodes=nodecodes
nodes.glyphcodes=glyphcodes
nodes.disccodes=disccodes
nodes.dirvalues={ lefttoright=0,righttoleft=1 }
-nodes.handlers.protectglyphs=node.protect_glyphs
-nodes.handlers.unprotectglyphs=node.unprotect_glyphs
+nodes.handlers.protectglyphs=node.protectglyphs or node.protect_glyphs
+nodes.handlers.unprotectglyphs=node.unprotectglyphs or node.unprotect_glyphs
local direct=node.direct
local nuts={}
nodes.nuts=nuts
@@ -4960,31 +5006,33 @@ nuts.setprev=direct.setprev
nuts.setsplit=direct.setsplit
nuts.setsubtype=direct.setsubtype
nuts.setwidth=direct.setwidth
-nuts.getglyphdata=nuts.getattr
-nuts.setglyphdata=nuts.setattr
-nuts.ischar=direct.is_char
-nuts.isglyph=direct.is_glyph
+nuts.getglyphdata=nuts.getattribute or nuts.getattr
+nuts.setglyphdata=nuts.setattribute or nuts.setattr
+nuts.ischar=direct.ischar or direct.is_char
+nuts.isglyph=direct.isglyph or direct.is_glyph
nuts.copy=direct.copy
-nuts.copy_list=direct.copy_list
-nuts.copy_node=direct.copy
-nuts.end_of_math=direct.end_of_math
+nuts.copynode=direct.copy
+nuts.copylist=direct.copylist or direct.copy_list
+nuts.endofmath=direct.endofmath or direct.end_of_math
nuts.flush=direct.flush
-nuts.flush_list=direct.flush_list
-nuts.flush_node=direct.flush_node
+nuts.flushlist=direct.flushlist or direct.flush_list
+nuts.flushnode=direct.flushnode or direct.flush_node
nuts.free=direct.free
-nuts.insert_after=direct.insert_after
-nuts.insert_before=direct.insert_before
-nuts.is_node=direct.is_node
+nuts.insertafter=direct.insertafter or direct.insert_after
+nuts.insertbefore=direct.insertbefore or direct.insert_before
+nuts.isnode=direct.isnode or direct.is_node
+nuts.isdirect=direct.isdirect or direct.is_direct
+nuts.isnut=direct.isdirect or direct.is_direct
nuts.kerning=direct.kerning
nuts.ligaturing=direct.ligaturing
nuts.new=direct.new
nuts.remove=direct.remove
nuts.tail=direct.tail
nuts.traverse=direct.traverse
-nuts.traverse_char=direct.traverse_char
-nuts.traverse_glyph=direct.traverse_glyph
-nuts.traverse_id=direct.traverse_id
-local propertydata=direct.get_properties_table()
+nuts.traversechar=direct.traversechar or direct.traverse_char
+nuts.traverseglyph=direct.traverseglyph or direct.traverse_glyph
+nuts.traverseid=direct.traverseid or direct.traverse_id
+local propertydata=(direct.getpropertiestable or direct.get_properties_table)()
nodes.properties={ data=propertydata }
if direct.set_properties_mode then
direct.set_properties_mode(true,true)
@@ -5017,10 +5065,10 @@ local setfield=nuts.setfield
local getsubtype=nuts.getsubtype
local isglyph=nuts.isglyph
local find_tail=nuts.tail
-local flush_list=nuts.flush_list
-local flush_node=nuts.flush_node
-local traverse_id=nuts.traverse_id
-local copy_node=nuts.copy_node
+local flushlist=nuts.flushlist
+local flushnode=nuts.flushnode
+local traverseid=nuts.traverseid
+local copynode=nuts.copynode
local glyph_code=nodes.nodecodes.glyph
local ligature_code=nodes.glyphcodes.ligature
do
@@ -5033,31 +5081,31 @@ do
end
end
do
- local get_components=node.direct.getcomponents
- local set_components=node.direct.setcomponents
- local function copy_no_components(g,copyinjection)
- local components=get_components(g)
+ local getcomponents=node.direct.getcomponents
+ local setcomponents=node.direct.setcomponents
+ local function copynocomponents(g,copyinjection)
+ local components=getcomponents(g)
if components then
- set_components(g)
- local n=copy_node(g)
+ setcomponents(g)
+ local n=copynode(g)
if copyinjection then
copyinjection(n,g)
end
- set_components(g,components)
+ setcomponents(g,components)
return n
else
- local n=copy_node(g)
+ local n=copynode(g)
if copyinjection then
copyinjection(n,g)
end
return n
end
end
- local function copy_only_glyphs(current)
+ local function copyonlyglyphs(current)
local head=nil
local previous=nil
- for n in traverse_id(glyph_code,current) do
- n=copy_node(n)
+ for n in traverseid(glyph_code,current) do
+ n=copynode(n)
if head then
setlink(previous,n)
else
@@ -5067,14 +5115,14 @@ do
end
return head
end
- local function count_components(start,marks)
+ local function countcomponents(start,marks)
local char=isglyph(start)
if char then
if getsubtype(start)==ligature_code then
local n=0
- local components=get_components(start)
+ local components=getcomponents(start)
while components do
- n=n+count_components(components,marks)
+ n=n+countcomponents(components,marks)
components=getnext(components)
end
return n
@@ -5084,24 +5132,26 @@ do
end
return 0
end
- local function flush_components()
+ local function flushcomponents()
end
- nuts.set_components=set_components
- nuts.get_components=get_components
- nuts.copy_only_glyphs=copy_only_glyphs
- nuts.copy_no_components=copy_no_components
- nuts.count_components=count_components
- nuts.flush_components=flush_components
+ nuts.components={
+ set=setcomponents,
+ get=getcomponents,
+ copyonlyglyphs=copyonlyglyphs,
+ copynocomponents=copynocomponents,
+ count=countcomponents,
+ flush=flushcomponents,
+ }
end
-nuts.uses_font=direct.uses_font
+nuts.usesfont=direct.usesfont or direct.uses_font
do
local dummy=tonut(node.new("glyph"))
nuts.traversers={
- glyph=nuts.traverse_id(nodecodes.glyph,dummy),
- glue=nuts.traverse_id(nodecodes.glue,dummy),
- disc=nuts.traverse_id(nodecodes.disc,dummy),
- boundary=nuts.traverse_id(nodecodes.boundary,dummy),
- char=nuts.traverse_char(dummy),
+ glyph=nuts.traverseid(nodecodes.glyph,dummy),
+ glue=nuts.traverseid(nodecodes.glue,dummy),
+ disc=nuts.traverseid(nodecodes.disc,dummy),
+ boundary=nuts.traverseid(nodecodes.boundary,dummy),
+ char=nuts.traversechar(dummy),
node=nuts.traverse(dummy),
}
end
@@ -5118,7 +5168,7 @@ if not nuts.setreplace then
end
do
local getsubtype=nuts.getsubtype
- function nuts.start_of_par(n)
+ function nuts.startofpar(n)
local s=getsubtype(n)
return s==0 or s==2
end
@@ -11752,8 +11802,6 @@ readers.post=function(f,fontdata,specification)
if length>0 then
glyphs[mapping].name=readstring(f,length)
else
- report("quit post name fetching at %a of %a: %s",i,maxnames,"overflow")
- break
end
end
end
@@ -12853,7 +12901,7 @@ if not modules then modules={} end modules ['font-cff']={
}
local next,type,tonumber,rawget=next,type,tonumber,rawget
local byte,char,gmatch,sub=string.byte,string.char,string.gmatch,string.sub
-local concat,remove,unpack=table.concat,table.remove,table.unpack
+local concat,insert,remove,unpack=table.concat,table.insert,table.remove,table.unpack
local floor,abs,round,ceil,min,max=math.floor,math.abs,math.round,math.ceil,math.min,math.max
local P,C,R,S,C,Cs,Ct=lpeg.P,lpeg.C,lpeg.R,lpeg.S,lpeg.C,lpeg.Cs,lpeg.Ct
local lpegmatch=lpeg.match
@@ -14457,8 +14505,34 @@ do
showstate(reverse[t] or "<action>")
end
if top>0 then
- for i=1,top do
- r=r+1;result[r]=encode[stack[i]]
+ if t==8 and top>48 then
+ local n=0
+ for i=1,top do
+ if n==48 then
+ local zero=encode[0]
+ local res3=result[r-3]
+ local res2=result[r-2]
+ local res1=result[r-1]
+ local res0=result[r]
+ result[r-3]=zero
+ result[r-2]=zero
+ r=r+1;result[r]=chars[t]
+ r=r+1;result[r]=zero
+ r=r+1;result[r]=zero
+ r=r+1;result[r]=res3
+ r=r+1;result[r]=res2
+ r=r+1;result[r]=res1
+ r=r+1;result[r]=res0
+ n=1
+ else
+ n=n+1
+ end
+ r=r+1;result[r]=encode[stack[i]]
+ end
+ else
+ for i=1,top do
+ r=r+1;result[r]=encode[stack[i]]
+ end
end
top=0
end
@@ -20784,7 +20858,7 @@ local trace_defining=false registertracker("fonts.defining",function(v) trace_d
local report_otf=logs.reporter("fonts","otf loading")
local fonts=fonts
local otf=fonts.handlers.otf
-otf.version=3.113
+otf.version=3.116
otf.cache=containers.define("fonts","otl",otf.version,true)
otf.svgcache=containers.define("fonts","svg",otf.version,true)
otf.pngcache=containers.define("fonts","png",otf.version,true)
@@ -21237,6 +21311,7 @@ local function read_from_otf(specification)
if tfmdata then
tfmdata.properties.name=specification.name
tfmdata.properties.sub=specification.sub
+ tfmdata.properties.id=specification.id
tfmdata=constructors.scale(tfmdata,specification)
local allfeatures=tfmdata.shared.features or specification.features.normal
constructors.applymanipulators("otf",tfmdata,allfeatures,trace_features,report_otf)
@@ -21974,6 +22049,8 @@ local getoffsets=nuts.getoffsets
local getboth=nuts.getboth
local getdisc=nuts.getdisc
local setdisc=nuts.setdisc
+local getreplace=nuts.getreplace
+local setreplace=nuts.setreplace
local setoffsets=nuts.setoffsets
local ischar=nuts.ischar
local getkern=nuts.getkern
@@ -21983,8 +22060,8 @@ local setwidth=nuts.setwidth
local getwidth=nuts.getwidth
local nextchar=nuts.traversers.char
local nextglue=nuts.traversers.glue
-local insert_node_before=nuts.insert_before
-local insert_node_after=nuts.insert_after
+local insertnodebefore=nuts.insertbefore
+local insertnodeafter=nuts.insertafter
local properties=nodes.properties.data
local fontkern=nuts.pool and nuts.pool.fontkern
local italickern=nuts.pool and nuts.pool.italickern
@@ -21998,7 +22075,7 @@ end)
if not fontkern then
local thekern=nuts.new("kern",0)
local setkern=nuts.setkern
- local copy_node=nuts.copy_node
+ local copy_node=nuts.copy
fontkern=function(k)
local n=copy_node(thekern)
setkern(n,k)
@@ -22008,7 +22085,7 @@ end
if not italickern then
local thekern=nuts.new("kern",3)
local setkern=nuts.setkern
- local copy_node=nuts.copy_node
+ local copy_node=nuts.copy
italickern=function(k)
local n=copy_node(thekern)
setkern(n,k)
@@ -22469,12 +22546,12 @@ local function inject_kerns_only(head,where)
if leftkern and leftkern~=0 then
if prev and getid(prev)==glue_code then
if useitalickerns then
- head=insert_node_before(head,current,italickern(leftkern))
+ head=insertnodebefore(head,current,italickern(leftkern))
else
setwidth(prev,getwidth(prev)+leftkern)
end
else
- head=insert_node_before(head,current,fontkern(leftkern))
+ head=insertnodebefore(head,current,fontkern(leftkern))
end
end
end
@@ -22528,7 +22605,7 @@ local function inject_kerns_only(head,where)
if i then
local leftkern=i.leftkern
if leftkern and leftkern~=0 then
- pre=insert_node_before(pre,n,fontkern(leftkern))
+ pre=insertnodebefore(pre,n,fontkern(leftkern))
done=true
end
end
@@ -22543,7 +22620,7 @@ local function inject_kerns_only(head,where)
if i then
local leftkern=i.leftkern
if leftkern and leftkern~=0 then
- post=insert_node_before(post,n,fontkern(leftkern))
+ post=insertnodebefore(post,n,fontkern(leftkern))
done=true
end
end
@@ -22558,7 +22635,7 @@ local function inject_kerns_only(head,where)
if i then
local leftkern=i.leftkern
if leftkern and leftkern~=0 then
- replace=insert_node_before(replace,n,fontkern(leftkern))
+ replace=insertnodebefore(replace,n,fontkern(leftkern))
done=true
end
end
@@ -22620,36 +22697,34 @@ local function inject_positions_only(head,where)
rightkern=0
elseif prev and getid(prev)==glue_code then
if useitalickerns then
- head=insert_node_before(head,current,italickern(leftkern))
+ head=insertnodebefore(head,current,italickern(leftkern))
else
setwidth(prev,getwidth(prev)+leftkern)
end
else
- head=insert_node_before(head,current,fontkern(leftkern))
+ head=insertnodebefore(head,current,fontkern(leftkern))
end
end
if rightkern and rightkern~=0 then
if next and getid(next)==glue_code then
if useitalickerns then
- insert_node_after(head,current,italickern(rightkern))
+ insertnodeafter(head,current,italickern(rightkern))
else
setwidth(next,getwidth(next)+rightkern)
end
else
- insert_node_after(head,current,fontkern(rightkern))
+ insertnodeafter(head,current,fontkern(rightkern))
end
end
- else
+ elseif next then
local i=p.emptyinjections
if i then
local rightkern=i.rightkern
- if rightkern and rightkern~=0 then
- if next and getid(next)==disc_code then
- if replace then
- else
- replace=fontkern(rightkern)
- done=true
- end
+ if rightkern and rightkern~=0 and getid(next)==disc_code then
+ local replace=getreplace(next)
+ if replace then
+ else
+ setreplace(next,fontkern(rightkern))
end
end
end
@@ -22710,12 +22785,12 @@ local function inject_positions_only(head,where)
end
local leftkern=i.leftkern
if leftkern and leftkern~=0 then
- pre=insert_node_before(pre,n,fontkern(leftkern))
+ pre=insertnodebefore(pre,n,fontkern(leftkern))
done=true
end
local rightkern=i.rightkern
if rightkern and rightkern~=0 then
- insert_node_after(pre,n,fontkern(rightkern))
+ insertnodeafter(pre,n,fontkern(rightkern))
done=true
end
end
@@ -22734,12 +22809,12 @@ local function inject_positions_only(head,where)
end
local leftkern=i.leftkern
if leftkern and leftkern~=0 then
- post=insert_node_before(post,n,fontkern(leftkern))
+ post=insertnodebefore(post,n,fontkern(leftkern))
done=true
end
local rightkern=i.rightkern
if rightkern and rightkern~=0 then
- insert_node_after(post,n,fontkern(rightkern))
+ insertnodeafter(post,n,fontkern(rightkern))
done=true
end
end
@@ -22758,12 +22833,12 @@ local function inject_positions_only(head,where)
end
local leftkern=i.leftkern
if leftkern and leftkern~=0 then
- replace=insert_node_before(replace,n,fontkern(leftkern))
+ replace=insertnodebefore(replace,n,fontkern(leftkern))
done=true
end
local rightkern=i.rightkern
if rightkern and rightkern~=0 then
- insert_node_after(replace,n,fontkern(rightkern))
+ insertnodeafter(replace,n,fontkern(rightkern))
done=true
end
end
@@ -22778,7 +22853,7 @@ local function inject_positions_only(head,where)
if i then
local rightkern=i.rightkern
if rightkern and rightkern~=0 then
- pre=insert_node_before(pre,pre,fontkern(rightkern))
+ pre=insertnodebefore(pre,pre,fontkern(rightkern))
done=true
end
end
@@ -22791,7 +22866,7 @@ local function inject_positions_only(head,where)
if i then
local rightkern=i.rightkern
if rightkern and rightkern~=0 then
- replace=insert_node_before(replace,replace,fontkern(rightkern))
+ replace=insertnodebefore(replace,replace,fontkern(rightkern))
done=true
end
end
@@ -22894,8 +22969,8 @@ local function inject_everything(head,where)
if trace_injections then
report_injections("correcting non zero width mark %C",getchar(n))
end
- insert_node_before(n,n,fontkern(-wn))
- insert_node_after(n,n,fontkern(-wn))
+ insertnodebefore(n,n,fontkern(-wn))
+ insertnodeafter(n,n,fontkern(-wn))
end
end
end
@@ -22987,37 +23062,35 @@ local function inject_everything(head,where)
rightkern=0
elseif prev and getid(prev)==glue_code then
if useitalickerns then
- head=insert_node_before(head,current,italickern(leftkern))
+ head=insertnodebefore(head,current,italickern(leftkern))
else
setwidth(prev,getwidth(prev)+leftkern)
end
else
- head=insert_node_before(head,current,fontkern(leftkern))
+ head=insertnodebefore(head,current,fontkern(leftkern))
end
end
if rightkern and rightkern~=0 then
if next and getid(next)==glue_code then
if useitalickerns then
- insert_node_after(head,current,italickern(rightkern))
+ insertnodeafter(head,current,italickern(rightkern))
else
setwidth(next,getwidth(next)+rightkern)
end
else
- insert_node_after(head,current,fontkern(rightkern))
+ insertnodeafter(head,current,fontkern(rightkern))
end
end
end
- else
+ elseif next then
local i=p.emptyinjections
if i then
local rightkern=i.rightkern
- if rightkern and rightkern~=0 then
- if next and getid(next)==disc_code then
- if replace then
- else
- replace=fontkern(rightkern)
- done=true
- end
+ if rightkern and rightkern~=0 and getid(next)==disc_code then
+ local replace=getreplace(next)
+ if replace then
+ else
+ setreplace(next,fontkern(rightkern))
end
end
end
@@ -23092,12 +23165,12 @@ local function inject_everything(head,where)
end
local leftkern=i.leftkern
if leftkern and leftkern~=0 then
- pre=insert_node_before(pre,n,fontkern(leftkern))
+ pre=insertnodebefore(pre,n,fontkern(leftkern))
done=true
end
local rightkern=i.rightkern
if rightkern and rightkern~=0 then
- insert_node_after(pre,n,fontkern(rightkern))
+ insertnodeafter(pre,n,fontkern(rightkern))
done=true
end
if hasmarks then
@@ -23122,12 +23195,12 @@ local function inject_everything(head,where)
end
local leftkern=i.leftkern
if leftkern and leftkern~=0 then
- post=insert_node_before(post,n,fontkern(leftkern))
+ post=insertnodebefore(post,n,fontkern(leftkern))
done=true
end
local rightkern=i.rightkern
if rightkern and rightkern~=0 then
- insert_node_after(post,n,fontkern(rightkern))
+ insertnodeafter(post,n,fontkern(rightkern))
done=true
end
if hasmarks then
@@ -23152,12 +23225,12 @@ local function inject_everything(head,where)
end
local leftkern=i.leftkern
if leftkern and leftkern~=0 then
- replace=insert_node_before(replace,n,fontkern(leftkern))
+ replace=insertnodebefore(replace,n,fontkern(leftkern))
done=true
end
local rightkern=i.rightkern
if rightkern and rightkern~=0 then
- insert_node_after(replace,n,fontkern(rightkern))
+ insertnodeafter(replace,n,fontkern(rightkern))
done=true
end
if hasmarks then
@@ -23178,7 +23251,7 @@ local function inject_everything(head,where)
if i then
local rightkern=i.rightkern
if rightkern and rightkern~=0 then
- pre=insert_node_before(pre,pre,fontkern(rightkern))
+ pre=insertnodebefore(pre,pre,fontkern(rightkern))
done=true
end
end
@@ -23191,7 +23264,7 @@ local function inject_everything(head,where)
if i then
local rightkern=i.rightkern
if rightkern and rightkern~=0 then
- replace=insert_node_before(replace,replace,fontkern(rightkern))
+ replace=insertnodebefore(replace,replace,fontkern(rightkern))
done=true
end
end
@@ -23337,8 +23410,8 @@ local function injectspaces(head)
if trace_spaces then
report_spaces("%C [%p + %p + %p] %C",prevchar,lnew,old,rnew,nextchar)
end
- head=insert_node_before(head,n,italickern(lnew))
- insert_node_after(head,n,italickern(rnew))
+ head=insertnodebefore(head,n,italickern(lnew))
+ insertnodeafter(head,n,italickern(rnew))
else
local new=old+(leftkern+rightkern)*factor
if trace_spaces then
@@ -23353,7 +23426,7 @@ local function injectspaces(head)
if trace_spaces then
report_spaces("%C [%p + %p]",prevchar,old,new)
end
- insert_node_after(head,n,italickern(new))
+ insertnodeafter(head,n,italickern(new))
else
local new=old+leftkern*factor
if trace_spaces then
@@ -23372,7 +23445,7 @@ local function injectspaces(head)
if trace_spaces then
report_spaces("[%p + %p] %C",old,new,nextchar)
end
- insert_node_after(head,n,italickern(new))
+ insertnodeafter(head,n,italickern(new))
else
local new=old+rightkern*factor
if trace_spaces then
@@ -25658,6 +25731,28 @@ local function checkkerns(lookup)
end
return kerned
end
+local strip_pairs=true
+local compact_pairs=true
+local compact_singles=true
+local merge_pairs=true
+local merge_singles=true
+local merge_substitutions=true
+local merge_alternates=true
+local merge_multiples=true
+local merge_ligatures=true
+local merge_cursives=true
+local merge_marks=true
+directives.register("otf.strip.pairs",function(v) strip_pairs=v end)
+directives.register("otf.compact.pairs",function(v) compact_pairs=v end)
+directives.register("otf.compact.singles",function(v) compact_singles=v end)
+directives.register("otf.merge.pairs",function(v) merge_pairs=v end)
+directives.register("otf.merge.singles",function(v) merge_singles=v end)
+directives.register("otf.merge.substitutions",function(v) merge_substitutions=v end)
+directives.register("otf.merge.alternates",function(v) merge_alternates=v end)
+directives.register("otf.merge.multiples",function(v) merge_multiples=v end)
+directives.register("otf.merge.ligatures",function(v) merge_ligatures=v end)
+directives.register("otf.merge.cursives",function(v) merge_cursives=v end)
+directives.register("otf.merge.marks",function(v) merge_marks=v end)
local function checkpairs(lookup)
local steps=lookup.steps
local nofsteps=lookup.nofsteps
@@ -25705,26 +25800,27 @@ local function checkpairs(lookup)
end
return kerned
end
-local compact_pairs=true
-local compact_singles=true
-local merge_pairs=true
-local merge_singles=true
-local merge_substitutions=true
-local merge_alternates=true
-local merge_multiples=true
-local merge_ligatures=true
-local merge_cursives=true
-local merge_marks=true
-directives.register("otf.compact.pairs",function(v) compact_pairs=v end)
-directives.register("otf.compact.singles",function(v) compact_singles=v end)
-directives.register("otf.merge.pairs",function(v) merge_pairs=v end)
-directives.register("otf.merge.singles",function(v) merge_singles=v end)
-directives.register("otf.merge.substitutions",function(v) merge_substitutions=v end)
-directives.register("otf.merge.alternates",function(v) merge_alternates=v end)
-directives.register("otf.merge.multiples",function(v) merge_multiples=v end)
-directives.register("otf.merge.ligatures",function(v) merge_ligatures=v end)
-directives.register("otf.merge.cursives",function(v) merge_cursives=v end)
-directives.register("otf.merge.marks",function(v) merge_marks=v end)
+local function strippairs(lookup)
+ local steps=lookup.steps
+ local nofsteps=lookup.nofsteps
+ local stripped=0
+ for i=1,nofsteps do
+ local step=steps[i]
+ if step.format=="pair" then
+ local coverage=step.coverage
+ for g1,d1 in next,coverage do
+ for g2,d2 in next,d1 do
+ if d2[2] then
+ elseif d2[1]==true then
+ d1[g2]=nil
+ stripped=stripped+1
+ end
+ end
+ end
+ end
+ end
+ return stripped
+end
function readers.compact(data)
if not data or data.compacted then
return
@@ -25732,6 +25828,7 @@ function readers.compact(data)
data.compacted=true
end
local resources=data.resources
+ local stripped=0
local merged=0
local kerned=0
local allsteps=0
@@ -25769,6 +25866,9 @@ function readers.compact(data)
kerned=kerned+checkkerns(lookup)
end
elseif kind=="gpos_pair" then
+ if strip_pairs then
+ stripped=stripped+strippairs(lookup)
+ end
if merge_pairs then
merged=merged+mergesteps_2(lookup)
end
@@ -25809,6 +25909,9 @@ function readers.compact(data)
compact("sequences")
compact("sublookups")
if trace_optimizations then
+ if stripped>0 then
+ report_optimizations("%i zero positions stripped before merging",stripped)
+ end
if merged>0 then
report_optimizations("%i steps of %i removed due to merging",merged,allsteps)
end
@@ -26087,7 +26190,7 @@ local setprop=nuts.setprop
local getsubtype=nuts.getsubtype
local getchar=nuts.getchar
local ischar=nuts.ischar
-local end_of_math=nuts.end_of_math
+local endofmath=nuts.endofmath
local nodecodes=nodes.nodecodes
local disc_code=nodecodes.disc
local math_code=nodecodes.math
@@ -26193,7 +26296,7 @@ function analyzers.setstate(head,font)
end
first,last,n=nil,nil,0
if id==math_code then
- current=end_of_math(current)
+ current=endofmath(current)
end
elseif id==disc_code then
setstate(current,s_medi)
@@ -26206,7 +26309,7 @@ function analyzers.setstate(head,font)
end
first,last,n=nil,nil,0
if id==math_code then
- current=end_of_math(current)
+ current=endofmath(current)
end
end
current=getnext(current)
@@ -26422,7 +26525,7 @@ function methods.arab(head,font,attr)
first=nil
end
if id==math_code then
- current=end_of_math(current)
+ current=endofmath(current)
end
end
current=getnext(current)
@@ -26536,7 +26639,7 @@ do
wrapup()
end
if id==math_code then
- current=end_of_math(current)
+ current=endofmath(current)
end
end
current=getnext(current)
@@ -26632,23 +26735,24 @@ local setlink=nuts.setlink
local getwidth=nuts.getwidth
local getattr=nuts.getattr
local getglyphdata=nuts.getglyphdata
-local copy_no_components=nuts.copy_no_components
-local copy_only_glyphs=nuts.copy_only_glyphs
-local count_components=nuts.count_components
-local set_components=nuts.set_components
-local get_components=nuts.get_components
-local flush_components=nuts.flush_components
+local components=nuts.components
+local copynocomponents=components.copynocomponents
+local copyonlyglyphs=components.copyonlyglyphs
+local countcomponents=components.count
+local setcomponents=components.set
+local getcomponents=components.get
+local flushcomponents=components.flush
local ischar=nuts.ischar
-local usesfont=nuts.uses_font
-local insert_node_after=nuts.insert_after
+local usesfont=nuts.usesfont
+local insertnodeafter=nuts.insertafter
local copy_node=nuts.copy
-local copy_node_list=nuts.copy_list
+local copy_node_list=nuts.copylist
local remove_node=nuts.remove
local find_node_tail=nuts.tail
-local flush_node_list=nuts.flush_list
-local flush_node=nuts.flush_node
-local end_of_math=nuts.end_of_math
-local start_of_par=nuts.start_of_par
+local flushnodelist=nuts.flushlist
+local flushnode=nuts.flushnode
+local endofmath=nuts.endofmath
+local startofpar=nuts.startofpar
local setmetatable=setmetatable
local setmetatableindex=table.setmetatableindex
local nextnode=nuts.traversers.node
@@ -26779,12 +26883,12 @@ local function flattendisk(head,disc)
local prev,next=getboth(disc)
local ishead=head==disc
setdisc(disc)
- flush_node(disc)
+ flushnode(disc)
if pre then
- flush_node_list(pre)
+ flushnodelist(pre)
end
if post then
- flush_node_list(post)
+ flushnodelist(post)
end
if ishead then
if replace then
@@ -26833,16 +26937,16 @@ local function markstoligature(head,start,stop,char)
local next=getnext(stop)
setprev(start)
setnext(stop)
- local base=copy_no_components(start,copyinjection)
+ local base=copynocomponents(start,copyinjection)
if head==start then
head=base
end
resetinjection(base)
setchar(base,char)
setsubtype(base,ligatureglyph_code)
- set_components(base,start)
+ setcomponents(base,start)
setlink(prev,base,next)
- flush_components(start)
+ flushcomponents(start)
return head,base
end
end
@@ -26850,7 +26954,7 @@ local no_left_ligature_code=1
local no_right_ligature_code=2
local no_left_kern_code=4
local no_right_kern_code=8
-local has_glyph_option=node.direct.has_glyph_option or function(n,c)
+local hasglyphoption=function(n,c)
if c==no_left_ligature_code or c==no_right_ligature_code then
return getattr(n,a_noligature)==1
else
@@ -26858,7 +26962,7 @@ local has_glyph_option=node.direct.has_glyph_option or function(n,c)
end
end
local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfound,hasmarks)
- if has_glyph_option(start,no_right_ligature_code) then
+ if hasglyphoption(start,no_right_ligature_code) then
return head,start
end
if start==stop and getchar(start)==char then
@@ -26871,14 +26975,14 @@ local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfou
local comp=start
setprev(start)
setnext(stop)
- local base=copy_no_components(start,copyinjection)
+ local base=copynocomponents(start,copyinjection)
if start==head then
head=base
end
resetinjection(base)
setchar(base,char)
setsubtype(base,ligatureglyph_code)
- set_components(base,comp)
+ setcomponents(base,comp)
setlink(prev,base,next)
if not discfound then
local deletemarks=not skiphash or hasmarks
@@ -26891,7 +26995,7 @@ local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfou
local char=getchar(start)
if not marks[char] then
baseindex=baseindex+componentindex
- componentindex=count_components(start,marks)
+ componentindex=countcomponents(start,marks)
elseif not deletemarks then
setligaindex(start,baseindex+getligaindex(start,componentindex))
if trace_marks then
@@ -26899,7 +27003,7 @@ local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfou
end
local n=copy_node(start)
copyinjection(n,start)
- head,current=insert_node_after(head,current,n)
+ head,current=insertnodeafter(head,current,n)
elseif trace_marks then
logwarning("%s: delete ligature mark %s",pref(dataset,sequence),gref(char))
end
@@ -26922,14 +27026,14 @@ local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfou
break
end
end
- flush_components(components)
+ flushcomponents(components)
else
local discprev,discnext=getboth(discfound)
if discprev and discnext then
local pre,post,replace,pretail,posttail,replacetail=getdisc(discfound,true)
if not replace then
local prev=getprev(base)
- local copied=copy_only_glyphs(comp)
+ local copied=copyonlyglyphs(comp)
if pre then
setlink(discprev,pre)
else
@@ -26945,7 +27049,7 @@ local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfou
end
setlink(prev,discfound,next)
setboth(base)
- set_components(base,copied)
+ setcomponents(base,copied)
replace=base
if forcediscretionaries then
setdisc(discfound,pre,post,replace,discretionarydisc_code)
@@ -26969,7 +27073,7 @@ local function multiple_glyphs(head,start,multiple,skiphash,what,stop)
local n=copy_node(start)
resetinjection(n)
setchar(n,multiple[k])
- insert_node_after(head,start,n)
+ insertnodeafter(head,start,n)
start=n
end
if what==true then
@@ -26979,7 +27083,7 @@ local function multiple_glyphs(head,start,multiple,skiphash,what,stop)
local n=copy_node(start)
resetinjection(n)
setchar(n,m)
- insert_node_after(head,start,n)
+ insertnodeafter(head,start,n)
start=n
end
end
@@ -27209,7 +27313,7 @@ function handlers.gsub_ligature(head,start,dataset,sequence,ligature,rlmode,skip
return head,start,false,false
end
function handlers.gpos_single(head,start,dataset,sequence,kerns,rlmode,skiphash,step,injection)
- if has_glyph_option(start,no_right_kern_code) then
+ if hasglyphoption(start,no_right_kern_code) then
return head,start,false
else
local startchar=getchar(start)
@@ -27229,7 +27333,7 @@ function handlers.gpos_single(head,start,dataset,sequence,kerns,rlmode,skiphash,
end
end
function handlers.gpos_pair(head,start,dataset,sequence,kerns,rlmode,skiphash,step,injection)
- if has_glyph_option(start,no_right_kern_code) then
+ if hasglyphoption(start,no_right_kern_code) then
return head,start,false
else
local snext=getnext(start)
@@ -27718,7 +27822,7 @@ function chainprocs.gsub_ligature(head,start,stop,dataset,sequence,currentlookup
return head,start,false,0,false
end
function chainprocs.gpos_single(head,start,stop,dataset,sequence,currentlookup,rlmode,skiphash,chainindex)
- if not has_glyph_option(start,no_right_kern_code) then
+ if not hasglyphoption(start,no_right_kern_code) then
local mapping=currentlookup.mapping
if mapping==nil then
mapping=getmapping(dataset,sequence,currentlookup)
@@ -27746,7 +27850,7 @@ function chainprocs.gpos_single(head,start,stop,dataset,sequence,currentlookup,r
return head,start,false
end
function chainprocs.gpos_pair(head,start,stop,dataset,sequence,currentlookup,rlmode,skiphash,chainindex)
- if not has_glyph_option(start,no_right_kern_code) then
+ if not hasglyphoption(start,no_right_kern_code) then
local mapping=currentlookup.mapping
if mapping==nil then
mapping=getmapping(dataset,sequence,currentlookup)
@@ -28069,13 +28173,13 @@ local function checked(head)
if next then
setlink(kern,next)
end
- flush_node(current)
+ flushnode(current)
head=kern
current=next
else
local prev,next=getboth(current)
setlink(prev,kern,next)
- flush_node(current)
+ flushnode(current)
current=next
end
else
@@ -28525,105 +28629,225 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s
goto next
end
local s=seq.n
- local l=ck[5]
- local current=start
- local last=start
if s==1 then
- goto next
- end
- if l>f then
- local discfound
- local n=f+1
- last=startnext
- while n<=l do
- if postreplace and not last then
- last=getnext(sweepnode)
- sweeptype=nil
- end
- if last then
- local char,id=ischar(last,currentfont)
- if char then
- if skiphash and skiphash[char] then
- skipped=true
- if trace_skips then
- show_skip(dataset,sequence,char,ck,classes[char])
- end
- last=getnext(last)
- elseif seq[n][char] then
- if n<l then
+ else
+ local l=ck[5]
+ local current=start
+ local last=start
+ if l>f then
+ local discfound
+ local n=f+1
+ last=startnext
+ while n<=l do
+ if postreplace and not last then
+ last=getnext(sweepnode)
+ sweeptype=nil
+ end
+ if last then
+ local char,id=ischar(last,currentfont)
+ if char then
+ if skiphash and skiphash[char] then
+ skipped=true
+ if trace_skips then
+ show_skip(dataset,sequence,char,ck,classes[char])
+ end
last=getnext(last)
- end
- n=n+1
- elseif discfound then
- notmatchreplace[discfound]=true
- if notmatchpre[discfound] then
- goto next
+ elseif seq[n][char] then
+ if n<l then
+ last=getnext(last)
+ end
+ n=n+1
+ elseif discfound then
+ notmatchreplace[discfound]=true
+ if notmatchpre[discfound] then
+ goto next
+ else
+ break
+ end
else
- break
- end
- else
- goto next
- end
- elseif char==false then
- if discfound then
- notmatchreplace[discfound]=true
- if notmatchpre[discfound] then
goto next
+ end
+ elseif char==false then
+ if discfound then
+ notmatchreplace[discfound]=true
+ if notmatchpre[discfound] then
+ goto next
+ else
+ break
+ end
else
- break
+ goto next
end
- else
- goto next
- end
- elseif id==disc_code then
- discseen=true
- discfound=last
- notmatchpre[last]=nil
- notmatchpost[last]=true
- notmatchreplace[last]=nil
- local pre,post,replace=getdisc(last)
- if pre then
- local n=n
- while pre do
- if seq[n][getchar(pre)] then
- n=n+1
- if n>l then
+ elseif id==disc_code then
+ discseen=true
+ discfound=last
+ notmatchpre[last]=nil
+ notmatchpost[last]=true
+ notmatchreplace[last]=nil
+ local pre,post,replace=getdisc(last)
+ if pre then
+ local n=n
+ while pre do
+ if seq[n][getchar(pre)] then
+ n=n+1
+ if n>l then
+ break
+ end
+ pre=getnext(pre)
+ else
+ notmatchpre[last]=true
break
end
- pre=getnext(pre)
- else
+ end
+ if n<=l then
notmatchpre[last]=true
- break
end
- end
- if n<=l then
+ else
notmatchpre[last]=true
end
+ if replace then
+ while replace do
+ if seq[n][getchar(replace)] then
+ n=n+1
+ if n>l then
+ break
+ end
+ replace=getnext(replace)
+ else
+ notmatchreplace[last]=true
+ if notmatchpre[last] then
+ goto next
+ else
+ break
+ end
+ end
+ end
+ if notmatchpre[last] then
+ goto next
+ end
+ end
+ last=getnext(last)
else
- notmatchpre[last]=true
+ goto next
end
- if replace then
- while replace do
- if seq[n][getchar(replace)] then
- n=n+1
- if n>l then
- break
+ else
+ goto next
+ end
+ end
+ end
+ if f>1 then
+ if startprev then
+ local prev=startprev
+ if prereplace and prev==checkdisc then
+ prev=getprev(sweepnode)
+ end
+ if prev then
+ local discfound
+ local n=f-1
+ while n>=1 do
+ if prev then
+ local char,id=ischar(prev,currentfont)
+ if char then
+ if skiphash and skiphash[char] then
+ skipped=true
+ if trace_skips then
+ show_skip(dataset,sequence,char,ck,classes[char])
+ end
+ prev=getprev(prev)
+ elseif seq[n][char] then
+ if n>1 then
+ prev=getprev(prev)
+ end
+ n=n-1
+ elseif discfound then
+ notmatchreplace[discfound]=true
+ if notmatchpost[discfound] then
+ goto next
+ else
+ break
+ end
+ else
+ goto next
end
- replace=getnext(replace)
- else
- notmatchreplace[last]=true
- if notmatchpre[last] then
+ elseif char==false then
+ if discfound then
+ notmatchreplace[discfound]=true
+ if notmatchpost[discfound] then
+ goto next
+ end
+ else
goto next
+ end
+ break
+ elseif id==disc_code then
+ discseen=true
+ discfound=prev
+ notmatchpre[prev]=true
+ notmatchpost[prev]=nil
+ notmatchreplace[prev]=nil
+ local pre,post,replace,pretail,posttail,replacetail=getdisc(prev,true)
+ if pre~=start and post~=start and replace~=start then
+ if post then
+ local n=n
+ while posttail do
+ if seq[n][getchar(posttail)] then
+ n=n-1
+ if posttail==post or n<1 then
+ break
+ else
+ posttail=getprev(posttail)
+ end
+ else
+ notmatchpost[prev]=true
+ break
+ end
+ end
+ if n>=1 then
+ notmatchpost[prev]=true
+ end
+ else
+ notmatchpost[prev]=true
+ end
+ if replace then
+ while replacetail do
+ if seq[n][getchar(replacetail)] then
+ n=n-1
+ if replacetail==replace or n<1 then
+ break
+ else
+ replacetail=getprev(replacetail)
+ end
+ else
+ notmatchreplace[prev]=true
+ if notmatchpost[prev] then
+ goto next
+ else
+ break
+ end
+ end
+ end
+ else
+ end
+ end
+ prev=getprev(prev)
+ elseif id==glue_code then
+ local sn=seq[n]
+ if (sn[32] and spaces[prev]) or sn[0xFFFC] then
+ n=n-1
+ prev=getprev(prev)
else
- break
+ goto next
end
+ elseif seq[n][0xFFFC] then
+ n=n-1
+ prev=getprev(prev)
+ else
+ goto next
end
- end
- if notmatchpre[last] then
+ else
goto next
end
end
- last=getnext(last)
else
goto next
end
@@ -28631,34 +28855,32 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s
goto next
end
end
- end
- if f>1 then
- if startprev then
- local prev=startprev
- if prereplace and prev==checkdisc then
- prev=getprev(sweepnode)
+ if s>l then
+ local current=last and getnext(last)
+ if not current and postreplace then
+ current=getnext(sweepnode)
end
- if prev then
+ if current then
local discfound
- local n=f-1
- while n>=1 do
- if prev then
- local char,id=ischar(prev,currentfont)
+ local n=l+1
+ while n<=s do
+ if current then
+ local char,id=ischar(current,currentfont)
if char then
if skiphash and skiphash[char] then
skipped=true
if trace_skips then
show_skip(dataset,sequence,char,ck,classes[char])
end
- prev=getprev(prev)
+ current=getnext(current)
elseif seq[n][char] then
- if n>1 then
- prev=getprev(prev)
+ if n<s then
+ current=getnext(current)
end
- n=n-1
+ n=n+1
elseif discfound then
notmatchreplace[discfound]=true
- if notmatchpost[discfound] then
+ if notmatchpre[discfound] then
goto next
else
break
@@ -28669,202 +28891,84 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s
elseif char==false then
if discfound then
notmatchreplace[discfound]=true
- if notmatchpost[discfound] then
+ if notmatchpre[discfound] then
goto next
+ else
+ break
end
else
goto next
end
- break
elseif id==disc_code then
discseen=true
- discfound=prev
- notmatchpre[prev]=true
- notmatchpost[prev]=nil
- notmatchreplace[prev]=nil
- local pre,post,replace,pretail,posttail,replacetail=getdisc(prev,true)
- if pre~=start and post~=start and replace~=start then
- if post then
- local n=n
- while posttail do
- if seq[n][getchar(posttail)] then
- n=n-1
- if posttail==post or n<1 then
- break
- else
- posttail=getprev(posttail)
- end
- else
- notmatchpost[prev]=true
+ discfound=current
+ notmatchpre[current]=nil
+ notmatchpost[current]=true
+ notmatchreplace[current]=nil
+ local pre,post,replace=getdisc(current)
+ if pre then
+ local n=n
+ while pre do
+ if seq[n][getchar(pre)] then
+ n=n+1
+ if n>s then
break
+ else
+ pre=getnext(pre)
end
+ else
+ notmatchpre[current]=true
+ break
end
- if n>=1 then
- notmatchpost[prev]=true
- end
- else
- notmatchpost[prev]=true
end
- if replace then
- while replacetail do
- if seq[n][getchar(replacetail)] then
- n=n-1
- if replacetail==replace or n<1 then
- break
- else
- replacetail=getprev(replacetail)
- end
+ if n<=s then
+ notmatchpre[current]=true
+ end
+ else
+ notmatchpre[current]=true
+ end
+ if replace then
+ while replace do
+ if seq[n][getchar(replace)] then
+ n=n+1
+ if n>s then
+ break
else
- notmatchreplace[prev]=true
- if notmatchpost[prev] then
- goto next
- else
- break
- end
+ replace=getnext(replace)
+ end
+ else
+ notmatchreplace[current]=true
+ if notmatchpre[current] then
+ goto next
+ else
+ break
end
end
- else
end
+ else
end
- prev=getprev(prev)
+ current=getnext(current)
elseif id==glue_code then
local sn=seq[n]
- if (sn[32] and spaces[prev]) or sn[0xFFFC] then
- n=n-1
- prev=getprev(prev)
+ if (sn[32] and spaces[current]) or sn[0xFFFC] then
+ n=n+1
+ current=getnext(current)
else
goto next
end
elseif seq[n][0xFFFC] then
- n=n-1
- prev=getprev(prev)
- else
- goto next
- end
- else
- goto next
- end
- end
- else
- goto next
- end
- else
- goto next
- end
- end
- if s>l then
- local current=last and getnext(last)
- if not current and postreplace then
- current=getnext(sweepnode)
- end
- if current then
- local discfound
- local n=l+1
- while n<=s do
- if current then
- local char,id=ischar(current,currentfont)
- if char then
- if skiphash and skiphash[char] then
- skipped=true
- if trace_skips then
- show_skip(dataset,sequence,char,ck,classes[char])
- end
- current=getnext(current)
- elseif seq[n][char] then
- if n<s then
- current=getnext(current)
- end
- n=n+1
- elseif discfound then
- notmatchreplace[discfound]=true
- if notmatchpre[discfound] then
- goto next
- else
- break
- end
- else
- goto next
- end
- elseif char==false then
- if discfound then
- notmatchreplace[discfound]=true
- if notmatchpre[discfound] then
- goto next
- else
- break
- end
- else
- goto next
- end
- elseif id==disc_code then
- discseen=true
- discfound=current
- notmatchpre[current]=nil
- notmatchpost[current]=true
- notmatchreplace[current]=nil
- local pre,post,replace=getdisc(current)
- if pre then
- local n=n
- while pre do
- if seq[n][getchar(pre)] then
- n=n+1
- if n>s then
- break
- else
- pre=getnext(pre)
- end
- else
- notmatchpre[current]=true
- break
- end
- end
- if n<=s then
- notmatchpre[current]=true
- end
- else
- notmatchpre[current]=true
- end
- if replace then
- while replace do
- if seq[n][getchar(replace)] then
- n=n+1
- if n>s then
- break
- else
- replace=getnext(replace)
- end
- else
- notmatchreplace[current]=true
- if notmatchpre[current] then
- goto next
- else
- break
- end
- end
- end
- else
- end
- current=getnext(current)
- elseif id==glue_code then
- local sn=seq[n]
- if (sn[32] and spaces[current]) or sn[0xFFFC] then
n=n+1
current=getnext(current)
else
goto next
end
- elseif seq[n][0xFFFC] then
- n=n+1
- current=getnext(current)
else
goto next
end
- else
- goto next
end
+ else
+ goto next
end
- else
- goto next
end
end
if trace_contexts then
@@ -29626,7 +29730,7 @@ do
checkstep(head)
end
local initialrl=0
- if getid(head)==par_code and start_of_par(head) then
+ if getid(head)==par_code and startofpar(head) then
initialrl=pardirstate(head)
elseif direction==righttoleft_code then
initialrl=-1
@@ -29743,7 +29847,7 @@ do
start=getnext(start)
end
elseif id==math_code then
- start=getnext(end_of_math(start))
+ start=getnext(endofmath(start))
elseif id==dir_code then
topstack,rlmode=txtdirstate(start,dirstack,topstack,rlparmode)
start=getnext(start)
@@ -29813,7 +29917,7 @@ do
start=getnext(start)
end
elseif id==math_code then
- start=getnext(end_of_math(start))
+ start=getnext(endofmath(start))
elseif id==dir_code then
topstack,rlmode=txtdirstate(start,dirstack,topstack,rlparmode)
start=getnext(start)
@@ -29891,7 +29995,7 @@ do
elseif char==false or id==glue_code then
start=getnext(start)
elseif id==math_code then
- start=getnext(end_of_math(start))
+ start=getnext(endofmath(start))
elseif id==dir_code then
topstack,rlmode=txtdirstate(start,dirstack,topstack,rlparmode)
start=getnext(start)
@@ -29902,44 +30006,52 @@ do
return head
end
end
-local plugins={}
-otf.plugins=plugins
-local report=logs.reporter("fonts")
-function otf.registerplugin(name,f)
- if type(name)=="string" and type(f)=="function" then
- plugins[name]={ name,f }
- report()
- report("plugin %a has been loaded, please be aware of possible side effects",name)
- report()
- if logs.pushtarget then
- logs.pushtarget("log")
- end
- report("Plugins are not officially supported unless stated otherwise. This is because")
- report("they bypass the regular font handling and therefore some features in ConTeXt")
- report("(especially those related to fonts) might not work as expected or might not work")
- report("at all. Some plugins are for testing and development only and might change")
- report("whenever we feel the need for it.")
- report()
- if logs.poptarget then
- logs.poptarget()
+do
+ local plugins={}
+ otf.plugins=plugins
+ local report=logs.reporter("fonts")
+ local warned=false
+ local okay={ text=true }
+ function otf.registerplugin(name,f)
+ if type(name)=="string" and type(f)=="function" then
+ plugins[name]={ name,f }
+ if okay[name] then
+ else
+ report("plugin %a has been loaded, please be aware of possible side effects",name)
+ if not warned then
+ if logs.pushtarget then
+ logs.pushtarget("log")
+ end
+ report("Plugins are not officially supported unless stated otherwise. This is because")
+ report("they bypass the regular font handling and therefore some features in ConTeXt")
+ report("(especially those related to fonts) might not work as expected or might not work")
+ report("at all. Some plugins are for testing and development only and might change")
+ report("whenever we feel the need for it.")
+ report()
+ if logs.poptarget then
+ logs.poptarget()
+ end
+ warned=true
+ end
+ end
end
end
-end
-function otf.plugininitializer(tfmdata,value)
- if type(value)=="string" then
- tfmdata.shared.plugin=plugins[value]
+ function otf.plugininitializer(tfmdata,value)
+ if type(value)=="string" then
+ tfmdata.shared.plugin=plugins[value]
+ end
end
-end
-function otf.pluginprocessor(head,font,attr,direction)
- local s=fontdata[font].shared
- local p=s and s.plugin
- if p then
- if trace_plugins then
- report_process("applying plugin %a",p[1])
+ function otf.pluginprocessor(head,font,dynamic,direction)
+ local s=fontdata[font].shared
+ local p=s and s.plugin
+ if p then
+ if trace_plugins then
+ report_process("applying plugin %a",p[1])
+ end
+ return p[2](head,font,dynamic,direction)
+ else
+ return head,false
end
- return p[2](head,font,attr,direction)
- else
- return head,false
end
end
function otf.featuresinitializer(tfmdata,value)
@@ -30971,11 +31083,11 @@ local setprop=nuts.setprop
local getstate=nuts.getstate
local setstate=nuts.setstate
local ischar=nuts.ischar
-local insert_node_after=nuts.insert_after
+local insertnodeafter=nuts.insertafter
local copy_node=nuts.copy
local remove_node=nuts.remove
-local flush_list=nuts.flush_list
-local flush_node=nuts.flush_node
+local flushlist=nuts.flushlist
+local flushnode=nuts.flushnode
local copyinjection=nodes.injections.copy
local unsetvalue=attributes.unsetvalue
local fontdata=fonts.hashes.identifiers
@@ -31600,7 +31712,7 @@ local function inject_syntax_error(head,current,char)
else
setchar(current,dotted_circle)
end
- return insert_node_after(head,current,signal)
+ return insertnodeafter(head,current,signal)
end
local function initialize_one(font,attr)
local tfmdata=fontdata[font]
@@ -31718,7 +31830,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
if current==stop then
stop=getprev(stop)
head=remove_node(head,current)
- flush_node(current)
+ flushnode(current)
return head,stop,nbspaces
else
nbspaces=nbspaces+1
@@ -31748,7 +31860,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
tempcurrent=processcharacters(tempcurrent,font)
setstate(tempcurrent,unsetvalue)
if getchar(next)==getchar(tempcurrent) then
- flush_list(tempcurrent)
+ flushlist(tempcurrent)
if show_syntax_errors then
head,current=inject_syntax_error(head,current,char)
end
@@ -31756,8 +31868,8 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
setchar(current,getchar(tempcurrent))
local freenode=getnext(current)
setlink(current,tmp)
- flush_node(freenode)
- flush_list(tempcurrent)
+ flushnode(freenode)
+ flushlist(tempcurrent)
if changestop then
stop=current
end
@@ -31884,7 +31996,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
ch=tpm[1]
setchar(n,ch)
setchar(extra,tpm[2])
- head=insert_node_after(head,current,extra)
+ head=insertnodeafter(head,current,extra)
tpm=twopart_mark[ch]
end
while c~=stop and dependent_vowel[ch] do
@@ -32058,7 +32170,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
stop=getprev(stop)
end
head=remove_node(head,base)
- flush_node(base)
+ flushnode(base)
end
return head,stop,nbspaces
end
@@ -32318,7 +32430,7 @@ function handlers.devanagari_remove_joiners(head,start,kind,lookupname,replaceme
if head==start then
head=stop
end
- flush_list(start)
+ flushlist(start)
return head,stop,true
end
local function initialize_two(font,attr)
@@ -32463,7 +32575,7 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
if current==stop then
stop=getprev(stop)
head=remove_node(head,current)
- flush_node(current)
+ flushnode(current)
return head,stop,nbspaces
else
nbspaces=nbspaces+1
@@ -32560,7 +32672,7 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
char=tpm[1]
setchar(current,char)
setchar(extra,tpm[2])
- head=insert_node_after(head,current,extra)
+ head=insertnodeafter(head,current,extra)
tpm=twopart_mark[char]
end
if not moved[current] and dependent_vowel[char] then
@@ -32710,7 +32822,7 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
end
nbspaces=nbspaces-1
head=remove_node(head,base)
- flush_node(base)
+ flushnode(base)
end
return head,stop,nbspaces
end
@@ -33644,9 +33756,10 @@ end
if inkscape then
local descriptions=tfmdata.descriptions
local nofshapes=#svgshapes
+ local s_format=inkscapeformat("pdf")
local f_svgfile=formatters["temp-otf-svg-shape-%i.svg"]
local f_pdffile=formatters["temp-otf-svg-shape-%i.pdf"]
- local f_convert=formatters["%s --export-%s=%s\n"]
+ local f_convert=formatters[new and "file-open:%s; export-%s:%s; export-do\n" or "%s --export-%s=%s\n"]
local filterglyph=otfsvg.filterglyph
local nofdone=0
local processed={}
@@ -33660,7 +33773,7 @@ end
local svgfile=f_svgfile(index)
local pdffile=f_pdffile(index)
savedata(svgfile,data)
- inkscape:write(f_convert(svgfile,inkscapeformat("pdf"),pdffile))
+ inkscape:write(f_convert(svgfile,s_format,pdffile))
processed[index]=true
nofdone=nofdone+1
if nofdone%25==0 then
@@ -34833,6 +34946,7 @@ local function read_from_afm(specification)
local tfmdata=afmtotfm(specification)
if tfmdata then
tfmdata.properties.name=specification.name
+ tfmdata.properties.id=specification.id
tfmdata=constructors.scale(tfmdata,specification)
local allfeatures=tfmdata.shared.features or specification.features.normal
constructors.applymanipulators("afm",tfmdata,allfeatures,trace_features,report_afm)
@@ -36047,7 +36161,7 @@ local afm=fonts.handlers.afm
local pfb=fonts.handlers.pfb
local hashes=fonts.hashes
local identifiers=hashes.identifiers
-local version=0.009
+local version=0.010
local shapescache=containers.define("fonts","shapes",version,true)
local streamscache=containers.define("fonts","streams",version,true)
local compact_streams=false
@@ -37132,74 +37246,55 @@ local rules={
"FractionRuleThickness",
"UnderbarRuleThickness",
}
-local setmathparameters
-local setmathcharacters
-if CONTEXTLMTXMODE and CONTEXTLMTXMODE>0 then
- setmathparameters=function(tfmdata,characters,mathparameters,dx,dy,squeeze,multiplier)
- if delta~=0 then
- for i=1,#rules do
- local name=rules[i]
- local value=mathparameters[name]
- if value then
- mathparameters[name]=(squeeze or 1)*(value+dy)
- end
+local function setmathparameters(tfmdata,characters,mathparameters,dx,dy,squeeze,multiplier)
+ if dy~=0 then
+ for i=1,#rules do
+ local name=rules[i]
+ local value=mathparameters[name]
+ if value then
+ mathparameters[name]=(squeeze or 1)*(value+dy)
end
end
end
- setmathcharacters=function()
- end
-else
- setmathparameters=function(tfmdata,characters,mathparameters,dx,dy,squeeze,multiplier)
- if delta~=0 then
- for i=1,#rules do
- local name=rules[i]
- local value=mathparameters[name]
- if value then
- mathparameters[name]=(squeeze or 1)*(value+dy)
- end
- end
+end
+local function setmathcharacters(tfmdata,characters,mathparameters,dx,dy,squeeze,wdelta,hdelta,ddelta)
+ local function wdpatch(char)
+ if wsnap~=0 then
+ char.width=char.width+wdelta/2
end
end
- setmathcharacters=function(tfmdata,characters,mathparameters,dx,dy,squeeze,wdelta,hdelta,ddelta)
- local function wdpatch(char)
- if wsnap~=0 then
- char.width=char.width+wdelta/2
- end
- end
- local function htpatch(char)
- if hsnap~=0 then
- local height=char.height
- if height then
- char.height=char.height+2*dy
- end
+ local function htpatch(char)
+ if hsnap~=0 then
+ local height=char.height
+ if height then
+ char.height=char.height+2*dy
end
end
- local character=characters[0x221A]
- if character and character.next then
- local char=character
- local next=character.next
+ end
+ local character=characters[0x221A]
+ if character and character.next then
+ local char=character
+ local next=character.next
+ wdpatch(char)
+ htpatch(char)
+ while next do
+ char=characters[next]
wdpatch(char)
htpatch(char)
- while next do
- char=characters[next]
- wdpatch(char)
- htpatch(char)
- next=char.next
- end
- if char then
- local v=char.vert_variants
- if v then
- local top=v[#v]
- if top then
- local char=characters[top.glyph]
- htpatch(char)
- end
+ next=char.next
+ end
+ if char then
+ local v=char.vert_variants
+ if v then
+ local top=v[#v]
+ if top then
+ local char=characters[top.glyph]
+ htpatch(char)
end
end
end
end
end
-local shiftmode=CONTEXTLMTXMODE and CONTEXTLMTXMODE>0
local function manipulateeffect(tfmdata)
local effect=tfmdata.properties.effect
if effect then
@@ -37221,45 +37316,38 @@ local function manipulateeffect(tfmdata)
local factor=(1+effect.factor)*factor
local hfactor=(1+effect.hfactor)*hfactor
local vfactor=(1+effect.vfactor)*vfactor
- if shiftmode then
- parameters.hshift=hshift
- parameters.vshift=vshift
- else
- vshift=vshift~=0 and upcommand[vshift] or false
- hshift=rightcommand[hshift]
- end
+ vshift=vshift~=0 and upcommand[vshift] or false
+ hshift=rightcommand[hshift]
for unicode,character in next,characters do
local oldwidth=character.width
local oldheight=character.height
local olddepth=character.depth
if oldwidth and oldwidth>0 then
character.width=oldwidth+wdelta
- if not shiftmode then
- local commands=character.commands
- if vshift then
- if commands then
+ local commands=character.commands
+ if vshift then
+ if commands then
+ prependcommands (commands,
+ hshift,
+ vshift
+ )
+ else
+ character.commands={
+ hshift,
+ vshift,
+ charcommand[unicode]
+ }
+ end
+ else
+ if commands then
prependcommands (commands,
- hshift,
- vshift
+ hshift
)
- else
- character.commands={
- hshift,
- vshift,
- charcommand[unicode]
- }
- end
else
- if commands then
- prependcommands (commands,
- hshift
- )
- else
- character.commands={
- hshift,
- charcommand[unicode]
- }
- end
+ character.commands={
+ hshift,
+ charcommand[unicode]
+ }
end
end
end
@@ -39421,8 +39509,8 @@ local next=next
local fonts=fonts
local nodes=nodes
local nuts=nodes.nuts
-local traverse_id=nuts.traverse_id
-local flush_node=nuts.flush_node
+local traverseid=nuts.traverseid
+local flushnode=nuts.flushnode
local glyph_code=nodes.nodecodes.glyph
local disc_code=nodes.nodecodes.disc
local tonode=nuts.tonode
@@ -39481,7 +39569,7 @@ local function nodepass(head,groupcode,size,packtype,direction)
local variants=nil
local redundant=nil
local nofused=0
- for n in traverse_id(glyph_code,head) do
+ for n in traverseid(glyph_code,head) do
local font=getfont(n)
if font~=prevfont then
if basefont then
@@ -39559,13 +39647,13 @@ local function nodepass(head,groupcode,size,packtype,direction)
end
end
end
- flush_node(r)
+ flushnode(r)
end
end
- for d in traverse_id(disc_code,head) do
+ for d in traverseid(disc_code,head) do
local _,_,r=getdisc(d)
if r then
- for n in traverse_id(glyph_code,r) do
+ for n in traverseid(glyph_code,r) do
local font=getfont(n)
if font~=prevfont then
prevfont=font
@@ -39633,7 +39721,7 @@ local function basepass(head)
end
return head
end
-local protectpass=node.direct.protect_glyphs
+local protectpass=node.direct.protectglyphs or node.direct.protect_glyphs
local injectpass=nodes.injections.handler
function nodes.handlers.nodepass(head,...)
if head then
diff --git a/macros/luatex/generic/luaotfload/fontloader-util-str.lua b/macros/luatex/generic/luaotfload/fontloader-util-str.lua
index 2d3f4d669f..0d1f39de9d 100644
--- a/macros/luatex/generic/luaotfload/fontloader-util-str.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-util-str.lua
@@ -70,27 +70,63 @@ local function points(n)
n = n * ptf
if n % 1 == 0 then
return format("%ipt",n)
+ else
+ return lpegmatch(stripzeros,format("%.5fpt",n)) -- plural as we need to keep the pt
+ end
+end
+
+local function nupoints(n)
+ if n == 0 then
+ return "0"
+ end
+ n = tonumber(n)
+ if not n or n == 0 then
+ return "0"
+ end
+ n = n * ptf
+ if n % 1 == 0 then
+ return format("%i",n)
+ else
+ return format("%.5f",n) -- no strip
end
- return lpegmatch(stripzeros,format("%.5fpt",n)) -- plural as we need to keep the pt
end
local function basepoints(n)
if n == 0 then
- return "0pt"
+ return "0bp"
end
n = tonumber(n)
if not n or n == 0 then
- return "0pt"
+ return "0bp"
end
n = n * bpf
if n % 1 == 0 then
return format("%ibp",n)
+ else
+ return lpegmatch(stripzeros,format("%.5fbp",n)) -- plural as we need to keep the pt
+ end
+end
+
+local function nubasepoints(n)
+ if n == 0 then
+ return "0"
+ end
+ n = tonumber(n)
+ if not n or n == 0 then
+ return "0"
+ end
+ n = n * bpf
+ if n % 1 == 0 then
+ return format("%i",n)
+ else
+ return format("%.5f",n) -- no strip
end
- return lpegmatch(stripzeros,format("%.5fbp",n)) -- plural as we need to keep the pt
end
-number.points = points
-number.basepoints = basepoints
+number.points = points
+number.nupoints = nupoints
+number.basepoints = basepoints
+number.nubasepoints = nubasepoints
-- str = " \n \ntest \n test\ntest "
-- print("["..string.gsub(string.collapsecrlf(str),"\n","+").."]")
@@ -357,7 +393,9 @@ end
-- U+hexadecimal %...u character number
-- U+HEXADECIMAL %...U character number
-- points %p number (scaled points)
+-- nupoints %P number (scaled points) / without unit / always 5 decimals
-- basepoints %b number (scaled points)
+-- nubasepoints %B number (scaled points) / without unit / always 5 decimals
-- table concat %...t table
-- table concat %{.}t table
-- serialize %...T sequenced (no nested tables)
@@ -616,7 +654,9 @@ local environment = {
concat = table.concat,
signed = number.signed,
points = number.points,
+ nupoints = number.nupoints,
basepoints = number.basepoints,
+ nubasepoints = number.nubasepoints,
utfchar = utf.char,
utfbyte = utf.byte,
lpegmatch = lpeg.match,
@@ -879,11 +919,21 @@ local format_p = function()
return format("points(a%s)",n)
end
+local format_P = function()
+ n = n + 1
+ return format("nupoints(a%s)",n)
+end
+
local format_b = function()
n = n + 1
return format("basepoints(a%s)",n)
end
+local format_B = function()
+ n = n + 1
+ return format("nubasepoints(a%s)",n)
+end
+
local format_t = function(f)
n = n + 1
if f and f ~= "" then
@@ -1125,7 +1175,7 @@ local builder = Cs { "start",
--
+ V("r")
+ V("h") + V("H") + V("u") + V("U")
- + V("p") + V("b")
+ + V("p") + V("P") + V("b") + V("B")
+ V("t") + V("T")
+ V("l") + V("L")
+ V("I")
@@ -1174,8 +1224,10 @@ local builder = Cs { "start",
["H"] = (prefix_any * P("H")) / format_H, -- %H => 0x0A1B2 (when - no 0x) was V
["u"] = (prefix_any * P("u")) / format_u, -- %u => u+0a1b2 (when - no u+)
["U"] = (prefix_any * P("U")) / format_U, -- %U => U+0A1B2 (when - no U+)
- ["p"] = (prefix_any * P("p")) / format_p, -- %p => 12.345pt / maybe: P (and more units)
- ["b"] = (prefix_any * P("b")) / format_b, -- %b => 12.342bp / maybe: B (and more units)
+ ["p"] = (prefix_any * P("p")) / format_p, -- %p => 12.345pt
+ ["P"] = (prefix_any * P("P")) / format_P, -- %p => 12.345
+ ["b"] = (prefix_any * P("b")) / format_b, -- %b => 12.342bp
+ ["B"] = (prefix_any * P("B")) / format_B, -- %b => 12.342
["t"] = (prefix_tab * P("t")) / format_t, -- %t => concat
["T"] = (prefix_tab * P("T")) / format_T, -- %t => sequenced
["l"] = (prefix_any * P("l")) / format_l, -- %l => boolean
diff --git a/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua b/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua
index fcbd644158..9c2d204aaa 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua
@@ -6,8 +6,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-auxiliary",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / auxiliary functions",
license = "GPL v2.0"
}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-case-el.lua b/macros/luatex/generic/luaotfload/luaotfload-case-el.lua
deleted file mode 100644
index 1b329c4a65..0000000000
--- a/macros/luatex/generic/luaotfload/luaotfload-case-el.lua
+++ /dev/null
@@ -1,294 +0,0 @@
-local unicode_data = require'luaotfload-unicode'
-
-local has_accent = 1
-local has_combining_dialytika = 2
-local has_ypogegrammeni = 4
-local has_other_diacritic = 8
-local has_vowel = 16
-local vowels = {
- [0x03B1] = true,
- [0x0391] = true,
- [0x03B5] = true,
- [0x0395] = true,
- [0x03B7] = true,
- [0x0397] = true,
- [0x03B9] = true,
- [0x0399] = true,
- [0x03BF] = true,
- [0x039F] = true,
- [0x03C9] = true,
- [0x03A9] = true,
- [0x03C5] = true,
- [0x03A5] = true,
- [0x03F5] = true,
-}
-local diacritic_data = {
- [0x0300] = has_accent,
- [0x0301] = has_accent,
- [0x0302] = has_accent,
- [0x0303] = has_accent,
- [0x0311] = has_accent,
- [0x0342] = has_accent,
- [0x0308] = has_combining_dialytika,
- [0x0344] = has_accent | has_combining_dialytika,
- [0x0345] = has_ypogegrammeni,
- [0x0304] = has_other_diacritic,
- [0x0306] = has_other_diacritic,
- [0x0313] = has_other_diacritic,
- [0x0314] = has_other_diacritic,
- [0x0343] = has_other_diacritic,
-}
-
-local mapping_tables = unicode_data.casemapping
-local soft_dotted = unicode_data.soft_dotted
-local ccc = unicode_data.ccc
-
-local uppercase = mapping_tables.uppercase
-local lowercase = mapping_tables.lowercase
-local cased = mapping_tables.cased
-local case_ignorable = mapping_tables.case_ignorable
-
-local otfregister = fonts.constructors.features.otf.register
-
-local direct = node.direct
-local is_char = direct.is_char
-local has_glyph = direct.has_glyph
-local uses_font = direct.uses_font
-local getnext = direct.getnext
-local setchar = direct.setchar
-local setdisc = direct.setdisc
-local getdisc = direct.getdisc
-local getfield = direct.getfield
-local remove = direct.remove
-local copy = direct.copy
-local insert_after = direct.insert_after
-local traverse = direct.traverse
-
-local disc = node.id'disc'
-
-local nfd = {} -- FIXME: Data
-
-local data do
- for cp = 1, 0xFF, 1 do -- FIXME: Correct limits
- local decomposed = nfd[cp]
- local first = decomposed and decomposed[1] or cp
- local upper = uppercase[first]
- local data = vowels[first] and has_vowel or 0
- if decomposed then
- for i=1, #decomposed do
- data = data | (diacritic_data[decomposed[i]] or 0)
- end
- end
- end
-end
-
---[[ We make some implicit assumptions about contexts in SpecialCasing.txt here which happened to be true when I wrote the code:
---
--- * Before_Dot only appears as Not_Before_Dot
--- * No other context appears with Not_
--- * Final_Sigma is never language dependent
--- * Other contexts are always language dependent
--- * The only languages with special mappings are Lithuanian (lt/"LTH "/lit), Turkish (tr/"TRK "/tur), and Azeri/Azerbaijani (az/"AZE "/aze)
-]]
-
-local font_lang = setmetatable({}, {__index = function(t, fid)
- local f = font.getfont(fid)
- local lang = f.specification.features.normal.language
- lang = lang == 'lth' and 'lt' or lang == 'trk' and 'tr' or lang == 'aze' and 'az' or false
- t[fid] = lang
- return lang
-end})
-
-local function is_Final_Sigma(font, mapping, n, after)
- mapping = mapping.Final_Sigma
- if not mapping then return false end
- mapping = mapping._
- if not mapping then return false end
- n = getnext(n)
- repeat
- while n do
- local char, id = is_char(n, font)
- if id == disc then
- after = getnext(n)
- n = getfield(n, 'replace')
- char, id = is_char(n, font)
- elseif char then
- if not case_ignorable[char] then
- return not cased[char] and mapping
- end
- n = getnext(n)
- else
- return mapping
- end
- end
- n, after = after
- until not n
- return mapping
-end
-
-local function is_More_Above(font, mapping, n, after)
- mapping = mapping.More_Above
- if not mapping then return false end
- mapping = mapping._
- if not mapping then return false end
- n = getnext(n)
- repeat
- while n do
- local char, id = is_char(n, font)
- if id == disc then
- after = getnext(n)
- n = getfield(n, 'replace')
- char, id = is_char(n, font)
- elseif char then
- local char_ccc = ccc[char]
- if not char_ccc then
- return false
- elseif char_ccc == 230 then
- return mapping
- end
- n = getnext(n)
- else
- return false
- end
- end
- n, after = after
- until not n
- return false
-end
-
-local function is_Not_Before_Dot(font, mapping, n, after)
- mapping = mapping.Not_Before_Dot
- if not mapping then return false end
- mapping = mapping._
- if not mapping then return false end
- n = getnext(n)
- repeat
- while n do
- local char, id = is_char(n, font)
- if id == disc then
- after = getnext(n)
- n = getfield(n, 'replace')
- char, id = is_char(n, font)
- elseif char then
- local char_ccc = ccc[char]
- if not char_ccc then
- return mapping
- elseif char_ccc == 230 then
- return char ~= 0x0307 and mapping
- end
- n = getnext(n)
- else
- return mapping
- end
- end
- n, after = after
- until not n
- return mapping
-end
-
-local function is_Language_Mapping(font, mapping, n, after, seen_soft_dotted, seen_I)
- if not mapping then return false end
- if seen_soft_dotted then
- local mapping = mapping.After_Soft_Dotted
- mapping = mapping and mapping._
- if mapping then
- return mapping
- end
- end
- if seen_I then
- local mapping = mapping.After_I
- mapping = mapping and mapping._
- if mapping then
- return mapping
- end
- end
- return is_More_Above(font, mapping, n, after) or is_Not_Before_Dot(font, mapping, n, after) or mapping._ -- Might be nil
-end
-
-local function process(table)
- local function processor(head, font, after, seen_cased, seen_soft_dotted, seen_I)
- local lang = font_lang[font]
- local n = head
- while n do
- do
- local new = has_glyph(n)
- if n ~= new then
- seen_cased, seen_soft_dotted, seen_I = nil
- end
- n = new
- end
- if not n then break end
- local char, id = is_char(n, font)
- if char then
- local mapping = table[char]
- if mapping then
- if tonumber(mapping) then
- setchar(n, mapping)
- else
- mapping = seen_cased and is_Final_Sigma(font, mapping, n, after)
- or lang and is_Language_Mapping(font, mapping[lang], n, after, seen_soft_dotted, seen_I)
- or mapping._
- if #mapping == 0 then
- head, n = remove(head, n)
- goto continue
- else
- setchar(n, mapping[1])
- for i=2, #mapping do
- head, n = insert_after(head, n, copy(n))
- setchar(n, mapping[i])
- end
- end
- end
- end
- if not case_ignorable[char] then
- seen_cased = cased[char] or nil
- end
- local char_ccc = ccc[char]
- if not char_ccc or char_ccc == 230 then
- seen_I = char == 0x49 or nil
- seen_soft_dotted = soft_dotted[char]
- end
- elseif id == disc and uses_font(n, font) then
- local pre, post, rep = getdisc(n)
- local after = getnext(n)
- pre, post, rep, seen_cased, seen_soft_dotted, seen_I =
- processor(pre, font, nil, seen_cased, seen_soft_dotted, seen_I),
- processor(post, font, after),
- processor(rep, font, after, seen_cased, seen_soft_dotted, seen_I)
- setdisc(n, pre, post, rep)
- else
- seen_cased, seen_soft_dotted, seen_I = nil
- end
- n = getnext(n)
- ::continue::
- end
- return head, seen_cased, seen_soft_dotted, seen_I
- end
- return function(head, font) return (processor(head, font)) end
-end
-
-local upper_process = process(uppercase)
-otfregister {
- name = 'upper',
- description = 'Map to uppercase',
- default = false,
- processors = {
- position = 1,
- plug = upper_process,
- node = upper_process,
- base = upper_process,
- },
-}
-
-local lower_process = process(lowercase)
-otfregister {
- name = 'lower',
- description = 'Map to lowercase',
- default = false,
- processors = {
- position = 1,
- plug = lower_process,
- node = lower_process,
- base = lower_process,
- },
-}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-colors.lua b/macros/luatex/generic/luaotfload/luaotfload-colors.lua
index fb1cbd3487..c6a437c92a 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-colors.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-colors.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-colors",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / color",
license = "GPL v2.0",
author = "Khaled Hosny, Elie Roux, Philipp Gesang, Dohyun Kim, David Carlisle",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-conf.pdf b/macros/luatex/generic/luaotfload/luaotfload-conf.pdf
index afb5a2a4f5..7baffef63e 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-conf.pdf
+++ b/macros/luatex/generic/luaotfload/luaotfload-conf.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/luaotfload-configuration.lua b/macros/luatex/generic/luaotfload/luaotfload-configuration.lua
index 07ac92096d..76a8d68754 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-configuration.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-configuration.lua
@@ -7,8 +7,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-configuration",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / config file reader",
license = "GPL v2.0"
}
@@ -994,7 +994,7 @@ local function dump ()
end
if next(confdata) then
iowrite (stringformat (conf_header,
- osdate ("%Y-%m-d %H:%M:%S", os.time ())))
+ osdate ("%Y-%m-%d %H:%M:%S", os.time ())))
iowrite (tableconcat (confdata, "\n"))
iowrite (conf_footer)
end
diff --git a/macros/luatex/generic/luaotfload/luaotfload-database.lua b/macros/luatex/generic/luaotfload/luaotfload-database.lua
index 288f4a21b2..b1d264f9b7 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-database.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-database.lua
@@ -5,8 +5,8 @@
do -- block to avoid to many local variables error
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-database",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / database",
license = "GPL v2.0",
author = "Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Kr├╝ger",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua b/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua
index 67970dc4c5..fe959a50de 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua
@@ -7,8 +7,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-diagnostics",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload-tool submodule / diagnostics",
license = "GPL v2.0"
}
@@ -376,7 +376,7 @@ else
out ("Try again later at %s.", osdate ("%F %T", reset))
else --- windows doesnтАЩt C99
out ("Try again later at %s.",
- osdate ("%Y-%m-d %H:%M:%S", reset))
+ osdate ("%Y-%m-%d %H:%M:%S", reset))
end
end
return true
diff --git a/macros/luatex/generic/luaotfload/luaotfload-dvi.lua b/macros/luatex/generic/luaotfload/luaotfload-dvi.lua
index 12ca5d7d56..f368c3ae5a 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-dvi.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-dvi.lua
@@ -6,8 +6,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-dvi",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / DVI",
license = "GPL v2.0",
author = "Marcel Kr├╝ger",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-embolden.lua b/macros/luatex/generic/luaotfload/luaotfload-embolden.lua
index d9f68f4d4d..ca035bc4cd 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-embolden.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-embolden.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-embolden",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / embolden",
license = "GPL v2.0",
author = "Marcel Kr├╝ger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload-fakesc.lua b/macros/luatex/generic/luaotfload/luaotfload-fakesc.lua
deleted file mode 100644
index 421f6fd24d..0000000000
--- a/macros/luatex/generic/luaotfload/luaotfload-fakesc.lua
+++ /dev/null
@@ -1,204 +0,0 @@
------------------------------------------------------------------------
--- FILE: luaotfload-fakesc.lua
--- DESCRIPTION: part of luaotfload / fakesc
------------------------------------------------------------------------
-
-assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
- name = "luaotfload-fakesc",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
- description = "luaotfload submodule / fakesc",
- license = "GPL v2.0",
- author = "Marcel Kr├╝ger"
-}
-
-local nodenew = node.direct.new
-local getfont = font.getfont
-local setfont = node.direct.setfont
-local getwhd = node.direct.getwhd
-local insert_after = node.direct.insert_after
-local traverse_char = node.direct.traverse_char
-local protect_glyph = node.direct.protect_glyph
-local otffeatures = fonts.constructors.newfeatures "otf"
-
-local sep = lpeg.P' '^0 * ';' * lpeg.P' '^0
-local codepoint = lpeg.S'0123456789ABCDEF'^4/function(c)return tonumber(c, 16)end
-local codepoint_range = codepoint * ('..' * codepoint + lpeg.Cc(false))
-local function multirawset(table, key1, key2, value)
- for key = key1,(key2 or key1) do
- rawset(table, key, value)
- end
- return table
-end
-local script_extensions do
- local entry = lpeg.Cg(codepoint_range * sep * lpeg.Ct((lpeg.C(lpeg.R'AZ' * lpeg.R'az'^1))^1 * ' ') * '#')^-1 * (1-lpeg.P'\n')^0 * '\n'
- local file = lpeg.Cf(
- lpeg.Ct''
- * entry^0
- , multirawset)
-
- local f = io.open(kpse.find_file"ScriptExtensions.txt")
- script_extensions = file:match(f:read'*a')
- f:close()
- for cp,t in next, script_extensions do
- for i=1,#t do
- t[t[i]] = true
- end
- end
-end
-local script_mapping do
- -- We could extract these from PropertyValueAliases.txt...
- local script_aliases = {
- Adlam = "Adlm", Caucasian_Albanian = "Aghb", Ahom = "Ahom", Arabic = "Arab",
- Imperial_Aramaic = "Armi", Armenian = "Armn", Avestan = "Avst",
- Balinese = "Bali", Bamum = "Bamu", Bassa_Vah = "Bass", Batak = "Batk",
- Bengali = "Beng", Bhaiksuki = "Bhks", Bopomofo = "Bopo", Brahmi = "Brah",
- Braille = "Brai", Buginese = "Bugi", Buhid = "Buhd", Chakma = "Cakm",
- Canadian_Aboriginal = "Cans", Carian = "Cari", Cham = "Cham",
- Cherokee = "Cher", Coptic = "Copt", Cypriot = "Cprt", Cyrillic = "Cyrl",
- Devanagari = "Deva", Dogra = "Dogr", Deseret = "Dsrt", Duployan = "Dupl",
- Egyptian_Hieroglyphs = "Egyp", Elbasan = "Elba", Elymaic = "Elym",
- Ethiopic = "Ethi", Georgian = "Geor", Glagolitic = "Glag",
- Gunjala_Gondi = "Gong", Masaram_Gondi = "Gonm", Gothic = "Goth",
- Grantha = "Gran", Greek = "Grek", Gujarati = "Gujr", Gurmukhi = "Guru",
- Hangul = "Hang", Han = "Hani", Hanunoo = "Hano", Hatran = "Hatr",
- Hebrew = "Hebr", Hiragana = "Hira", Anatolian_Hieroglyphs = "Hluw",
- Pahawh_Hmong = "Hmng", Nyiakeng_Puachue_Hmong = "Hmnp",
- Katakana_Or_Hiragana = "Hrkt", Old_Hungarian = "Hung", Old_Italic = "Ital",
- Javanese = "Java", Kayah_Li = "Kali", Katakana = "Kana",
- Kharoshthi = "Khar", Khmer = "Khmr", Khojki = "Khoj", Kannada = "Knda",
- Kaithi = "Kthi", Tai_Tham = "Lana", Lao = "Laoo", Latin = "Latn",
- Lepcha = "Lepc", Limbu = "Limb", Linear_A = "Lina", Linear_B = "Linb",
- Lisu = "Lisu", Lycian = "Lyci", Lydian = "Lydi", Mahajani = "Mahj",
- Makasar = "Maka", Mandaic = "Mand", Manichaean = "Mani", Marchen = "Marc",
- Medefaidrin = "Medf", Mende_Kikakui = "Mend", Meroitic_Cursive = "Merc",
- Meroitic_Hieroglyphs = "Mero", Malayalam = "Mlym", Modi = "Modi",
- Mongolian = "Mong", Mro = "Mroo", Meetei_Mayek = "Mtei", Multani = "Mult",
- Myanmar = "Mymr", Nandinagari = "Nand", Old_North_Arabian = "Narb",
- Nabataean = "Nbat", Newa = "Newa", Nko = "Nkoo", Nushu = "Nshu",
- Ogham = "Ogam", Ol_Chiki = "Olck", Old_Turkic = "Orkh", Oriya = "Orya",
- Osage = "Osge", Osmanya = "Osma", Palmyrene = "Palm", Pau_Cin_Hau = "Pauc",
- Old_Permic = "Perm", Phags_Pa = "Phag", Inscriptional_Pahlavi = "Phli",
- Psalter_Pahlavi = "Phlp", Phoenician = "Phnx", Miao = "Plrd",
- Inscriptional_Parthian = "Prti", Rejang = "Rjng", Hanifi_Rohingya = "Rohg",
- Runic = "Runr", Samaritan = "Samr", Old_South_Arabian = "Sarb",
- Saurashtra = "Saur", SignWriting = "Sgnw", Shavian = "Shaw",
- Sharada = "Shrd", Siddham = "Sidd", Khudawadi = "Sind", Sinhala = "Sinh",
- Sogdian = "Sogd", Old_Sogdian = "Sogo", Sora_Sompeng = "Sora",
- Soyombo = "Soyo", Sundanese = "Sund", Syloti_Nagri = "Sylo",
- Syriac = "Syrc", Tagbanwa = "Tagb", Takri = "Takr", Tai_Le = "Tale",
- New_Tai_Lue = "Talu", Tamil = "Taml", Tangut = "Tang", Tai_Viet = "Tavt",
- Telugu = "Telu", Tifinagh = "Tfng", Tagalog = "Tglg", Thaana = "Thaa",
- Thai = "Thai", Tibetan = "Tibt", Tirhuta = "Tirh", Ugaritic = "Ugar",
- Vai = "Vaii", Warang_Citi = "Wara", Wancho = "Wcho", Old_Persian = "Xpeo",
- Cuneiform = "Xsux", Yi = "Yiii", Zanabazar_Square = "Zanb",
- Inherited = "Zinh", Common = "Zyyy", Unknown = "Zzzz",
- }
- local entry = lpeg.Cg(codepoint_range * sep * ((lpeg.R'AZ' + lpeg.R'az' + '_')^1/script_aliases))^-1 * (1-lpeg.P'\n')^0 * '\n'
- -- local entry = lpeg.Cg(codepoint_range * sep * lpeg.Cc(true))^-1 * (1-lpeg.P'\n')^0 * '\n'
- local file = lpeg.Cf(
- lpeg.Ct''
- * entry^0
- , multirawset)
-
- local f = io.open(kpse.find_file"Scripts.txt")
- script_mapping = file:match(f:read'*a')
- f:close()
-end
-
-local additional_scripts_tables = { }
-
-local additional_scripts_fonts = setmetatable({}, {
- __index = function(t, fid)
- local f = font.getfont(fid)
- -- table.tofile('myfont2', f)
- local res = f and f.additional_scripts or false
- t[fid] = res
- return res
- end,
-})
-
-local function makecombifont(tfmdata, _, additional_scripts)
- local basescript = tfmdata.properties.script
- local scripts = {basescript = false}
- additional_scripts = additional_scripts_tables[additional_scripts]
- for script, fontname in pairs(additional_scripts) do
- if script ~= basescript then
- local f = fonts.definers.read(fontname, tfmdata.size)
- local fid
- if type(f) == 'table' then
- fid = font.define(f)
- else
- error[[FIXME???]]
- end
- scripts[script] = {
- fid = fid,
- font = f,
- characters = f.characters,
- }
- end
- end
- tfmdata.additional_scripts = scripts
-end
-
-local glyph_id = node.id'glyph'
--- TODO: unset last_script, matching parentheses etc
-function domultiscript(head, _, _, _, direction)
- head = node.direct.todirect(head)
- local last_fid, last_fonts, last_script
- for cur, cid, fid in traverse_char(head) do
- if fid ~= last_fid then
- last_fid, last_fonts, last_script = fid, additional_scripts_fonts[fid]
- end
- if last_fonts then
- local mapped_scr = script_mapping[cid]
- if mapped_scr == "Zinh" then
- mapped_scr = last_script
- else
- local additional_scr = script_extensions[cid]
- if additional_scripts then
- if additional_scripts[last_script] then
- mapped_scr = last_script
- elseif not last_fonts[mapped_scr] then
- for i = 1, #additional_scripts do
- if last_fonts[additional_scripts[i]] then
- mapped_scr = additional_scripts[i]
- break
- end
- end
- end
- elseif mapped_scr == "Zyyy" then
- mapped_scr = last_script
- end
- end
- last_script = mapped_scr
- local mapped_font = last_fonts[mapped_scr]
- if mapped_font then
- setfont(cur, mapped_font.fid)
- end
- end
- end
-end
-
-function luaotfload.add_multiscript(name, fonts)
- if fonts == nil then
- fonts = name
- name = #additional_scripts_fonts + 1
- end
- additional_scripts_tables[name] = fonts
- return name
-end
-
-otffeatures.register {
- name = "multiscript",
- description = "Combine fonts for multiple scripts",
- manipulators = {
- node = makecombifont,
- },
- -- processors = { -- processors would be nice, but they are applied
- -- -- too late for our purposes
- -- node = donotdef,
- -- }
-}
-
---- vim:sw=2:ts=2:expandtab:tw=71
diff --git a/macros/luatex/generic/luaotfload/luaotfload-fallback.lua b/macros/luatex/generic/luaotfload/luaotfload-fallback.lua
index 0caef93589..3e5d65eaca 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-fallback.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-fallback.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-fallback",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / fallback",
license = "GPL v2.0",
author = "Marcel Kr├╝ger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload-features.lua b/macros/luatex/generic/luaotfload/luaotfload-features.lua
index adce910c4e..bedcd59d76 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-features.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-features.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-features",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / features",
license = "GPL v2.0",
author = "Hans Hagen, Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Kr├╝ger",
@@ -509,6 +509,17 @@ do
end
return factors
end
+
+ -- Additionally we patch trytosharefont to ensure that variable fonts work
+ -- with default values whenever no explicit values are passed.
+ local original_trytosharefont = fonts.constructors.trytosharefont
+ function fonts.constructors.trytosharefont(target, tfmdata)
+ original_trytosharefont(target, tfmdata)
+ if not target.streamprovider and tfmdata.resources.variabledata then
+ local format = tfmdata.properties.format
+ target.streamprovider = format == 'opentype' and 1 or format == 'truetype' and 2 or 0
+ end
+ end
end
-- MK: Added
diff --git a/macros/luatex/generic/luaotfload/luaotfload-filelist.lua b/macros/luatex/generic/luaotfload/luaotfload-filelist.lua
index 10421ee372..e3fc38acd3 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-filelist.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-filelist.lua
@@ -6,8 +6,8 @@
if luaotfload_module then luaotfload_module {
name = "luaotfload-filelist",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / filelist",
license = "GPL v2.0"
} end
diff --git a/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua b/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua
index 7a34f29ca1..93a2eaeffd 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua
@@ -1,8 +1,8 @@
if luaotfload_module then
luaotfload_module {
name = "luaotfload-glyphlist",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / autogenerated glyphlist",
copyright = "derived from https://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/glyphlist.txt",
original = "Adobe Glyph List, version 2.0, September 20, 2002",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua b/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua
index f470b13772..f128adbaae 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua
@@ -5,8 +5,8 @@
do -- block to avoid to many local variables error
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-harf-define",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / HarfBuzz font loading",
license = "GPL v2.0",
author = "Khaled Hosny, Marcel Kr├╝ger",
@@ -71,7 +71,7 @@ local get_designsize do
end
local containers = luaotfload.fontloader.containers
-local hbcacheversion = 1.1
+local hbcacheversion = 1.2
local facecache = containers.define("fonts", "hb", hbcacheversion, true)
local function loadfont(spec)
@@ -119,7 +119,8 @@ local function loadfont(spec)
local descender = fontextents and fontextents.descender or upem * .2
local gid = hbfont:get_nominal_glyph(0x0020)
- local space = gid and hbfont:get_glyph_h_advance(gid) or upem / 2
+ local real_space = hbfont:get_glyph_h_advance(gid or 0)
+ local tex_space = gid and real_space or upem / 2
local slant = 0
if haspost then
@@ -214,7 +215,8 @@ local function loadfont(spec)
gid_offset = 0x120000,
upem = upem,
fonttype = fonttype,
- space = space,
+ real_space = real_space,
+ tex_space = tex_space,
xheight = xheight,
capheight = capheight,
slant = slant,
@@ -260,7 +262,8 @@ local function scalefont(data, spec)
local hbface = data.face
local hbfont = data.font
local upem = data.upem
- local space = data.space
+ local tex_space = data.tex_space
+ local real_space = data.real_space
local gid_offset = data.gid_offset
if size < 0 then
@@ -321,15 +324,16 @@ local function scalefont(data, spec)
characters = characters,
parameters = {
slant = data.slant,
- space = space * scale,
- space_stretch = space * scale / 2,
- space_shrink = space * scale / 3,
+ space = tex_space * scale,
+ space_stretch = tex_space * scale / 2,
+ space_shrink = tex_space * scale / 3,
x_height = data.xheight * scale,
quad = size,
- extra_space = space * scale / 3,
+ extra_space = tex_space * scale / 3,
[8] = data.capheight * scale, -- for XeTeX compatibility.
},
hb = {
+ space = (real_space * scale + .5) // 1,
scale = scale,
palette = palette,
shared = data,
diff --git a/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua b/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua
index bf7028c54d..1577aa7004 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua
@@ -2,17 +2,15 @@
-- FILE: luaotfload-harf-plug.lua
-- DESCRIPTION: part of luaotfload / HarfBuzz / fontloader plugin
-----------------------------------------------------------------------
-do -- block to avoid to many local variables error
- assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
- name = "luaotfload-harf-plug",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
- description = "luaotfload submodule / HarfBuzz shaping",
- license = "GPL v2.0",
- author = "Khaled Hosny, Marcel Kr├╝ger",
- copyright = "Luaotfload Development Team",
- }
-end
+assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
+ name = "luaotfload-harf-plug",
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
+ description = "luaotfload submodule / HarfBuzz shaping",
+ license = "GPL v2.0",
+ author = "Khaled Hosny, Marcel Kr├╝ger",
+ copyright = "Luaotfload Development Team",
+}
local hb = luaotfload.harfbuzz
local logreport = luaotfload.log.report
@@ -181,7 +179,8 @@ local function itemize(head, fontid, direction)
local dirstack = {}
local currdir = direction or 0
local lastskip, lastdir = true
- local lastrun = {}
+ local dummyrun = { start = 0, len = 0 }
+ local lastrun = dummyrun
local lastdisc
local in_disc
@@ -226,9 +225,6 @@ local function itemize(head, fontid, direction)
setlink(prev, n)
code = nil
skip = false
- if not prev then
- head = n
- end
else
skip = true
end
@@ -272,6 +268,9 @@ local function itemize(head, fontid, direction)
lastrun.len = lastrun.len + 1
elseif disc then
if lastdisc then
+ if lastrun.len == 0 then
+ runs[#runs - 1].after = n
+ end
lastdisc.next = disc
lastdisc = disc
else
@@ -280,7 +279,7 @@ local function itemize(head, fontid, direction)
end
end
- return head, runs
+ return dummyrun.after, runs
end
@@ -439,6 +438,7 @@ function shape(head, firstnode, run)
while disc_cluster and after_cluster <= cluster
or not disc_cluster and anchor_cluster <= cluster do
if disc_cluster then
+ if false then -- The saved_... are for nested (aka first/second or init/select) discretionary nodes. The code is currently disabled because the linebreaking for these is broken on the engine level.
if not saved_after and saved_anchor < cluster then
saved_after = discs.next.after_cluster + offset
if saved_after > cluster then
@@ -448,11 +448,14 @@ function shape(head, firstnode, run)
elseif saved_after then
saved_after, after_cluster = after_cluster, saved_after
end
+ end
local rep_glyphs = table.move(glyphs, disc_glyph, i - 1, 1, {})
for j = 1, #rep_glyphs do
local glyph = rep_glyphs[j]
glyph.cluster = glyph.cluster - disc_cluster
- glyph.nextcluster = glyph.nextcluster - disc_cluster
+ if glyph.nextcluster then
+ glyph.nextcluster = glyph.nextcluster - disc_cluster
+ end
end
do
local cluster_offset = disc_cluster - cluster + (saved_after and 2 or 1) -- The offset the glyph indices will move
@@ -637,7 +640,6 @@ function shape(head, firstnode, run)
::NEXTCLUSTERFOUND:: -- end
glyph.nextcluster = nextcluster
- local disc, discindex
-- Calculate the Unicode code points of this glyph. If cluster did not
-- change then this is a glyph inside a complex cluster and will be
-- handled with the start of its cluster.
@@ -651,19 +653,12 @@ function shape(head, firstnode, run)
-- assert(char == codes[j])
hex = hex .. to_utf16_hex(char)
str = str .. utf8.char(char)
- elseif not discindex and id == disc_t then
- local props = properties[disc]
- if not (props and props.zwnj) then
- disc, discindex = node, j
- end
end
node = getnext(node)
end
glyph.tounicode = hex
glyph.string = str
end
- if not fordisc and discindex then
- end
end
return head, firstnode, glyphs, run.len - len
else
@@ -743,7 +738,6 @@ local function tonodes(head, node, run, glyphs)
local dir = run.dir
local fontid = run.font
local fontdata = font.getfont(fontid)
- local space = fontdata.parameters.space
local characters = fontdata.characters
local hbdata = fontdata.hb
local hfactor = (fontdata.extend or 1000) / 1000
@@ -758,6 +752,7 @@ local function tonodes(head, node, run, glyphs)
local lastprops
local scale = hbdata.scale
+ local space = hbdata.space
local haspng = hbshared.haspng
local fonttype = hbshared.fonttype
diff --git a/macros/luatex/generic/luaotfload/luaotfload-init.lua b/macros/luatex/generic/luaotfload/luaotfload-init.lua
index c0ec8cd84b..9ce1d2494d 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-init.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-init.lua
@@ -7,8 +7,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-init",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / initialization",
license = "GPL v2.0"
}
@@ -394,7 +394,7 @@ local function init_main(early_hook)
---load_fontloader_module "font-odv.lua" --- <= Devanagari support from Context
logreport ("log", 0, "init",
- "Context OpenType loader version %q",
+ "Context OpenType loader version %.3f",
fonts.handlers.otf.version)
callback.register = trapped_register
nodes = context_environment.nodes
diff --git a/macros/luatex/generic/luaotfload/luaotfload-latex.pdf b/macros/luatex/generic/luaotfload/luaotfload-latex.pdf
index 84c541dc0c..7931d9d1d4 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-latex.pdf
+++ b/macros/luatex/generic/luaotfload/luaotfload-latex.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua b/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua
index bbdaa729e2..7963a839b9 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-letterspace",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / letterspacing",
license = "GPL v2.0",
copyright = "PRAGMA ADE / ConTeXt Development Team",
@@ -59,6 +59,12 @@ local setkern = nodedirect.setkern
local getglue = nodedirect.getglue
local setglue = nodedirect.setglue
+local hasattribute = nodedirect.has_attribute
+local setattribute = nodedirect.set_attribute
+
+local getattributelist = nodedirect.getattributelist
+local setattributelist = nodedirect.setattributelist
+
local find_node_tail = nodedirect.tail
local todirect = nodedirect.todirect
local tonode = nodedirect.tonode
@@ -80,6 +86,9 @@ local chardata = fonthashes.characters
local otffeatures = fonts.constructors.newfeatures "otf"
local markdata
+local attribute_table = {}
+local attr = luatexbase.new_attribute("luaotfload.letterspace_done")
+
local function getprevreal(n)
repeat
n = getprev(n)
@@ -243,6 +252,10 @@ kerncharacters = function (head)
local id = getid(start)
if id == glyph_code then
--- 1) look up kern factor (slow, but cached rudimentarily)
+ if hasattribute(start, attr, 1) then -- We already kerned this node
+ firstkern = false -- TODO: I'm not sure about this one yet
+ goto nextnode
+ end
local fontid = getfont(start)
local krn, fillup = unpack(kernamounts[fontid])
if not krn or krn == 0 then
@@ -426,6 +439,14 @@ kerncharacters = function (head)
setfield(disc, "replace", kern_injector(false, krn))
end --[[if replace and prv and nxt]]
end --[[if not pid]]
+ local attr_list = getattributelist(start)
+ local new_attr_list = attribute_table[attr_list]
+ if new_attr_list then
+ setattributelist(start, new_attr_list)
+ else
+ setattribute(start, attr, 1)
+ attribute_table[attr_list] = getattributelist(start)
+ end
end --[[if prev]]
end --[[if id == glyph_code]]
@@ -478,6 +499,9 @@ local function enablefontkerning ( )
logreport ("both", 0, "letterspace",
"kerncharacters() failed to return a valid new head")
end
+
+ for k in next, attribute_table do attribute_table[k] = nil end
+
return tonode (direct_hd)
end
diff --git a/macros/luatex/generic/luaotfload/luaotfload-loaders.lua b/macros/luatex/generic/luaotfload/luaotfload-loaders.lua
index e58f2429fe..1ed66aebea 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-loaders.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-loaders.lua
@@ -8,8 +8,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-loaders",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / callback handling",
license = "GPL v2.0"
}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-log.lua b/macros/luatex/generic/luaotfload/luaotfload-log.lua
index 38208241f7..74c5fd6929 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-log.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-log.lua
@@ -6,8 +6,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-log",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / logging",
license = "GPL v2.0",
author = "Khaled Hosny, Elie Roux, Philipp Gesang",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-main.tex b/macros/luatex/generic/luaotfload/luaotfload-main.tex
index acc136fd9d..ccc20ca578 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-main.tex
+++ b/macros/luatex/generic/luaotfload/luaotfload-main.tex
@@ -32,7 +32,7 @@
\beginfrontmatter
\setdocumenttitle {The \identifier{luaotfload} package}
- \setdocumentdate {2021-01-08 v3.17}
+ \setdocumentdate {2021-05-21 v3.18}
\setdocumentauthor {LaTeX3 Project\\
Elie Roux ┬╖ Khaled Hosny ┬╖ Philipp Gesang ┬╖ Ulrike Fischer ┬╖ Marcel Kr├╝ger\\
Home: \hyperlink {https://github.com/latex3/luaotfload}}
@@ -62,6 +62,14 @@ Supported is the \identifier{luatex} versions of a current TeXLive 2019 (and a c
\endsection
\beginsection{Changes}
+\beginsubsection {New in version 3.18 (by Ulrike Fischer/Marcel Kr├╝ger)}
+\begin{itemize}
+ \item Now variable fonts can be loaded with default values without specifying
+ any explicit axis values.
+ \item A number of small bugfixes.
+ \end{itemize}
+\endsubsection
+
\beginsubsection {New in version 3.17 (by Ulrike Fischer/Marcel Kr├╝ger)}
\begin{itemize}
\item The experimental support for OpenType variable fonts has been extended
diff --git a/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua b/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua
index 7caae3a222..e3cf9a0cbf 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-multiscript",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / multiscript",
license = "GPL v2.0",
author = "Marcel Kr├╝ger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload-notdef.lua b/macros/luatex/generic/luaotfload/luaotfload-notdef.lua
index aa4ce3076e..d8cc677723 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-notdef.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-notdef.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-notdef",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / notdef",
license = "GPL v2.0",
author = "Marcel Kr├╝ger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload-parsers.lua b/macros/luatex/generic/luaotfload/luaotfload-parsers.lua
index 40973db882..cd452b40c2 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-parsers.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-parsers.lua
@@ -7,8 +7,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-parsers",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / parsers",
license = "GPL v2.0"
}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua b/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua
index 4aa27a513b..a24757777e 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua
@@ -11,8 +11,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-resolvers",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / resolvers",
license = "GPL v2.0"
}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-scripts.lua b/macros/luatex/generic/luaotfload/luaotfload-scripts.lua
index 003dda6c07..8a4f51ea58 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-scripts.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-scripts.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-script",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / Script helpers",
license = "CC0 1.0 Universal",
author = "Marcel Kr├╝ger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload-status.lua b/macros/luatex/generic/luaotfload/luaotfload-status.lua
index ef89e65010..6743a025c3 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-status.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-status.lua
@@ -1,8 +1,8 @@
return {
["hashes"]={
- { "fontloader-2021-01-07.lua", "ef54bfa34416e2c85fa48d3195c67fd2" },
+ { "fontloader-2021-05-20.lua", "d3d971e3e79aefcb828157b97cc33378" },
{ "fontloader-util-fil.lua", "aae2a2add764144bb58dd8216fd59260" },
- { "fontloader-util-str.lua", "c975ff7bbd178163cf47d9e9296c8b4b" },
+ { "fontloader-util-str.lua", "f3480da8f9a6f34fe320900f7224719b" },
{ "fontloader-l-unicode.lua", "f368874f11f3c525de5864fd413e4b24" },
{ "fontloader-l-math.lua", "082add08e0bb79f39191ae9534a79849" },
{ "fontloader-l-boolean.lua", "abe28515dd33e8f6c416c09bca351cf8" },
@@ -11,9 +11,9 @@ return {
{ "fontloader-l-table.lua", "0330da8b3a08d39876def70df8d9c0e5" },
{ "fontloader-l-string.lua", "9457f2af85723e0e6c46d0b5122e9000" },
{ "fontloader-l-function.lua", "a7e68a9703c35238729da41a474e951b" },
- { "fontloader-l-lpeg.lua", "10bdaef44175902917691835010ae5f5" },
+ { "fontloader-l-lpeg.lua", "446dc07c8f6d2884122679fb4c8589e2" },
{ "fontloader-l-lua.lua", "420bc442e6d81f4624728a6c56fcd175" },
- { "fontloader-fonts-gbn.lua", "10ecdf01e7c926e5128ad8a9dff4d677" },
+ { "fontloader-fonts-gbn.lua", "34e4543a02f6fbc8c2ade896cb6dc7df" },
{ "fontloader-fonts-lig.lua", "fbd251eea3810a43a8d5542319361d68" },
{ "fontloader-fonts-ext.lua", "32013cbc5d5d336be8b1d1e5879d86c4" },
{ "fontloader-fonts-def.lua", "f435e0875f203f343157baeff876ec9c" },
@@ -21,79 +21,79 @@ return {
{ "fontloader-fonts-enc.lua", "5ff4ca50493d7c4ecea0e15c203099f0" },
{ "fontloader-fonts-mis.lua", "17e967c9ec4d001deefd43ddf25e98f7" },
{ "fontloader-basics-chr.lua", "64fafe4eaf55d64aead6513c1e74a024" },
- { "fontloader-basics-nod.lua", "4b5c3c63e19df1b3f37fae7f87c25bda" },
- { "fontloader-font-imp-effects.lua", "a2dde5e071fcb3fc7b90f2bcd5aa4f22" },
+ { "fontloader-basics-nod.lua", "b2e0a0e5e1e27349aed464fa738b8db1" },
+ { "fontloader-font-imp-effects.lua", "d05997c1826355548ec9aec1346f9f23" },
{ "fontloader-font-imp-italics.lua", "defcb415bc1e0a0999b27773902adc18" },
{ "fontloader-font-imp-ligatures.lua", "26ffcf089391445f7af59536c8814364" },
{ "fontloader-font-imp-tex.lua", "ceb087ef6fa2f89aed7179f60ddf8f35" },
- { "fontloader-font-shp.lua", "5ff497c993112d4fef4c148348d964eb" },
+ { "fontloader-font-shp.lua", "2bb36adb4b264a895a2c4d97e1ac1d1e" },
{ "fontloader-font-def.lua", "b9d908c2338b7dc443ce9d1e9fcb7139" },
{ "fontloader-font-lua.lua", "1fbfdf7b689b2bdfd0e3bb9bf74ce136" },
{ "fontloader-font-afk.lua", "9da14e0fb22129c053acc599d1312544" },
- { "fontloader-font-one.lua", "53cd565030e919da984b50471cc3be37" },
+ { "fontloader-font-one.lua", "bd39d42055a44ca2002f8ddbbbbf27c3" },
{ "fontloader-font-onr.lua", "6d161533f3437435e12a0ad64866df44" },
- { "fontloader-font-ocl.lua", "797b5c71bf819c5f4fb314a4d646e9a7" },
- { "fontloader-font-osd.lua", "73c9531c79df5ada320cb20777f7ed49" },
+ { "fontloader-font-ocl.lua", "2a377351ae23c339764ec8ce2e8e9164" },
+ { "fontloader-font-osd.lua", "0e051ca0d3b1a8e0604ced27e753fde8" },
{ "fontloader-font-otc.lua", "0f12230ea07b5151f75d52726977e91f" },
- { "fontloader-font-ots.lua", "c780a471147527f4ddc139e017927ffe" },
- { "fontloader-font-ota.lua", "ad1d5de06400f88829509e1f3ff2b473" },
- { "fontloader-font-oup.lua", "6f46aa00ae1c20c43f8ffaf329dc8695" },
- { "fontloader-font-otj.lua", "8de59cb9b043e5f73c6b9f7cc8f6978e" },
+ { "fontloader-font-ots.lua", "cb106ae882e8548051f00aac8b7fa862" },
+ { "fontloader-font-ota.lua", "2bb12d708e35bc05443eba791e2554e7" },
+ { "fontloader-font-oup.lua", "4eb2f26e51835239e26a8df2ecf04366" },
+ { "fontloader-font-otj.lua", "b2c165bd6771a57633f992d07384b739" },
{ "fontloader-font-oto.lua", "2b1d6bc63b2ebf8f2655a15e1cda6541" },
- { "fontloader-font-otl.lua", "f4e6652a191003493389de230b14cfb3" },
- { "fontloader-font-ott.lua", "673ed11e1d159997f535bfec5fa73808" },
+ { "fontloader-font-otl.lua", "6f701653de713e8aa80d82c7cdf32d75" },
+ { "fontloader-font-ott.lua", "3f67b1b1d40bbc222681d8db4aff0f42" },
{ "fontloader-font-oti.lua", "309a75f9c14b77d87e94eba827dc4e71" },
{ "fontloader-font-dsp.lua", "174ce11f3ba0bddf270f48d8d2addd56" },
{ "fontloader-font-ttf.lua", "ffffc827e1bcddc33a2b615340ecff7f" },
- { "fontloader-font-cff.lua", "2b677fad52d9999d0685e8525271a8cc" },
- { "fontloader-font-otr.lua", "64dcbbc7107538723990e1119a80a9f8" },
+ { "fontloader-font-cff.lua", "01e7c6fbc8961a566f4e4f8cbedb7004" },
+ { "fontloader-font-otr.lua", "ad238624c9ebd488d4bbe9af3b620189" },
{ "fontloader-font-vfc.lua", "a81c29eda98cd62cbebdb6c93544b50d" },
{ "fontloader-font-map.lua", "c4a39db5ad822b348aa61bca5f4a599a" },
{ "fontloader-font-cid.lua", "22b0367742fb253deef84ef7ccf5e8de" },
{ "fontloader-font-con.lua", "724e5dd14aec2d4d189f8619898004cf" },
{ "fontloader-font-ini.lua", "5343de60613adb24cdd7a8d2ee1d153c" },
{ "fontloader-data-con.lua", "23a0f5386d46a1c157ae82a373e35fa0" },
- { "fontloader-reference.lua", "4807209e6a35420dd7528e9ec02f11da" },
+ { "fontloader-reference.lua", "29911e74397766ee36205736166dd763" },
{ "fontloader-basics-gen.lua", "4bc43036e9796fccb0b8869f4b05bf2e" },
{ "mktests", "918cb50be9ee8bd645ac1a27dc501e8c" },
- { "mkstatus", "d3bc6e7d0f6deb80db4edc6975e2ac5c" },
+ { "mkstatus", "7f2fd945c1247f6af6b96c4ed49ddeab" },
{ "mkcharacters", "bfca0e96e1e351afe7077502f9595af9" },
{ "mkglyphlist", "7a8a8fdc0eac7fac2f13ec8f4e8e7aa9" },
{ "mkimport", "7d62f1042e548f8b9368f26b9ba4be5c" },
- { "luaotfload-glyphlist.lua", "6097b4fd28b303a3ae7577e94f86610d" },
+ { "luaotfload-glyphlist.lua", "54908a38bf531914f350614afff2ccf6" },
{ "luaotfload-characters.lua", "76415ca3ede312cad6e09038323489ae" },
- { "luaotfload-dvi.lua", "a0d33e699c250c0e4abd4cfa1b974b6e" },
- { "luaotfload-tounicode.lua", "e07e112222777070250fbc980b2e6b85" },
- { "luaotfload-unicode.lua", "1d7fd6ab63640cb6c8e2091ac5a57915" },
- { "luaotfload-resolvers.lua", "b387d9435738f7ce8cf1e6af86b565a6" },
- { "luaotfload-parsers.lua", "dba42cb2f6bbfa13b9a56d0e4a2b2f44" },
- { "luaotfload-fallback.lua", "a3c8c048b14a304d3352871014ef1343" },
- { "luaotfload-szss.lua", "2413a2be98181fe77f7e110369194769" },
- { "luaotfload-scripts.lua", "2b924be852e17191e651faf5a2097e12" },
- { "luaotfload-multiscript.lua", "db7b6c7791b4b909d12234620ff7973d" },
- { "luaotfload-loaders.lua", "d169564522ac7194e7410d8263cd1b31" },
- { "luaotfload-harf-plug.lua", "8fdc1ba513a6026546b883259e559c7e" },
- { "luaotfload-harf-define.lua", "1c9a663bb7bfa650b93dcf01d5450675" },
- { "luaotfload-notdef.lua", "26fed1a76150718e05c8c56b1983ebdd" },
- { "luaotfload-embolden.lua", "5506419bc583d450f252542b1105d6ce" },
- { "luaotfload-letterspace.lua", "1a518a55f6663ce13866416a5b94d6a4" },
- { "luaotfload-features.lua", "33fdd06674606d043599dc4ea9b2a56b" },
- { "luaotfload-database.lua", "4a0f9f3b500df0d8a8234a0954065e46" },
- { "luaotfload-configuration.lua", "589ca99522479a0929d6824bafa36f63" },
- { "luaotfload-colors.lua", "7c201914c79310d9e79e75dfc7ee982b" },
- { "luaotfload-auxiliary.lua", "8e427ec79ced91d9fc6fbcece159d042" },
- { "luaotfload-filelist.lua", "3cd6b9d12ba2fb48783e393593cd9afd" },
- { "luaotfload-tool.lua", "f4534033397387433601040694b70c6b" },
- { "luaotfload-diagnostics.lua", "473e1a3cd00e4b277b1f7e17b13254da" },
- { "luaotfload-log.lua", "809e4afac4e070b619512461a6fedd90" },
- { "luaotfload-init.lua", "e3b832a9efc91c977044383640835069" },
+ { "luaotfload-dvi.lua", "403603ff9e267d2b9ac631e63b869718" },
+ { "luaotfload-tounicode.lua", "8f7850323417188eef5197d4e420bd34" },
+ { "luaotfload-unicode.lua", "5bc464447c3f5b154d8368904044d654" },
+ { "luaotfload-resolvers.lua", "3655371360dd87b4a7c83e355357e6eb" },
+ { "luaotfload-parsers.lua", "c715cb6ea43d644ec26d6e87d25b5d27" },
+ { "luaotfload-fallback.lua", "78a566243c0ad99e74f93fface672fb5" },
+ { "luaotfload-szss.lua", "4c431d8f76e06200b2df3269615097cc" },
+ { "luaotfload-scripts.lua", "12bf373853ead3eab3c83ec62e37bbd6" },
+ { "luaotfload-multiscript.lua", "a46096b20f5442acea29c75b77f763a7" },
+ { "luaotfload-loaders.lua", "ba59f0161e985f4c97c54245a74a8d29" },
+ { "luaotfload-harf-plug.lua", "bded3b2beccab4943f616b3069cbb372" },
+ { "luaotfload-harf-define.lua", "a5e760f71e08a8ff40a40defc9d59e4e" },
+ { "luaotfload-notdef.lua", "dbb4718b4c1b46adc5870af3f5cc6cac" },
+ { "luaotfload-embolden.lua", "7cc1563093c005c40c11b8c327e617f1" },
+ { "luaotfload-letterspace.lua", "e7ee541a56954ebfa1a227aa59614bb9" },
+ { "luaotfload-features.lua", "bf81e7630c3786ce12c1f9b61ef73037" },
+ { "luaotfload-database.lua", "9b911605805ca1fab7d4088c0c50a5d2" },
+ { "luaotfload-configuration.lua", "ddedd9c27f810b254547c6a799aba892" },
+ { "luaotfload-colors.lua", "f4e86b8cbbcc790a64dae59b6b05b3d1" },
+ { "luaotfload-auxiliary.lua", "e814d7c408817ae01a96f279c278ed08" },
+ { "luaotfload-filelist.lua", "1108447545fbcb08aa0f6d586988c2e1" },
+ { "luaotfload-tool.lua", "4ca593bc9413e4de889f1c0df6e48219" },
+ { "luaotfload-diagnostics.lua", "4fa11f02259f2f9e7cd60d4b668b6a33" },
+ { "luaotfload-log.lua", "e1af43403d8bf68d95276c0dc00e64f0" },
+ { "luaotfload-init.lua", "f80c78b2296664ba42514674d104d093" },
{ "luaotfload-main.lua", "b19c9cc34cf1d676c39f872cfb41aef6" },
},
["notes"]={
["committer"]="Marcel Fabian Kr├╝ger <tex@2krueger.de>",
- ["description"]="v3.17/2021-01-08",
- ["loader"]="fontloader-2021-01-07.lua",
- ["revision"]="359a8a50a0d1f778e358cc1507b6f08ec17b6898",
- ["timestamp"]="2021-01-08 14:15:42 +0100",
+ ["description"]="v3.18/2021-05-21",
+ ["loader"]="fontloader-2021-05-20.lua",
+ ["revision"]="3f2cacb9d2136142cffb183774c0edaeb4ea3314",
+ ["timestamp"]="2021-05-21 02:12:47 +0200",
},
} \ No newline at end of file
diff --git a/macros/luatex/generic/luaotfload/luaotfload-suppress.lua b/macros/luatex/generic/luaotfload/luaotfload-suppress.lua
index d78428ca96..8ea049ba91 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-suppress.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-suppress.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-suppress",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / suppress",
license = "GPL v2.0",
author = "Marcel Kr├╝ger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload-szss.lua b/macros/luatex/generic/luaotfload/luaotfload-szss.lua
index 88b02350f0..26c89eafa2 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-szss.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-szss.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-szss",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / Special feature handling",
license = "GPL v2.0",
author = "Marcel Kr├╝ger"
@@ -90,6 +90,7 @@ otfregister {
end
tfmdata.extend = value * 1000
tfmdata.hb.hscale = tfmdata.units_per_em * value
+ tfmdata.hb.space = tfmdata.hb.space * value
local parameters = tfmdata.parameters
parameters.slant = parameters.slant * value
parameters.space = parameters.space * value
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.1 b/macros/luatex/generic/luaotfload/luaotfload-tool.1
index 86f70ac706..9e2b12aed0 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-tool.1
+++ b/macros/luatex/generic/luaotfload/luaotfload-tool.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH LUAOTFLOAD-TOOL 1 "2021-01-08" "3.17" "text processing"
+.TH LUAOTFLOAD-TOOL 1 "2021-05-21" "3.18" "text processing"
.SH NAME
luaotfload-tool \- generate and query the Luaotfload font names database
.
@@ -391,6 +391,11 @@ concerning the format and available options.
Print the currently active configuration; the
output can be saved to a file and used for
bootstrapping a custom configuration files.
+.TP
+.B \-\-aliases
+Dump the font name database as a kpathsea
+aliases file. This option is experimental and
+might go away.
.UNINDENT
.SH FILES
.sp
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.lua b/macros/luatex/generic/luaotfload/luaotfload-tool.lua
index 0c58363903..df80d4da78 100644..100755
--- a/macros/luatex/generic/luaotfload/luaotfload-tool.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-tool.lua
@@ -9,8 +9,8 @@
local ProvidesLuaModule = {
name = "luaotfload-tool",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload-tool / database functionality",
license = "GPL v2.0"
}
@@ -584,7 +584,7 @@ local function display_general (fullinfo)
--- the MS compiler doesnтАЩt support C99, so
--- strftime is missing some functionality;
--- see loslib.c for details.
- val = osdate("%Y-%m-d %H:%M:%S", fullinfo[key])
+ val = osdate("%Y-%m-%d %H:%M:%S", fullinfo[key])
end
end
if not val then
@@ -736,7 +736,7 @@ local action_sequence = {
"config" , "loglevel" , "help" , "version" ,
"dumpconf" , "diagnose" , "blacklist" , "cache" ,
"flush" , "bisect" , "generate" , "list" ,
- "query" ,
+ "query" , "aliases" ,
}
local action_pending = tabletohash(action_sequence, false)
@@ -834,7 +834,7 @@ local bisect_status_fmt = [[
local function write_bisect_status (data)
local payload = tableserialize (data, true)
local status = stringformat (bisect_status_fmt,
- osdate ("%Y-%m-d %H:%M:%S", os.time ()),
+ osdate ("%Y-%m-%d %H:%M:%S", os.time ()),
payload)
if status and iosavedata (bisect_status_file, status) then
logreport ("info", 4, "bisect",
@@ -1396,6 +1396,51 @@ function actions.diagnose (job)
return diagnose (job)
end
+function actions.aliases (job)
+ --- Help XeTeX find fonts
+ local name_index = fonts.names.data() or fonts.names.load()
+ local mappings = name_index.mappings
+ local fontnames = name_index.fontnames.texmf
+ local families = name_index.families.texmf
+ local formats = { 'ttf', 'otf', }
+ for _, format in ipairs(formats) do
+ for name, mapping in pairs(fontnames[format]) do
+ mapping = mappings[mapping]
+ print(string.format('%s %s', mapping.basename, name))
+ end
+ end
+ local function best_match(options, target)
+ if not options then return end
+ if options.default then return mappings[options.default] end
+ local best, best_diff = nil, math.huge
+ for _, option in ipairs(options) do
+ local diff = math.abs(option[1]-target)
+ if diff < best_diff then
+ best, best_diff = option[4], diff
+ end
+ end
+ return mappings[best]
+ end
+ for _, format in ipairs(formats) do
+ for name, family in pairs(families[format]) do
+ local r = best_match(family.r, 655360, mappings)
+ local b = best_match(family.b, 655360, mappings)
+ local i = best_match(family.i, 655360, mappings)
+ local bi = best_match(family.bi, 655360, mappings)
+ r = r or b or i or bi -- Not sure if this is still needed
+ if r then
+ b, i, bi = b or r, i or r, bi or r
+ print(string.format('%s %s\n%s %s-b\n%s %s-i\n%s %s-bi',
+ r.basename, name,
+ b.basename, name,
+ i.basename, name,
+ bi.basename, name))
+ end
+ end
+ end
+ return true
+end
+
--- stuff to be carried out prior to exit
local finalizers = { }
@@ -1434,6 +1479,7 @@ local function process_cmdline ( ) -- unit -> jobspec
}
local long_options = {
+ aliases = 0,
["bisect"] = 1,
cache = 1,
conf = 1,
@@ -1587,6 +1633,8 @@ local function process_cmdline ( ) -- unit -> jobspec
action_pending["dumpconf"] = true
elseif v == "print-conf" then
result.print_config = true
+ elseif v == "aliases" then
+ action_pending["aliases"] = true
end
end
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.pdf b/macros/luatex/generic/luaotfload/luaotfload-tool.pdf
index 3836a25b15..fb44487640 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-tool.pdf
+++ b/macros/luatex/generic/luaotfload/luaotfload-tool.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.rst b/macros/luatex/generic/luaotfload/luaotfload-tool.rst
index 9ebc3127a1..085a371386 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-tool.rst
+++ b/macros/luatex/generic/luaotfload/luaotfload-tool.rst
@@ -6,9 +6,9 @@
generate and query the Luaotfload font names database
-----------------------------------------------------------------------
-:Date: 2021-01-08
+:Date: 2021-05-21
:Copyright: GPL v2.0
-:Version: 3.17
+:Version: 3.18
:Manual section: 1
:Manual group: text processing
@@ -281,6 +281,10 @@ miscellaneous
output can be saved to a file and used for
bootstrapping a custom configuration files.
+--aliases Dump the font name database as a kpathsea
+ aliases file. This option is experimental and
+ might go away.
+
FILES
=======================================================================
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua b/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua
index 5c92785066..928dfd30fc 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-tounicode",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / tounicode",
license = "GPL v2.0",
author = "Hans Hagen, Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Kr├╝ger",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-unicode.lua b/macros/luatex/generic/luaotfload/luaotfload-unicode.lua
index 5320c48ab2..ccc3988ba1 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-unicode.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-unicode.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-unicode",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "luaotfload submodule / Unicode helpers",
license = "CC0 1.0 Universal",
author = "Marcel Kr├╝ger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload.conf.5 b/macros/luatex/generic/luaotfload/luaotfload.conf.5
index efb8b5fff3..8285e71d7d 100644
--- a/macros/luatex/generic/luaotfload/luaotfload.conf.5
+++ b/macros/luatex/generic/luaotfload/luaotfload.conf.5
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH LUAOTFLOAD.CONF 5 "2021-01-08" "3.17" "text processing"
+.TH LUAOTFLOAD.CONF 5 "2021-05-21" "3.18" "text processing"
.SH NAME
luaotfload.conf \- Luaotfload configuration file
.
diff --git a/macros/luatex/generic/luaotfload/luaotfload.conf.rst b/macros/luatex/generic/luaotfload/luaotfload.conf.rst
index 645a659d2b..84db4dca17 100644
--- a/macros/luatex/generic/luaotfload/luaotfload.conf.rst
+++ b/macros/luatex/generic/luaotfload/luaotfload.conf.rst
@@ -6,9 +6,9 @@
Luaotfload configuration file
-----------------------------------------------------------------------
-:Date: 2021-01-08
+:Date: 2021-05-21
:Copyright: GPL v2.0
-:Version: 3.17
+:Version: 3.18
:Manual section: 5
:Manual group: text processing
diff --git a/macros/luatex/generic/luaotfload/luaotfload.lua b/macros/luatex/generic/luaotfload/luaotfload.lua
index 4a3cdb78ae..8d769d7dc8 100644
--- a/macros/luatex/generic/luaotfload/luaotfload.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload.lua
@@ -20,8 +20,8 @@ local authors = "\z
-- version number is used below!
local ProvidesLuaModule = {
name = "luaotfload",
- version = "3.17", --TAGVERSION
- date = "2021-01-08", --TAGDATE
+ version = "3.18", --TAGVERSION
+ date = "2021-05-21", --TAGDATE
description = "Lua based OpenType font support",
author = authors,
copyright = authors,
diff --git a/macros/luatex/generic/luaotfload/luaotfload.sty b/macros/luatex/generic/luaotfload/luaotfload.sty
index 915b418693..20dc5ffb4f 100644
--- a/macros/luatex/generic/luaotfload/luaotfload.sty
+++ b/macros/luatex/generic/luaotfload/luaotfload.sty
@@ -39,7 +39,7 @@
\fi
\ifdefined\ProvidesPackage
\ProvidesPackage{luaotfload}%
- [2021/01/08 v3.17 OpenType layout system]
+ [2021/05/21 v3.18 OpenType layout system]
\fi
\directlua{
if xpcall(function ()%
diff --git a/macros/luatex/generic/luaotfload/scripts-demo.pdf b/macros/luatex/generic/luaotfload/scripts-demo.pdf
index 29d47c2695..d6513d6869 100644
--- a/macros/luatex/generic/luaotfload/scripts-demo.pdf
+++ b/macros/luatex/generic/luaotfload/scripts-demo.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf b/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf
index bfb4258474..29b7c229f7 100644
--- a/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf
+++ b/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/shaper-demo.pdf b/macros/luatex/generic/luaotfload/shaper-demo.pdf
index 056db0fac3..a604a8c557 100644
--- a/macros/luatex/generic/luaotfload/shaper-demo.pdf
+++ b/macros/luatex/generic/luaotfload/shaper-demo.pdf
Binary files differ
diff --git a/macros/luatex/generic/luatexja/README b/macros/luatex/generic/luatexja/README
index e0f26c370c..3a433c20d4 100644
--- a/macros/luatex/generic/luatexja/README
+++ b/macros/luatex/generic/luatexja/README
@@ -1,4 +1,4 @@
-The LuaTeX-ja Package 20210517.0
+The LuaTeX-ja Package 20210521.0
--------------------------------
Copyright (c) 2011--2021 The LuaTeX-ja project
License: modified BSD (see COPYING)
@@ -42,9 +42,9 @@ Installation
2. If you must/want to install manually:
a. Download the source archive from CTAN,
- or tagged as 20210517.0 in the Git repository by
+ or tagged as 20210521.0 in the Git repository by
<http://git.osdn.jp/view?p=luatex-ja/luatexja.git
- ;a=snapshot;h=refs/tags/20210517.0;sf=tgz>
+ ;a=snapshot;h=refs/tags/20210521.0;sf=tgz>
b. Extract the archive and process following three files by LuaLaTeX
to generate classes for Japanese typesetting:
@@ -93,4 +93,4 @@ Notes
This file and ltj-kinsoku.lua are not used anymore.
(Do not remove ltj-kinsoku.tex.)
-Last commit date: Mon May 17 11:57:27 2021 +0900
+Last commit date: Fri May 21 21:07:11 2021 +0900
diff --git a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
index 12aada4965..4a31080cc1 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
+++ b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
Binary files differ
diff --git a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
index 8799ab20c8..ba8dad3586 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
+++ b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
Binary files differ
diff --git a/macros/luatex/generic/luatexja/src/ltj-inputbuf.lua b/macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
index 6423f8817a..e1623199e4 100644
--- a/macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
@@ -5,7 +5,6 @@
luatexja.load_module 'base'; local ltjb = luatexja.base
luatexja.load_module 'charrange'; local ltjc = luatexja.charrange
-require "unicode"
local utflen = utf.len
local utfbyte = utf.byte
local utfchar = utf.char
@@ -24,12 +23,11 @@ local start_time_measure, stop_time_measure
local function add_comment(buffer)
start_time_measure 'inputbuf'
local i = utflen(buffer)
- while (i>0) and (getcatcode(utfbyte(buffer, i))==1
- or getcatcode(utfbyte(buffer, i))==2) do
- i=i-1
+ local c = utfbyte(buffer, i)
+ while (i>0) and (getcatcode(c)==1 or getcatcode(c)==2) do
+ i=i-1; if (i>0) then c = utfbyte(buffer, i) end;
end
if i>0 then
- local c = utfbyte(buffer, i)
if c>=0x80 then
local te = tex.endlinechar
-- Is the catcode of endline character is 5 (end-of-line)?
diff --git a/macros/luatex/generic/luatexja/src/luatexja-core.sty b/macros/luatex/generic/luatexja/src/luatexja-core.sty
index 5f596574e2..fb58eaf31d 100644
--- a/macros/luatex/generic/luatexja/src/luatexja-core.sty
+++ b/macros/luatex/generic/luatexja/src/luatexja-core.sty
@@ -65,7 +65,7 @@
\expandafter\let\csname ifltj@in@latex\expandafter\endcsname
\csname iftrue\endcsname
\NeedsTeXFormat{LaTeX2e}
- \ProvidesPackage{luatexja-core}[2021-05-11 Core of LuaTeX-ja]
+ \ProvidesPackage{luatexja-core}[2021-05-21 Core of LuaTeX-ja]
\fi %</LaTeX>
%% Load prerequisite packages.
@@ -630,7 +630,7 @@
t[\the\ltj@@vadjust@dirhook@inner]
= function () luatexja.direction.set_list_direction_hook('adj') end
t[\the\ltj@@vadjust@check@dir@inner]
- = luatexja.direction.check_adjust_direction()
+ = luatexja.direction.check_adjust_direction
}
\luadef\ltj@@vadjust@dirhook\ltj@@vadjust@dirhook@inner
\protected\luadef\ltj@@vadjust@check@dir\ltj@@vadjust@check@dir@inner
diff --git a/macros/luatex/generic/luatexja/src/luatexja.sty b/macros/luatex/generic/luatexja/src/luatexja.sty
index 28b139d95e..0eec4c94c0 100644
--- a/macros/luatex/generic/luatexja/src/luatexja.sty
+++ b/macros/luatex/generic/luatexja/src/luatexja.sty
@@ -35,13 +35,13 @@
\expandafter\let\csname ifltj@in@latex\expandafter\endcsname
\csname iftrue\endcsname
\NeedsTeXFormat{LaTeX2e}
- \ProvidesPackage{luatexja}[2021-05-17 Japanese Typesetting with Lua(La)TeX]
+ \ProvidesPackage{luatexja}[2021-05-21 Japanese Typesetting with Lua(La)TeX]
\DeclareOption{disablejfam}{\ltj@disablejfamtrue}
\DeclareOption*{}
\ProcessOptions\relax
\fi %</LaTeX>
%%%% VERSION
-\def\LuaTeXjaversion{20210517.0}
+\def\LuaTeXjaversion{20210521.0}
\directlua{require('ltj-unicode-ccfix.lua')}% catcode of ideographs
diff --git a/macros/unicodetex/latex/aalok/README.txt b/macros/unicodetex/latex/aalok/README.txt
index 292d653a85..34715ffbff 100644
--- a/macros/unicodetex/latex/aalok/README.txt
+++ b/macros/unicodetex/latex/aalok/README.txt
@@ -8,7 +8,7 @@ Note: This README file contains information about LaTeX
--------------------------------------------------------------------------
рд▓рд╛рдЯреЗрдХреН-рд╡рд░реНрдЧ: рдЖрд▓реЛрдХ
рд▓реЗрдЦрдХ: рдирд┐рд░рдВрдЬрди
-рдЖрд╡реГрддреНрддреА: реж.реи (резрей рдлреЗрдмреНрд░реБрд╡рд╛рд░реА, реирежреирез)
+рдЖрд╡реГрддреНрддреА: реж.рек (реиреж рдореЗ, реирежреирез)
рд╡рд░реНрдгрди: рдЖрд▓реЛрдХ рдорд░рд╛рдареА рдирд┐рдпрддрдХрд╛рд▓рд┐рдХрд╛рдЪреНрдпрд╛ рдЕрдХреНрд╖рд░рдЬреБрд│рдгреАрдХрд░рд┐рддрд╛ рд▓рд╛рдЯреЗрдХреН-рд╡рд░реНрдЧ.
рд╕рдВрдЧреНрд░рд╛рд╣рд┐рдХрд╛: https://gitlab.com/aalok/aalok-latex
рдЕрдбрдЪрдгреА: https://gitlab.com/aalok/aalok-latex/-/issues
@@ -20,7 +20,7 @@ Note: This README file contains information about LaTeX
--------------------------------------------------------------------------
Class: aalok
Author: Niranjan
-Version: 0.2 (13 February, 2021)
+Version: 0.4 (20 May, 2021)
Description: LaTeX class for typesetting Aalok Marathi
Journal.
Repository: https://gitlab.com/aalok/aalok-latex
diff --git a/macros/unicodetex/latex/aalok/aalok.dtx b/macros/unicodetex/latex/aalok/aalok.dtx
index 81ae1b01e8..6d53b8f421 100644
--- a/macros/unicodetex/latex/aalok/aalok.dtx
+++ b/macros/unicodetex/latex/aalok/aalok.dtx
@@ -4,12 +4,17 @@
% ---------------------------------------------------------------------------
% рд▓рд╛рдЯреЗрдХреН-рд╡рд░реНрдЧ: рдЖрд▓реЛрдХ
% рд▓реЗрдЦрдХ: рдирд┐рд░рдВрдЬрди
-% рдЖрд╡реГрддреНрддреА: реж.реи
+% рдЖрд╡реГрддреНрддреА: реж.рек
% рд╡рд░реНрдгрди: рдЖрд▓реЛрдХ рдорд░рд╛рдареА рдирд┐рдпрддрдХрд╛рд▓рд┐рдХрд╛рдЪреНрдпрд╛ рдЕрдХреНрд╖рд░рдЬреБрд│рдгреАрдХрд░рд┐рддрд╛ рд▓рд╛рдЯреЗрдХреН-рд╡рд░реНрдЧ.
% рд╕рдВрдЧреНрд░рд╛рд╣рд┐рдХрд╛: https://gitlab.com/aalok/aalok-latex
% рдЕрдбрдЪрдгреА: https://gitlab.com/aalok/aalok-latex/-/issues
-% рдкрд░рд╡рд╛рдирд╛: рдЖрд▓реЛрдХ рдирд┐рддреНрдпрдореБрдХреНрдд рдкрд░рд╡рд╛рдирд╛. рдЖрд╡реГрддреНрддреА рез.реж рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдкреБрдвреАрд▓ рддрд╕реЗрдЪ
-% рдЧреНрдиреВ рдкрдмреНрд▓рд┐рдХ рдкрд░рд╡рд╛рдирд╛ рдЖрд╡реГрддреНрддреА рей.реж+
+% рдкрд░рд╡рд╛рдирд╛: рдЖрд▓реЛрдХ рдирд┐рддреНрдпрдореБрдХреНрдд рдкрд░рд╡рд╛рдирд╛. рдЖрд╡реГрддреНрддреА рез.реж+
+% рдЧреНрдиреВ рдкрдмреНрд▓рд┐рдХ рдкрд░рд╡рд╛рдирд╛. рдЖрд╡реГрддреНрддреА рей.реж+
+% рдЧреНрдиреВ рдлреНрд░реА рдбреЙрдХреНрдпреБрдореЗрдиреНрдЯреЗрд╢рди рдкрд░рд╡рд╛рдирд╛. рдЖрд╡реГрддреНрддреА рез.рей+
+% рджреБрд╡реЗ:
+% https://gitlab.com/aalok/nityamukta-parwana
+% https://www.gnu.org/licenses/gpl
+% https://www.gnu.org/licenses/fdl-1.3
% ---------------------------------------------------------------------------
% рд╣реЗ рдХрд╛рдо рдЖрд▓реЛрдХ рдирд┐рддреНрдпрдореБрдХреНрдд рдкрд░рд╡рд╛рдирд╛ рддрд╕реЗрдЪ рдЧреНрдиреВ рдкрдмреНрд▓рд┐рдХ рдкрд░рд╡рд╛рдиреНрдпрд╛рдЪреНрдпрд╛ рдЕрдЯреАрдВрдЪреЗ рдкрд╛рд▓рди рдХрд░реВрди рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК
% рд╢рдХрддреЗ рддрд╕реЗрдЪ рд╕реБрдзрд╛рд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.
@@ -41,28 +46,33 @@ Note: This README file contains information about LaTeX
--------------------------------------------------------------------------
рд▓рд╛рдЯреЗрдХреН-рд╡рд░реНрдЧ: рдЖрд▓реЛрдХ
рд▓реЗрдЦрдХ: рдирд┐рд░рдВрдЬрди
-рдЖрд╡реГрддреНрддреА: реж.реи (резрей рдлреЗрдмреНрд░реБрд╡рд╛рд░реА, реирежреирез)
+рдЖрд╡реГрддреНрддреА: реж.рек (реиреж рдореЗ, реирежреирез)
рд╡рд░реНрдгрди: рдЖрд▓реЛрдХ рдорд░рд╛рдареА рдирд┐рдпрддрдХрд╛рд▓рд┐рдХрд╛рдЪреНрдпрд╛ рдЕрдХреНрд╖рд░рдЬреБрд│рдгреАрдХрд░рд┐рддрд╛ рд▓рд╛рдЯреЗрдХреН-рд╡рд░реНрдЧ.
рд╕рдВрдЧреНрд░рд╛рд╣рд┐рдХрд╛: https://gitlab.com/aalok/aalok-latex
рдЕрдбрдЪрдгреА: https://gitlab.com/aalok/aalok-latex/-/issues
рдкрд░рд╡рд╛рдирд╛: рдЖрд▓реЛрдХ рдирд┐рддреНрдпрдореБрдХреНрдд рдкрд░рд╡рд╛рдирд╛. рдЖрд╡реГрддреНрддреА рез.реж рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдкреБрдвреАрд▓.
-рджреБрд╡рд╛ - https://gitlab.com/aalok/nityamukta-parwana
- рдЖрдгрд┐
- рдЧреНрдиреВ рдкрдмреНрд▓рд┐рдХ рдкрд░рд╡рд╛рдирд╛. рдЖрд╡реГрддреНрддреА рей.реж рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдкреБрдвреАрд▓
- рджреБрд╡рд╛ - https://www.gnu.org/licenses/gpl-3.0.txt
+рдкрд░рд╡рд╛рдирд╛: рдЖрд▓реЛрдХ рдирд┐рддреНрдпрдореБрдХреНрдд рдкрд░рд╡рд╛рдирд╛. рдЖрд╡реГрддреНрддреА рез.реж+
+ рдЧреНрдиреВ рдкрдмреНрд▓рд┐рдХ рдкрд░рд╡рд╛рдирд╛. рдЖрд╡реГрддреНрддреА рей.реж+
+ рдЧреНрдиреВ рдлреНрд░реА рдбреЙрдХреНрдпреБрдореЗрдиреНрдЯреЗрд╢рди рдкрд░рд╡рд╛рдирд╛. рдЖрд╡реГрддреНрддреА рез.рей+
+ рджреБрд╡реЗ:
+ https://gitlab.com/aalok/nityamukta-parwana
+ https://www.gnu.org/licenses/gpl
+ https://www.gnu.org/licenses/fdl-1.3
--------------------------------------------------------------------------
Class: aalok
Author: Niranjan
-Version: 0.2 (13 February, 2021)
+Version: 0.4 (20 May, 2021)
Description: LaTeX class for typesetting Aalok Marathi
Journal.
Repository: https://gitlab.com/aalok/aalok-latex
Bug tracker: https://gitlab.com/aalok/aalok-latex/-/issues
License: `рдЖрд▓реЛрдХ' copyleft license v1.0 or later.
- https://gitlab.com/aalok/nityamukta-parwana
- and
GPL v3.0+
- https://www.gnu.org/licenses/gpl-3.0.txt
+ GFDL v1.3+
+ Links:
+ https://gitlab.com/aalok/nityamukta-parwana
+ https://www.gnu.org/licenses/gpl-3.0.txt
+ https://www.gnu.org/licenses/fdl-1.3
--------------------------------------------------------------------------
%</readme>
%<*internal>
@@ -70,8 +80,8 @@ License: `рдЖрд▓реЛрдХ' copyleft license v1.0 or later.
%</internal>
%<*driver|class>
\def\aalokName{aalok}
-\def\aalokVersion{реж.реи}
-\def\aalokDate{реирежреирез/режреи/резрей}
+\def\aalokVersion{реж.рек}
+\def\aalokDate{реирежреирез/режрел/реиреж}
\def\aalokDescription{рдЖрд▓реЛрдХ рд▓рд╛рдЯреЗрдХреН рдЖ. \aalokVersion}
%</driver|class>
%<*driver>
@@ -132,7 +142,7 @@ Language=Marathi,%
\usepackage{hyperref}
\hypersetup{%
unicode,
- pdftitle={редред рдЖрд▓реЛрдХ редред (рд▓рд╛рдЯреЗрдХреН-рд╡рд░реНрдЧ - рдЖрд╡реГрддреНрддреА реж.реи)},
+ pdftitle={редред рдЖрд▓реЛрдХ редред (рд▓рд╛рдЯреЗрдХреН-рд╡рд░реНрдЧ - рдЖрд╡реГрддреНрддреА реж.рей)},
pdfauthor={рдирд┐рд░рдВрдЬрди},
pdfsubject={рдЖрд▓реЛрдХ рдорд░рд╛рдареА рдирд┐рдпрддрдХрд╛рд▓рд┐рдХрд╛рдЪреНрдпрд╛ рдЕрдХреНрд╖рд░рдЬреБрд│рдгреАрдХрд░рд┐рддрд╛ рд▓рд╛рдЯреЗрдХреН-рд╡рд░реНрдЧ.},
pdfkeywords={рдЖрд▓реЛрдХ рдорд░рд╛рдареА рдирд┐рдпрддрдХрд╛рд▓рд┐рдХ},
@@ -142,7 +152,7 @@ Language=Marathi,%
urlcolor=рдЖрд▓реЛрдХрдирд┐рд│рд╛%
}%
\usepackage{expl3}
-\usepackage{l3pdf}
+\IfFileExists{l3pdf.sty}{\usepackage{l3pdf}}{}
\ExplSyntaxOn
\pdf_version_gset:n{2.0}
\ExplSyntaxOff
@@ -337,8 +347,8 @@ Color=рдЖрд▓реЛрдХрдирд┐рд│рд╛
%<*class>
% \end{macrocode}
% \begin{macrocode}
-\ProvidesClass{aalok}[2021/02/13 v0.2
-\aalokDescription]
+\ProvidesClass{aalok}[2021/05/20 v0.4
+рдЖрд▓реЛрдХ рд▓рд╛рдЯреЗрдХреН рдЖ. реж.рек]
% \end{macrocode}
% рд╡рд░реАрд▓ рдЖрдЬреНрдЮреЗрд╕рд╣ рдкрд╛рдпрд╛рднреВрдд рдорд╛рд╣рд┐рддреА рдкреБрд░рд╡рдгреНрдпрд╛рдд рдЖрд▓реА.
% \begin{macrocode}
@@ -439,14 +449,22 @@ Color=рдЖрд▓реЛрдХрдирд┐рд│рд╛
% рдЕрд╕рдгрд╛рд░реА рдкреНрд░рд╛рдЪрд▓реЗ рд╡рд╛рдкрд░рдгреЗ рд╡ рддреЗ рди рд╡рд╛рдкрд░рд▓реНрдпрд╛рд╕ рдбрд┐рдЬрд┐рдЯрд▓ рдЖрд╡реГрддреНрддреАрд╕рд╛рдареАрдЪреА рдкреНрд░рд╛рдЪрд▓реЗ рд╡рд╛рдкрд░рдгреЗ рд╡рд░реАрд▓ рдЖрдЬреНрдЮрд╛рдВрдиреА рд╕рд╛рдзрд▓реЗ.
% \begin{macrocode}
\RequirePackage{expl3}
-\RequirePackage{l3pdf}
+\IfFileExists{l3pdf.sty}{\RequirePackage{l3pdf}}{}
\ExplSyntaxOn
\pdf_version_gset:n{2.0}
\ExplSyntaxOff
% \end{macrocode}
% рдЖрд▓реЛрдХ рдирд┐рддреНрдпрдореБрдХреНрдд рдкрд░рд╡рд╛рдиреНрдпрд╛рддреАрд▓ рдЕрдЯреАрдиреБрд╕рд╛рд░ рдкреАрдбреАрдПрдлреН рд╣реНрдпрд╛ рджрд╕реНрддрдРрд╡рдЬрд╛рддреАрд▓ рдкреНрд░рдХрд╛рд░рд╛рдЪреА рез.рен+ рдЖрд╡реГрддреНрддреА
% рд╡рд╛рдкрд░рдгреЗ рдмрдВрдзрдирдХрд╛рд░рдХ рдЖрд╣реЗ. рддреНрдпрд╛рдореБрд│реЗ рд╡рд░реАрд▓ рдЖрдЬреНрдЮрд╛рдВрд╕рд╣ рд▓рд╛рдЯреЗрдХреН-рдЪреНрдпрд╛ рдореВрд▓рднреВрдд рез.рел рд╣реНрдпрд╛ рдЖрд╡реГрддреНрддреАрдРрд╡рдЬреА реи.реж рд╣реА
-% рдирд╡реАрдирддрдо рдЖрд╡реГрддреНрддреА рд╡рд╛рдкрд░рдгреНрдпрд╛рдд рдЖрд▓реА рдЖрд╣реЗ.
+% рдирд╡реАрдирддрдо рдЖрд╡реГрддреНрддреА рд╡рд╛рдкрд░рдгреНрдпрд╛рдд рдЖрд▓реА рдЖрд╣реЗ. рдЙрд▓рд░рд┐рдХреЗ рдлрд┐рд╢рд░ рд╣реНрдпрд╛рдВрдиреА рдиреЛрдВрджрд╡рд▓реЗрд▓реНрдпрд╛
+% \href{https://gitlab.com/aalok/nityamukta-parwana/-/issues/8}{рддрдХреНрд░рд╛рд░реАрдиреБрд╕рд╛рд░}\footnote{рдирдЬрд░рдЪреБрдХреАрдиреЗ
+% рдЖрд▓реЛрдХ рд▓рд╛рдЯреЗрдХреН-рд╡рд░реНрдЧрд╛рдРрд╡рдЬреА рдЖрд▓реЛрдХ рдирд┐рддреНрдпрдореБрдХреНрдд рдкрд░рд╡рд╛рдиреНрдпрд╛рдЪреНрдпрд╛ рдЧрд┐рдЯрдкреГрд╖реНрдард╛рд╡рд░ рд╣реА рддрдХреНрд░рд╛рд░ рдиреЛрдВрджрд╡рд▓реА рдЧреЗрд▓реА, рдкрд░рдВрддреБ
+% рдЖрдореНрд╣реА рд╣реНрдпрд╛ рддрдХреНрд░рд╛рд░реАрдЪреА рдиреЛрдВрдж рдирдВрддрд░ рдЖрд▓реЛрдХ рд▓рд╛рдЯреЗрдХреН-рд╡рд░реНрдЧрд╛рдЪреНрдпрд╛ рдкреГрд╖реНрдард╛рд╡рд░рджреЗрдЦреАрд▓ рдШреЗрддрд▓реА рдЖрд╣реЗ. рдкрд╛рд╣рд╛:
+% \url{https://gitlab.com/aalok/aalok-latex/-/issues/2}}
+% l3pdf рд╣рд╛ рдЖрдЬреНрдЮрд╛рд╕рдВрдЪ рдЯреЗрдХреН-рд╡рд┐рддрд░рдгрд╛рдЪрд╛ рднрд╛рдЧ рдирд╛рд╣реА рд╡ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕рд░реНрд╡ рдЖрдЬреНрдЮрд╛ рдореВрд│ рдЯреЗрдХреН-рдЖрдЬреНрдЮрд╛рд╡рд▓реАрддрдЪ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ
+% рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд, рддреНрдпрд╛рдореБрд│реЗ рддреНрдпрд╛ рдЖрдЬреНрдЮрд╛рд╕рдВрдЪрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдЖрд╡реГрддреНрддреА реж.рейрдкрд╛рд╕реВрди рд╕реЛрдкрд╛рдзрд┐рдХрд╛рд╕рд╣ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓рд╛ рдЖрд╣реЗ. рдЬрд░
+% рдЖрдЬреНрдЮрд╛рд╕рдВрдЪрд╛рдЪреА рдзрд╛рд░рд┐рдХрд╛ рдЯреЗрдХреН-рд╡рд┐рддрд░рдгрд╛рдд рдЕрд╕реЗрд▓, рддрд░рдЪ рд╣рд╛ рдЖрдЬреНрдЮрд╛рд╕рдВрдЪ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рдИрд▓, рдЕрдиреНрдпрдерд╛ рдЯреЗрдХреН-рдЪрд╛рд▓рдХрд╛рд╕рд╣
+% рдзрд╛рд░рд┐рдХрд╛ рдЖрдкрд╕реВрдХ рдЪрд╛рд▓рд╡рд▓реА рдЬрд╛рдИрд▓.
% \begin{macrocode}
\RequirePackage{expex}
\RequirePackage{xcolor}
@@ -578,27 +596,9 @@ backend=biber,%
% рдЖрд▓реЛрдХ рдирд┐рдпрддрдХрд╛рд▓рд┐рдХрд╛рддреАрд▓ рд▓реЗрдЦрдХрд╛рдВрдирд╛ ORCID рд╡рд░ рдиреЛрдВрджрдгреА рдХрд░рдгреЗ рдмрдВрдзрдирдХрд╛рд░рдХ рдЖрд╣реЗ. рдЖрд▓реЛрдХрдЪреНрдпрд╛ рдЕрдВрдХрд╛рдд ORCID
% рдХреНрд░рдорд╛рдВрдХрд╛рдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд░реАрд▓ рдЖрдЬреНрдЮрд╛ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реНрдпрд╛.
% \begin{macrocode}
-\newfontfamily{\рдЧреЛрдЯреВ}[%
-Script=Devanagari,%
-Renderer=Harfbuzz,%
-Language=Marathi%
-]%
-{Gotu}
-\newfontfamily{\рдпрд╢реЛрдореБрджреНрд░рд╛}[%
-Path=рд╕рд╛рдордЧреНрд░реА/рдЯрдВрдХ/рдпрд╢реЛрдореБрджреНрд░рд╛/,%
-Language=Marathi,%
-Script=Devanagari,%
-Renderer=Harfbuzz%
-]%
-{Yashomudra-Italic.ttf}
-\newfontfamily{\рдореБрдХреНрдд}[%
-Path=рд╕рд╛рдордЧреНрд░реА/рдЯрдВрдХ/рдореБрдХреНрдд/,%
-Language=Marathi,%
-Script=Devanagari,%
-Renderer=Harfbuzz,%
-Color=рд▓рд╛рд▓%
-]%
-{Mukta-Regular.ttf}
+\рджреБрд╕рд░рд╛рдЯрдВрдХ{\рдЧреЛрдЯреВ}{Gotu}
+\рджреБрд╕рд░рд╛рдЯрдВрдХ{\рдпрд╢реЛрдореБрджреНрд░рд╛}{Yashomudra-Italic.ttf}[Path=рд╕рд╛рдордЧреНрд░реА/рдЯрдВрдХ/рдпрд╢реЛрдореБрджреНрд░рд╛]
+\рджреБрд╕рд░рд╛рдЯрдВрдХ{\рдореБрдХреНрдд}{Mukta-Regular.ttf}[Path=рд╕рд╛рдордЧреНрд░реА/рдЯрдВрдХ/рдореБрдХреНрдд]
% \end{macrocode}
% рдЖрд▓реЛрдХрдЪреНрдпрд╛ рдореБрдЦрдкреГрд╖реНрдард╛рд╡рд░ рд╡рд╛рдкрд░рд▓рд╛ рдЧреЗрд▓реЗрд▓рд╛ рдЧреЛрдЯреВ рд╣рд╛ рдЯрдВрдХ, рдЕрдиреБрдХреНрд░рдордгрд┐рдХреЗрддреАрд▓ рддрд┐рд░рдХреНрдпрд╛ рдЕрдХреНрд╖рд░рд╛рдВрд╕рд╛рдареА рд▓рд╛рдЧрдгрд╛рд░рд╛
% рдпрд╢реЛрдореБрджреНрд░рд╛ рд╣рд╛ рдЯрдВрдХ рд╡ рдирд┐рддреНрдпрдореБрдХреНрдд рдкрд░рд╡рд╛рдиреНрдпрд╛рдЪреНрдпрд╛ рд╕рдВрд╣рд┐рддреЗрдд рд▓рд╛рдЧрдгрд╛рд░рд╛ рдореБрдХреНрдд рд╣рд╛ рдЯрдВрдХ рд╡рд░реАрд▓ рдЖрдЬреНрдЮрд╛рдВрд╕рд╣ рдкреБрд░рд╡рдгреНрдпрд╛рдд
@@ -678,12 +678,6 @@ Color=рд▓рд╛рд▓%
% \end{macrocode}
% рд╕рдВрджрд░реНрднрд╕реВрдЪреА рдЪрд╛рд▓реВ рдкрд╛рдирд╛рд╡рд░рдЪ рдпреЗрдгреНрдпрд╛рдХрд░рд┐рддрд╛ рд╣реА рдЖрдЬреНрдЮрд╛ рдШрдбрд╡рдгреНрдпрд╛рдд рдЖрд▓реА рдЖрд╣реЗ.
% \begin{macrocode}
-\sloppy
-\hyphenpenalty=10000
-\exhyphenpenalty=1000
-% \end{macrocode}
-% рд╢рдмреНрдж рдЕрдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рддреБрдЯреВ рдирдпреЗрдд, рдореНрд╣рдгреВрди рд╡рд░реАрд▓ рдЖрдЬреНрдЮрд╛ рд╡рд╛рдкрд░рдгреНрдпрд╛рдд рдЖрд▓реНрдпрд╛ рдЖрд╣реЗрдд.
-% \begin{macrocode}
\def\parsecomma#1,#2\endparsecomma{\def\page@x{#1}\def\page@y{#2}}
\tikzdeclarecoordinatesystem{рдкреГрд╖реНрда}{%
\parsecomma#1\endparsecomma
diff --git a/macros/unicodetex/latex/aalok/aalok.ins b/macros/unicodetex/latex/aalok/aalok.ins
index 2bde4e1411..e580550308 100644
--- a/macros/unicodetex/latex/aalok/aalok.ins
+++ b/macros/unicodetex/latex/aalok/aalok.ins
@@ -7,7 +7,7 @@
\preamble
--------------------------------------------------------------------------
-рд▓рд╛рдЯреЗрдХреН-рд╡рд░реНрдЧ рдЖрд▓реЛрдХ рдЖрд╡реГрддреНрддреА реж.рез
+рд▓рд╛рдЯреЗрдХреН-рд╡рд░реНрдЧ рдЖрд▓реЛрдХ рдЖрд╡реГрддреНрддреА реж.рек
┬й реирежреирез рдирд┐рд░рдВрдЬрди, рдЖрд▓реЛрдХ рдорд░рд╛рдареА рдирд┐рдпрддрдХрд╛рд▓рд┐рдХ
рд╣реНрдпрд╛ рд╕рд╛рдордЧреНрд░реАрдЪреНрдпрд╛ рд╡рд┐рддрд░рдгрд╛рдЪреЗ рд╡ рдкреНрд░рддрд┐рдореБрджреНрд░рдгрд╛рдЪреЗ рдЕрдзрд┐рдХрд╛рд░ рдЖрд▓реЛрдХ рдирд┐рддреНрдпрдореБрдХреНрдд рдкрд░рд╡рд╛рдиреНрдпрд╛рд╕рд╣ рдореБрдХреНрдд рдХрд░рдгреНрдпрд╛рдд рдпреЗрдд
@@ -20,7 +20,7 @@
https://gitlab.com/aalok/nityamukta-parwana
--------------------------------------------------------------------------
-LaTeX Class aalok v0.1
+LaTeX Class aalok v0.4
┬й 2021 Niranjan, Aalok Marathi Niyatkalik
This program is free software: you can redistribute it and/or modify
@@ -38,15 +38,17 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
--------------------------------------------------------------------------
рд▓рд╛рдЯреЗрдХреН-рд╡рд░реНрдЧ: рдЖрд▓реЛрдХ
рд▓реЗрдЦрдХ: рдирд┐рд░рдВрдЬрди
-рдЖрд╡реГрддреНрддреА: реж.рез
+рдЖрд╡реГрддреНрддреА: реж.рек
рд╡рд░реНрдгрди: рдЖрд▓реЛрдХ рдорд░рд╛рдареА рдирд┐рдпрддрдХрд╛рд▓рд┐рдХрд╛рдЪреНрдпрд╛ рдЕрдХреНрд╖рд░рдЬреБрд│рдгреАрдХрд░рд┐рддрд╛ рд▓рд╛рдЯреЗрдХреН-рд╡рд░реНрдЧ.
рджреБрд╡рд╛: https://gitlab.com/aalok/aalok-latex
рдЕрдбрдЪрдгреА: https://gitlab.com/aalok/aalok-latex/-/issues
рдкрд░рд╡рд╛рдирд╛: рдЖрд▓реЛрдХ рдирд┐рддреНрдпрдореБрдХреНрдд рдкрд░рд╡рд╛рдирд╛. рдЖрд╡реГрддреНрддреА рез.реж+
- рджреБрд╡рд╛ : https://gitlab.com/aalok/nityamukta-parwana
- рдЖрдгрд┐
рдЧреНрдиреВ рдкрдмреНрд▓рд┐рдХ рдкрд░рд╡рд╛рдирд╛. рдЖрд╡реГрддреНрддреА рей.реж+
- рджреБрд╡рд╛ : https://www.gnu.org/licenses/gpl
+ рдЧреНрдиреВ рдлреНрд░реА рдбреЙрдХреНрдпреБрдореЗрдиреНрдЯреЗрд╢рди рдкрд░рд╡рд╛рдирд╛. рдЖрд╡реГрддреНрддреА рез.рей+
+ рджреБрд╡реЗ:
+ https://gitlab.com/aalok/nityamukta-parwana
+ https://www.gnu.org/licenses/gpl
+ https://www.gnu.org/licenses/fdl-1.3
---------------------------------------------------------------------------
рд╣реЗ рдХрд╛рдо рдЖрд▓реЛрдХ рдирд┐рддреНрдпрдореБрдХреНрдд рдкрд░рд╡рд╛рдиреНрдпрд╛рдЪреНрдпрд╛ (рдЖрд╡реГрддреНрддреА рез.реж рдЕрдерд╡рд╛ рддреНрдпрд╛рдкреБрдвреАрд▓) рдЕрдЯреАрдВрдЪреЗ рдкрд╛рд▓рди рдХрд░реВрди рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓реЗ
рдЬрд╛рдК рд╢рдХрддреЗ рддрд╕реЗрдЪ рд╕реБрдзрд╛рд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.
diff --git a/macros/unicodetex/latex/aalok/aalok.pdf b/macros/unicodetex/latex/aalok/aalok.pdf
index faeb61deca..c3b390a5da 100644
--- a/macros/unicodetex/latex/aalok/aalok.pdf
+++ b/macros/unicodetex/latex/aalok/aalok.pdf
Binary files differ
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index add31f398d..b5a632d5fc 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -51,7 +51,6 @@ $mirrors = {
'https://cran.asia/tex/' => 1,
'https://ftp.harukasan.org/CTAN/' => 1,
'https://ftp.kaist.ac.kr/pub/tex-archive/' => 1,
- 'https://mirror.kakao.com/CTAN/' => 1,
'https://mirror.navercorp.com/CTAN/' => 1,
'https://mirror.yongbok.net/ctan/' => 1,
},
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 5378be0119..8c49cc6468 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/2021
-depend revision/59288
+depend revision/59300
name 00texlive.image
category TLCore
-revision 59272
+revision 59295
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
@@ -4391,7 +4391,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 59286
+revision 59290
shortdesc TeX Live standalone installer package
longdesc This package defines the files to go into the installer
longdesc archives (install-tl-unx.tar.gz, install-tl.zip) built by the
@@ -7886,23 +7886,23 @@ catalogue-topics bibtex-sty
name aalok
category Package
-revision 57728
+revision 59300
shortdesc LaTeX class file for the Marathi journal 'Aalok'
relocated 1
longdesc aalok mraatthii niytkaalikaacii akssrjulnnii krnnyaakritaa
longdesc laattek-vrg. This package provides the class file for
longdesc typesetting 'Aalok', a Marathi journal with LaTeX.
-containersize 6312
-containerchecksum f25d1ac4e5de93e910a445e1830694c8f3a4de7976731a334c2bcb32b6fccac9d4386700b037c6c12556a9f9b575f90616cebc00d05f00f1db0273cc708379c6
-doccontainersize 186892
-doccontainerchecksum 80b48b0a8eb1a75d0860d18d3ee4dbd93df3e7b11f3d22f8ec442bea6e16d0dbd1a4bed74450b7683d5e1eb05b43b1e2ffbe04ca15c52c3b7091746c45cb4675
-docfiles size=54
+containersize 6288
+containerchecksum a4aac997f810be7c9c5db2cb6e00e8c2b51018d3447c8e01c881b04b74d7092bfd149751857ac70684174245142f0ee25c5452525a276d0e550260f07371f0a4
+doccontainersize 163720
+doccontainerchecksum 0e52e3fcda5a6865d7029674f94e50cecee86e57a5e3de27af1a6bc986f2c4b42b4b07c3d089dee17538f95a7aeccfce141d7fb0bc7dd17f31c25797055c8f21
+docfiles size=48
RELOC/doc/latex/aalok/COPYING
RELOC/doc/latex/aalok/README.txt details="Readme"
RELOC/doc/latex/aalok/aalok.pdf details="Package documentation" language="mr"
-srccontainersize 18448
-srccontainerchecksum 389c3ad43370e282bf29b0c80fab0324c66b00c2f379404836f91f77113b0c736c502578317a1b56f37dd25da3f89ac233eab5d21e71f1204c9ce159703f264b
-srcfiles size=21
+srccontainersize 18652
+srccontainerchecksum 72b9834b7a77b5956ec215702e1003990d213739c1782ec1a25e603645c34b5866983dad5643bbba0a8059f820612a38182619e554148a86b76f466473fc536d
+srcfiles size=22
RELOC/source/latex/aalok/aalok.dtx
RELOC/source/latex/aalok/aalok.ins
runfiles size=7
@@ -7910,9 +7910,9 @@ runfiles size=7
catalogue-contact-bugs https://gitlab.com/aalok/aalok-latex/-/issues
catalogue-contact-repository https://gitlab.com/aalok/aalok-latex
catalogue-ctan /macros/unicodetex/latex/aalok
-catalogue-license gpl3+ other-free
-catalogue-topics class journalpub marathi
-catalogue-version 0.2
+catalogue-license gpl3+ other-free fdl
+catalogue-topics class journalpub marathi expl3
+catalogue-version 0.4
name aastex
category Package
@@ -8776,16 +8776,16 @@ catalogue-version 3.13c
name acmart
category Package
-revision 58893
+revision 59294
shortdesc Class for typesetting publications of ACM
relocated 1
longdesc This package provides a class for typesetting publications of
longdesc the Association for Computing Machinery (ACM).
-containersize 38456
-containerchecksum 4de88377bd70e14340ec18396a39262037c09b821efcfb9ed5a9149f38a2cd53088911e59f0e6634b93c29b7ff72569ac059f23c80b87799e7f7843c08384345
-doccontainersize 3532112
-doccontainerchecksum c71866f74f6b0cba3719a696bfc2818a3310fee24c32acc10cee0343e70082721b2216daae36a7753d6c125b44e56dbec0b085fe04fd9c90918c7ca2f7d014a6
-docfiles size=2620
+containersize 38568
+containerchecksum 0786b5e4350c2146a3b340c29e7e3954d15a9f1c26b08f7b3d67010d9058d570a1d1ad4d036bb244082f71ea3fdef181b54d48e4c0145b2ece69b0afd2ef6041
+doccontainersize 3535496
+doccontainerchecksum 4cadfdb1068e69e59304611e7a50ff579bf98573bf41fb090012b2ee47ef6e6a2254fa6a7dc9be6878aac313f2044432dfc2b53c54bdce3e0ff2f6193dbe5956
+docfiles size=2623
RELOC/doc/latex/acmart/README details="Readme"
RELOC/doc/latex/acmart/acmart.bib
RELOC/doc/latex/acmart/acmart.pdf details="Documentation"
@@ -8817,13 +8817,13 @@ docfiles size=2620
RELOC/doc/latex/acmart/samples/samples.dtx
RELOC/doc/latex/acmart/samples/samples.ins
RELOC/doc/latex/acmart/samples/sampleteaser.pdf
-srccontainersize 53824
-srccontainerchecksum 69c661c3c7f90ed3aced2f3f3dbbdcc77098416460e708a90f7824c70203f92a58e7ffa1c095e3e4efdb5af351e13e35c45e625aa8c173b65a0842cf8a2d614d
-srcfiles size=63
+srccontainersize 54416
+srccontainerchecksum be043359b10a2c661c6137dc4553391e665ddc5c4e7d6342e28b06f73c95fd6b6ec80ed97bc40c727aaef2ff71ebfd47605a3aa71d208dee2ca0edbf2ae94497
+srcfiles size=64
RELOC/source/latex/acmart/Makefile
RELOC/source/latex/acmart/acmart.dtx
RELOC/source/latex/acmart/acmart.ins
-runfiles size=54
+runfiles size=55
RELOC/bibtex/bst/acmart/ACM-Reference-Format.bst
RELOC/tex/latex/acmart/ACM-Reference-Format.bbx
RELOC/tex/latex/acmart/ACM-Reference-Format.cbx
@@ -8835,7 +8835,7 @@ catalogue-contact-repository https://github.com/borisveytsman/acmart/
catalogue-ctan /macros/latex/contrib/acmart
catalogue-license lppl1.3
catalogue-topics class comp-sci comp-theory engineering journalpub
-catalogue-version 1.77
+catalogue-version 1.78
name acmconf
category Package
@@ -122696,21 +122696,21 @@ catalogue-version 1.02
name fontsize
category Package
-revision 58906
+revision 59295
shortdesc A small package to set arbitrary sizes for the main font of the document
relocated 1
longdesc The package allows you to set arbitrary sizes for the main font
longdesc of the document, through the fontsize=<size> option.
-containersize 4976
-containerchecksum 1f5f7af5b0ea951753d982a6f2ebf3b159b8a5a8ee993fdef4241e9608ba2ca6956691ff6c811a82303a5d69384008de1885ca525eb702ff7b8d23b49967ad7e
-doccontainersize 398936
-doccontainerchecksum e0fc34a2aa013ba211fd47caf98829dececd830f11ae867498e445c66424a048312132f37a1ac7a9c3154003e852c000371d6f7e8db6117f167816d74306e8be
-docfiles size=102
+containersize 4980
+containerchecksum e2cda5d7a7d69a67014ab1ec81fbc54a9e18659e8cf10820e1e386210c704c109ec1c464c4428b1af30cbfe924edb71ab2167fdcc22e13304791671f03a86038
+doccontainersize 372128
+doccontainerchecksum fbbbb6477b562167f37a2a223289581b990613739ed31a73ffd001cb5f4f2246dd4f439a5f060d887c04fa763521c83f56517a5560f24dd075c9f2faa6fdd6ec
+docfiles size=95
RELOC/doc/latex/fontsize/README details="Readme"
RELOC/doc/latex/fontsize/fontsize.bib
RELOC/doc/latex/fontsize/fontsize.pdf details="Package documentation"
-srccontainersize 14868
-srccontainerchecksum 184993572d347c963cdcdfcf56598863a0905bba6639092d6eca0b79f1e26a2630bbb1dafd6749f33709d4439ee6fcc2f6926b6d33ff2415012fd1010075bdf7
+srccontainersize 15108
+srccontainerchecksum cda5081a4edb13249c6b6b086dd6000b0aba821026790baa9d4d32ddaab270145a64795ba928b6f4e5fabe466dbe0151f4f480b144cab5988a7337a4444220be
srcfiles size=19
RELOC/source/latex/fontsize/fontsize.dtx
runfiles size=10
@@ -122718,7 +122718,7 @@ runfiles size=10
catalogue-ctan /macros/latex/contrib/fontsize
catalogue-license lppl1.3
catalogue-topics font-supp-misc
-catalogue-version 0.8.3
+catalogue-version 0.8.4
name fontspec
category Package
@@ -184932,27 +184932,27 @@ catalogue-version 1.1
name lualibs
category Package
-revision 57277
+revision 59298
shortdesc Additional Lua functions for LuaTeX macro programmers
relocated 1
longdesc Lualibs is a collection of Lua modules useful for general
longdesc programming. The bundle is based on lua modules shipped with
longdesc ConTeXt, and made available in this bundle for use independent
longdesc of ConTeXt.
-containersize 121836
-containerchecksum ccdbde1b5b9abd3478e3912ff20b1639c3504f06433eb10cb174a3a413642629ad9eb0ecb3fc7dfe3ee1e7e2dac2e552dd86de98bd89e3a65bc6736bedf181af
-doccontainersize 87696
-doccontainerchecksum 4d3771a5cee5a1ef7a7a7d3d88cf44020563c8bf50328bd6cea42a8ddc731da294e6b300ed9318030b00f0ccecc0de8667382d41727dc02353e68fe635d0aa19
+containersize 121952
+containerchecksum 0ea4d3d0e85c2ef77464db6f53c581453f22451bc8f9ecec00f89c59976ae417bab6564c5b3d7d047ac1fa4e53fc2cab4dc0fa5040f064b7f7696f1ee2416648
+doccontainersize 87876
+doccontainerchecksum b6be707a802905d93bc86135403cd862c86cd829e3a649800a2d5fa273518c4804a76c6a09b686603f16ce49c0972f1d1d1585e168c9d1d7439aa07ad3a2aa7c
docfiles size=28
RELOC/doc/luatex/lualibs/LICENSE
RELOC/doc/luatex/lualibs/NEWS
RELOC/doc/luatex/lualibs/README.md details="Readme"
RELOC/doc/luatex/lualibs/lualibs.pdf details="Package documentation"
-srccontainersize 8572
-srccontainerchecksum f504562bce245c51567eb54963de87702a4651b73bce71144d2dbd91e6f9894c5d20fc43ae7a7d68c92995f6cc077bcf76875fea7309a09b288e6bdde2d55222
+srccontainersize 8560
+srccontainerchecksum 45cd732855d88f16398e2aaec439ba45fb4b55c64a7c47f010855e3608805fafd9399c4fdfa54ea186893b74f3a94a14ed99ee97c51513bca1ce50d558506431
srcfiles size=7
RELOC/source/luatex/lualibs/lualibs.dtx
-runfiles size=189
+runfiles size=192
RELOC/tex/luatex/lualibs/lualibs-basic-merged.lua
RELOC/tex/luatex/lualibs/lualibs-basic.lua
RELOC/tex/luatex/lualibs/lualibs-boolean.lua
@@ -184994,7 +184994,7 @@ catalogue-contact-support https://github.com/latex3/lualibs/issues
catalogue-ctan /macros/luatex/generic/lualibs
catalogue-license gpl2
catalogue-topics lua-supp luatex
-catalogue-version 2.73
+catalogue-version 2.74
name luamesh
category Package
@@ -185075,7 +185075,7 @@ catalogue-version 2.20.7
name luaotfload
category Package
-revision 57443
+revision 59293
shortdesc OpenType 'loader' for Plain TeX and LaTeX
longdesc The package adopts the TrueType/OpenType Font loader code
longdesc provided in ConTeXt, and adapts it to use in Plain TeX and
@@ -185084,11 +185084,11 @@ depend lm
depend lua-alt-getopt
depend lualibs
depend luaotfload.ARCH
-containersize 595852
-containerchecksum 5b71f8fa12e21c16d1aaac01a2f27f3220b1da0eb6aea77ae3767e25a15d03180b7bf3587eac9aaaa61658fa7359e6fb2c28e588fea80d4f7b46150f55c2fafa
-doccontainersize 627576
-doccontainerchecksum f900a29ea21b654b03671cdd6166dc353bf54eb761757849da96fb74ea398d6ed9fe33f1d602e0a8e1353395cbcaac9cffb4b26c1acebc8105f119271fe8f51b
-docfiles size=274
+containersize 597604
+containerchecksum 821a5ea31a6131bea129929abbcc114959e1a32325a42f1b22fc6d37f7213d1dbb2f20cefcdcce38089d82cc366328b7dd80cad192a374694a925506073de8dc
+doccontainersize 624416
+doccontainerchecksum 911f1037ddd942f357c1f9644dc424984e93a483b5c5a10ad279a77287cc3f9cfd94ce0113b3b0d6dc6d00dbb13814cb8b46c113ef6877b0fd0b7093caf64746
+docfiles size=271
texmf-dist/doc/luatex/luaotfload/COPYING
texmf-dist/doc/luatex/luaotfload/NEWS
texmf-dist/doc/luatex/luaotfload/README.md details="Readme"
@@ -185112,14 +185112,14 @@ docfiles size=274
texmf-dist/doc/man/man1/luaotfload-tool.man1.pdf
texmf-dist/doc/man/man5/luaotfload.conf.5
texmf-dist/doc/man/man5/luaotfload.conf.man5.pdf
-srccontainersize 7292
-srccontainerchecksum d422a64b7251f566829c5603957c3b2247cf112f8c3b30951ef3e9584a78b758f38e4efd0b399f35832f5e2f8e405901a13688c6a62bd86f2892ba44a01dbce0
+srccontainersize 7296
+srccontainerchecksum 0669681ede7befb415e30e96c575efd9722b030f9d5d5973d13a095826900dfc05d3cddcc29eb64257b77d221156031f0dcf5a1c2f3adcae97c61bdb039668d1
srcfiles size=6
texmf-dist/source/luatex/luaotfload/fontloader-reference-load-order.lua
texmf-dist/source/luatex/luaotfload/fontloader-reference-load-order.tex
-runfiles size=1870
+runfiles size=1871
texmf-dist/scripts/luaotfload/luaotfload-tool.lua
- texmf-dist/tex/luatex/luaotfload/fontloader-2021-01-07.lua
+ texmf-dist/tex/luatex/luaotfload/fontloader-2021-05-20.lua
texmf-dist/tex/luatex/luaotfload/fontloader-basics-chr.lua
texmf-dist/tex/luatex/luaotfload/fontloader-basics-gen.lua
texmf-dist/tex/luatex/luaotfload/fontloader-basics-nod.lua
@@ -185177,7 +185177,6 @@ runfiles size=1870
texmf-dist/tex/luatex/luaotfload/fontloader-util-str.lua
texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua
texmf-dist/tex/luatex/luaotfload/luaotfload-blacklist.cnf
- texmf-dist/tex/luatex/luaotfload/luaotfload-case-el.lua
texmf-dist/tex/luatex/luaotfload/luaotfload-case.lua
texmf-dist/tex/luatex/luaotfload/luaotfload-characters.lua
texmf-dist/tex/luatex/luaotfload/luaotfload-colors.lua
@@ -185186,7 +185185,6 @@ runfiles size=1870
texmf-dist/tex/luatex/luaotfload/luaotfload-diagnostics.lua
texmf-dist/tex/luatex/luaotfload/luaotfload-dvi.lua
texmf-dist/tex/luatex/luaotfload/luaotfload-embolden.lua
- texmf-dist/tex/luatex/luaotfload/luaotfload-fakesc.lua
texmf-dist/tex/luatex/luaotfload/luaotfload-fallback.lua
texmf-dist/tex/luatex/luaotfload/luaotfload-features.lua
texmf-dist/tex/luatex/luaotfload/luaotfload-filelist.lua
@@ -185215,7 +185213,7 @@ catalogue-contact-support https://github.com/latex3/luaotfload/issues
catalogue-ctan /macros/luatex/generic/luaotfload
catalogue-license gpl2
catalogue-topics font-use luatex
-catalogue-version 3.17
+catalogue-version 3.18
name luaotfload.aarch64-linux
category Package
@@ -185830,17 +185828,17 @@ catalogue-version 1.3
name luatexja
category Package
-revision 59248
+revision 59299
shortdesc Typeset Japanese with Lua(La)TeX
relocated 1
longdesc The package offers support for typesetting Japanese documents
longdesc with LuaTeX. Either of the Plain and LaTeX2e formats may be
longdesc used with the package.
depend luatexbase
-containersize 189956
-containerchecksum d5af946fa6b93bfafe83d05ed89f82a6ac13dcbe6857439233e9287ddd4e7b07acfb190cdbe3ea1a821d449abdfb871622577fff3a3c4a0ac56458b61105a34e
-doccontainersize 3206268
-doccontainerchecksum e606987e729b9158bd465ae811e32a4a0b87e62e3cc15905393ba53ce4495d2122a03d1c92aa0771cdd58af37e157ca5ee036f7e09b9dfc11c74df9472e2b0e5
+containersize 190056
+containerchecksum f8f833c5d0a7547f10dc6d13cdabb488e009d1cf1cc54f39444d18f050931265473ca9ca346e87ce96a4182344cade85eb595469ed669363c444d006cb2cdf4a
+doccontainersize 3206200
+doccontainerchecksum 779b670a4502489738d96e05c1d7fdfbb0d047912ae0eb2399be0e54704366889af33796b5011a74bb700d6e5e8ef5dbba60eb7c4e00fa8c02c1a22981b36f8b
docfiles size=963
RELOC/doc/luatex/luatexja/COPYING
RELOC/doc/luatex/luatexja/README details="Readme"
@@ -185858,8 +185856,8 @@ docfiles size=963
RELOC/doc/luatex/luatexja/luatexja-ruby.tex
RELOC/doc/luatex/luatexja/luatexja.dtx
RELOC/doc/luatex/luatexja/luatexja.ins
-srccontainersize 83288
-srccontainerchecksum 3624344aacc615163360e03ce39c99e31e736b749e5144cd25d005555a3596846cb74e23b9579facae154c1af201ef7a0880b670c621c0c8d95c89e8c62cc6de
+srccontainersize 83292
+srccontainerchecksum d11c5e91ee643be851b86f9752fa6dce71cb73aee5650fafc42b2e33f487a8d0928f43a2cc81694757ee396c5d85a10cadd0972a28351046235bfc50db5c060c
srcfiles size=118
RELOC/source/luatex/luatexja/ltjclasses.dtx
RELOC/source/luatex/luatexja/ltjclasses.ins
@@ -185983,7 +185981,7 @@ catalogue-contact-repository https://osdn.net/projects/luatex-ja/scm/git/luatexj
catalogue-ctan /macros/luatex/generic/luatexja
catalogue-license bsd
catalogue-topics japanese luatex class
-catalogue-version 20210517.0
+catalogue-version 20210521.0
name luatexko
category Package
@@ -250082,7 +250080,7 @@ catalogue-version 1.0b~4
name projlib
category Package
-revision 59271
+revision 59296
shortdesc A series of tools to simplify your workflow
relocated 1
longdesc The ProjLib Toolkit contains a collection of tools that help
@@ -250111,26 +250109,25 @@ longdesc definition-proposition, definition-theorem, example, exercise,
longdesc fact, hypothesis, lemma, notation, problem, property,
longdesc proposition, question, remark, theorem, and the corresponding
longdesc unnumbered versions with an asterisk * in the name.
-longdesc PJLtoolkit.sty, *the all-in-one solution* A collective
-longdesc interface of ProjLib Toolkit Provide some pre-defined font
-longdesc configuration
-containersize 9248
-containerchecksum 9da9b83f9581bea3cc4ea88b8de8f6c9e4014e72b9d29e0d9a057acd64b5f647e2a979a7feff2deb203282aec4c0c846426e33a85d9067d52c28a823bec92057
-doccontainersize 346208
-doccontainerchecksum 2ff5abf9e130d7ccf2ea765a96e0677ea6668ebac95f92f6dbf80bf0872875200e3ce9f478235502f4260c26c4ad82829f7b5e2830fbebd797911e6211eb341d
+longdesc PJLtoolkit.sty, the all-in-one solution A collective interface
+longdesc of ProjLib Toolkit Provide some pre-defined font configuration
+containersize 9384
+containerchecksum fa0340a70720be70f7842acc8358e6247f0c3279a99595a2ae781ff0ce4f2267f72678b6c4558c523507f499d006b9a4f21c2507822a41d44396f37881e4cb10
+doccontainersize 345608
+doccontainerchecksum e0e0fed5dfccdd583d45fa110a3381fd3211dd458d7baab60b586f2cccc393049a64d1f13e026e2abd19d2e2a036d5b9e659da5989930f45333fd615d066a18f
docfiles size=107
RELOC/doc/latex/projlib/LICENSE
RELOC/doc/latex/projlib/ProjLib-doc-cn.pdf details="Package documentation (Chinese)" language="zh"
RELOC/doc/latex/projlib/ProjLib-doc-cn.tex
RELOC/doc/latex/projlib/ProjLib-doc-en.pdf details="Package documentation (English)" language="en"
RELOC/doc/latex/projlib/ProjLib-doc-en.tex
- RELOC/doc/latex/projlib/README.md
-srccontainersize 9348
-srccontainerchecksum 2e63a911e991cd38a639fc8dd6eae0daeaf3898572eeb0106e72df59531e4094ae20213b5a08f5e5db7b693857bd3b87517fa940d2a70e5db7f66d10d3b7a5a1
+ RELOC/doc/latex/projlib/README.md details="Readme"
+srccontainersize 9484
+srccontainerchecksum 74bc268dc8a4d28aa839413516f5b6629ee174e9c13a55057139054469f695b2dbf0b6265995cf9c42f61f0d1120bd751d55a99bab1105325ec1fb5eb80ba27d
srcfiles size=12
RELOC/source/latex/projlib/ProjLib.dtx
RELOC/source/latex/projlib/ProjLib.ins
-runfiles size=15
+runfiles size=16
RELOC/tex/latex/projlib/PJLamssim.sty
RELOC/tex/latex/projlib/PJLauthor.sty
RELOC/tex/latex/projlib/PJLdate.sty
@@ -273813,7 +273810,7 @@ catalogue-version 1.0
name siunitx
category Package
-revision 59279
+revision 59292
shortdesc A comprehensive (SI) units package
relocated 1
longdesc Typesetting values with units requires care to ensure that the
@@ -273838,18 +273835,17 @@ longdesc The package relies on LaTeX 3 support from the l3kernel and
longdesc l3packages bundles.
depend l3kernel
depend l3packages
-containersize 60252
-containerchecksum 55f11d015b936d61de47f080c7f28d338cea5832adac2acd3f75c5daf07072fa0d398046a0cfdd88cd4c13c00471437def88d8c33e1590f43228263cb90be8cd
-doccontainersize 2362424
-doccontainerchecksum 889a696cce8cca36a082d45c775b94b16a67a1ab16cb9b713e12fdd93fa51f30c93a84ecb0f74c76886253652576af2ab484a67d4898791da4681a18c6d181df
-docfiles size=628
+containersize 60464
+containerchecksum 48731a1a77147343b875207a2776ab13597297145ac87e4459eb2c8655bbba0dec4a209fbe553ca6c8af126e1bfbb8e7d6e0bf25791cf4a9e650a92e86ab8728
+doccontainersize 1958700
+doccontainerchecksum 5c6740788a326ef6f4cdd75e00b2b441aead27418e5d4ab9d9c703488866c6a10863cc5029340773e243db93d70ad4ccd10be09017c7b768d0e60a29663af8b0
+docfiles size=511
RELOC/doc/latex/siunitx/CHANGELOG.md
RELOC/doc/latex/siunitx/README.md details="Readme"
RELOC/doc/latex/siunitx/siunitx-code.pdf details="Code documentation"
- RELOC/doc/latex/siunitx/siunitx-emulation.pdf
RELOC/doc/latex/siunitx/siunitx.pdf details="User manual"
-srccontainersize 101336
-srccontainerchecksum 776fe9a6d06516c36e5b1f27ccc5b075eda5ac8a1f6c29998ba4a85d8964fc44c6e405b419a71276578dcde4fd895c9a06cb8778cb4cd18aab51722d85947418
+srccontainersize 102144
+srccontainerchecksum 7cacbda9d18ca5ca9e43eb549d06a7da74d0f58a58b0a36b5eca5710bded2550cce533898eb8b642c624b6c483f52827e963ca558e39b00f2b30cdabc6425bf2
srcfiles size=156
RELOC/source/latex/siunitx/siunitx-abbreviation.dtx
RELOC/source/latex/siunitx/siunitx-angle.dtx
@@ -273869,7 +273865,7 @@ srcfiles size=156
RELOC/source/latex/siunitx/siunitx.dtx
RELOC/source/latex/siunitx/siunitx.ins
RELOC/source/latex/siunitx/siunitx.tex
-runfiles size=141
+runfiles size=142
RELOC/tex/latex/siunitx/siunitx-abbreviations.cfg
RELOC/tex/latex/siunitx/siunitx-binary.cfg
RELOC/tex/latex/siunitx/siunitx-v2.sty
@@ -273881,7 +273877,7 @@ catalogue-contact-repository https://github.com/josephwright/siunitx
catalogue-ctan /macros/latex/contrib/siunitx
catalogue-license lppl1.3c
catalogue-topics units scientific-docs expl3
-catalogue-version 3.0.3
+catalogue-version 3.0.4
name skak
category Package
@@ -299502,7 +299498,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 59286
+revision 59290
shortdesc TeX Live infrastructure programs
longdesc Includes install-tl, tl-portable, rungs, etc.; not needed for
longdesc tlmgr to run but still ours. Not included in tlcritical.
@@ -299510,10 +299506,10 @@ depend texlive-scripts.ARCH
depend texlive.infra
execute addMap mathpple.map
postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat
-containersize 108004
-containerchecksum ad408dd23f2729aa6d52c00c5d143dded57abb7d7cf3173b8d05b985976081784eea7c576b26e173c06b87b58a13ace39396614c8a67efa33f88bf69567a35a7
+containersize 107996
+containerchecksum f942700528aa2e76109bc4013bf4601e16cfd7bef28a87da10b3d5b45b980eb84903aedb4ae0e11312fc55e1ee5a62ac9f638a790fb52d37af2944d9716a48ac
doccontainersize 397364
-doccontainerchecksum 978d4ccae35f4db6ef334b92337ada9b091ac66903a95933e4ca839c3eac825d373862e1af38321a239c380ddfb5830ff4dc0c0fb2bd01cb236a218b48a8937d
+doccontainerchecksum 7267e0d85fb10722e89e29dabbf03cbd7226af05f1a6ede16cc592e6c0310a610220edb5fc8845f5c01b283daa5b14876b41dd37d66f559f8cf5701aab2af210
docfiles size=490
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
@@ -307128,16 +307124,16 @@ catalogue-version 1.5
name tiscreen
category Package
-revision 59247
+revision 59297
shortdesc Mimic the screen of older Texas Instruments calculators
relocated 1
longdesc This package mimics the screen of older Texas Instruments dot
longdesc matrix display calculators, specifically the TI-82 STATS. It
longdesc relies on the lcd and xcolor packages.
-containersize 912
-containerchecksum c2a4856ea94658eebc0b1ddee440da00cb43f25cc7560e0b689b25556ed5ea3928e6412bebac53f2459e5ad67815538cce31253cbfc93ca9d0ca7229596cc779
-doccontainersize 123964
-doccontainerchecksum 3aa838d962b7907adb50c3b67ee40bfd11def324e13f373d9e697f99d3404dbfa6df54210288780ef421af4a31ba5ddb2a291206ea2f8c1ed259829d7e407473
+containersize 1072
+containerchecksum 674d0670008ccc8f3786b49bfda83822ebed37c86e441cb338900ac71ae4b23496f4cffccb18bd4bf229ff56f69729731df41885c504b82d1ed70635a23c5db4
+doccontainersize 123776
+doccontainerchecksum 437698580364e2d46c4d655d09ad99f5c000ff3645a5649e7a0f6fa668fa2e7f114da47f22239f6dd095cee93ea6bd1a0b86d2faa0f4cdd1926448194590e165
docfiles size=32
RELOC/doc/latex/tiscreen/README details="Readme"
RELOC/doc/latex/tiscreen/tiscreen-doc.pdf details="Package documentation"
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index 7ebc694992..cfca8b4187 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-b5c6e36960114e9259edd126504cee80 texlive.tlpdb
+4f14ea40c927008d266413297aa7259d texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index e4cd467a85..fb62fe17d8 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-7b3a00bc1fd129e862881c4c8d728dae0b6acfc73c39ec7ed870b76d8af3402d8a7d22917333b7bc4a3cb1992b87452244371c8d51e9688057cfbbaa0ef644f3 texlive.tlpdb
+ddc85dabaafc413e8667e773efcec8bf755b7c4e5e66c4d4c9640c5d3b1ceb25e4339414a60ce9141d30354bb1f233a39be8149936b98c16ae552581f08c240c texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index 3e450d37ff..da067d1e83 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-----
-iQEcBAEBCgAGBQJgpvVeAAoJEEzhh34ZQ4xwnysH/ibgsdo8Lf34WpYn12iHroyp
-B7i800e2j1YSDKgS24B6Lzghd3ohxLPkhniUUyVP+lsJrZ4r3iEyarukSUHPHoZt
-Nb6GXc2ONns8tV2fxYNqa7yZ+pxo/IWieeKDyq4p0FCVXlEWKwq0H+hFucNO0Ius
-WTauD8g9ErC6H8FSzS8O7iBYrfqmHb/QqGSUeyl+lmXXnzIuo6iuHfS3MLyjBwsh
-J7PRWPHe+fhkZZnMBw5Uxs2X98PYhnFARZqfJxuTMS2pOUyAXs5H9qv3LF9CNd6r
-SiBvHahAE+03TWo8CO1lM9+mb+oSbuRZQtGbAv3TiscA0fCKXoOI2oWYIe4WH4U=
-=WtVp
+iQEcBAEBCgAGBQJgqEfYAAoJEEzhh34ZQ4xwLRMH/io2XENRSOisvczt0GeAy0KS
+E7bh0W4dUY/91pOkfl5ZBZh8BFtPalimuSsRfBMLi3nKDRzbJZQbomMWn9rPlthI
+XN4l3qClSx0J81aMWGFXQeBKxyI5eTtaK6boJumjsxe8s7gfQ4Qe45o6cy16Yx5u
+hgaiZ8JCztSEvEO1oQavbrp7waGBLMihJxyfTOLyYcLzsjMgdJAkgWnu7yPS3dWj
+x3p5/OQYw2nowiHWX2zvzH1B9C8+Z16WcBx3MVgteJy8bXk0frwbGeBz9AI7Zasp
+AjCqVv8iT6zTE+CFG57t4BO5GBx7ea/CfNPZm5tSy40bkmTOZFX35YHn1yNYJFU=
+=HgxW
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index 96a6e63190..fe8108e19a 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/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini
index 901a6143ac..d3c827c85b 100644
--- a/systems/win32/miktex/tm/packages/next/pr.ini
+++ b/systems/win32/miktex/tm/packages/next/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1621541696
+date=1621628055
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=53eb753ed64242589a7c93517445c0a0
+lstdigest=d3dd4f05f4dee3d65a8f25afaa6d908b
numpkg=4101
relstate=next
-version=7810
+version=7811
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: PpQCniYUzYjGbXpEnhiFvNLZ7S4sjm+5VeafDI/j+MU8ybBVXkrRZdsonKwx/62FOx4xb2FTx+esp8SZIvmoZuSRwyQCXOIafKt57xtUGD+NAQ8PBXXZcnYXrPnNHQ7Uro6tZ7cmxA/nHGzqhIgADPwPJY0idn6eusSyBl0CKrhjXmkjA8kGVLAiQ/d3MCH94Fk0uFnoLOQiFXTxd6qDvd76UJJLxR9akmEgo9v5DxpiJz2gMhOzuy3c+yIS+P0wE6OcHxjEi/PQaMloy2akiIZZEksyTkzI7IrFb/il3CINXasHxWl2yvYC11B6j5nTSibPFZ2QFE5RaWUeSCW8Ow==
+;;;; signature/miktex: uvtbgG3lzm5+Pi3rCfqR3MH6hQCl0E1l8loLrV5Ko4RNHSBRr6CGhpNbrnXB8/9npxdKEQa33Z2cCxGnCODrHMc221KB9W+3LA2C4RMaRe2JEyFi3pYgkpsPYmjLY7A8tazJJr8mm5AkcXktG9dUgBchyBSrZ+ClLDAnuwccxJZfwyRxLGqBaTbUvJiz1Ul9YEP8T1G/Eolok5LaElkepuPsZBxfvJRzSfS0xJEccafEYGwb9XKeFR5nfFUDmw9wTlWAzvEJDgmrkGQ5NCyq+a7tDiK4qngEfzA4Qf2/oeM+wZQGuA/hCousgD3Xj71BjITj/J1Y4OrWcwRRu7mUyg==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index 44ab385efc..be3dd490ef 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1621541472
+date=1621627865
lastupd=alterqcm apa7 bxjscls covington easybook hvfloat hvqrurl pgfmath-xfp pm-isomath powerdot projlib siunitx tuda-ci acrotex babel biblatex-gost bnumexpr changes circuitikz codehigh
-lstdigest=03258ef7ced64534200888907a8ac2b4
+lstdigest=7d88ec2353465e120463b644a0d46cec
numpkg=4101
relstate=stable
-version=7810
+version=7811
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: WnES/7EeHs6SKSHc3BN3FI3CT0JsQE9aDEnFebtnNk6S819up/vyDzS54LK7En4PidM/klJ8TyTYwenHVfLWrUmnx2ElWIB1cXMXNJGIjZIPsZYqJwmQijWxVSjwOs1izbinjKR90V5JPdt2DYuAjgkKmVy7/JBchbiVJirqli8PsgfTcnR4jcoH10C5Tz2VqK1vkamd21cLa0kaXHn2HZvBtiF+fAFCm3/n2vqSjQaqTd7aOx8OCXVwjGGEEOR4dGFP+XRHyTHjBxIesnClC5RUYXDc10sTO6CZj6oqtZ1wY88IZwJ3SFVHprD2uIAGGMvFGfdprc+hr7MMhWmq7Q==
+;;;; signature/miktex: Tv48cIw9o0wzPE6fFhMirwjo4xBqcXwcizJ6lQQx1awIw3D4QCbK35I43kuuSD/lYsSACj+Easmskbgv/KozwsXe8KFm6LmMYofHQ9/K055jfJlpcBZj7XNUpwT6MjPT+atSH+cTH6VDTtC09NxzWZGTie2gYZlKoI6J8aQOkH2USGvcvbL0FJYedIAjkhrVeizo342yENeEQaD/LryMAQbAPAmPSVoTljpHZrC1+6DOp2OIWt+dGel8+XjAZvn8nlVW07IbNJIZkmXu16qtA2UgkyRI+swTBTpA0819DWKa9a7FmmVeMBeMbuRjWi64F8fgzMPm1i2XrK2+T7NePg==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/timestamp b/timestamp
index 41dce3b92b..2f5e473c01 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:
-2021-05-21-02-02
+2021-05-22-02-02