diff options
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 Binary files differindex 787ebf9de1..20c6a185ce 100644 --- a/FILES.byname.gz +++ b/FILES.byname.gz 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 Binary files differindex c6d2536d6a..263327bbc5 100644 --- a/macros/latex/contrib/acmart/acmart.pdf +++ b/macros/latex/contrib/acmart/acmart.pdf diff --git a/macros/latex/contrib/acmart/acmguide.pdf b/macros/latex/contrib/acmart/acmguide.pdf Binary files differindex b78e8dc8b5..88691decd5 100644 --- a/macros/latex/contrib/acmart/acmguide.pdf +++ b/macros/latex/contrib/acmart/acmguide.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf b/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf Binary files differindex d82e7482eb..97525d134e 100644 --- a/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf +++ b/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf Binary files differindex 113cc1abbd..d92aacd297 100644 --- a/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf +++ b/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf Binary files differindex 1906e776a7..76848b87b3 100644 --- a/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf +++ b/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf Binary files differindex 27aae47e2d..a7310de528 100644 --- a/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf +++ b/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-acmtog.pdf b/macros/latex/contrib/acmart/samples/sample-acmtog.pdf Binary files differindex 91359df33c..c192a9190f 100644 --- a/macros/latex/contrib/acmart/samples/sample-acmtog.pdf +++ b/macros/latex/contrib/acmart/samples/sample-acmtog.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-authordraft.pdf b/macros/latex/contrib/acmart/samples/sample-authordraft.pdf Binary files differindex c2c9075ba6..f53ec3d520 100644 --- a/macros/latex/contrib/acmart/samples/sample-authordraft.pdf +++ b/macros/latex/contrib/acmart/samples/sample-authordraft.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-lualatex.pdf b/macros/latex/contrib/acmart/samples/sample-lualatex.pdf Binary files differindex 0b4fbd4d3d..2f5d4eb0e8 100644 --- a/macros/latex/contrib/acmart/samples/sample-lualatex.pdf +++ b/macros/latex/contrib/acmart/samples/sample-lualatex.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-manuscript.pdf b/macros/latex/contrib/acmart/samples/sample-manuscript.pdf Binary files differindex effe8aa896..d2dc2faf4e 100644 --- a/macros/latex/contrib/acmart/samples/sample-manuscript.pdf +++ b/macros/latex/contrib/acmart/samples/sample-manuscript.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf.pdf Binary files differindex 5a9c0f6cf8..43c162e86c 100644 --- a/macros/latex/contrib/acmart/samples/sample-sigconf.pdf +++ b/macros/latex/contrib/acmart/samples/sample-sigconf.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-sigplan.pdf b/macros/latex/contrib/acmart/samples/sample-sigplan.pdf Binary files differindex 2237485dcc..81112ed95d 100644 --- a/macros/latex/contrib/acmart/samples/sample-sigplan.pdf +++ b/macros/latex/contrib/acmart/samples/sample-sigplan.pdf diff --git a/macros/latex/contrib/acmart/samples/sample-xelatex.pdf b/macros/latex/contrib/acmart/samples/sample-xelatex.pdf Binary files differindex 74fcfe089f..928edaf286 100644 --- a/macros/latex/contrib/acmart/samples/sample-xelatex.pdf +++ b/macros/latex/contrib/acmart/samples/sample-xelatex.pdf 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 Binary files differindex 8e42cef60f..2e2c1c01c6 100644 --- a/macros/latex/contrib/easybook/easybook.pdf +++ b/macros/latex/contrib/easybook/easybook.pdf 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 Binary files differindex 7dd7a0d45b..adfe679760 100644 --- a/macros/latex/contrib/fontsize/fontsize.pdf +++ b/macros/latex/contrib/fontsize/fontsize.pdf diff --git a/macros/latex/contrib/projlib/ProjLib-doc-cn.pdf b/macros/latex/contrib/projlib/ProjLib-doc-cn.pdf Binary files differindex 760b4b99c8..090fa0463b 100644 --- a/macros/latex/contrib/projlib/ProjLib-doc-cn.pdf +++ b/macros/latex/contrib/projlib/ProjLib-doc-cn.pdf 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 Binary files differindex 9f651971aa..f4ebb70a96 100644 --- a/macros/latex/contrib/projlib/ProjLib-doc-en.pdf +++ b/macros/latex/contrib/projlib/ProjLib-doc-en.pdf 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 Binary files differindex 16510233a4..718aeef446 100644 --- a/macros/latex/contrib/siunitx/siunitx-code.pdf +++ b/macros/latex/contrib/siunitx/siunitx-code.pdf 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 Binary files differindex 2c3c742c94..3a8e7d0277 100644 --- a/macros/latex/contrib/siunitx/siunitx.pdf +++ b/macros/latex/contrib/siunitx/siunitx.pdf 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 Binary files differindex 4c0f4f9f05..de6991dc04 100644 --- a/macros/latex/contrib/tiscreen/doc/tiscreen-doc.pdf +++ b/macros/latex/contrib/tiscreen/doc/tiscreen-doc.pdf 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 Binary files differindex 10274b447b..23df3045e6 100644 --- a/macros/luatex/generic/lualibs/lualibs.pdf +++ b/macros/luatex/generic/lualibs/lualibs.pdf 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 Binary files differindex c019d96ba8..0704762fd1 100644 --- a/macros/luatex/generic/luaotfload/filegraph.pdf +++ b/macros/luatex/generic/luaotfload/filegraph.pdf 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 Binary files differindex afb5a2a4f5..7baffef63e 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-conf.pdf +++ b/macros/luatex/generic/luaotfload/luaotfload-conf.pdf 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 Binary files differindex 84c541dc0c..7931d9d1d4 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-latex.pdf +++ b/macros/luatex/generic/luaotfload/luaotfload-latex.pdf 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 Binary files differindex 3836a25b15..fb44487640 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-tool.pdf +++ b/macros/luatex/generic/luaotfload/luaotfload-tool.pdf 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 Binary files differindex 29d47c2695..d6513d6869 100644 --- a/macros/luatex/generic/luaotfload/scripts-demo.pdf +++ b/macros/luatex/generic/luaotfload/scripts-demo.pdf diff --git a/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf b/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf Binary files differindex bfb4258474..29b7c229f7 100644 --- a/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf +++ b/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf diff --git a/macros/luatex/generic/luaotfload/shaper-demo.pdf b/macros/luatex/generic/luaotfload/shaper-demo.pdf Binary files differindex 056db0fac3..a604a8c557 100644 --- a/macros/luatex/generic/luaotfload/shaper-demo.pdf +++ b/macros/luatex/generic/luaotfload/shaper-demo.pdf 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 Binary files differindex 12aada4965..4a31080cc1 100644 --- a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf +++ b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf diff --git a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf Binary files differindex 8799ab20c8..ba8dad3586 100644 --- a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf +++ b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf 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 Binary files differindex faeb61deca..c3b390a5da 100644 --- a/macros/unicodetex/latex/aalok/aalok.pdf +++ b/macros/unicodetex/latex/aalok/aalok.pdf 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 Binary files differindex 96a6e63190..fe8108e19a 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz 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-----
@@ -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 |