summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FILES.byname1760
-rw-r--r--FILES.byname.gzbin2439101 -> 2439211 bytes
-rw-r--r--FILES.last07days1168
-rw-r--r--macros/latex/base/README.md2
-rw-r--r--macros/latex/base/alltt.pdfbin223831 -> 223831 bytes
-rw-r--r--macros/latex/base/cfgguide.pdfbin242888 -> 242888 bytes
-rw-r--r--macros/latex/base/changes.txt15
-rw-r--r--macros/latex/base/classes.pdfbin560350 -> 560350 bytes
-rw-r--r--macros/latex/base/clsguide.pdfbin402780 -> 402780 bytes
-rw-r--r--macros/latex/base/cmfonts.pdfbin292376 -> 292376 bytes
-rw-r--r--macros/latex/base/cyrguide.pdfbin239689 -> 239689 bytes
-rw-r--r--macros/latex/base/doc-code.pdfbin1081719 -> 1081761 bytes
-rw-r--r--macros/latex/base/doc.pdfbin755165 -> 755188 bytes
-rw-r--r--macros/latex/base/docstrip.pdfbin503620 -> 503774 bytes
-rw-r--r--macros/latex/base/encguide.pdfbin1318126 -> 1318126 bytes
-rw-r--r--macros/latex/base/exscale.pdfbin204711 -> 204711 bytes
-rw-r--r--macros/latex/base/fix-cm.pdfbin288328 -> 288328 bytes
-rw-r--r--macros/latex/base/fntguide.pdfbin502880 -> 502880 bytes
-rw-r--r--macros/latex/base/graphpap.pdfbin161713 -> 161713 bytes
-rw-r--r--macros/latex/base/ifthen.pdfbin221211 -> 221211 bytes
-rw-r--r--macros/latex/base/inputenc.pdfbin318204 -> 318204 bytes
-rw-r--r--macros/latex/base/lamport-manual.pdfbin170878 -> 170878 bytes
-rw-r--r--macros/latex/base/latexrelease.pdfbin281906 -> 281906 bytes
-rw-r--r--macros/latex/base/latexsym.pdfbin200760 -> 200760 bytes
-rw-r--r--macros/latex/base/lb2.pdfbin252140 -> 252140 bytes
-rw-r--r--macros/latex/base/letter.pdfbin337544 -> 337706 bytes
-rw-r--r--macros/latex/base/lgc2.pdfbin215684 -> 215684 bytes
-rw-r--r--macros/latex/base/lppl.pdfbin132382 -> 132382 bytes
-rw-r--r--macros/latex/base/ltcmdhooks-code.pdfbin720048 -> 720249 bytes
-rw-r--r--macros/latex/base/ltcmdhooks-doc.pdfbin478890 -> 479100 bytes
-rw-r--r--macros/latex/base/ltfilehook-code.pdfbin802835 -> 803034 bytes
-rw-r--r--macros/latex/base/ltfilehook-doc.pdfbin548523 -> 548731 bytes
-rw-r--r--macros/latex/base/lthooks-code.pdfbin1096906 -> 1096874 bytes
-rw-r--r--macros/latex/base/lthooks-doc.pdfbin703813 -> 703775 bytes
-rw-r--r--macros/latex/base/lthooks.dtx11
-rw-r--r--macros/latex/base/ltkeys.dtx29
-rw-r--r--macros/latex/base/ltluatex.pdfbin317700 -> 317700 bytes
-rw-r--r--macros/latex/base/ltmarks-code.pdfbin715490 -> 715660 bytes
-rw-r--r--macros/latex/base/ltmarks-doc.pdfbin586925 -> 587106 bytes
-rw-r--r--macros/latex/base/ltnews.pdfbin1180993 -> 1180993 bytes
-rw-r--r--macros/latex/base/ltnews01.pdfbin161518 -> 161518 bytes
-rw-r--r--macros/latex/base/ltnews02.pdfbin159792 -> 159792 bytes
-rw-r--r--macros/latex/base/ltnews03.pdfbin159332 -> 159332 bytes
-rw-r--r--macros/latex/base/ltnews04.pdfbin152525 -> 152525 bytes
-rw-r--r--macros/latex/base/ltnews05.pdfbin174494 -> 174494 bytes
-rw-r--r--macros/latex/base/ltnews06.pdfbin142849 -> 142849 bytes
-rw-r--r--macros/latex/base/ltnews07.pdfbin137811 -> 137811 bytes
-rw-r--r--macros/latex/base/ltnews08.pdfbin155053 -> 155053 bytes
-rw-r--r--macros/latex/base/ltnews09.pdfbin129570 -> 129570 bytes
-rw-r--r--macros/latex/base/ltnews10.pdfbin169416 -> 169416 bytes
-rw-r--r--macros/latex/base/ltnews11.pdfbin111948 -> 111948 bytes
-rw-r--r--macros/latex/base/ltnews12.pdfbin156551 -> 156551 bytes
-rw-r--r--macros/latex/base/ltnews13.pdfbin182225 -> 182225 bytes
-rw-r--r--macros/latex/base/ltnews14.pdfbin170473 -> 170473 bytes
-rw-r--r--macros/latex/base/ltnews15.pdfbin130309 -> 130309 bytes
-rw-r--r--macros/latex/base/ltnews16.pdfbin138073 -> 138073 bytes
-rw-r--r--macros/latex/base/ltnews17.pdfbin166228 -> 166228 bytes
-rw-r--r--macros/latex/base/ltnews18.pdfbin38033 -> 38033 bytes
-rw-r--r--macros/latex/base/ltnews19.pdfbin230028 -> 230028 bytes
-rw-r--r--macros/latex/base/ltnews20.pdfbin318548 -> 318548 bytes
-rw-r--r--macros/latex/base/ltnews21.pdfbin244867 -> 244867 bytes
-rw-r--r--macros/latex/base/ltnews22.pdfbin317773 -> 317773 bytes
-rw-r--r--macros/latex/base/ltnews23.pdfbin286591 -> 286591 bytes
-rw-r--r--macros/latex/base/ltnews24.pdfbin265279 -> 265279 bytes
-rw-r--r--macros/latex/base/ltnews25.pdfbin204935 -> 204935 bytes
-rw-r--r--macros/latex/base/ltnews26.pdfbin379462 -> 379462 bytes
-rw-r--r--macros/latex/base/ltnews27.pdfbin250592 -> 250592 bytes
-rw-r--r--macros/latex/base/ltnews28.pdfbin376643 -> 376643 bytes
-rw-r--r--macros/latex/base/ltnews29.pdfbin455107 -> 455107 bytes
-rw-r--r--macros/latex/base/ltnews30.pdfbin511909 -> 511909 bytes
-rw-r--r--macros/latex/base/ltnews31.pdfbin526323 -> 526323 bytes
-rw-r--r--macros/latex/base/ltnews32.pdfbin546160 -> 546160 bytes
-rw-r--r--macros/latex/base/ltnews33.pdfbin522412 -> 522412 bytes
-rw-r--r--macros/latex/base/ltnews34.pdfbin508044 -> 508044 bytes
-rw-r--r--macros/latex/base/ltnews35.pdfbin563513 -> 563513 bytes
-rw-r--r--macros/latex/base/ltpara-code.pdfbin666944 -> 667130 bytes
-rw-r--r--macros/latex/base/ltpara-doc.pdfbin560439 -> 560603 bytes
-rw-r--r--macros/latex/base/ltshipout-code.pdfbin820689 -> 820873 bytes
-rw-r--r--macros/latex/base/ltshipout-doc.pdfbin564986 -> 565171 bytes
-rw-r--r--macros/latex/base/ltvers.dtx4
-rw-r--r--macros/latex/base/ltx3info.pdfbin219349 -> 219349 bytes
-rw-r--r--macros/latex/base/ltxdoc.dtx27
-rw-r--r--macros/latex/base/ltxdoc.pdfbin242822 -> 243273 bytes
-rw-r--r--macros/latex/base/makeindx.pdfbin165821 -> 165821 bytes
-rw-r--r--macros/latex/base/modguide.pdfbin243605 -> 243605 bytes
-rw-r--r--macros/latex/base/nfssfont.pdfbin211180 -> 211180 bytes
-rw-r--r--macros/latex/base/proc.pdfbin227059 -> 227059 bytes
-rw-r--r--macros/latex/base/slides.pdfbin375518 -> 375518 bytes
-rw-r--r--macros/latex/base/slifonts.pdfbin234191 -> 234191 bytes
-rw-r--r--macros/latex/base/source2e.pdfbin5761047 -> 5761626 bytes
-rw-r--r--macros/latex/base/syntonly.pdfbin189644 -> 189789 bytes
-rw-r--r--macros/latex/base/tlc2.pdfbin290615 -> 290615 bytes
-rw-r--r--macros/latex/base/tulm.pdfbin162772 -> 162772 bytes
-rw-r--r--macros/latex/base/usrguide.pdfbin430994 -> 430994 bytes
-rw-r--r--macros/latex/base/usrguide3.pdfbin403394 -> 403394 bytes
-rw-r--r--macros/latex/base/utf8ienc.pdfbin353574 -> 353405 bytes
-rw-r--r--macros/latex/base/webcomp.pdfbin146198 -> 146198 bytes
-rw-r--r--macros/latex/contrib/colorist/colorart.cls22
-rw-r--r--macros/latex/contrib/colorist/colorbook.cls22
-rw-r--r--macros/latex/contrib/colorist/colorist-doc.pdfbin102695 -> 102866 bytes
-rw-r--r--macros/latex/contrib/colorist/colorist-doc.tex6
-rw-r--r--macros/latex/contrib/colorist/colorist-fancy.sty58
-rw-r--r--macros/latex/contrib/colorist/colorist.sty27
-rw-r--r--macros/latex/contrib/kvoptions/README.md4
-rw-r--r--macros/latex/contrib/kvoptions/kvoptions.dtx42
-rw-r--r--macros/latex/contrib/kvoptions/kvoptions.pdfbin480927 -> 502152 bytes
-rw-r--r--macros/latex/contrib/l3kernel/CHANGELOG.md9
-rw-r--r--macros/latex/contrib/l3kernel/README.md2
-rw-r--r--macros/latex/contrib/l3kernel/expl3.dtx4
-rw-r--r--macros/latex/contrib/l3kernel/expl3.pdfbin622528 -> 622685 bytes
-rw-r--r--macros/latex/contrib/l3kernel/interface3.pdfbin1765952 -> 1766489 bytes
-rw-r--r--macros/latex/contrib/l3kernel/interface3.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3basics.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3bootstrap.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3box.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3candidates.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3cctab.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3clist.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3coffins.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3color.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3debug.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3deprecation.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3doc.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3doc.pdfbin554483 -> 554611 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3docstrip.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3docstrip.pdfbin151593 -> 151736 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3expan.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3file.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3flag.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-assign.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-aux.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-basics.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-convert.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-expo.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-extended.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-logic.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-parse.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-random.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-round.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-traps.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-trig.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fparray.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3int.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3intarray.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3kernel-functions.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3keys.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3legacy.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3luatex.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3msg.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3names.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3news.pdfbin395879 -> 395879 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news01.pdfbin122710 -> 122710 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news02.pdfbin150676 -> 150676 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news03.pdfbin148702 -> 148702 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news04.pdfbin114588 -> 114588 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news05.pdfbin112487 -> 112487 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news06.pdfbin151573 -> 151573 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news07.pdfbin128309 -> 128309 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news08.pdfbin163454 -> 163454 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news09.pdfbin250139 -> 250139 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news10.pdfbin150279 -> 150279 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news11.pdfbin170063 -> 170063 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news12.pdfbin204990 -> 204990 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3pdf.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3prefixes.pdfbin81486 -> 81486 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3prg.dtx11
-rw-r--r--macros/latex/contrib/l3kernel/l3prop.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3quark.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3regex.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3seq.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3skip.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3sort.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3str-convert.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3str.dtx8
-rw-r--r--macros/latex/contrib/l3kernel/l3styleguide.pdfbin296003 -> 296165 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3styleguide.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3syntax-changes.pdfbin242672 -> 242838 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3syntax-changes.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3sys.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3term-glossary.pdfbin231062 -> 231225 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3term-glossary.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3text-case.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3text-purify.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3text.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3tl-analysis.dtx6
-rw-r--r--macros/latex/contrib/l3kernel/l3tl.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3token.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3unicode.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/source3.pdfbin6970768 -> 6972719 bytes
-rw-r--r--macros/latex/contrib/l3kernel/source3.tex2
-rw-r--r--macros/latex/contrib/l3packages/CHANGELOG.md8
-rw-r--r--macros/latex/contrib/l3packages/README.md2
-rw-r--r--macros/latex/contrib/l3packages/l3keys2e.dtx27
-rw-r--r--macros/latex/contrib/l3packages/l3keys2e.pdfbin369332 -> 369309 bytes
-rw-r--r--macros/latex/contrib/l3packages/xfp.dtx4
-rw-r--r--macros/latex/contrib/l3packages/xfp.pdfbin332067 -> 332062 bytes
-rw-r--r--macros/latex/contrib/l3packages/xfrac.dtx4
-rw-r--r--macros/latex/contrib/l3packages/xfrac.pdfbin484863 -> 484867 bytes
-rw-r--r--macros/latex/contrib/l3packages/xparse.dtx4
-rw-r--r--macros/latex/contrib/l3packages/xparse.pdfbin534282 -> 534285 bytes
-rw-r--r--macros/latex/contrib/l3packages/xtemplate.dtx4
-rw-r--r--macros/latex/contrib/l3packages/xtemplate.pdfbin450127 -> 450124 bytes
-rw-r--r--macros/latex/contrib/magicwatermark/README.md8
-rw-r--r--macros/latex/contrib/magicwatermark/magicwatermark-en.pdfbin0 -> 83023 bytes
-rw-r--r--macros/latex/contrib/magicwatermark/magicwatermark-en.tex212
-rw-r--r--macros/latex/contrib/magicwatermark/magicwatermark.dtx598
-rw-r--r--macros/latex/contrib/magicwatermark/magicwatermark.pdfbin0 -> 137623 bytes
-rw-r--r--macros/latex/contrib/minimalist/minimalist-classical.sty138
-rw-r--r--macros/latex/contrib/minimalist/minimalist-doc.pdfbin104110 -> 104902 bytes
-rw-r--r--macros/latex/contrib/minimalist/minimalist-doc.tex2
-rw-r--r--macros/latex/contrib/minimalist/minimalist-plain.sty158
-rw-r--r--macros/latex/contrib/minimalist/minimalist.sty27
-rw-r--r--macros/latex/contrib/minimalist/minimart.cls22
-rw-r--r--macros/latex/contrib/minimalist/minimbook.cls22
-rw-r--r--macros/latex/contrib/verifiche/verifiche-example.pdfbin191888 -> 192001 bytes
-rw-r--r--macros/latex/contrib/verifiche/verifiche-example.tex2
-rw-r--r--macros/latex/contrib/verifiche/verifiche.dtx92
-rw-r--r--macros/latex/contrib/verifiche/verifiche.pdfbin555223 -> 585018 bytes
-rw-r--r--macros/latex/contrib/xkeyval/README174
-rw-r--r--macros/latex/contrib/xkeyval/xkeyval.dtx10
-rw-r--r--macros/latex/contrib/xkeyval/xkeyval.pdfbin492216 -> 810100 bytes
-rw-r--r--macros/latex/required/cyrillic/README.md75
-rw-r--r--macros/latex/required/cyrillic/changes.txt7
-rw-r--r--macros/latex/required/cyrillic/cyinpenc.dtx38
-rw-r--r--macros/latex/required/cyrillic/cyinpenc.pdfbin206017 -> 215413 bytes
-rw-r--r--macros/latex/required/cyrillic/cyoutenc.dtx12
-rw-r--r--macros/latex/required/cyrillic/cyoutenc.pdfbin148216 -> 157765 bytes
-rw-r--r--macros/latex/required/cyrillic/cyrlatex.ins36
-rw-r--r--macros/latex/required/cyrillic/lcy.dtx12
-rw-r--r--macros/latex/required/cyrillic/lcy.pdfbin198415 -> 209026 bytes
-rw-r--r--macros/latex/required/cyrillic/lcycmlh.fdd18
-rw-r--r--macros/latex/required/cyrillic/lcycmlh.pdfbin125811 -> 127216 bytes
-rw-r--r--macros/latex/required/cyrillic/ot2.dtx12
-rw-r--r--macros/latex/required/cyrillic/ot2.pdfbin112390 -> 113862 bytes
-rw-r--r--macros/latex/required/cyrillic/ot2cmams.fdd18
-rw-r--r--macros/latex/required/cyrillic/ot2cmams.pdfbin99095 -> 99754 bytes
-rw-r--r--macros/latex/required/cyrillic/ot2cmlh.fdd18
-rw-r--r--macros/latex/required/cyrillic/ot2cmlh.pdfbin129052 -> 130462 bytes
-rw-r--r--macros/latex/required/cyrillic/t2lhfnt.fdd18
-rw-r--r--macros/latex/required/cyrillic/t2lhfnt.pdfbin135567 -> 144082 bytes
-rw-r--r--macros/luatex/generic/luaotfload/NEWS8
-rw-r--r--macros/luatex/generic/luaotfload/README.md4
-rw-r--r--macros/luatex/generic/luaotfload/filegraph.pdfbin40007 -> 40019 bytes
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-2022-06-15.lua (renamed from macros/luatex/generic/luaotfload/fontloader-2022-02-24.lua)583
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-dsp.lua5
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-imp-ligatures.lua4
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-map.lua6
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-osd.lua59
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-otc.lua57
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-otl.lua2
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-otr.lua6
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-oup.lua210
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-ttf.lua235
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-reference.lua419
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-bcp47.lua85
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-case.lua312
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-colors.lua115
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-conf.pdfbin77694 -> 77540 bytes
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-configuration.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-database.lua13
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-dvi.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-embolden.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-fallback.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-features.lua128
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-filelist.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-harf-define.lua6
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua24
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-harf-var-cff2.lua6
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-harf-var-t2-writer.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-harf-var-ttf.lua18
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-hashing.lua2
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-init.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-latex.pdfbin494195 -> 495247 bytes
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-latex.tex29
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-letterspace.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-loaders.lua84
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-log.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-main.tex391
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-multiscript.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-notdef.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-parsers.lua45
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-resolvers.lua12
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-scripts.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-status.lua84
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-suppress.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-szss.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-t3.lua142
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tool.144
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tool.lua18
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tool.pdfbin76968 -> 76805 bytes
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tool.rst4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tounicode.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-unicode.lua96
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload.conf.528
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload.conf.rst4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload.sty2
-rw-r--r--macros/luatex/generic/luaotfload/scripts-demo.pdfbin21673 -> 19082 bytes
-rw-r--r--macros/luatex/generic/luaotfload/shaper-demo-graphite.pdfbin8548 -> 8560 bytes
-rw-r--r--macros/luatex/generic/luaotfload/shaper-demo.pdfbin8469 -> 8481 bytes
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdfbin322112 -> 261227 bytes
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex6
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdfbin209159 -> 140003 bytes
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex6
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdfbin212849 -> 143192 bytes
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex6
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre.cls126
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-cn.pdfbin251176 -> 202160 bytes
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-cn.tex2
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-en.pdfbin155072 -> 93808 bytes
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-en.tex2
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-fr.pdfbin160385 -> 98098 bytes
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-fr.tex2
-rw-r--r--macros/unicodetex/latex/einfart/einfart.cls126
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdfbin269138 -> 222939 bytes
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex6
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-en.pdfbin147743 -> 92143 bytes
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-en.tex6
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdfbin151300 -> 93425 bytes
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex6
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart.cls126
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdfbin337254 -> 257013 bytes
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex2
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-en.pdfbin230651 -> 137475 bytes
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-en.tex2
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdfbin230716 -> 139916 bytes
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex2
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre.cls126
-rw-r--r--support/TeX4ht/source/ChangeLog6
-rw-r--r--support/TeX4ht/source/tex4ht-jats.tex14
-rw-r--r--systems/mac/mactex/ExtrasFolder.pdfbin38154 -> 38155 bytes
-rw-r--r--systems/mac/mactex/Licenses.txt4
-rw-r--r--systems/win32/miktex/tm/packages/next/pr.ini8
-rw-r--r--systems/win32/miktex/tm/packages/pr.ini8
-rw-r--r--timestamp2
339 files changed, 5986 insertions, 3107 deletions
diff --git a/FILES.byname b/FILES.byname
index 5543e553ba..33fdce2a8d 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -5228,7 +5228,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
-2022/06/15 | 159332 | FILES.last07days
+2022/06/16 | 132824 | FILES.last07days
2021/07/24 | 1139410 | fonts/aboensis/Aboensis.glyphs
2021/07/24 | 18907382 | fonts/aboensis/aboensis.pdf
2021/07/24 | 137860 | fonts/aboensis/Aboensis-Regular.otf
@@ -188950,13 +188950,12 @@
2022/05/07 | 14679012 | install/macros/latex/contrib/koma-script.tds.zip
2015/12/09 | 171418 | install/macros/latex/contrib/ksp-thesis.tds.zip
2019/12/19 | 302191 | install/macros/latex/contrib/kvdefinekeys.tds.zip
-2020/10/09 | 503116 | install/macros/latex/contrib/kvoptions.tds.zip
2019/12/15 | 385518 | install/macros/latex/contrib/kvsetkeys.tds.zip
2022/04/20 | 948580 | install/macros/latex/contrib/l3backend.tds.zip
2022/04/19 | 817332 | install/macros/latex/contrib/l3build.tds.zip
2022/04/20 | 4458126 | install/macros/latex/contrib/l3experimental.tds.zip
-2022/06/02 | 13693084 | install/macros/latex/contrib/l3kernel.tds.zip
-2022/06/07 | 2213922 | install/macros/latex/contrib/l3packages.tds.zip
+2022/06/16 | 13697412 | install/macros/latex/contrib/l3kernel.tds.zip
+2022/06/16 | 2213925 | install/macros/latex/contrib/l3packages.tds.zip
2021/09/03 | 583760 | install/macros/latex/contrib/lastpage.tds.zip
2009/09/02 | 556672 | install/macros/latex/contrib/layouts.tds.zip
2008/07/25 | 125603 | install/macros/latex/contrib/lcyw.tds.zip
@@ -189115,12 +189114,12 @@
2022/05/19 | 3111178 | install/macros/latex-dev/required/latex-graphics-dev.tds.zip
2022/05/19 | 2829818 | install/macros/latex-dev/required/latex-lab-dev.tds.zip
2022/05/19 | 7324176 | install/macros/latex-dev/required/latex-tools-dev.tds.zip
-2022/06/08 | 38298583 | install/macros/latex/latex-base.tds.zip
+2022/06/16 | 38303376 | install/macros/latex/latex-base.tds.zip
2020/06/01 | 1578753 | install/macros/latex/required/amscls.tds.zip
2022/06/06 | 2977564 | install/macros/latex/required/babel-base.tds.zip
2022/06/08 | 2794804 | install/macros/latex/required/latex-amsmath.tds.zip
2022/06/14 | 242625 | install/macros/latex/required/latexbug.tds.zip
-2018/04/06 | 1324669 | install/macros/latex/required/latex-cyrillic.tds.zip
+2022/06/16 | 1352652 | install/macros/latex/required/latex-cyrillic.tds.zip
2022/06/08 | 262641 | install/macros/latex/required/latex-firstaid.tds.zip
2022/06/08 | 3110069 | install/macros/latex/required/latex-graphics.tds.zip
2022/06/08 | 2302616 | install/macros/latex/required/latex-lab.tds.zip
@@ -189129,7 +189128,7 @@
2015/10/01 | 154538 | install/macros/luatex/generic/ctablestack.tds.zip
2021/05/21 | 273734 | install/macros/luatex/generic/lualibs.tds.zip
2022/01/12 | 202258 | install/macros/luatex/generic/luamplib.tds.zip
-2022/03/18 | 1957410 | install/macros/luatex/generic/luaotfload.tds.zip
+2022/06/15 | 1966772 | install/macros/luatex/generic/luaotfload.tds.zip
2015/10/04 | 277014 | install/macros/luatex/generic/luatexbase.tds.zip
2022/05/27 | 787576 | install/macros/luatex/generic/lua-widow-control.tds.zip
2020/03/23 | 891718 | install/macros/luatex/latex/arabluatex.tds.zip
@@ -205113,286 +205112,286 @@
1993/11/08 | 1691 | macros/latex209/contrib/zero/zero-test.tex
2006/09/21 | 3505 | macros/latex209/contrib/zero.zip
1997/01/22 | 274 | macros/latex209/distribs/README.obsolete
-2022/06/08 | 7104 | macros/latex/base/alltt.dtx
-2022/06/08 | 2890 | macros/latex/base/alltt.ins
-2022/06/08 | 223831 | macros/latex/base/alltt.pdf
-2022/06/08 | 3282 | macros/latex/base/bugs.txt
-2022/06/08 | 242888 | macros/latex/base/cfgguide.pdf
-2022/06/08 | 22456 | macros/latex/base/cfgguide.tex
-2022/06/08 | 42708 | macros/latex/base/changes.old.txt
-2022/06/08 | 396793 | macros/latex/base/changes.txt
-2022/06/08 | 156235 | macros/latex/base/classes.dtx
-2022/06/08 | 4087 | macros/latex/base/classes.ins
-2022/06/08 | 560350 | macros/latex/base/classes.pdf
-2022/06/08 | 402780 | macros/latex/base/clsguide.pdf
-2022/06/08 | 69050 | macros/latex/base/clsguide.tex
-2022/06/08 | 5273 | macros/latex/base/cmextra.ins
-2022/06/08 | 43636 | macros/latex/base/cmfonts.fdd
-2022/06/08 | 4324 | macros/latex/base/cmfonts.ins
-2022/06/08 | 292376 | macros/latex/base/cmfonts.pdf
-2022/06/08 | 239689 | macros/latex/base/cyrguide.pdf
-2022/06/08 | 17495 | macros/latex/base/cyrguide.tex
-2022/06/08 | 29965 | macros/latex/base/doc-2016-02-15.sty
-2022/06/08 | 30499 | macros/latex/base/doc-2021-06-01.sty
-2022/06/08 | 1081719 | macros/latex/base/doc-code.pdf
-2022/06/08 | 96 | macros/latex/base/doc-code.tex
-2022/06/08 | 244287 | macros/latex/base/doc.dtx
-2022/06/08 | 755165 | macros/latex/base/doc.pdf
-2022/06/08 | 170209 | macros/latex/base/docstrip.dtx
-2022/06/08 | 4273 | macros/latex/base/docstrip.ins
-2022/06/08 | 503620 | macros/latex/base/docstrip.pdf
-2022/06/08 | 4390 | macros/latex/base/ec.ins
-2022/06/08 | 1318126 | macros/latex/base/encguide.pdf
-2022/06/08 | 52813 | macros/latex/base/encguide.tex
-2022/06/08 | 7216 | macros/latex/base/exscale.dtx
-2022/06/08 | 3338 | macros/latex/base/exscale.ins
-2022/06/08 | 204711 | macros/latex/base/exscale.pdf
-2022/06/08 | 23516 | macros/latex/base/fix-cm.dtx
-2022/06/08 | 2892 | macros/latex/base/fix-cm.ins
-2022/06/08 | 288328 | macros/latex/base/fix-cm.pdf
-2022/06/08 | 502880 | macros/latex/base/fntguide.pdf
-2022/06/08 | 106880 | macros/latex/base/fntguide.tex
-2022/06/08 | 60321 | macros/latex/base/fontdef.dtx
-2022/06/08 | 9779 | macros/latex/base/format.ins
-2022/06/08 | 5509 | macros/latex/base/graphpap.dtx
-2022/06/08 | 2892 | macros/latex/base/graphpap.ins
-2022/06/08 | 161713 | macros/latex/base/graphpap.pdf
-2022/06/08 | 2705 | macros/latex/base/idx.tex
-2022/06/08 | 18753 | macros/latex/base/ifthen.dtx
-2022/06/08 | 2888 | macros/latex/base/ifthen.ins
-2022/06/08 | 221211 | macros/latex/base/ifthen.pdf
-2022/06/08 | 106904 | macros/latex/base/inputenc.dtx
-2022/06/08 | 5714 | macros/latex/base/inputenc.ins
-2022/06/08 | 318204 | macros/latex/base/inputenc.pdf
-2022/06/08 | 4079 | macros/latex/base/lablst.tex
-2022/06/08 | 13759 | macros/latex/base/lamport-manual.err
-2022/06/08 | 170878 | macros/latex/base/lamport-manual.pdf
-2022/06/08 | 38730 | macros/latex/base/latex209.dtx
-2022/06/08 | 4219 | macros/latex/base/latex209.ins
-2022/06/08 | 44976 | macros/latex/base/latexrelease.dtx
-2022/06/08 | 6047 | macros/latex/base/latexrelease.ins
-2022/06/08 | 281906 | macros/latex/base/latexrelease.pdf
-2022/06/08 | 6709 | macros/latex/base/latexsym.dtx
-2022/06/08 | 5041 | macros/latex/base/latexsym.ins
-2022/06/08 | 200760 | macros/latex/base/latexsym.pdf
-2022/06/08 | 52710 | macros/latex/base/lb2.err
-2022/06/08 | 252140 | macros/latex/base/lb2.pdf
-2022/06/08 | 1279 | macros/latex/base/legal.txt
-2022/06/08 | 63280 | macros/latex/base/letter.dtx
-2022/06/08 | 3372 | macros/latex/base/letter.ins
-2022/06/08 | 337544 | macros/latex/base/letter.pdf
-2022/06/08 | 20652 | macros/latex/base/lgc2.err
-2022/06/08 | 215684 | macros/latex/base/lgc2.pdf
-2022/06/08 | 9068 | macros/latex/base/lppl-1-0.txt
-2022/06/08 | 14341 | macros/latex/base/lppl-1-1.txt
-2022/06/08 | 14421 | macros/latex/base/lppl-1-2.txt
-2022/06/08 | 132382 | macros/latex/base/lppl.pdf
-2022/06/08 | 23386 | macros/latex/base/lppl.tex
-2022/06/08 | 19040 | macros/latex/base/lppl.txt
-2022/06/08 | 4298 | macros/latex/base/ltalloc.dtx
-2022/06/08 | 17389 | macros/latex/base/ltbibl.dtx
-2022/06/08 | 44772 | macros/latex/base/ltboxes.dtx
-2022/06/08 | 142877 | macros/latex/base/ltclass.dtx
-2022/06/08 | 172373 | macros/latex/base/ltcmd.dtx
-2022/06/08 | 720048 | macros/latex/base/ltcmdhooks-code.pdf
-2022/06/08 | 103 | macros/latex/base/ltcmdhooks-code.tex
-2022/06/08 | 478890 | macros/latex/base/ltcmdhooks-doc.pdf
-2022/06/08 | 238 | macros/latex/base/ltcmdhooks-doc.tex
-2022/06/08 | 53025 | macros/latex/base/ltcmdhooks.dtx
-2022/06/08 | 9557 | macros/latex/base/ltcntrl.dtx
-2022/06/08 | 24286 | macros/latex/base/ltcounts.dtx
-2022/06/08 | 85858 | macros/latex/base/ltdefns.dtx
-2022/06/08 | 35984 | macros/latex/base/ltdirchk.dtx
-2022/06/08 | 27069 | macros/latex/base/lterror.dtx
-2022/06/08 | 18711 | macros/latex/base/ltexpl.dtx
-2022/06/08 | 802835 | macros/latex/base/ltfilehook-code.pdf
-2022/06/08 | 105 | macros/latex/base/ltfilehook-code.tex
-2022/06/08 | 548523 | macros/latex/base/ltfilehook-doc.pdf
-2022/06/08 | 241 | macros/latex/base/ltfilehook-doc.tex
-2022/06/08 | 66541 | macros/latex/base/ltfilehook.dtx
-2022/06/08 | 58933 | macros/latex/base/ltfiles.dtx
-2022/06/08 | 48230 | macros/latex/base/ltfinal.dtx
-2022/06/08 | 55687 | macros/latex/base/ltfloat.dtx
-2022/06/08 | 29267 | macros/latex/base/ltfntcmd.dtx
-2022/06/08 | 58551 | macros/latex/base/ltfssaxes.dtx
-2022/06/08 | 80881 | macros/latex/base/ltfssbas.dtx
-2022/06/08 | 10370 | macros/latex/base/ltfsscmp.dtx
-2022/06/08 | 70645 | macros/latex/base/ltfssdcl.dtx
-2022/06/08 | 84215 | macros/latex/base/ltfssini.dtx
-2022/06/08 | 72475 | macros/latex/base/ltfsstrc.dtx
-2022/06/08 | 1096906 | macros/latex/base/lthooks-code.pdf
-2022/06/08 | 102 | macros/latex/base/lthooks-code.tex
-2022/06/08 | 703813 | macros/latex/base/lthooks-doc.pdf
-2022/06/08 | 238 | macros/latex/base/lthooks-doc.tex
-2022/06/08 | 211482 | macros/latex/base/lthooks.dtx
-2022/06/08 | 4945 | macros/latex/base/lthyphen.dtx
-2022/06/08 | 5859 | macros/latex/base/ltidxglo.dtx
-2022/06/08 | 17643 | macros/latex/base/ltkeys.dtx
-2022/06/08 | 4757 | macros/latex/base/ltlength.dtx
-2022/06/08 | 36152 | macros/latex/base/ltlists.dtx
-2022/06/08 | 3725 | macros/latex/base/ltlogos.dtx
-2022/06/08 | 65782 | macros/latex/base/ltluatex.dtx
-2022/06/08 | 317700 | macros/latex/base/ltluatex.pdf
-2022/06/08 | 715490 | macros/latex/base/ltmarks-code.pdf
-2022/06/08 | 102 | macros/latex/base/ltmarks-code.tex
-2022/06/08 | 586925 | macros/latex/base/ltmarks-doc.pdf
-2022/06/08 | 238 | macros/latex/base/ltmarks-doc.tex
-2022/06/08 | 63132 | macros/latex/base/ltmarks.dtx
-2022/06/08 | 40234 | macros/latex/base/ltmath.dtx
-2022/06/08 | 6213 | macros/latex/base/ltmeta.dtx
-2022/06/08 | 58745 | macros/latex/base/ltmiscen.dtx
-2022/06/08 | 161518 | macros/latex/base/ltnews01.pdf
-2022/06/08 | 5246 | macros/latex/base/ltnews01.tex
-2022/06/08 | 159792 | macros/latex/base/ltnews02.pdf
-2022/06/08 | 5462 | macros/latex/base/ltnews02.tex
-2022/06/08 | 159332 | macros/latex/base/ltnews03.pdf
-2022/06/08 | 5369 | macros/latex/base/ltnews03.tex
-2022/06/08 | 152525 | macros/latex/base/ltnews04.pdf
-2022/06/08 | 5678 | macros/latex/base/ltnews04.tex
-2022/06/08 | 174494 | macros/latex/base/ltnews05.pdf
-2022/06/08 | 5699 | macros/latex/base/ltnews05.tex
-2022/06/08 | 142849 | macros/latex/base/ltnews06.pdf
-2022/06/08 | 5544 | macros/latex/base/ltnews06.tex
-2022/06/08 | 137811 | macros/latex/base/ltnews07.pdf
-2022/06/08 | 5576 | macros/latex/base/ltnews07.tex
-2022/06/08 | 155053 | macros/latex/base/ltnews08.pdf
-2022/06/08 | 5732 | macros/latex/base/ltnews08.tex
-2022/06/08 | 129570 | macros/latex/base/ltnews09.pdf
-2022/06/08 | 5451 | macros/latex/base/ltnews09.tex
-2022/06/08 | 169416 | macros/latex/base/ltnews10.pdf
-2022/06/08 | 5825 | macros/latex/base/ltnews10.tex
-2022/06/08 | 111948 | macros/latex/base/ltnews11.pdf
-2022/06/08 | 5529 | macros/latex/base/ltnews11.tex
-2022/06/08 | 156551 | macros/latex/base/ltnews12.pdf
-2022/06/08 | 5574 | macros/latex/base/ltnews12.tex
-2022/06/08 | 182225 | macros/latex/base/ltnews13.pdf
-2022/06/08 | 7029 | macros/latex/base/ltnews13.tex
-2022/06/08 | 170473 | macros/latex/base/ltnews14.pdf
-2022/06/08 | 6424 | macros/latex/base/ltnews14.tex
-2022/06/08 | 130309 | macros/latex/base/ltnews15.pdf
-2022/06/08 | 5986 | macros/latex/base/ltnews15.tex
-2022/06/08 | 138073 | macros/latex/base/ltnews16.pdf
-2022/06/08 | 5775 | macros/latex/base/ltnews16.tex
-2022/06/08 | 166228 | macros/latex/base/ltnews17.pdf
-2022/06/08 | 8970 | macros/latex/base/ltnews17.tex
-2022/06/08 | 38033 | macros/latex/base/ltnews18.pdf
-2022/06/08 | 1341 | macros/latex/base/ltnews18.tex
-2022/06/08 | 230028 | macros/latex/base/ltnews19.pdf
-2022/06/08 | 4170 | macros/latex/base/ltnews19.tex
-2022/06/08 | 318548 | macros/latex/base/ltnews20.pdf
-2022/06/08 | 7221 | macros/latex/base/ltnews20.tex
-2022/06/08 | 244867 | macros/latex/base/ltnews21.pdf
-2022/06/08 | 9926 | macros/latex/base/ltnews21.tex
-2022/06/08 | 317773 | macros/latex/base/ltnews22.pdf
-2022/06/08 | 10792 | macros/latex/base/ltnews22.tex
-2022/06/08 | 286591 | macros/latex/base/ltnews23.pdf
-2022/06/08 | 10791 | macros/latex/base/ltnews23.tex
-2022/06/08 | 265279 | macros/latex/base/ltnews24.pdf
-2022/06/08 | 12334 | macros/latex/base/ltnews24.tex
-2022/06/08 | 204935 | macros/latex/base/ltnews25.pdf
-2022/06/08 | 5588 | macros/latex/base/ltnews25.tex
-2022/06/08 | 379462 | macros/latex/base/ltnews26.pdf
-2022/06/08 | 10798 | macros/latex/base/ltnews26.tex
-2022/06/08 | 250592 | macros/latex/base/ltnews27.pdf
-2022/06/08 | 5671 | macros/latex/base/ltnews27.tex
-2022/06/08 | 376643 | macros/latex/base/ltnews28.pdf
-2022/06/08 | 15047 | macros/latex/base/ltnews28.tex
-2022/06/08 | 455107 | macros/latex/base/ltnews29.pdf
-2022/06/08 | 18944 | macros/latex/base/ltnews29.tex
-2022/06/08 | 511909 | macros/latex/base/ltnews30.pdf
-2022/06/08 | 23637 | macros/latex/base/ltnews30.tex
-2022/06/08 | 526323 | macros/latex/base/ltnews31.pdf
-2022/06/08 | 30428 | macros/latex/base/ltnews31.tex
-2022/06/08 | 546160 | macros/latex/base/ltnews32.pdf
-2022/06/08 | 33239 | macros/latex/base/ltnews32.tex
-2022/06/08 | 522412 | macros/latex/base/ltnews33.pdf
-2022/06/08 | 33907 | macros/latex/base/ltnews33.tex
-2022/06/08 | 508044 | macros/latex/base/ltnews34.pdf
-2022/06/08 | 32307 | macros/latex/base/ltnews34.tex
-2022/06/08 | 563513 | macros/latex/base/ltnews35.pdf
-2022/06/08 | 38946 | macros/latex/base/ltnews35.tex
-2022/06/08 | 20469 | macros/latex/base/ltnews.cls
-2022/06/08 | 1180993 | macros/latex/base/ltnews.pdf
-2022/06/08 | 8368 | macros/latex/base/ltnews.tex
-2022/06/08 | 148294 | macros/latex/base/ltoutenc.dtx
-2022/06/08 | 3367 | macros/latex/base/ltoutenc.ins
-2022/06/08 | 178421 | macros/latex/base/ltoutput.dtx
-2022/06/08 | 14091 | macros/latex/base/ltpage.dtx
-2022/06/08 | 2728 | macros/latex/base/ltpageno.dtx
-2022/06/08 | 666944 | macros/latex/base/ltpara-code.pdf
-2022/06/08 | 99 | macros/latex/base/ltpara-code.tex
-2022/06/08 | 560439 | macros/latex/base/ltpara-doc.pdf
-2022/06/08 | 234 | macros/latex/base/ltpara-doc.tex
-2022/06/08 | 51606 | macros/latex/base/ltpara.dtx
-2022/06/08 | 6155 | macros/latex/base/ltpar.dtx
-2022/06/08 | 69002 | macros/latex/base/ltpictur.dtx
-2022/06/08 | 59499 | macros/latex/base/ltplain.dtx
-2022/06/08 | 33946 | macros/latex/base/ltsect.dtx
-2022/06/08 | 820689 | macros/latex/base/ltshipout-code.pdf
-2022/06/08 | 104 | macros/latex/base/ltshipout-code.tex
-2022/06/08 | 564986 | macros/latex/base/ltshipout-doc.pdf
-2022/06/08 | 240 | macros/latex/base/ltshipout-doc.tex
-2022/06/08 | 80053 | macros/latex/base/ltshipout.dtx
-2022/06/08 | 45240 | macros/latex/base/ltspace.dtx
-2022/06/08 | 47896 | macros/latex/base/lttab.dtx
-2022/06/08 | 90370 | macros/latex/base/lttextcomp.dtx
-2022/06/08 | 8731 | macros/latex/base/ltthm.dtx
-2022/06/08 | 14785 | macros/latex/base/ltvers.dtx
-2022/06/08 | 219349 | macros/latex/base/ltx3info.pdf
-2022/06/08 | 18299 | macros/latex/base/ltx3info.tex
-2022/06/08 | 27122 | macros/latex/base/ltxcheck.tex
-2022/06/08 | 22067 | macros/latex/base/ltxdoc.dtx
-2022/06/08 | 242822 | macros/latex/base/ltxdoc.pdf
-2022/06/08 | 7524 | macros/latex/base/ltxguide.cls
-2022/06/08 | 18363 | macros/latex/base/ltxref.dtx
-2022/06/08 | 10601 | macros/latex/base/makeindx.dtx
-2022/06/08 | 3434 | macros/latex/base/makeindx.ins
-2022/06/08 | 165821 | macros/latex/base/makeindx.pdf
-2022/06/08 | 11103 | macros/latex/base/manifest.txt
-2022/06/08 | 1937 | macros/latex/base/minimal.cls
-2022/06/08 | 243605 | macros/latex/base/modguide.pdf
-2022/06/08 | 16233 | macros/latex/base/modguide.tex
-2022/06/08 | 4254 | macros/latex/base/newdc.ins
-2022/06/08 | 6357 | macros/latex/base/newlfont.dtx
-2022/06/08 | 18399 | macros/latex/base/nfssfont.dtx
-2022/06/08 | 2893 | macros/latex/base/nfssfont.ins
-2022/06/08 | 211180 | macros/latex/base/nfssfont.pdf
-2022/06/08 | 3960 | macros/latex/base/olddc.ins
-2022/06/08 | 8626 | macros/latex/base/oldlfont.dtx
-2022/06/08 | 9345 | macros/latex/base/preload.dtx
-2022/06/08 | 13589 | macros/latex/base/proc.dtx
-2022/06/08 | 3401 | macros/latex/base/proc.ins
-2022/06/08 | 227059 | macros/latex/base/proc.pdf
-2022/06/08 | 3463 | macros/latex/base/README.md
-2022/06/08 | 7200 | macros/latex/base/sample2e.tex
-2022/06/08 | 89727 | macros/latex/base/slides.dtx
-2022/06/08 | 6760 | macros/latex/base/slides.ins
-2022/06/08 | 375518 | macros/latex/base/slides.pdf
-2022/06/08 | 15699 | macros/latex/base/slifonts.fdd
-2022/06/08 | 234191 | macros/latex/base/slifonts.pdf
-2022/06/08 | 1694 | macros/latex/base/small2e.tex
-2022/06/08 | 9401 | macros/latex/base/source2edoc.cls
-2022/06/08 | 5761047 | macros/latex/base/source2e.pdf
-2022/06/08 | 15306 | macros/latex/base/source2e.tex
-2022/06/08 | 9395 | macros/latex/base/syntonly.dtx
-2022/06/08 | 2896 | macros/latex/base/syntonly.ins
-2022/06/08 | 189644 | macros/latex/base/syntonly.pdf
-2022/06/08 | 12520 | macros/latex/base/testpage.tex
-2022/06/08 | 172867 | macros/latex/base/tlc2.err
-2022/06/08 | 290615 | macros/latex/base/tlc2.pdf
-2022/06/08 | 12242 | macros/latex/base/tulm.fdd
-2022/06/08 | 3781 | macros/latex/base/tulm.ins
-2022/06/08 | 162772 | macros/latex/base/tulm.pdf
-2022/06/08 | 3181 | macros/latex/base/unpack.ins
-2022/06/08 | 403394 | macros/latex/base/usrguide3.pdf
-2022/06/08 | 44166 | macros/latex/base/usrguide3.tex
-2022/06/08 | 430994 | macros/latex/base/usrguide.pdf
-2022/06/08 | 68435 | macros/latex/base/usrguide.tex
-2022/06/08 | 92280 | macros/latex/base/utf8ienc.dtx
-2022/06/08 | 353574 | macros/latex/base/utf8ienc.pdf
-2022/06/08 | 10251 | macros/latex/base/webcomp.err
-2022/06/08 | 146198 | macros/latex/base/webcomp.pdf
-2022/06/08 | 37754109 | macros/latex/base.zip
+2022/06/16 | 7104 | macros/latex/base/alltt.dtx
+2022/06/16 | 2890 | macros/latex/base/alltt.ins
+2022/06/16 | 223831 | macros/latex/base/alltt.pdf
+2022/06/16 | 3282 | macros/latex/base/bugs.txt
+2022/06/16 | 242888 | macros/latex/base/cfgguide.pdf
+2022/06/16 | 22456 | macros/latex/base/cfgguide.tex
+2022/06/16 | 42708 | macros/latex/base/changes.old.txt
+2022/06/16 | 397353 | macros/latex/base/changes.txt
+2022/06/16 | 156235 | macros/latex/base/classes.dtx
+2022/06/16 | 4087 | macros/latex/base/classes.ins
+2022/06/16 | 560350 | macros/latex/base/classes.pdf
+2022/06/16 | 402780 | macros/latex/base/clsguide.pdf
+2022/06/16 | 69050 | macros/latex/base/clsguide.tex
+2022/06/16 | 5273 | macros/latex/base/cmextra.ins
+2022/06/16 | 43636 | macros/latex/base/cmfonts.fdd
+2022/06/16 | 4324 | macros/latex/base/cmfonts.ins
+2022/06/16 | 292376 | macros/latex/base/cmfonts.pdf
+2022/06/16 | 239689 | macros/latex/base/cyrguide.pdf
+2022/06/16 | 17495 | macros/latex/base/cyrguide.tex
+2022/06/16 | 29965 | macros/latex/base/doc-2016-02-15.sty
+2022/06/16 | 30499 | macros/latex/base/doc-2021-06-01.sty
+2022/06/16 | 1081761 | macros/latex/base/doc-code.pdf
+2022/06/16 | 96 | macros/latex/base/doc-code.tex
+2022/06/16 | 244287 | macros/latex/base/doc.dtx
+2022/06/16 | 755188 | macros/latex/base/doc.pdf
+2022/06/16 | 170209 | macros/latex/base/docstrip.dtx
+2022/06/16 | 4273 | macros/latex/base/docstrip.ins
+2022/06/16 | 503774 | macros/latex/base/docstrip.pdf
+2022/06/16 | 4390 | macros/latex/base/ec.ins
+2022/06/16 | 1318126 | macros/latex/base/encguide.pdf
+2022/06/16 | 52813 | macros/latex/base/encguide.tex
+2022/06/16 | 7216 | macros/latex/base/exscale.dtx
+2022/06/16 | 3338 | macros/latex/base/exscale.ins
+2022/06/16 | 204711 | macros/latex/base/exscale.pdf
+2022/06/16 | 23516 | macros/latex/base/fix-cm.dtx
+2022/06/16 | 2892 | macros/latex/base/fix-cm.ins
+2022/06/16 | 288328 | macros/latex/base/fix-cm.pdf
+2022/06/16 | 502880 | macros/latex/base/fntguide.pdf
+2022/06/16 | 106880 | macros/latex/base/fntguide.tex
+2022/06/16 | 60321 | macros/latex/base/fontdef.dtx
+2022/06/16 | 9779 | macros/latex/base/format.ins
+2022/06/16 | 5509 | macros/latex/base/graphpap.dtx
+2022/06/16 | 2892 | macros/latex/base/graphpap.ins
+2022/06/16 | 161713 | macros/latex/base/graphpap.pdf
+2022/06/16 | 2705 | macros/latex/base/idx.tex
+2022/06/16 | 18753 | macros/latex/base/ifthen.dtx
+2022/06/16 | 2888 | macros/latex/base/ifthen.ins
+2022/06/16 | 221211 | macros/latex/base/ifthen.pdf
+2022/06/16 | 106904 | macros/latex/base/inputenc.dtx
+2022/06/16 | 5714 | macros/latex/base/inputenc.ins
+2022/06/16 | 318204 | macros/latex/base/inputenc.pdf
+2022/06/16 | 4079 | macros/latex/base/lablst.tex
+2022/06/16 | 13759 | macros/latex/base/lamport-manual.err
+2022/06/16 | 170878 | macros/latex/base/lamport-manual.pdf
+2022/06/16 | 38730 | macros/latex/base/latex209.dtx
+2022/06/16 | 4219 | macros/latex/base/latex209.ins
+2022/06/16 | 44976 | macros/latex/base/latexrelease.dtx
+2022/06/16 | 6047 | macros/latex/base/latexrelease.ins
+2022/06/16 | 281906 | macros/latex/base/latexrelease.pdf
+2022/06/16 | 6709 | macros/latex/base/latexsym.dtx
+2022/06/16 | 5041 | macros/latex/base/latexsym.ins
+2022/06/16 | 200760 | macros/latex/base/latexsym.pdf
+2022/06/16 | 52710 | macros/latex/base/lb2.err
+2022/06/16 | 252140 | macros/latex/base/lb2.pdf
+2022/06/16 | 1279 | macros/latex/base/legal.txt
+2022/06/16 | 63280 | macros/latex/base/letter.dtx
+2022/06/16 | 3372 | macros/latex/base/letter.ins
+2022/06/16 | 337706 | macros/latex/base/letter.pdf
+2022/06/16 | 20652 | macros/latex/base/lgc2.err
+2022/06/16 | 215684 | macros/latex/base/lgc2.pdf
+2022/06/16 | 9068 | macros/latex/base/lppl-1-0.txt
+2022/06/16 | 14341 | macros/latex/base/lppl-1-1.txt
+2022/06/16 | 14421 | macros/latex/base/lppl-1-2.txt
+2022/06/16 | 132382 | macros/latex/base/lppl.pdf
+2022/06/16 | 23386 | macros/latex/base/lppl.tex
+2022/06/16 | 19040 | macros/latex/base/lppl.txt
+2022/06/16 | 4298 | macros/latex/base/ltalloc.dtx
+2022/06/16 | 17389 | macros/latex/base/ltbibl.dtx
+2022/06/16 | 44772 | macros/latex/base/ltboxes.dtx
+2022/06/16 | 142877 | macros/latex/base/ltclass.dtx
+2022/06/16 | 172373 | macros/latex/base/ltcmd.dtx
+2022/06/16 | 720249 | macros/latex/base/ltcmdhooks-code.pdf
+2022/06/16 | 103 | macros/latex/base/ltcmdhooks-code.tex
+2022/06/16 | 479100 | macros/latex/base/ltcmdhooks-doc.pdf
+2022/06/16 | 238 | macros/latex/base/ltcmdhooks-doc.tex
+2022/06/16 | 53025 | macros/latex/base/ltcmdhooks.dtx
+2022/06/16 | 9557 | macros/latex/base/ltcntrl.dtx
+2022/06/16 | 24286 | macros/latex/base/ltcounts.dtx
+2022/06/16 | 85858 | macros/latex/base/ltdefns.dtx
+2022/06/16 | 35984 | macros/latex/base/ltdirchk.dtx
+2022/06/16 | 27069 | macros/latex/base/lterror.dtx
+2022/06/16 | 18711 | macros/latex/base/ltexpl.dtx
+2022/06/16 | 803034 | macros/latex/base/ltfilehook-code.pdf
+2022/06/16 | 105 | macros/latex/base/ltfilehook-code.tex
+2022/06/16 | 548731 | macros/latex/base/ltfilehook-doc.pdf
+2022/06/16 | 241 | macros/latex/base/ltfilehook-doc.tex
+2022/06/16 | 66541 | macros/latex/base/ltfilehook.dtx
+2022/06/16 | 58933 | macros/latex/base/ltfiles.dtx
+2022/06/16 | 48230 | macros/latex/base/ltfinal.dtx
+2022/06/16 | 55687 | macros/latex/base/ltfloat.dtx
+2022/06/16 | 29267 | macros/latex/base/ltfntcmd.dtx
+2022/06/16 | 58551 | macros/latex/base/ltfssaxes.dtx
+2022/06/16 | 80881 | macros/latex/base/ltfssbas.dtx
+2022/06/16 | 10370 | macros/latex/base/ltfsscmp.dtx
+2022/06/16 | 70645 | macros/latex/base/ltfssdcl.dtx
+2022/06/16 | 84215 | macros/latex/base/ltfssini.dtx
+2022/06/16 | 72475 | macros/latex/base/ltfsstrc.dtx
+2022/06/16 | 1096874 | macros/latex/base/lthooks-code.pdf
+2022/06/16 | 102 | macros/latex/base/lthooks-code.tex
+2022/06/16 | 703775 | macros/latex/base/lthooks-doc.pdf
+2022/06/16 | 238 | macros/latex/base/lthooks-doc.tex
+2022/06/16 | 211770 | macros/latex/base/lthooks.dtx
+2022/06/16 | 4945 | macros/latex/base/lthyphen.dtx
+2022/06/16 | 5859 | macros/latex/base/ltidxglo.dtx
+2022/06/16 | 17909 | macros/latex/base/ltkeys.dtx
+2022/06/16 | 4757 | macros/latex/base/ltlength.dtx
+2022/06/16 | 36152 | macros/latex/base/ltlists.dtx
+2022/06/16 | 3725 | macros/latex/base/ltlogos.dtx
+2022/06/16 | 65782 | macros/latex/base/ltluatex.dtx
+2022/06/16 | 317700 | macros/latex/base/ltluatex.pdf
+2022/06/16 | 715660 | macros/latex/base/ltmarks-code.pdf
+2022/06/16 | 102 | macros/latex/base/ltmarks-code.tex
+2022/06/16 | 587106 | macros/latex/base/ltmarks-doc.pdf
+2022/06/16 | 238 | macros/latex/base/ltmarks-doc.tex
+2022/06/16 | 63132 | macros/latex/base/ltmarks.dtx
+2022/06/16 | 40234 | macros/latex/base/ltmath.dtx
+2022/06/16 | 6213 | macros/latex/base/ltmeta.dtx
+2022/06/16 | 58745 | macros/latex/base/ltmiscen.dtx
+2022/06/16 | 161518 | macros/latex/base/ltnews01.pdf
+2022/06/16 | 5246 | macros/latex/base/ltnews01.tex
+2022/06/16 | 159792 | macros/latex/base/ltnews02.pdf
+2022/06/16 | 5462 | macros/latex/base/ltnews02.tex
+2022/06/16 | 159332 | macros/latex/base/ltnews03.pdf
+2022/06/16 | 5369 | macros/latex/base/ltnews03.tex
+2022/06/16 | 152525 | macros/latex/base/ltnews04.pdf
+2022/06/16 | 5678 | macros/latex/base/ltnews04.tex
+2022/06/16 | 174494 | macros/latex/base/ltnews05.pdf
+2022/06/16 | 5699 | macros/latex/base/ltnews05.tex
+2022/06/16 | 142849 | macros/latex/base/ltnews06.pdf
+2022/06/16 | 5544 | macros/latex/base/ltnews06.tex
+2022/06/16 | 137811 | macros/latex/base/ltnews07.pdf
+2022/06/16 | 5576 | macros/latex/base/ltnews07.tex
+2022/06/16 | 155053 | macros/latex/base/ltnews08.pdf
+2022/06/16 | 5732 | macros/latex/base/ltnews08.tex
+2022/06/16 | 129570 | macros/latex/base/ltnews09.pdf
+2022/06/16 | 5451 | macros/latex/base/ltnews09.tex
+2022/06/16 | 169416 | macros/latex/base/ltnews10.pdf
+2022/06/16 | 5825 | macros/latex/base/ltnews10.tex
+2022/06/16 | 111948 | macros/latex/base/ltnews11.pdf
+2022/06/16 | 5529 | macros/latex/base/ltnews11.tex
+2022/06/16 | 156551 | macros/latex/base/ltnews12.pdf
+2022/06/16 | 5574 | macros/latex/base/ltnews12.tex
+2022/06/16 | 182225 | macros/latex/base/ltnews13.pdf
+2022/06/16 | 7029 | macros/latex/base/ltnews13.tex
+2022/06/16 | 170473 | macros/latex/base/ltnews14.pdf
+2022/06/16 | 6424 | macros/latex/base/ltnews14.tex
+2022/06/16 | 130309 | macros/latex/base/ltnews15.pdf
+2022/06/16 | 5986 | macros/latex/base/ltnews15.tex
+2022/06/16 | 138073 | macros/latex/base/ltnews16.pdf
+2022/06/16 | 5775 | macros/latex/base/ltnews16.tex
+2022/06/16 | 166228 | macros/latex/base/ltnews17.pdf
+2022/06/16 | 8970 | macros/latex/base/ltnews17.tex
+2022/06/16 | 38033 | macros/latex/base/ltnews18.pdf
+2022/06/16 | 1341 | macros/latex/base/ltnews18.tex
+2022/06/16 | 230028 | macros/latex/base/ltnews19.pdf
+2022/06/16 | 4170 | macros/latex/base/ltnews19.tex
+2022/06/16 | 318548 | macros/latex/base/ltnews20.pdf
+2022/06/16 | 7221 | macros/latex/base/ltnews20.tex
+2022/06/16 | 244867 | macros/latex/base/ltnews21.pdf
+2022/06/16 | 9926 | macros/latex/base/ltnews21.tex
+2022/06/16 | 317773 | macros/latex/base/ltnews22.pdf
+2022/06/16 | 10792 | macros/latex/base/ltnews22.tex
+2022/06/16 | 286591 | macros/latex/base/ltnews23.pdf
+2022/06/16 | 10791 | macros/latex/base/ltnews23.tex
+2022/06/16 | 265279 | macros/latex/base/ltnews24.pdf
+2022/06/16 | 12334 | macros/latex/base/ltnews24.tex
+2022/06/16 | 204935 | macros/latex/base/ltnews25.pdf
+2022/06/16 | 5588 | macros/latex/base/ltnews25.tex
+2022/06/16 | 379462 | macros/latex/base/ltnews26.pdf
+2022/06/16 | 10798 | macros/latex/base/ltnews26.tex
+2022/06/16 | 250592 | macros/latex/base/ltnews27.pdf
+2022/06/16 | 5671 | macros/latex/base/ltnews27.tex
+2022/06/16 | 376643 | macros/latex/base/ltnews28.pdf
+2022/06/16 | 15047 | macros/latex/base/ltnews28.tex
+2022/06/16 | 455107 | macros/latex/base/ltnews29.pdf
+2022/06/16 | 18944 | macros/latex/base/ltnews29.tex
+2022/06/16 | 511909 | macros/latex/base/ltnews30.pdf
+2022/06/16 | 23637 | macros/latex/base/ltnews30.tex
+2022/06/16 | 526323 | macros/latex/base/ltnews31.pdf
+2022/06/16 | 30428 | macros/latex/base/ltnews31.tex
+2022/06/16 | 546160 | macros/latex/base/ltnews32.pdf
+2022/06/16 | 33239 | macros/latex/base/ltnews32.tex
+2022/06/16 | 522412 | macros/latex/base/ltnews33.pdf
+2022/06/16 | 33907 | macros/latex/base/ltnews33.tex
+2022/06/16 | 508044 | macros/latex/base/ltnews34.pdf
+2022/06/16 | 32307 | macros/latex/base/ltnews34.tex
+2022/06/16 | 563513 | macros/latex/base/ltnews35.pdf
+2022/06/16 | 38946 | macros/latex/base/ltnews35.tex
+2022/06/16 | 20469 | macros/latex/base/ltnews.cls
+2022/06/16 | 1180993 | macros/latex/base/ltnews.pdf
+2022/06/16 | 8368 | macros/latex/base/ltnews.tex
+2022/06/16 | 148294 | macros/latex/base/ltoutenc.dtx
+2022/06/16 | 3367 | macros/latex/base/ltoutenc.ins
+2022/06/16 | 178421 | macros/latex/base/ltoutput.dtx
+2022/06/16 | 14091 | macros/latex/base/ltpage.dtx
+2022/06/16 | 2728 | macros/latex/base/ltpageno.dtx
+2022/06/16 | 667130 | macros/latex/base/ltpara-code.pdf
+2022/06/16 | 99 | macros/latex/base/ltpara-code.tex
+2022/06/16 | 560603 | macros/latex/base/ltpara-doc.pdf
+2022/06/16 | 234 | macros/latex/base/ltpara-doc.tex
+2022/06/16 | 51606 | macros/latex/base/ltpara.dtx
+2022/06/16 | 6155 | macros/latex/base/ltpar.dtx
+2022/06/16 | 69002 | macros/latex/base/ltpictur.dtx
+2022/06/16 | 59499 | macros/latex/base/ltplain.dtx
+2022/06/16 | 33946 | macros/latex/base/ltsect.dtx
+2022/06/16 | 820873 | macros/latex/base/ltshipout-code.pdf
+2022/06/16 | 104 | macros/latex/base/ltshipout-code.tex
+2022/06/16 | 565171 | macros/latex/base/ltshipout-doc.pdf
+2022/06/16 | 240 | macros/latex/base/ltshipout-doc.tex
+2022/06/16 | 80053 | macros/latex/base/ltshipout.dtx
+2022/06/16 | 45240 | macros/latex/base/ltspace.dtx
+2022/06/16 | 47896 | macros/latex/base/lttab.dtx
+2022/06/16 | 90370 | macros/latex/base/lttextcomp.dtx
+2022/06/16 | 8731 | macros/latex/base/ltthm.dtx
+2022/06/16 | 14748 | macros/latex/base/ltvers.dtx
+2022/06/16 | 219349 | macros/latex/base/ltx3info.pdf
+2022/06/16 | 18299 | macros/latex/base/ltx3info.tex
+2022/06/16 | 27122 | macros/latex/base/ltxcheck.tex
+2022/06/16 | 22245 | macros/latex/base/ltxdoc.dtx
+2022/06/16 | 243273 | macros/latex/base/ltxdoc.pdf
+2022/06/16 | 7524 | macros/latex/base/ltxguide.cls
+2022/06/16 | 18363 | macros/latex/base/ltxref.dtx
+2022/06/16 | 10601 | macros/latex/base/makeindx.dtx
+2022/06/16 | 3434 | macros/latex/base/makeindx.ins
+2022/06/16 | 165821 | macros/latex/base/makeindx.pdf
+2022/06/16 | 11103 | macros/latex/base/manifest.txt
+2022/06/16 | 1937 | macros/latex/base/minimal.cls
+2022/06/16 | 243605 | macros/latex/base/modguide.pdf
+2022/06/16 | 16233 | macros/latex/base/modguide.tex
+2022/06/16 | 4254 | macros/latex/base/newdc.ins
+2022/06/16 | 6357 | macros/latex/base/newlfont.dtx
+2022/06/16 | 18399 | macros/latex/base/nfssfont.dtx
+2022/06/16 | 2893 | macros/latex/base/nfssfont.ins
+2022/06/16 | 211180 | macros/latex/base/nfssfont.pdf
+2022/06/16 | 3960 | macros/latex/base/olddc.ins
+2022/06/16 | 8626 | macros/latex/base/oldlfont.dtx
+2022/06/16 | 9345 | macros/latex/base/preload.dtx
+2022/06/16 | 13589 | macros/latex/base/proc.dtx
+2022/06/16 | 3401 | macros/latex/base/proc.ins
+2022/06/16 | 227059 | macros/latex/base/proc.pdf
+2022/06/16 | 3477 | macros/latex/base/README.md
+2022/06/16 | 7200 | macros/latex/base/sample2e.tex
+2022/06/16 | 89727 | macros/latex/base/slides.dtx
+2022/06/16 | 6760 | macros/latex/base/slides.ins
+2022/06/16 | 375518 | macros/latex/base/slides.pdf
+2022/06/16 | 15699 | macros/latex/base/slifonts.fdd
+2022/06/16 | 234191 | macros/latex/base/slifonts.pdf
+2022/06/16 | 1694 | macros/latex/base/small2e.tex
+2022/06/16 | 9401 | macros/latex/base/source2edoc.cls
+2022/06/16 | 5761626 | macros/latex/base/source2e.pdf
+2022/06/16 | 15306 | macros/latex/base/source2e.tex
+2022/06/16 | 9395 | macros/latex/base/syntonly.dtx
+2022/06/16 | 2896 | macros/latex/base/syntonly.ins
+2022/06/16 | 189789 | macros/latex/base/syntonly.pdf
+2022/06/16 | 12520 | macros/latex/base/testpage.tex
+2022/06/16 | 172867 | macros/latex/base/tlc2.err
+2022/06/16 | 290615 | macros/latex/base/tlc2.pdf
+2022/06/16 | 12242 | macros/latex/base/tulm.fdd
+2022/06/16 | 3781 | macros/latex/base/tulm.ins
+2022/06/16 | 162772 | macros/latex/base/tulm.pdf
+2022/06/16 | 3181 | macros/latex/base/unpack.ins
+2022/06/16 | 403394 | macros/latex/base/usrguide3.pdf
+2022/06/16 | 44166 | macros/latex/base/usrguide3.tex
+2022/06/16 | 430994 | macros/latex/base/usrguide.pdf
+2022/06/16 | 68435 | macros/latex/base/usrguide.tex
+2022/06/16 | 92280 | macros/latex/base/utf8ienc.dtx
+2022/06/16 | 353405 | macros/latex/base/utf8ienc.pdf
+2022/06/16 | 10251 | macros/latex/base/webcomp.err
+2022/06/16 | 146198 | macros/latex/base/webcomp.pdf
+2022/06/16 | 37758650 | macros/latex/base.zip
2005/04/09 | 16501 | macros/latex/contrib/12many/12many.dtx
2005/04/09 | 1219 | macros/latex/contrib/12many/12many.ins
2005/04/09 | 393999 | macros/latex/contrib/12many/12many.pdf
@@ -211487,15 +211486,15 @@
2016/05/11 | 3227 | macros/latex/contrib/coloring/coloring.sty
2016/05/11 | 452 | macros/latex/contrib/coloring/README
2016/05/11 | 27406 | macros/latex/contrib/coloring.zip
-2022/04/25 | 6470 | macros/latex/contrib/colorist/colorart.cls
-2022/04/25 | 6467 | macros/latex/contrib/colorist/colorbook.cls
-2022/04/25 | 102695 | macros/latex/contrib/colorist/colorist-doc.pdf
-2022/04/25 | 24343 | macros/latex/contrib/colorist/colorist-doc.tex
-2022/04/25 | 36696 | macros/latex/contrib/colorist/colorist-fancy.sty
-2022/04/25 | 4009 | macros/latex/contrib/colorist/colorist.sty
-2022/04/25 | 19106 | macros/latex/contrib/colorist/LICENSE
-2022/04/25 | 2422 | macros/latex/contrib/colorist/README.md
-2022/04/25 | 126569 | macros/latex/contrib/colorist.zip
+2022/06/16 | 6529 | macros/latex/contrib/colorist/colorart.cls
+2022/06/16 | 6526 | macros/latex/contrib/colorist/colorbook.cls
+2022/06/16 | 102866 | macros/latex/contrib/colorist/colorist-doc.pdf
+2022/06/16 | 24322 | macros/latex/contrib/colorist/colorist-doc.tex
+2022/06/16 | 36979 | macros/latex/contrib/colorist/colorist-fancy.sty
+2022/06/16 | 4809 | macros/latex/contrib/colorist/colorist.sty
+2022/06/16 | 19106 | macros/latex/contrib/colorist/LICENSE
+2022/06/16 | 2422 | macros/latex/contrib/colorist/README.md
+2022/06/16 | 127155 | macros/latex/contrib/colorist.zip
2019/03/25 | 99243 | macros/latex/contrib/colorspace/colorspace.pdf
2016/10/04 | 15861 | macros/latex/contrib/colorspace/colorspaceshade.png
2019/03/25 | 21423 | macros/latex/contrib/colorspace/colorspace.sty
@@ -220171,10 +220170,10 @@
2020/09/16 | 96808 | macros/latex/contrib/kvmap/kvmap.pdf
2020/09/16 | 695 | macros/latex/contrib/kvmap/README.md
2020/09/16 | 102512 | macros/latex/contrib/kvmap.zip
-2020/10/09 | 95051 | macros/latex/contrib/kvoptions/kvoptions.dtx
-2020/10/09 | 480927 | macros/latex/contrib/kvoptions/kvoptions.pdf
-2020/10/09 | 341 | macros/latex/contrib/kvoptions/README.md
-2020/10/09 | 491053 | macros/latex/contrib/kvoptions.zip
+2022/06/16 | 94405 | macros/latex/contrib/kvoptions/kvoptions.dtx
+2022/06/16 | 502152 | macros/latex/contrib/kvoptions/kvoptions.pdf
+2022/06/16 | 341 | macros/latex/contrib/kvoptions/README.md
+2022/06/16 | 504316 | macros/latex/contrib/kvoptions.zip
2019/12/15 | 47237 | macros/latex/contrib/kvsetkeys/kvsetkeys.dtx
2019/12/15 | 374946 | macros/latex/contrib/kvsetkeys/kvsetkeys.pdf
2019/12/15 | 325 | macros/latex/contrib/kvsetkeys/README.md
@@ -220261,131 +220260,131 @@
2022/04/20 | 1624 | macros/latex/contrib/l3experimental/xgalley.ins
2022/04/20 | 299230 | macros/latex/contrib/l3experimental/xgalley.pdf
2022/04/20 | 4420859 | macros/latex/contrib/l3experimental.zip
-2022/06/02 | 36523 | macros/latex/contrib/l3kernel/CHANGELOG.md
-2022/06/02 | 70685 | macros/latex/contrib/l3kernel/expl3.dtx
-2022/06/02 | 622528 | macros/latex/contrib/l3kernel/expl3.pdf
-2022/06/02 | 1765952 | macros/latex/contrib/l3kernel/interface3.pdf
-2022/06/02 | 1908 | macros/latex/contrib/l3kernel/interface3.tex
-2022/06/02 | 128790 | macros/latex/contrib/l3kernel/l3basics.dtx
-2022/06/02 | 15127 | macros/latex/contrib/l3kernel/l3bootstrap.dtx
-2022/06/02 | 79792 | macros/latex/contrib/l3kernel/l3box.dtx
-2022/06/02 | 69260 | macros/latex/contrib/l3kernel/l3candidates.dtx
-2022/06/02 | 32430 | macros/latex/contrib/l3kernel/l3cctab.dtx
-2022/06/02 | 82707 | macros/latex/contrib/l3kernel/l3clist.dtx
-2022/06/02 | 87493 | macros/latex/contrib/l3kernel/l3coffins.dtx
-2022/06/02 | 107220 | macros/latex/contrib/l3kernel/l3color.dtx
-2022/06/02 | 43210 | macros/latex/contrib/l3kernel/l3debug.dtx
-2022/06/02 | 21142 | macros/latex/contrib/l3kernel/l3deprecation.dtx
-2022/06/02 | 156373 | macros/latex/contrib/l3kernel/l3doc.dtx
-2022/06/02 | 554483 | macros/latex/contrib/l3kernel/l3doc.pdf
-2022/06/02 | 2390 | macros/latex/contrib/l3kernel/l3docstrip.dtx
-2022/06/02 | 151593 | macros/latex/contrib/l3kernel/l3docstrip.pdf
-2022/06/02 | 106428 | macros/latex/contrib/l3kernel/l3expan.dtx
-2022/06/02 | 136306 | macros/latex/contrib/l3kernel/l3file.dtx
-2022/06/02 | 9436 | macros/latex/contrib/l3kernel/l3flag.dtx
-2022/06/02 | 11781 | macros/latex/contrib/l3kernel/l3fparray.dtx
-2022/06/02 | 7454 | macros/latex/contrib/l3kernel/l3fp-assign.dtx
-2022/06/02 | 47217 | macros/latex/contrib/l3kernel/l3fp-aux.dtx
-2022/06/02 | 84785 | macros/latex/contrib/l3kernel/l3fp-basics.dtx
-2022/06/02 | 19641 | macros/latex/contrib/l3kernel/l3fp-convert.dtx
-2022/06/02 | 70578 | macros/latex/contrib/l3kernel/l3fp.dtx
-2022/06/02 | 49311 | macros/latex/contrib/l3kernel/l3fp-expo.dtx
-2022/06/02 | 51059 | macros/latex/contrib/l3kernel/l3fp-extended.dtx
-2022/06/02 | 23011 | macros/latex/contrib/l3kernel/l3fp-logic.dtx
-2022/06/02 | 105029 | macros/latex/contrib/l3kernel/l3fp-parse.dtx
-2022/06/02 | 25650 | macros/latex/contrib/l3kernel/l3fp-random.dtx
-2022/06/02 | 18531 | macros/latex/contrib/l3kernel/l3fp-round.dtx
-2022/06/02 | 12783 | macros/latex/contrib/l3kernel/l3fp-traps.dtx
-2022/06/02 | 73835 | macros/latex/contrib/l3kernel/l3fp-trig.dtx
-2022/06/02 | 6182 | macros/latex/contrib/l3kernel/l3.ins
-2022/06/02 | 34166 | macros/latex/contrib/l3kernel/l3intarray.dtx
-2022/06/02 | 90018 | macros/latex/contrib/l3kernel/l3int.dtx
-2022/06/02 | 24673 | macros/latex/contrib/l3kernel/l3kernel-functions.dtx
-2022/06/02 | 127089 | macros/latex/contrib/l3kernel/l3keys.dtx
-2022/06/02 | 4538 | macros/latex/contrib/l3kernel/l3legacy.dtx
-2022/06/02 | 23867 | macros/latex/contrib/l3kernel/l3luatex.dtx
-2022/06/02 | 74225 | macros/latex/contrib/l3kernel/l3msg.dtx
-2022/06/02 | 80495 | macros/latex/contrib/l3kernel/l3names.dtx
-2022/06/02 | 122710 | macros/latex/contrib/l3kernel/l3news01.pdf
-2022/06/02 | 4937 | macros/latex/contrib/l3kernel/l3news01.tex
-2022/06/02 | 150676 | macros/latex/contrib/l3kernel/l3news02.pdf
-2022/06/02 | 6677 | macros/latex/contrib/l3kernel/l3news02.tex
-2022/06/02 | 148702 | macros/latex/contrib/l3kernel/l3news03.pdf
-2022/06/02 | 6482 | macros/latex/contrib/l3kernel/l3news03.tex
-2022/06/02 | 114588 | macros/latex/contrib/l3kernel/l3news04.pdf
-2022/06/02 | 5429 | macros/latex/contrib/l3kernel/l3news04.tex
-2022/06/02 | 112487 | macros/latex/contrib/l3kernel/l3news05.pdf
-2022/06/02 | 4716 | macros/latex/contrib/l3kernel/l3news05.tex
-2022/06/02 | 151573 | macros/latex/contrib/l3kernel/l3news06.pdf
-2022/06/02 | 6433 | macros/latex/contrib/l3kernel/l3news06.tex
-2022/06/02 | 128309 | macros/latex/contrib/l3kernel/l3news07.pdf
-2022/06/02 | 4977 | macros/latex/contrib/l3kernel/l3news07.tex
-2022/06/02 | 163454 | macros/latex/contrib/l3kernel/l3news08.pdf
-2022/06/02 | 9465 | macros/latex/contrib/l3kernel/l3news08.tex
-2022/06/02 | 250139 | macros/latex/contrib/l3kernel/l3news09.pdf
-2022/06/02 | 107383 | macros/latex/contrib/l3kernel/l3news09.tex
-2022/06/02 | 150279 | macros/latex/contrib/l3kernel/l3news10.pdf
-2022/06/02 | 9999 | macros/latex/contrib/l3kernel/l3news10.tex
-2022/06/02 | 170063 | macros/latex/contrib/l3kernel/l3news11.pdf
-2022/06/02 | 8481 | macros/latex/contrib/l3kernel/l3news11.tex
-2022/06/02 | 204990 | macros/latex/contrib/l3kernel/l3news12.pdf
-2022/06/02 | 14913 | macros/latex/contrib/l3kernel/l3news12.tex
-2022/06/02 | 395879 | macros/latex/contrib/l3kernel/l3news.pdf
-2022/06/02 | 4890 | macros/latex/contrib/l3kernel/l3news.tex
-2022/06/02 | 14882 | macros/latex/contrib/l3kernel/l3pdf.dtx
-2022/06/02 | 44066 | macros/latex/contrib/l3kernel/l3prefixes.csv
-2022/06/02 | 81486 | macros/latex/contrib/l3kernel/l3prefixes.pdf
-2022/06/02 | 2821 | macros/latex/contrib/l3kernel/l3prefixes.tex
-2022/06/02 | 66196 | macros/latex/contrib/l3kernel/l3prg.dtx
-2022/06/02 | 57887 | macros/latex/contrib/l3kernel/l3prop.dtx
-2022/06/02 | 35621 | macros/latex/contrib/l3kernel/l3quark.dtx
-2022/06/02 | 303561 | macros/latex/contrib/l3kernel/l3regex.dtx
-2022/06/02 | 90470 | macros/latex/contrib/l3kernel/l3seq.dtx
-2022/06/02 | 76279 | macros/latex/contrib/l3kernel/l3skip.dtx
-2022/06/02 | 40705 | macros/latex/contrib/l3kernel/l3sort.dtx
-2022/06/02 | 113422 | macros/latex/contrib/l3kernel/l3str-convert.dtx
-2022/06/02 | 78237 | macros/latex/contrib/l3kernel/l3str.dtx
-2022/06/02 | 296003 | macros/latex/contrib/l3kernel/l3styleguide.pdf
-2022/06/02 | 11884 | macros/latex/contrib/l3kernel/l3styleguide.tex
-2022/06/02 | 242672 | macros/latex/contrib/l3kernel/l3syntax-changes.pdf
-2022/06/02 | 6267 | macros/latex/contrib/l3kernel/l3syntax-changes.tex
-2022/06/02 | 33116 | macros/latex/contrib/l3kernel/l3sys.dtx
-2022/06/02 | 231062 | macros/latex/contrib/l3kernel/l3term-glossary.pdf
-2022/06/02 | 6450 | macros/latex/contrib/l3kernel/l3term-glossary.tex
-2022/06/02 | 75983 | macros/latex/contrib/l3kernel/l3text-case.dtx
-2022/06/02 | 40022 | macros/latex/contrib/l3kernel/l3text.dtx
-2022/06/02 | 21643 | macros/latex/contrib/l3kernel/l3text-purify.dtx
-2022/06/02 | 57181 | macros/latex/contrib/l3kernel/l3tl-analysis.dtx
-2022/06/02 | 144661 | macros/latex/contrib/l3kernel/l3tl.dtx
-2022/06/02 | 124233 | macros/latex/contrib/l3kernel/l3token.dtx
-2022/06/02 | 8495 | macros/latex/contrib/l3kernel/l3unicode.dtx
-2022/06/02 | 3929 | macros/latex/contrib/l3kernel/README.md
-2022/06/02 | 24819 | macros/latex/contrib/l3kernel/source3body.tex
-2022/06/02 | 6970768 | macros/latex/contrib/l3kernel/source3.pdf
-2022/06/02 | 2229 | macros/latex/contrib/l3kernel/source3.tex
-2022/06/02 | 13436856 | macros/latex/contrib/l3kernel.zip
-2022/06/07 | 6087 | macros/latex/contrib/l3packages/CHANGELOG.md
-2022/06/07 | 1444 | macros/latex/contrib/l3packages/l3keys2e-demo.tex
-2022/06/07 | 11761 | macros/latex/contrib/l3packages/l3keys2e.dtx
-2022/06/07 | 1228 | macros/latex/contrib/l3packages/l3keys2e.ins
-2022/06/07 | 369332 | macros/latex/contrib/l3packages/l3keys2e.pdf
-2022/06/07 | 3843 | macros/latex/contrib/l3packages/README.md
-2022/06/07 | 7374 | macros/latex/contrib/l3packages/xfp.dtx
-2022/06/07 | 1191 | macros/latex/contrib/l3packages/xfp.ins
-2022/06/07 | 332067 | macros/latex/contrib/l3packages/xfp.pdf
-2022/06/07 | 39366 | macros/latex/contrib/l3packages/xfrac.dtx
-2022/06/07 | 1306 | macros/latex/contrib/l3packages/xfrac.ins
-2022/06/07 | 484863 | macros/latex/contrib/l3packages/xfrac.pdf
-2022/06/07 | 84537 | macros/latex/contrib/l3packages/xparse-2018-04-12.sty
-2022/06/07 | 6195 | macros/latex/contrib/l3packages/xparse-2020-10-01.sty
-2022/06/07 | 55460 | macros/latex/contrib/l3packages/xparse.dtx
-2022/06/07 | 80215 | macros/latex/contrib/l3packages/xparse-generic.tex
-2022/06/07 | 1272 | macros/latex/contrib/l3packages/xparse.ins
-2022/06/07 | 534282 | macros/latex/contrib/l3packages/xparse.pdf
-2022/06/07 | 100964 | macros/latex/contrib/l3packages/xtemplate.dtx
-2022/06/07 | 1561 | macros/latex/contrib/l3packages/xtemplate.ins
-2022/06/07 | 450127 | macros/latex/contrib/l3packages/xtemplate.pdf
-2022/06/07 | 2195733 | macros/latex/contrib/l3packages.zip
+2022/06/16 | 36749 | macros/latex/contrib/l3kernel/CHANGELOG.md
+2022/06/16 | 70685 | macros/latex/contrib/l3kernel/expl3.dtx
+2022/06/16 | 622685 | macros/latex/contrib/l3kernel/expl3.pdf
+2022/06/16 | 1766489 | macros/latex/contrib/l3kernel/interface3.pdf
+2022/06/16 | 1908 | macros/latex/contrib/l3kernel/interface3.tex
+2022/06/16 | 128790 | macros/latex/contrib/l3kernel/l3basics.dtx
+2022/06/16 | 15127 | macros/latex/contrib/l3kernel/l3bootstrap.dtx
+2022/06/16 | 79792 | macros/latex/contrib/l3kernel/l3box.dtx
+2022/06/16 | 69260 | macros/latex/contrib/l3kernel/l3candidates.dtx
+2022/06/16 | 32430 | macros/latex/contrib/l3kernel/l3cctab.dtx
+2022/06/16 | 82707 | macros/latex/contrib/l3kernel/l3clist.dtx
+2022/06/16 | 87493 | macros/latex/contrib/l3kernel/l3coffins.dtx
+2022/06/16 | 107220 | macros/latex/contrib/l3kernel/l3color.dtx
+2022/06/16 | 43210 | macros/latex/contrib/l3kernel/l3debug.dtx
+2022/06/16 | 21142 | macros/latex/contrib/l3kernel/l3deprecation.dtx
+2022/06/16 | 156373 | macros/latex/contrib/l3kernel/l3doc.dtx
+2022/06/16 | 554611 | macros/latex/contrib/l3kernel/l3doc.pdf
+2022/06/16 | 2390 | macros/latex/contrib/l3kernel/l3docstrip.dtx
+2022/06/16 | 151736 | macros/latex/contrib/l3kernel/l3docstrip.pdf
+2022/06/16 | 106428 | macros/latex/contrib/l3kernel/l3expan.dtx
+2022/06/16 | 136306 | macros/latex/contrib/l3kernel/l3file.dtx
+2022/06/16 | 9436 | macros/latex/contrib/l3kernel/l3flag.dtx
+2022/06/16 | 11781 | macros/latex/contrib/l3kernel/l3fparray.dtx
+2022/06/16 | 7454 | macros/latex/contrib/l3kernel/l3fp-assign.dtx
+2022/06/16 | 47217 | macros/latex/contrib/l3kernel/l3fp-aux.dtx
+2022/06/16 | 84785 | macros/latex/contrib/l3kernel/l3fp-basics.dtx
+2022/06/16 | 19641 | macros/latex/contrib/l3kernel/l3fp-convert.dtx
+2022/06/16 | 70578 | macros/latex/contrib/l3kernel/l3fp.dtx
+2022/06/16 | 49311 | macros/latex/contrib/l3kernel/l3fp-expo.dtx
+2022/06/16 | 51059 | macros/latex/contrib/l3kernel/l3fp-extended.dtx
+2022/06/16 | 23011 | macros/latex/contrib/l3kernel/l3fp-logic.dtx
+2022/06/16 | 105029 | macros/latex/contrib/l3kernel/l3fp-parse.dtx
+2022/06/16 | 25650 | macros/latex/contrib/l3kernel/l3fp-random.dtx
+2022/06/16 | 18531 | macros/latex/contrib/l3kernel/l3fp-round.dtx
+2022/06/16 | 12783 | macros/latex/contrib/l3kernel/l3fp-traps.dtx
+2022/06/16 | 73835 | macros/latex/contrib/l3kernel/l3fp-trig.dtx
+2022/06/16 | 6182 | macros/latex/contrib/l3kernel/l3.ins
+2022/06/16 | 34166 | macros/latex/contrib/l3kernel/l3intarray.dtx
+2022/06/16 | 90018 | macros/latex/contrib/l3kernel/l3int.dtx
+2022/06/16 | 24673 | macros/latex/contrib/l3kernel/l3kernel-functions.dtx
+2022/06/16 | 127089 | macros/latex/contrib/l3kernel/l3keys.dtx
+2022/06/16 | 4538 | macros/latex/contrib/l3kernel/l3legacy.dtx
+2022/06/16 | 23867 | macros/latex/contrib/l3kernel/l3luatex.dtx
+2022/06/16 | 74225 | macros/latex/contrib/l3kernel/l3msg.dtx
+2022/06/16 | 80495 | macros/latex/contrib/l3kernel/l3names.dtx
+2022/06/16 | 122710 | macros/latex/contrib/l3kernel/l3news01.pdf
+2022/06/16 | 4937 | macros/latex/contrib/l3kernel/l3news01.tex
+2022/06/16 | 150676 | macros/latex/contrib/l3kernel/l3news02.pdf
+2022/06/16 | 6677 | macros/latex/contrib/l3kernel/l3news02.tex
+2022/06/16 | 148702 | macros/latex/contrib/l3kernel/l3news03.pdf
+2022/06/16 | 6482 | macros/latex/contrib/l3kernel/l3news03.tex
+2022/06/16 | 114588 | macros/latex/contrib/l3kernel/l3news04.pdf
+2022/06/16 | 5429 | macros/latex/contrib/l3kernel/l3news04.tex
+2022/06/16 | 112487 | macros/latex/contrib/l3kernel/l3news05.pdf
+2022/06/16 | 4716 | macros/latex/contrib/l3kernel/l3news05.tex
+2022/06/16 | 151573 | macros/latex/contrib/l3kernel/l3news06.pdf
+2022/06/16 | 6433 | macros/latex/contrib/l3kernel/l3news06.tex
+2022/06/16 | 128309 | macros/latex/contrib/l3kernel/l3news07.pdf
+2022/06/16 | 4977 | macros/latex/contrib/l3kernel/l3news07.tex
+2022/06/16 | 163454 | macros/latex/contrib/l3kernel/l3news08.pdf
+2022/06/16 | 9465 | macros/latex/contrib/l3kernel/l3news08.tex
+2022/06/16 | 250139 | macros/latex/contrib/l3kernel/l3news09.pdf
+2022/06/16 | 107383 | macros/latex/contrib/l3kernel/l3news09.tex
+2022/06/16 | 150279 | macros/latex/contrib/l3kernel/l3news10.pdf
+2022/06/16 | 9999 | macros/latex/contrib/l3kernel/l3news10.tex
+2022/06/16 | 170063 | macros/latex/contrib/l3kernel/l3news11.pdf
+2022/06/16 | 8481 | macros/latex/contrib/l3kernel/l3news11.tex
+2022/06/16 | 204990 | macros/latex/contrib/l3kernel/l3news12.pdf
+2022/06/16 | 14913 | macros/latex/contrib/l3kernel/l3news12.tex
+2022/06/16 | 395879 | macros/latex/contrib/l3kernel/l3news.pdf
+2022/06/16 | 4890 | macros/latex/contrib/l3kernel/l3news.tex
+2022/06/16 | 14882 | macros/latex/contrib/l3kernel/l3pdf.dtx
+2022/06/16 | 44066 | macros/latex/contrib/l3kernel/l3prefixes.csv
+2022/06/16 | 81486 | macros/latex/contrib/l3kernel/l3prefixes.pdf
+2022/06/16 | 2821 | macros/latex/contrib/l3kernel/l3prefixes.tex
+2022/06/16 | 66524 | macros/latex/contrib/l3kernel/l3prg.dtx
+2022/06/16 | 57887 | macros/latex/contrib/l3kernel/l3prop.dtx
+2022/06/16 | 35621 | macros/latex/contrib/l3kernel/l3quark.dtx
+2022/06/16 | 303561 | macros/latex/contrib/l3kernel/l3regex.dtx
+2022/06/16 | 90470 | macros/latex/contrib/l3kernel/l3seq.dtx
+2022/06/16 | 76279 | macros/latex/contrib/l3kernel/l3skip.dtx
+2022/06/16 | 40705 | macros/latex/contrib/l3kernel/l3sort.dtx
+2022/06/16 | 113422 | macros/latex/contrib/l3kernel/l3str-convert.dtx
+2022/06/16 | 78509 | macros/latex/contrib/l3kernel/l3str.dtx
+2022/06/16 | 296165 | macros/latex/contrib/l3kernel/l3styleguide.pdf
+2022/06/16 | 11884 | macros/latex/contrib/l3kernel/l3styleguide.tex
+2022/06/16 | 242838 | macros/latex/contrib/l3kernel/l3syntax-changes.pdf
+2022/06/16 | 6267 | macros/latex/contrib/l3kernel/l3syntax-changes.tex
+2022/06/16 | 33116 | macros/latex/contrib/l3kernel/l3sys.dtx
+2022/06/16 | 231225 | macros/latex/contrib/l3kernel/l3term-glossary.pdf
+2022/06/16 | 6450 | macros/latex/contrib/l3kernel/l3term-glossary.tex
+2022/06/16 | 75983 | macros/latex/contrib/l3kernel/l3text-case.dtx
+2022/06/16 | 40022 | macros/latex/contrib/l3kernel/l3text.dtx
+2022/06/16 | 21643 | macros/latex/contrib/l3kernel/l3text-purify.dtx
+2022/06/16 | 57245 | macros/latex/contrib/l3kernel/l3tl-analysis.dtx
+2022/06/16 | 144661 | macros/latex/contrib/l3kernel/l3tl.dtx
+2022/06/16 | 124233 | macros/latex/contrib/l3kernel/l3token.dtx
+2022/06/16 | 8495 | macros/latex/contrib/l3kernel/l3unicode.dtx
+2022/06/16 | 3929 | macros/latex/contrib/l3kernel/README.md
+2022/06/16 | 24819 | macros/latex/contrib/l3kernel/source3body.tex
+2022/06/16 | 6972719 | macros/latex/contrib/l3kernel/source3.pdf
+2022/06/16 | 2229 | macros/latex/contrib/l3kernel/source3.tex
+2022/06/16 | 13441070 | macros/latex/contrib/l3kernel.zip
+2022/06/16 | 6250 | macros/latex/contrib/l3packages/CHANGELOG.md
+2022/06/16 | 1444 | macros/latex/contrib/l3packages/l3keys2e-demo.tex
+2022/06/16 | 11935 | macros/latex/contrib/l3packages/l3keys2e.dtx
+2022/06/16 | 1228 | macros/latex/contrib/l3packages/l3keys2e.ins
+2022/06/16 | 369309 | macros/latex/contrib/l3packages/l3keys2e.pdf
+2022/06/16 | 3843 | macros/latex/contrib/l3packages/README.md
+2022/06/16 | 7374 | macros/latex/contrib/l3packages/xfp.dtx
+2022/06/16 | 1191 | macros/latex/contrib/l3packages/xfp.ins
+2022/06/16 | 332062 | macros/latex/contrib/l3packages/xfp.pdf
+2022/06/16 | 39366 | macros/latex/contrib/l3packages/xfrac.dtx
+2022/06/16 | 1306 | macros/latex/contrib/l3packages/xfrac.ins
+2022/06/16 | 484867 | macros/latex/contrib/l3packages/xfrac.pdf
+2022/06/16 | 84537 | macros/latex/contrib/l3packages/xparse-2018-04-12.sty
+2022/06/16 | 6195 | macros/latex/contrib/l3packages/xparse-2020-10-01.sty
+2022/06/16 | 55460 | macros/latex/contrib/l3packages/xparse.dtx
+2022/06/16 | 80215 | macros/latex/contrib/l3packages/xparse-generic.tex
+2022/06/16 | 1272 | macros/latex/contrib/l3packages/xparse.ins
+2022/06/16 | 534285 | macros/latex/contrib/l3packages/xparse.pdf
+2022/06/16 | 100964 | macros/latex/contrib/l3packages/xtemplate.dtx
+2022/06/16 | 1561 | macros/latex/contrib/l3packages/xtemplate.ins
+2022/06/16 | 450124 | macros/latex/contrib/l3packages/xtemplate.pdf
+2022/06/16 | 2195710 | macros/latex/contrib/l3packages.zip
2008/03/30 | 76250 | macros/latex/contrib/labbook/labboode.pdf
2003/08/06 | 81327 | macros/latex/contrib/labbook/labbook.dtx
2003/06/03 | 1041 | macros/latex/contrib/labbook/labbook.el
@@ -221412,6 +221411,12 @@
2019/11/29 | 325183 | macros/latex/contrib/magicnum/magicnum.pdf
2019/11/29 | 116 | macros/latex/contrib/magicnum/README.md
2019/11/29 | 329976 | macros/latex/contrib/magicnum.zip
+2022/06/15 | 17340 | macros/latex/contrib/magicwatermark/magicwatermark.dtx
+2022/06/16 | 83023 | macros/latex/contrib/magicwatermark/magicwatermark-en.pdf
+2022/06/16 | 7570 | macros/latex/contrib/magicwatermark/magicwatermark-en.tex
+2022/06/15 | 137623 | macros/latex/contrib/magicwatermark/magicwatermark.pdf
+2022/06/15 | 400 | macros/latex/contrib/magicwatermark/README.md
+2022/06/16 | 221995 | macros/latex/contrib/magicwatermark.zip
2004/02/20 | 8551 | macros/latex/contrib/mailing/mailing.dtx
2004/04/15 | 2875 | macros/latex/contrib/mailing/mailing.ins
2004/04/15 | 66516 | macros/latex/contrib/mailing/mailing.pdf
@@ -222220,16 +222225,16 @@
2017/04/11 | 187597 | macros/latex/contrib/minidocument/minidocument.pdf
2017/04/11 | 698 | macros/latex/contrib/minidocument/README
2017/04/11 | 190869 | macros/latex/contrib/minidocument.zip
-2022/04/25 | 19106 | macros/latex/contrib/minimalist/LICENSE
-2022/04/25 | 36895 | macros/latex/contrib/minimalist/minimalist-classical.sty
-2022/04/25 | 104110 | macros/latex/contrib/minimalist/minimalist-doc.pdf
-2022/04/25 | 24686 | macros/latex/contrib/minimalist/minimalist-doc.tex
-2022/04/25 | 34717 | macros/latex/contrib/minimalist/minimalist-plain.sty
-2022/04/25 | 4893 | macros/latex/contrib/minimalist/minimalist.sty
-2022/04/25 | 7228 | macros/latex/contrib/minimalist/minimart.cls
-2022/04/25 | 7225 | macros/latex/contrib/minimalist/minimbook.cls
-2022/04/25 | 2537 | macros/latex/contrib/minimalist/README.md
-2022/04/25 | 133416 | macros/latex/contrib/minimalist.zip
+2022/06/16 | 19106 | macros/latex/contrib/minimalist/LICENSE
+2022/06/16 | 37048 | macros/latex/contrib/minimalist/minimalist-classical.sty
+2022/06/16 | 104902 | macros/latex/contrib/minimalist/minimalist-doc.pdf
+2022/06/16 | 24686 | macros/latex/contrib/minimalist/minimalist-doc.tex
+2022/06/16 | 34856 | macros/latex/contrib/minimalist/minimalist-plain.sty
+2022/06/16 | 5713 | macros/latex/contrib/minimalist/minimalist.sty
+2022/06/16 | 7287 | macros/latex/contrib/minimalist/minimart.cls
+2022/06/16 | 7284 | macros/latex/contrib/minimalist/minimbook.cls
+2022/06/16 | 2537 | macros/latex/contrib/minimalist/README.md
+2022/06/16 | 135123 | macros/latex/contrib/minimalist.zip
2008/04/07 | 14406 | macros/latex/contrib/minipage-marginpar/minipage-marginpar.dtx
2008/04/07 | 2167 | macros/latex/contrib/minipage-marginpar/minipage-marginpar.ins
2008/04/07 | 197917 | macros/latex/contrib/minipage-marginpar/minipage-marginpar.pdf
@@ -234026,12 +234031,12 @@
2020/10/10 | 651 | macros/latex/contrib/verifica/verifica-template.tex
2020/10/10 | 1252936 | macros/latex/contrib/verifica.zip
2022/02/10 | 952 | macros/latex/contrib/verifiche/README.md
-2022/05/18 | 64042 | macros/latex/contrib/verifiche/verifiche.dtx
-2022/05/18 | 191888 | macros/latex/contrib/verifiche/verifiche-example.pdf
-2022/05/18 | 6457 | macros/latex/contrib/verifiche/verifiche-example.tex
+2022/06/16 | 65260 | macros/latex/contrib/verifiche/verifiche.dtx
+2022/06/16 | 192001 | macros/latex/contrib/verifiche/verifiche-example.pdf
+2022/06/16 | 6455 | macros/latex/contrib/verifiche/verifiche-example.tex
2022/02/10 | 1442 | macros/latex/contrib/verifiche/verifiche.ins
-2022/05/18 | 555223 | macros/latex/contrib/verifiche/verifiche.pdf
-2022/05/18 | 746329 | macros/latex/contrib/verifiche.zip
+2022/06/16 | 585018 | macros/latex/contrib/verifiche/verifiche.pdf
+2022/06/16 | 773843 | macros/latex/contrib/verifiche.zip
2014/05/10 | 2728 | macros/latex/contrib/verse/README
2014/05/10 | 58344 | macros/latex/contrib/verse/verse.dtx
2014/05/10 | 2591 | macros/latex/contrib/verse/verse.ins
@@ -234580,10 +234585,10 @@
2019/10/21 | 17017 | macros/latex/contrib/xkcdcolors/xkcdcolors-manual.tex
2019/10/21 | 22993 | macros/latex/contrib/xkcdcolors/xkcdcolors.sty
2019/10/21 | 227728 | macros/latex/contrib/xkcdcolors.zip
-2020/11/20 | 3577 | macros/latex/contrib/xkeyval/README
-2020/11/20 | 217711 | macros/latex/contrib/xkeyval/xkeyval.dtx
-2020/11/20 | 492216 | macros/latex/contrib/xkeyval/xkeyval.pdf
-2020/11/20 | 446665 | macros/latex/contrib/xkeyval.zip
+2022/06/16 | 3664 | macros/latex/contrib/xkeyval/README
+2022/06/16 | 217892 | macros/latex/contrib/xkeyval/xkeyval.dtx
+2022/06/16 | 810100 | macros/latex/contrib/xkeyval/xkeyval.pdf
+2022/06/16 | 504631 | macros/latex/contrib/xkeyval.zip
2020/11/04 | 537 | macros/latex/contrib/xltabular/Changes
2018/05/23 | 379 | macros/latex/contrib/xltabular/README.md
2017/10/23 | 657 | macros/latex/contrib/xltabular/xltabular-doc.bib
@@ -235809,27 +235814,27 @@
2022/06/06 | 822759 | macros/latex/required/babel/base/locale.zip
2022/06/06 | 2108 | macros/latex/required/babel/base/README.md
2022/06/06 | 1902972 | macros/latex/required/babel/base.zip
-2018/04/06 | 5462 | macros/latex/required/cyrillic/changes.txt
-2018/04/06 | 57716 | macros/latex/required/cyrillic/cyinpenc.dtx
-2018/04/06 | 206017 | macros/latex/required/cyrillic/cyinpenc.pdf
-2018/04/06 | 24855 | macros/latex/required/cyrillic/cyoutenc.dtx
-2018/04/06 | 148216 | macros/latex/required/cyrillic/cyoutenc.pdf
-2018/04/06 | 10598 | macros/latex/required/cyrillic/cyrlatex.ins
-2018/04/06 | 10389 | macros/latex/required/cyrillic/lcycmlh.fdd
-2018/04/06 | 125811 | macros/latex/required/cyrillic/lcycmlh.pdf
-2018/04/06 | 12953 | macros/latex/required/cyrillic/lcy.dtx
-2018/04/06 | 198415 | macros/latex/required/cyrillic/lcy.pdf
-2018/04/06 | 951 | macros/latex/required/cyrillic/manifest.txt
-2018/04/06 | 4378 | macros/latex/required/cyrillic/ot2cmams.fdd
-2018/04/06 | 99095 | macros/latex/required/cyrillic/ot2cmams.pdf
-2018/04/06 | 10552 | macros/latex/required/cyrillic/ot2cmlh.fdd
-2018/04/06 | 129052 | macros/latex/required/cyrillic/ot2cmlh.pdf
-2018/04/06 | 7818 | macros/latex/required/cyrillic/ot2.dtx
-2018/04/06 | 112390 | macros/latex/required/cyrillic/ot2.pdf
-2018/04/06 | 2132 | macros/latex/required/cyrillic/README.md
-2018/04/06 | 27640 | macros/latex/required/cyrillic/t2lhfnt.fdd
-2018/04/06 | 135567 | macros/latex/required/cyrillic/t2lhfnt.pdf
-2018/04/06 | 1179110 | macros/latex/required/cyrillic.zip
+2022/06/16 | 5612 | macros/latex/required/cyrillic/changes.txt
+2022/06/16 | 57710 | macros/latex/required/cyrillic/cyinpenc.dtx
+2022/06/16 | 215413 | macros/latex/required/cyrillic/cyinpenc.pdf
+2022/06/16 | 24906 | macros/latex/required/cyrillic/cyoutenc.dtx
+2022/06/16 | 157765 | macros/latex/required/cyrillic/cyoutenc.pdf
+2022/06/16 | 10569 | macros/latex/required/cyrillic/cyrlatex.ins
+2022/06/16 | 10307 | macros/latex/required/cyrillic/lcycmlh.fdd
+2022/06/16 | 127216 | macros/latex/required/cyrillic/lcycmlh.pdf
+2022/06/16 | 12968 | macros/latex/required/cyrillic/lcy.dtx
+2022/06/16 | 209026 | macros/latex/required/cyrillic/lcy.pdf
+2022/06/16 | 951 | macros/latex/required/cyrillic/manifest.txt
+2022/06/16 | 4296 | macros/latex/required/cyrillic/ot2cmams.fdd
+2022/06/16 | 99754 | macros/latex/required/cyrillic/ot2cmams.pdf
+2022/06/16 | 10470 | macros/latex/required/cyrillic/ot2cmlh.fdd
+2022/06/16 | 130462 | macros/latex/required/cyrillic/ot2cmlh.pdf
+2022/06/16 | 7831 | macros/latex/required/cyrillic/ot2.dtx
+2022/06/16 | 113862 | macros/latex/required/cyrillic/ot2.pdf
+2022/06/16 | 1642 | macros/latex/required/cyrillic/README.md
+2022/06/16 | 27558 | macros/latex/required/cyrillic/t2lhfnt.fdd
+2022/06/16 | 144082 | macros/latex/required/cyrillic/t2lhfnt.pdf
+2022/06/16 | 1207156 | macros/latex/required/cyrillic.zip
2022/06/08 | 3700 | macros/latex/required/firstaid/changes.txt
2022/06/08 | 2740 | macros/latex/required/firstaid/firstaid.ins
2022/06/08 | 21465 | macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx
@@ -236210,123 +236215,126 @@
2022/01/12 | 5611 | macros/luatex/generic/luamplib/test-luamplib-latex.tex
2022/01/12 | 3872 | macros/luatex/generic/luamplib/test-luamplib-plain.tex
2022/01/12 | 187673 | macros/luatex/generic/luamplib.zip
-2022/03/18 | 18714 | macros/luatex/generic/luaotfload/COPYING
-2022/03/18 | 40007 | macros/luatex/generic/luaotfload/filegraph.pdf
-2022/03/18 | 8597 | macros/luatex/generic/luaotfload/filegraph.tex
-2022/03/18 | 879568 | macros/luatex/generic/luaotfload/fontloader-2022-02-24.lua
-2022/03/18 | 48728 | macros/luatex/generic/luaotfload/fontloader-basics-chr.lua
-2022/03/18 | 12745 | macros/luatex/generic/luaotfload/fontloader-basics-gen.lua
-2022/03/18 | 10207 | macros/luatex/generic/luaotfload/fontloader-basics-nod.lua
-2022/03/18 | 5388 | macros/luatex/generic/luaotfload/fontloader-data-con.lua
-2022/03/18 | 6866 | macros/luatex/generic/luaotfload/fontloader-font-afk.lua
-2022/03/18 | 92210 | macros/luatex/generic/luaotfload/fontloader-font-cff.lua
-2022/03/18 | 5502 | macros/luatex/generic/luaotfload/fontloader-font-cid.lua
-2022/03/18 | 63211 | macros/luatex/generic/luaotfload/fontloader-font-con.lua
-2022/03/18 | 19944 | macros/luatex/generic/luaotfload/fontloader-font-def.lua
-2022/03/18 | 154203 | macros/luatex/generic/luaotfload/fontloader-font-dsp.lua
-2022/03/18 | 12704 | macros/luatex/generic/luaotfload/fontloader-font-imp-effects.lua
-2022/03/18 | 3693 | macros/luatex/generic/luaotfload/fontloader-font-imp-italics.lua
-2022/03/18 | 3580 | macros/luatex/generic/luaotfload/fontloader-font-imp-ligatures.lua
-2022/03/18 | 3406 | macros/luatex/generic/luaotfload/fontloader-font-imp-tex.lua
-2022/03/18 | 1794 | macros/luatex/generic/luaotfload/fontloader-font-ini.lua
-2022/03/18 | 1449 | macros/luatex/generic/luaotfload/fontloader-font-lua.lua
-2022/03/18 | 19570 | macros/luatex/generic/luaotfload/fontloader-font-map.lua
-2022/03/18 | 25264 | macros/luatex/generic/luaotfload/fontloader-font-ocl.lua
-2022/03/18 | 31349 | macros/luatex/generic/luaotfload/fontloader-font-one.lua
-2022/03/18 | 18717 | macros/luatex/generic/luaotfload/fontloader-font-onr.lua
-2022/03/18 | 118105 | macros/luatex/generic/luaotfload/fontloader-font-osd.lua
-2022/03/18 | 18411 | macros/luatex/generic/luaotfload/fontloader-font-ota.lua
-2022/03/18 | 34476 | macros/luatex/generic/luaotfload/fontloader-font-otc.lua
-2022/03/18 | 7904 | macros/luatex/generic/luaotfload/fontloader-font-oti.lua
-2022/03/18 | 65279 | macros/luatex/generic/luaotfload/fontloader-font-otj.lua
-2022/03/18 | 33960 | macros/luatex/generic/luaotfload/fontloader-font-otl.lua
-2022/03/18 | 23238 | macros/luatex/generic/luaotfload/fontloader-font-oto.lua
-2022/03/18 | 94451 | macros/luatex/generic/luaotfload/fontloader-font-otr.lua
-2022/03/18 | 186209 | macros/luatex/generic/luaotfload/fontloader-font-ots.lua
-2022/03/18 | 34922 | macros/luatex/generic/luaotfload/fontloader-font-ott.lua
-2022/03/18 | 123210 | macros/luatex/generic/luaotfload/fontloader-font-oup.lua
-2022/03/18 | 3821 | macros/luatex/generic/luaotfload/fontloader-fonts-def.lua
-2022/03/18 | 2625 | macros/luatex/generic/luaotfload/fontloader-fonts-enc.lua
-2022/03/18 | 7260 | macros/luatex/generic/luaotfload/fontloader-fonts-ext.lua
-2022/03/18 | 9881 | macros/luatex/generic/luaotfload/fontloader-fonts-gbn.lua
-2022/03/18 | 13525 | macros/luatex/generic/luaotfload/fontloader-font-shp.lua
-2022/03/18 | 57342 | macros/luatex/generic/luaotfload/fontloader-fonts-lig.lua
-2022/03/18 | 912 | macros/luatex/generic/luaotfload/fontloader-fonts-mis.lua
-2022/03/18 | 3674 | macros/luatex/generic/luaotfload/fontloader-fonts-syn.lua
-2022/03/18 | 23399 | macros/luatex/generic/luaotfload/fontloader-fonts-tfm.lua
-2022/03/18 | 64282 | macros/luatex/generic/luaotfload/fontloader-font-ttf.lua
-2022/03/18 | 2667 | macros/luatex/generic/luaotfload/fontloader-font-vfc.lua
-2022/03/18 | 1850 | macros/luatex/generic/luaotfload/fontloader-l-boolean.lua
-2022/03/18 | 22186 | macros/luatex/generic/luaotfload/fontloader-l-file.lua
-2022/03/18 | 361 | macros/luatex/generic/luaotfload/fontloader-l-function.lua
-2022/03/18 | 11988 | macros/luatex/generic/luaotfload/fontloader-l-io.lua
-2022/03/18 | 38742 | macros/luatex/generic/luaotfload/fontloader-l-lpeg.lua
-2022/03/18 | 6405 | macros/luatex/generic/luaotfload/fontloader-l-lua.lua
-2022/03/18 | 2549 | macros/luatex/generic/luaotfload/fontloader-l-math.lua
-2022/03/18 | 6644 | macros/luatex/generic/luaotfload/fontloader-l-string.lua
-2022/03/18 | 41758 | macros/luatex/generic/luaotfload/fontloader-l-table.lua
-2022/03/18 | 41303 | macros/luatex/generic/luaotfload/fontloader-l-unicode.lua
-2022/03/18 | 15196 | macros/luatex/generic/luaotfload/fontloader-reference-load-order.lua
-2022/03/18 | 5885 | macros/luatex/generic/luaotfload/fontloader-reference-load-order.tex
-2022/03/18 | 981511 | macros/luatex/generic/luaotfload/fontloader-reference.lua
-2022/03/18 | 11474 | macros/luatex/generic/luaotfload/fontloader-util-fil.lua
-2022/03/18 | 46322 | macros/luatex/generic/luaotfload/fontloader-util-str.lua
-2022/03/18 | 32597 | macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua
-2022/03/18 | 52 | macros/luatex/generic/luaotfload/luaotfload-blacklist.cnf
-2022/03/18 | 6809 | macros/luatex/generic/luaotfload/luaotfload-case.lua
-2022/03/18 | 3287334 | macros/luatex/generic/luaotfload/luaotfload-characters.lua
-2022/03/18 | 15954 | macros/luatex/generic/luaotfload/luaotfload-colors.lua
-2022/03/18 | 16794 | macros/luatex/generic/luaotfload/luaotfload.conf.5
-2022/03/18 | 735 | macros/luatex/generic/luaotfload/luaotfload.conf.example
-2022/03/18 | 31223 | macros/luatex/generic/luaotfload/luaotfload-configuration.lua
-2022/03/18 | 77694 | macros/luatex/generic/luaotfload/luaotfload-conf.pdf
-2022/03/18 | 18378 | macros/luatex/generic/luaotfload/luaotfload.conf.rst
-2022/03/18 | 134114 | macros/luatex/generic/luaotfload/luaotfload-database.lua
-2022/03/18 | 21858 | macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua
-2022/03/18 | 4956 | macros/luatex/generic/luaotfload/luaotfload-dvi.lua
-2022/03/18 | 1004 | macros/luatex/generic/luaotfload/luaotfload-embolden.lua
-2022/03/18 | 4047 | macros/luatex/generic/luaotfload/luaotfload-fallback.lua
-2022/03/18 | 33149 | macros/luatex/generic/luaotfload/luaotfload-features.lua
-2022/03/18 | 25336 | macros/luatex/generic/luaotfload/luaotfload-filelist.lua
-2022/03/18 | 102502 | macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua
-2022/03/18 | 18970 | macros/luatex/generic/luaotfload/luaotfload-harf-define.lua
-2022/03/18 | 42240 | macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua
-2022/03/18 | 14279 | macros/luatex/generic/luaotfload/luaotfload-harf-var-cff2.lua
-2022/03/18 | 4050 | macros/luatex/generic/luaotfload/luaotfload-harf-var-t2-writer.lua
-2022/03/18 | 20038 | macros/luatex/generic/luaotfload/luaotfload-harf-var-ttf.lua
-2022/03/18 | 19746 | macros/luatex/generic/luaotfload/luaotfload-init.lua
-2022/03/18 | 494195 | macros/luatex/generic/luaotfload/luaotfload-latex.pdf
-2022/03/18 | 16675 | macros/luatex/generic/luaotfload/luaotfload-latex.tex
-2022/03/18 | 20268 | macros/luatex/generic/luaotfload/luaotfload-letterspace.lua
-2022/03/18 | 8840 | macros/luatex/generic/luaotfload/luaotfload-loaders.lua
-2022/03/18 | 11323 | macros/luatex/generic/luaotfload/luaotfload-log.lua
-2022/03/18 | 13565 | macros/luatex/generic/luaotfload/luaotfload.lua
-2022/03/18 | 275 | macros/luatex/generic/luaotfload/luaotfload-main.lua
-2022/03/18 | 100622 | macros/luatex/generic/luaotfload/luaotfload-main.tex
-2022/03/18 | 15068 | macros/luatex/generic/luaotfload/luaotfload-multiscript.lua
-2022/03/18 | 12224 | macros/luatex/generic/luaotfload/luaotfload-notdef.lua
-2022/03/18 | 31007 | macros/luatex/generic/luaotfload/luaotfload-parsers.lua
-2022/03/18 | 10984 | macros/luatex/generic/luaotfload/luaotfload-resolvers.lua
-2022/03/18 | 2506 | macros/luatex/generic/luaotfload/luaotfload-scripts.lua
-2022/03/18 | 6317 | macros/luatex/generic/luaotfload/luaotfload-status.lua
-2022/03/18 | 1812 | macros/luatex/generic/luaotfload/luaotfload.sty
-2022/03/18 | 2582 | macros/luatex/generic/luaotfload/luaotfload-suppress.lua
-2022/03/18 | 6309 | macros/luatex/generic/luaotfload/luaotfload-szss.lua
-2022/03/18 | 12829 | macros/luatex/generic/luaotfload/luaotfload-tool.1
-2022/03/18 | 54080 | macros/luatex/generic/luaotfload/luaotfload-tool.lua
-2022/03/18 | 76968 | macros/luatex/generic/luaotfload/luaotfload-tool.pdf
-2022/03/18 | 16116 | macros/luatex/generic/luaotfload/luaotfload-tool.rst
-2022/03/18 | 7528 | macros/luatex/generic/luaotfload/luaotfload-tounicode.lua
-2022/03/18 | 7589 | macros/luatex/generic/luaotfload/luaotfload-unicode.lua
-2022/03/18 | 21480 | macros/luatex/generic/luaotfload/NEWS
-2022/03/18 | 3784 | macros/luatex/generic/luaotfload/README.md
-2022/03/18 | 21673 | macros/luatex/generic/luaotfload/scripts-demo.pdf
-2022/03/18 | 699 | macros/luatex/generic/luaotfload/scripts-demo.tex
-2022/03/18 | 8548 | macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf
-2022/03/18 | 191 | macros/luatex/generic/luaotfload/shaper-demo-graphite.tex
-2022/03/18 | 8469 | macros/luatex/generic/luaotfload/shaper-demo.pdf
-2022/03/18 | 182 | macros/luatex/generic/luaotfload/shaper-demo.tex
-2022/03/18 | 1956919 | macros/luatex/generic/luaotfload.zip
+2022/06/15 | 18714 | macros/luatex/generic/luaotfload/COPYING
+2022/06/15 | 40019 | macros/luatex/generic/luaotfload/filegraph.pdf
+2022/06/15 | 8597 | macros/luatex/generic/luaotfload/filegraph.tex
+2022/06/15 | 882794 | macros/luatex/generic/luaotfload/fontloader-2022-06-15.lua
+2022/06/15 | 48728 | macros/luatex/generic/luaotfload/fontloader-basics-chr.lua
+2022/06/15 | 12745 | macros/luatex/generic/luaotfload/fontloader-basics-gen.lua
+2022/06/15 | 10207 | macros/luatex/generic/luaotfload/fontloader-basics-nod.lua
+2022/06/15 | 5388 | macros/luatex/generic/luaotfload/fontloader-data-con.lua
+2022/06/15 | 6866 | macros/luatex/generic/luaotfload/fontloader-font-afk.lua
+2022/06/15 | 92210 | macros/luatex/generic/luaotfload/fontloader-font-cff.lua
+2022/06/15 | 5502 | macros/luatex/generic/luaotfload/fontloader-font-cid.lua
+2022/06/15 | 63211 | macros/luatex/generic/luaotfload/fontloader-font-con.lua
+2022/06/15 | 19944 | macros/luatex/generic/luaotfload/fontloader-font-def.lua
+2022/06/15 | 154228 | macros/luatex/generic/luaotfload/fontloader-font-dsp.lua
+2022/06/15 | 12704 | macros/luatex/generic/luaotfload/fontloader-font-imp-effects.lua
+2022/06/15 | 3693 | macros/luatex/generic/luaotfload/fontloader-font-imp-italics.lua
+2022/06/15 | 3594 | macros/luatex/generic/luaotfload/fontloader-font-imp-ligatures.lua
+2022/06/15 | 3406 | macros/luatex/generic/luaotfload/fontloader-font-imp-tex.lua
+2022/06/15 | 1794 | macros/luatex/generic/luaotfload/fontloader-font-ini.lua
+2022/06/15 | 1449 | macros/luatex/generic/luaotfload/fontloader-font-lua.lua
+2022/06/15 | 19564 | macros/luatex/generic/luaotfload/fontloader-font-map.lua
+2022/06/15 | 25264 | macros/luatex/generic/luaotfload/fontloader-font-ocl.lua
+2022/06/15 | 31349 | macros/luatex/generic/luaotfload/fontloader-font-one.lua
+2022/06/15 | 18717 | macros/luatex/generic/luaotfload/fontloader-font-onr.lua
+2022/06/15 | 119949 | macros/luatex/generic/luaotfload/fontloader-font-osd.lua
+2022/06/15 | 18411 | macros/luatex/generic/luaotfload/fontloader-font-ota.lua
+2022/06/15 | 35836 | macros/luatex/generic/luaotfload/fontloader-font-otc.lua
+2022/06/15 | 7904 | macros/luatex/generic/luaotfload/fontloader-font-oti.lua
+2022/06/15 | 65279 | macros/luatex/generic/luaotfload/fontloader-font-otj.lua
+2022/06/15 | 33960 | macros/luatex/generic/luaotfload/fontloader-font-otl.lua
+2022/06/15 | 23238 | macros/luatex/generic/luaotfload/fontloader-font-oto.lua
+2022/06/15 | 94462 | macros/luatex/generic/luaotfload/fontloader-font-otr.lua
+2022/06/15 | 186209 | macros/luatex/generic/luaotfload/fontloader-font-ots.lua
+2022/06/15 | 34922 | macros/luatex/generic/luaotfload/fontloader-font-ott.lua
+2022/06/15 | 128092 | macros/luatex/generic/luaotfload/fontloader-font-oup.lua
+2022/06/15 | 3821 | macros/luatex/generic/luaotfload/fontloader-fonts-def.lua
+2022/06/15 | 2625 | macros/luatex/generic/luaotfload/fontloader-fonts-enc.lua
+2022/06/15 | 7260 | macros/luatex/generic/luaotfload/fontloader-fonts-ext.lua
+2022/06/15 | 9881 | macros/luatex/generic/luaotfload/fontloader-fonts-gbn.lua
+2022/06/15 | 13525 | macros/luatex/generic/luaotfload/fontloader-font-shp.lua
+2022/06/15 | 57342 | macros/luatex/generic/luaotfload/fontloader-fonts-lig.lua
+2022/06/15 | 912 | macros/luatex/generic/luaotfload/fontloader-fonts-mis.lua
+2022/06/15 | 3674 | macros/luatex/generic/luaotfload/fontloader-fonts-syn.lua
+2022/06/15 | 23399 | macros/luatex/generic/luaotfload/fontloader-fonts-tfm.lua
+2022/06/15 | 67011 | macros/luatex/generic/luaotfload/fontloader-font-ttf.lua
+2022/06/15 | 2667 | macros/luatex/generic/luaotfload/fontloader-font-vfc.lua
+2022/06/15 | 1850 | macros/luatex/generic/luaotfload/fontloader-l-boolean.lua
+2022/06/15 | 22186 | macros/luatex/generic/luaotfload/fontloader-l-file.lua
+2022/06/15 | 361 | macros/luatex/generic/luaotfload/fontloader-l-function.lua
+2022/06/15 | 11988 | macros/luatex/generic/luaotfload/fontloader-l-io.lua
+2022/06/15 | 38742 | macros/luatex/generic/luaotfload/fontloader-l-lpeg.lua
+2022/06/15 | 6405 | macros/luatex/generic/luaotfload/fontloader-l-lua.lua
+2022/06/15 | 2549 | macros/luatex/generic/luaotfload/fontloader-l-math.lua
+2022/06/15 | 6644 | macros/luatex/generic/luaotfload/fontloader-l-string.lua
+2022/06/15 | 41758 | macros/luatex/generic/luaotfload/fontloader-l-table.lua
+2022/06/15 | 41303 | macros/luatex/generic/luaotfload/fontloader-l-unicode.lua
+2022/06/15 | 15196 | macros/luatex/generic/luaotfload/fontloader-reference-load-order.lua
+2022/06/15 | 5885 | macros/luatex/generic/luaotfload/fontloader-reference-load-order.tex
+2022/06/15 | 984739 | macros/luatex/generic/luaotfload/fontloader-reference.lua
+2022/06/15 | 11474 | macros/luatex/generic/luaotfload/fontloader-util-fil.lua
+2022/06/15 | 46322 | macros/luatex/generic/luaotfload/fontloader-util-str.lua
+2022/06/15 | 32597 | macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua
+2022/06/15 | 3649 | macros/luatex/generic/luaotfload/luaotfload-bcp47.lua
+2022/06/15 | 52 | macros/luatex/generic/luaotfload/luaotfload-blacklist.cnf
+2022/06/15 | 15072 | macros/luatex/generic/luaotfload/luaotfload-case.lua
+2022/06/15 | 3287334 | macros/luatex/generic/luaotfload/luaotfload-characters.lua
+2022/06/15 | 18372 | macros/luatex/generic/luaotfload/luaotfload-colors.lua
+2022/06/15 | 16862 | macros/luatex/generic/luaotfload/luaotfload.conf.5
+2022/06/15 | 735 | macros/luatex/generic/luaotfload/luaotfload.conf.example
+2022/06/15 | 31223 | macros/luatex/generic/luaotfload/luaotfload-configuration.lua
+2022/06/15 | 77540 | macros/luatex/generic/luaotfload/luaotfload-conf.pdf
+2022/06/15 | 18378 | macros/luatex/generic/luaotfload/luaotfload.conf.rst
+2022/06/15 | 134172 | macros/luatex/generic/luaotfload/luaotfload-database.lua
+2022/06/15 | 21858 | macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua
+2022/06/15 | 4956 | macros/luatex/generic/luaotfload/luaotfload-dvi.lua
+2022/06/15 | 1004 | macros/luatex/generic/luaotfload/luaotfload-embolden.lua
+2022/06/15 | 4047 | macros/luatex/generic/luaotfload/luaotfload-fallback.lua
+2022/06/15 | 33478 | macros/luatex/generic/luaotfload/luaotfload-features.lua
+2022/06/15 | 25336 | macros/luatex/generic/luaotfload/luaotfload-filelist.lua
+2022/06/15 | 102502 | macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua
+2022/06/15 | 18975 | macros/luatex/generic/luaotfload/luaotfload-harf-define.lua
+2022/06/15 | 42301 | macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua
+2022/06/15 | 14285 | macros/luatex/generic/luaotfload/luaotfload-harf-var-cff2.lua
+2022/06/15 | 4050 | macros/luatex/generic/luaotfload/luaotfload-harf-var-t2-writer.lua
+2022/06/15 | 20526 | macros/luatex/generic/luaotfload/luaotfload-harf-var-ttf.lua
+2022/06/15 | 96 | macros/luatex/generic/luaotfload/luaotfload-hashing.lua
+2022/06/15 | 19746 | macros/luatex/generic/luaotfload/luaotfload-init.lua
+2022/06/15 | 495247 | macros/luatex/generic/luaotfload/luaotfload-latex.pdf
+2022/06/15 | 16214 | macros/luatex/generic/luaotfload/luaotfload-latex.tex
+2022/06/15 | 20268 | macros/luatex/generic/luaotfload/luaotfload-letterspace.lua
+2022/06/15 | 10733 | macros/luatex/generic/luaotfload/luaotfload-loaders.lua
+2022/06/15 | 11323 | macros/luatex/generic/luaotfload/luaotfload-log.lua
+2022/06/15 | 13565 | macros/luatex/generic/luaotfload/luaotfload.lua
+2022/06/15 | 275 | macros/luatex/generic/luaotfload/luaotfload-main.lua
+2022/06/15 | 106114 | macros/luatex/generic/luaotfload/luaotfload-main.tex
+2022/06/15 | 15068 | macros/luatex/generic/luaotfload/luaotfload-multiscript.lua
+2022/06/15 | 12224 | macros/luatex/generic/luaotfload/luaotfload-notdef.lua
+2022/06/15 | 30436 | macros/luatex/generic/luaotfload/luaotfload-parsers.lua
+2022/06/15 | 11209 | macros/luatex/generic/luaotfload/luaotfload-resolvers.lua
+2022/06/15 | 2506 | macros/luatex/generic/luaotfload/luaotfload-scripts.lua
+2022/06/15 | 6317 | macros/luatex/generic/luaotfload/luaotfload-status.lua
+2022/06/15 | 1812 | macros/luatex/generic/luaotfload/luaotfload.sty
+2022/06/15 | 2582 | macros/luatex/generic/luaotfload/luaotfload-suppress.lua
+2022/06/15 | 6309 | macros/luatex/generic/luaotfload/luaotfload-szss.lua
+2022/06/15 | 4930 | macros/luatex/generic/luaotfload/luaotfload-t3.lua
+2022/06/15 | 12861 | macros/luatex/generic/luaotfload/luaotfload-tool.1
+2022/06/15 | 53825 | macros/luatex/generic/luaotfload/luaotfload-tool.lua
+2022/06/15 | 76805 | macros/luatex/generic/luaotfload/luaotfload-tool.pdf
+2022/06/15 | 16116 | macros/luatex/generic/luaotfload/luaotfload-tool.rst
+2022/06/15 | 7528 | macros/luatex/generic/luaotfload/luaotfload-tounicode.lua
+2022/06/15 | 7917 | macros/luatex/generic/luaotfload/luaotfload-unicode.lua
+2022/06/15 | 21748 | macros/luatex/generic/luaotfload/NEWS
+2022/06/15 | 3784 | macros/luatex/generic/luaotfload/README.md
+2022/06/15 | 19082 | macros/luatex/generic/luaotfload/scripts-demo.pdf
+2022/06/15 | 699 | macros/luatex/generic/luaotfload/scripts-demo.tex
+2022/06/15 | 8560 | macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf
+2022/06/15 | 191 | macros/luatex/generic/luaotfload/shaper-demo-graphite.tex
+2022/06/15 | 8481 | macros/luatex/generic/luaotfload/shaper-demo.pdf
+2022/06/15 | 182 | macros/luatex/generic/luaotfload/shaper-demo.tex
+2022/06/16 | 1966302 | 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
@@ -245071,16 +245079,16 @@
2021/12/09 | 28920 | macros/unicodetex/latex/aalok/LICENSE.md
2021/12/16 | 2370 | macros/unicodetex/latex/aalok/README.txt
2022/01/02 | 188424 | macros/unicodetex/latex/aalok.zip
-2022/04/25 | 28877 | macros/unicodetex/latex/beaulivre/beaulivre.cls
-2022/04/25 | 322112 | macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
-2022/04/25 | 19024 | macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
-2022/04/25 | 209159 | macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
-2022/04/25 | 20474 | macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
-2022/04/25 | 212849 | macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf
-2022/04/25 | 22200 | macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
-2022/04/25 | 19106 | macros/unicodetex/latex/beaulivre/LICENSE
-2022/04/25 | 1458 | macros/unicodetex/latex/beaulivre/README.md
-2022/04/25 | 752315 | macros/unicodetex/latex/beaulivre.zip
+2022/06/16 | 29668 | macros/unicodetex/latex/beaulivre/beaulivre.cls
+2022/06/16 | 261227 | macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
+2022/06/16 | 18997 | macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
+2022/06/16 | 140003 | macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
+2022/06/16 | 20447 | macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
+2022/06/16 | 143192 | macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf
+2022/06/16 | 22173 | macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
+2022/06/16 | 19106 | macros/unicodetex/latex/beaulivre/LICENSE
+2022/06/16 | 1458 | macros/unicodetex/latex/beaulivre/README.md
+2022/06/16 | 553593 | macros/unicodetex/latex/beaulivre.zip
2022/02/26 | 128251 | macros/unicodetex/latex/book-of-common-prayer/book-of-common-prayer.pdf
2022/02/26 | 6771 | macros/unicodetex/latex/book-of-common-prayer/book-of-common-prayer.sty
2022/02/26 | 17327 | macros/unicodetex/latex/book-of-common-prayer/book-of-common-prayer.tex
@@ -245096,16 +245104,16 @@
2021/12/09 | 1086 | macros/unicodetex/latex/chhaya/ref.bib
2021/12/09 | 6165 | macros/unicodetex/latex/chhaya/sankshep.tex
2022/01/02 | 134099 | macros/unicodetex/latex/chhaya.zip
-2022/04/25 | 29737 | macros/unicodetex/latex/einfart/einfart.cls
-2022/04/25 | 251176 | macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
-2022/04/25 | 21225 | macros/unicodetex/latex/einfart/einfart-doc-cn.tex
-2022/04/25 | 155072 | macros/unicodetex/latex/einfart/einfart-doc-en.pdf
-2022/04/25 | 22292 | macros/unicodetex/latex/einfart/einfart-doc-en.tex
-2022/04/25 | 160385 | macros/unicodetex/latex/einfart/einfart-doc-fr.pdf
-2022/04/25 | 24178 | macros/unicodetex/latex/einfart/einfart-doc-fr.tex
-2022/04/25 | 19106 | macros/unicodetex/latex/einfart/LICENSE
-2022/04/25 | 1478 | macros/unicodetex/latex/einfart/README.md
-2022/04/25 | 586320 | macros/unicodetex/latex/einfart.zip
+2022/06/16 | 30528 | macros/unicodetex/latex/einfart/einfart.cls
+2022/06/16 | 202160 | macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
+2022/06/16 | 21225 | macros/unicodetex/latex/einfart/einfart-doc-cn.tex
+2022/06/16 | 93808 | macros/unicodetex/latex/einfart/einfart-doc-en.pdf
+2022/06/16 | 22292 | macros/unicodetex/latex/einfart/einfart-doc-en.tex
+2022/06/16 | 98098 | macros/unicodetex/latex/einfart/einfart-doc-fr.pdf
+2022/06/16 | 24178 | macros/unicodetex/latex/einfart/einfart-doc-fr.tex
+2022/06/16 | 19106 | macros/unicodetex/latex/einfart/LICENSE
+2022/06/16 | 1478 | macros/unicodetex/latex/einfart/README.md
+2022/06/16 | 414652 | macros/unicodetex/latex/einfart.zip
2022/03/06 | 566517 | macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.pdf
2022/03/06 | 19104 | macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.tex
2021/12/09 | 27714 | macros/unicodetex/latex/fontsetup/doc/fspsample-cmr.pdf
@@ -245205,16 +245213,16 @@
2022/01/15 | 19106 | macros/unicodetex/latex/fontspec/LICENSE
2022/01/15 | 2835 | macros/unicodetex/latex/fontspec/README.md
2022/01/15 | 1342043 | macros/unicodetex/latex/fontspec.zip
-2022/04/25 | 28873 | macros/unicodetex/latex/lebhart/lebhart.cls
-2022/04/25 | 269138 | macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
-2022/04/25 | 20571 | macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
-2022/04/25 | 147743 | macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
-2022/04/25 | 22018 | macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
-2022/04/25 | 151300 | macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf
-2022/04/25 | 23898 | macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex
-2022/04/25 | 19106 | macros/unicodetex/latex/lebhart/LICENSE
-2022/04/25 | 1460 | macros/unicodetex/latex/lebhart/README.md
-2022/04/25 | 589849 | macros/unicodetex/latex/lebhart.zip
+2022/06/16 | 29664 | macros/unicodetex/latex/lebhart/lebhart.cls
+2022/06/16 | 222939 | macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
+2022/06/16 | 20550 | macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
+2022/06/16 | 92143 | macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
+2022/06/16 | 21997 | macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
+2022/06/16 | 93425 | macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf
+2022/06/16 | 23877 | macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex
+2022/06/16 | 19106 | macros/unicodetex/latex/lebhart/LICENSE
+2022/06/16 | 1460 | macros/unicodetex/latex/lebhart/README.md
+2022/06/16 | 430542 | macros/unicodetex/latex/lebhart.zip
2020/09/29 | 6586 | macros/unicodetex/latex/lilyglyphs/CHANGES.md
2020/09/29 | 38525 | macros/unicodetex/latex/lilyglyphs/documentation/lilyglyphs-example-400.png
2020/09/29 | 78141 | macros/unicodetex/latex/lilyglyphs/documentation/lilyglyphs-example-600.png
@@ -245468,16 +245476,16 @@
2016/02/13 | 1755 | macros/unicodetex/latex/realscripts/realscripts.ins
2016/02/13 | 106569 | macros/unicodetex/latex/realscripts/realscripts.pdf
2016/02/13 | 108915 | macros/unicodetex/latex/realscripts.zip
-2022/04/25 | 19106 | macros/unicodetex/latex/simplivre/LICENSE
-2022/04/25 | 1475 | macros/unicodetex/latex/simplivre/README.md
-2022/04/25 | 29741 | macros/unicodetex/latex/simplivre/simplivre.cls
-2022/04/25 | 337254 | macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
-2022/04/25 | 19929 | macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
-2022/04/25 | 230651 | macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
-2022/04/25 | 20973 | macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
-2022/04/25 | 230716 | macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf
-2022/04/25 | 22788 | macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex
-2022/04/25 | 806552 | macros/unicodetex/latex/simplivre.zip
+2022/06/16 | 19106 | macros/unicodetex/latex/simplivre/LICENSE
+2022/06/16 | 1475 | macros/unicodetex/latex/simplivre/README.md
+2022/06/16 | 30532 | macros/unicodetex/latex/simplivre/simplivre.cls
+2022/06/16 | 257013 | macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
+2022/06/16 | 19929 | macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
+2022/06/16 | 137475 | macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
+2022/06/16 | 20973 | macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
+2022/06/16 | 139916 | macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf
+2022/06/16 | 22788 | macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex
+2022/06/16 | 542272 | macros/unicodetex/latex/simplivre.zip
2021/02/09 | 13142 | macros/unicodetex/latex/texnegar/doc-ligature-texnegar.pdf
2021/02/09 | 10117 | macros/unicodetex/latex/texnegar/doc-ligature-xep.pdf
2021/02/09 | 63437 | macros/unicodetex/latex/texnegar/doc-samples-glyph.pdf
@@ -275984,7 +275992,7 @@
2021/05/03 | 629 | support/TeX4ht/doc/README
2020/08/24 | 358454 | support/TeX4ht/doc/TeX4ht-doc.tex
2021/05/11 | 262 | support/TeX4ht/README
-2022/06/14 | 195225 | support/TeX4ht/source/ChangeLog
+2022/06/16 | 195470 | support/TeX4ht/source/ChangeLog
2021/05/03 | 1375 | support/TeX4ht/source/checklog.lua
2021/05/03 | 1189 | support/TeX4ht/source/common-code.tex
2021/05/03 | 2727 | support/TeX4ht/source/common-info.tex
@@ -276031,7 +276039,7 @@
2021/05/03 | 2526 | support/TeX4ht/source/tex4ht-info-ooffice.tex
2021/05/03 | 4137 | support/TeX4ht/source/tex4ht-info-svg.tex
2021/05/03 | 104934 | support/TeX4ht/source/tex4ht-info.tex
-2022/06/11 | 10482 | support/TeX4ht/source/tex4ht-jats.tex
+2022/06/16 | 18236 | support/TeX4ht/source/tex4ht-jats.tex
2021/05/03 | 42210 | support/TeX4ht/source/tex4ht-javahelp.tex
2021/05/03 | 15087 | support/TeX4ht/source/tex4ht-javahelp-xtpipes.tex
2021/05/03 | 22748 | support/TeX4ht/source/tex4ht-jsmath.tex
@@ -278457,10 +278465,10 @@
1993/07/19 | 61321 | systems/mac/macmakeindex.sit.hqx
2022/03/17 | 47 | systems/mac/mactex/BasicTeX.pkg.md5
2022/03/17 | 143 | systems/mac/mactex/BasicTeX.pkg.sha512
-2022/06/12 | 38151 | systems/mac/mactex/ExtrasFolder.pdf
+2022/06/16 | 38154 | systems/mac/mactex/ExtrasFolder.pdf
2022/03/17 | 50 | systems/mac/mactex/Ghostscript.pkg.md5
2022/03/17 | 146 | systems/mac/mactex/Ghostscript.pkg.sha512
-2022/06/12 | 1612 | systems/mac/mactex/Licenses.txt
+2022/06/16 | 1612 | systems/mac/mactex/Licenses.txt
2022/03/21 | 4961582623 | systems/mac/mactex/mactex-20220321.pkg
2022/03/21 | 54 | systems/mac/mactex/mactex-20220321.pkg.md5
2022/03/21 | 150 | systems/mac/mactex/mactex-20220321.pkg.sha512
@@ -278470,13 +278478,13 @@
2022/02/28 | 55345960 | systems/mac/mactex/mactex-ghostscript-9.55-20220208.pkg
2022/02/28 | 71 | systems/mac/mactex/mactex-ghostscript-9.55-20220208.pkg.md5
2022/03/17 | 167 | systems/mac/mactex/mactex-ghostscript-9.55-20220208.pkg.sha512
-2022/06/12 | 514306780 | systems/mac/mactex/mactex-MacTeXtras-20220612.zip
-2022/06/12 | 65 | systems/mac/mactex/mactex-MacTeXtras-20220612.zip.md5
-2022/06/12 | 161 | systems/mac/mactex/mactex-MacTeXtras-20220612.zip.sha512
+2022/06/16 | 514322136 | systems/mac/mactex/mactex-MacTeXtras-20220616.zip
+2022/06/16 | 65 | systems/mac/mactex/mactex-MacTeXtras-20220616.zip.md5
+2022/06/16 | 161 | systems/mac/mactex/mactex-MacTeXtras-20220616.zip.sha512
2022/03/21 | 45 | systems/mac/mactex/MacTeX.pkg.md5
2022/03/21 | 141 | systems/mac/mactex/MacTeX.pkg.sha512
-2022/06/12 | 49 | systems/mac/mactex/MacTeXtras.zip.md5
-2022/06/12 | 145 | systems/mac/mactex/MacTeXtras.zip.sha512
+2022/06/16 | 49 | systems/mac/mactex/MacTeXtras.zip.md5
+2022/06/16 | 145 | systems/mac/mactex/MacTeXtras.zip.sha512
2022/04/03 | 189 | systems/mac/mactex/README
1995/08/15 | 308344 | systems/mac/MakeIndex-Fat-1.0-sit.hqx
1994/04/20 | 2925109 | systems/mac/metafont/bluesky/MAC_MF_0.66.sit.hqx
@@ -281179,17 +281187,17 @@
2022/02/14 | 1388 | systems/texlive/tlnet/archive/bidi-atbegshi.r62009.tar.xz
2019/02/28 | 30508 | systems/texlive/tlnet/archive/bidicontour.doc.r34631.tar.xz
2019/02/28 | 1848 | systems/texlive/tlnet/archive/bidicontour.r34631.tar.xz
-2022/06/14 | 3985124 | systems/texlive/tlnet/archive/bidi.doc.r63580.tar.xz
+2022/06/16 | 3983432 | systems/texlive/tlnet/archive/bidi.doc.r63607.tar.xz
2019/02/28 | 43416 | systems/texlive/tlnet/archive/bidihl.doc.r37795.tar.xz
2019/02/28 | 2356 | systems/texlive/tlnet/archive/bidihl.r37795.tar.xz
2019/02/28 | 25800 | systems/texlive/tlnet/archive/bidipagegrid.doc.r34632.tar.xz
2019/02/28 | 3264 | systems/texlive/tlnet/archive/bidipagegrid.r34632.tar.xz
2019/02/28 | 75456 | systems/texlive/tlnet/archive/bidipresentation.doc.r35267.tar.xz
2019/02/28 | 28048 | systems/texlive/tlnet/archive/bidipresentation.r35267.tar.xz
-2022/06/14 | 128812 | systems/texlive/tlnet/archive/bidi.r63580.tar.xz
+2022/06/16 | 128812 | systems/texlive/tlnet/archive/bidi.r63607.tar.xz
2019/02/28 | 120564 | systems/texlive/tlnet/archive/bidishadowtext.doc.r34633.tar.xz
2019/02/28 | 1312 | systems/texlive/tlnet/archive/bidishadowtext.r34633.tar.xz
-2022/06/14 | 145584 | systems/texlive/tlnet/archive/bidi.source.r63580.tar.xz
+2022/06/16 | 145664 | systems/texlive/tlnet/archive/bidi.source.r63607.tar.xz
2019/02/28 | 736348 | systems/texlive/tlnet/archive/bigfoot.doc.r38248.tar.xz
2019/02/28 | 11372 | systems/texlive/tlnet/archive/bigfoot.r38248.tar.xz
2019/02/28 | 43760 | systems/texlive/tlnet/archive/bigfoot.source.r38248.tar.xz
@@ -282401,8 +282409,8 @@
2020/06/24 | 31152 | systems/texlive/tlnet/archive/cquthesis.source.r55643.tar.xz
2019/02/28 | 29448 | systems/texlive/tlnet/archive/crbox.doc.r29803.tar.xz
2019/02/28 | 1544 | systems/texlive/tlnet/archive/crbox.r29803.tar.xz
-2022/06/02 | 136356 | systems/texlive/tlnet/archive/create-theorem.doc.r63466.tar.xz
-2022/06/02 | 9604 | systems/texlive/tlnet/archive/create-theorem.r63466.tar.xz
+2022/06/16 | 77684 | systems/texlive/tlnet/archive/create-theorem.doc.r63605.tar.xz
+2022/06/16 | 9716 | systems/texlive/tlnet/archive/create-theorem.r63605.tar.xz
2022/05/15 | 124044 | systems/texlive/tlnet/archive/crefthe.doc.r63296.tar.xz
2022/05/15 | 2992 | systems/texlive/tlnet/archive/crefthe.r63296.tar.xz
2020/03/24 | 34244 | systems/texlive/tlnet/archive/crimson.doc.r54512.tar.xz
@@ -284934,9 +284942,9 @@
2019/02/28 | 98112 | systems/texlive/tlnet/archive/greekdates.doc.r15878.tar.xz
2019/02/28 | 3820 | systems/texlive/tlnet/archive/greekdates.r15878.tar.xz
2019/02/28 | 7276 | systems/texlive/tlnet/archive/greekdates.source.r15878.tar.xz
-2020/11/05 | 2394692 | systems/texlive/tlnet/archive/greek-fontenc.doc.r56851.tar.xz
-2020/11/05 | 28948 | systems/texlive/tlnet/archive/greek-fontenc.r56851.tar.xz
-2020/11/05 | 1572 | systems/texlive/tlnet/archive/greek-fontenc.source.r56851.tar.xz
+2022/06/16 | 2460936 | systems/texlive/tlnet/archive/greek-fontenc.doc.r63604.tar.xz
+2022/06/16 | 30432 | systems/texlive/tlnet/archive/greek-fontenc.r63604.tar.xz
+2022/06/16 | 1596 | systems/texlive/tlnet/archive/greek-fontenc.source.r63604.tar.xz
2019/07/12 | 826036 | systems/texlive/tlnet/archive/greek-inputenc.doc.r51612.tar.xz
2019/07/12 | 6540 | systems/texlive/tlnet/archive/greek-inputenc.r51612.tar.xz
2019/02/28 | 311284 | systems/texlive/tlnet/archive/greektex.doc.r28327.tar.xz
@@ -288906,8 +288914,8 @@
2020/03/09 | 739152 | systems/texlive/tlnet/archive/pgfornament-han.doc.r54191.tar.xz
2020/03/09 | 86108 | systems/texlive/tlnet/archive/pgfornament-han.r54191.tar.xz
2020/05/29 | 616692 | systems/texlive/tlnet/archive/pgfornament.r55326.tar.xz
-2021/08/01 | 220184 | systems/texlive/tlnet/archive/pgf-pie.doc.r60115.tar.xz
-2021/08/01 | 3732 | systems/texlive/tlnet/archive/pgf-pie.r60115.tar.xz
+2022/06/16 | 222616 | systems/texlive/tlnet/archive/pgf-pie.doc.r63603.tar.xz
+2022/06/16 | 3744 | systems/texlive/tlnet/archive/pgf-pie.r63603.tar.xz
2022/01/24 | 13086868 | systems/texlive/tlnet/archive/pgfplots.doc.r61719.tar.xz
2022/01/24 | 529468 | systems/texlive/tlnet/archive/pgfplots.r61719.tar.xz
2022/01/24 | 1768536 | systems/texlive/tlnet/archive/pgfplots.source.r61719.tar.xz
@@ -289275,9 +289283,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
-2022/04/26 | 680000 | systems/texlive/tlnet/archive/projlib.doc.r63133.tar.xz
-2022/04/26 | 24492 | systems/texlive/tlnet/archive/projlib.r63133.tar.xz
-2022/04/26 | 45928 | systems/texlive/tlnet/archive/projlib.source.r63133.tar.xz
+2022/06/16 | 8336 | systems/texlive/tlnet/archive/projlib.doc.r63606.tar.xz
+2022/06/16 | 24744 | systems/texlive/tlnet/archive/projlib.r63606.tar.xz
+2022/06/16 | 25196 | systems/texlive/tlnet/archive/projlib.source.r63606.tar.xz
2022/02/08 | 446708 | systems/texlive/tlnet/archive/proof-at-the-end.doc.r61933.tar.xz
2022/02/08 | 6944 | systems/texlive/tlnet/archive/proof-at-the-end.r61933.tar.xz
2022/02/08 | 20480 | systems/texlive/tlnet/archive/proof-at-the-end.source.r61933.tar.xz
@@ -291126,14 +291134,14 @@
2022/02/27 | 108804 | systems/texlive/tlnet/archive/tex4ht.amd64-freebsd.r62206.tar.xz
2022/02/27 | 87364 | systems/texlive/tlnet/archive/tex4ht.amd64-netbsd.r62220.tar.xz
2022/04/21 | 69948 | systems/texlive/tlnet/archive/tex4ht.armhf-linux.r63092.tar.xz
-2022/06/15 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r63597.tar.xz
+2022/06/16 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r63608.tar.xz
2022/03/01 | 58328 | systems/texlive/tlnet/archive/tex4ht.i386-cygwin.r62282.tar.xz
2022/02/27 | 93760 | systems/texlive/tlnet/archive/tex4ht.i386-freebsd.r62206.tar.xz
2022/02/27 | 91280 | systems/texlive/tlnet/archive/tex4ht.i386-linux.r62210.tar.xz
2022/02/27 | 76200 | systems/texlive/tlnet/archive/tex4ht.i386-netbsd.r62220.tar.xz
2022/02/27 | 83964 | systems/texlive/tlnet/archive/tex4ht.i386-solaris.r62206.tar.xz
-2022/06/15 | 947496 | systems/texlive/tlnet/archive/tex4ht.r63597.tar.xz
-2022/06/15 | 1256484 | systems/texlive/tlnet/archive/tex4ht.source.r63597.tar.xz
+2022/06/16 | 948132 | systems/texlive/tlnet/archive/tex4ht.r63608.tar.xz
+2022/06/16 | 1256580 | systems/texlive/tlnet/archive/tex4ht.source.r63608.tar.xz
2022/02/28 | 184748 | systems/texlive/tlnet/archive/tex4ht.universal-darwin.r62258.tar.xz
2022/02/27 | 57768 | systems/texlive/tlnet/archive/tex4ht.win32.r62199.tar.xz
2022/03/01 | 58016 | systems/texlive/tlnet/archive/tex4ht.x86_64-cygwin.r62279.tar.xz
@@ -291307,8 +291315,8 @@
2019/02/28 | 36596 | systems/texlive/tlnet/archive/tex-label.doc.r16372.tar.xz
2019/02/28 | 940 | systems/texlive/tlnet/archive/tex-label.r16372.tar.xz
2019/02/28 | 420 | systems/texlive/tlnet/archive/tex-label.source.r16372.tar.xz
-2022/06/15 | 613124 | systems/texlive/tlnet/archive/texlive-common.doc.r63584.tar.xz
-2022/06/15 | 348 | systems/texlive/tlnet/archive/texlive-common.r63584.tar.xz
+2022/06/16 | 613184 | systems/texlive/tlnet/archive/texlive-common.doc.r63599.tar.xz
+2022/06/16 | 348 | systems/texlive/tlnet/archive/texlive-common.r63599.tar.xz
2022/03/21 | 1266160 | systems/texlive/tlnet/archive/texlive-cz.doc.r62854.tar.xz
2022/03/21 | 276 | systems/texlive/tlnet/archive/texlive-cz.r62854.tar.xz
2022/02/28 | 1571788 | systems/texlive/tlnet/archive/texlive-de.doc.r62234.tar.xz
@@ -291341,7 +291349,7 @@
2021/03/23 | 276 | systems/texlive/tlnet/archive/texlive-it.r58653.tar.xz
2022/03/20 | 1898212 | systems/texlive/tlnet/archive/texlive-ja.doc.r62817.tar.xz
2022/03/20 | 276 | systems/texlive/tlnet/archive/texlive-ja.r62817.tar.xz
-2022/06/15 | 146956 | systems/texlive/tlnet/archive/texlive-msg-translations.r63585.tar.xz
+2022/06/16 | 146980 | systems/texlive/tlnet/archive/texlive-msg-translations.r63600.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/texliveonfly.aarch64-linux.r46208.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/texliveonfly.amd64-freebsd.r24062.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/texliveonfly.amd64-netbsd.r30191.tar.xz
@@ -291368,7 +291376,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
-2022/06/15 | 412268 | systems/texlive/tlnet/archive/texlive-scripts.doc.r63586.tar.xz
+2022/06/16 | 412580 | systems/texlive/tlnet/archive/texlive-scripts.doc.r63599.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
@@ -291392,7 +291400,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
-2022/06/15 | 112040 | systems/texlive/tlnet/archive/texlive-scripts.r63586.tar.xz
+2022/06/16 | 112028 | systems/texlive/tlnet/archive/texlive-scripts.r63599.tar.xz
2021/02/25 | 572 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r57908.tar.xz
2022/04/19 | 36296 | systems/texlive/tlnet/archive/texlive-scripts.win32.r63068.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r55172.tar.xz
@@ -293205,16 +293213,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
2022/06/14 | 119107 | systems/texlive/tlnet/install-tl
-2022/06/15 | 5804346 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2022/06/15 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2022/06/15 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2022/06/16 | 5804434 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2022/06/16 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2022/06/16 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2021/04/11 | 4945 | systems/texlive/tlnet/install-tl-windows.bat
-2022/06/15 | 20461892 | systems/texlive/tlnet/install-tl-windows.exe
-2022/06/15 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2022/06/15 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2022/06/15 | 25487717 | systems/texlive/tlnet/install-tl.zip
-2022/06/15 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2022/06/15 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2022/06/16 | 20463889 | systems/texlive/tlnet/install-tl-windows.exe
+2022/06/16 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2022/06/16 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2022/06/16 | 25487715 | systems/texlive/tlnet/install-tl.zip
+2022/06/16 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2022/06/16 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2022/04/03 | 1229 | systems/texlive/tlnet/README.md
2022/04/03 | 0 | systems/texlive/tlnet/TEXLIVE_2022
2022/02/28 | 7791 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -293224,7 +293232,7 @@
2022/02/28 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2022/05/27 | 49794 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2022/06/14 | 7165 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2022/06/15 | 7187 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2022/04/27 | 215352 | 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
@@ -293266,12 +293274,12 @@
2021/05/16 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2021/12/21 | 5429 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2021/12/21 | 27582 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2022/06/15 | 17513463 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2022/06/15 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2022/06/16 | 17512994 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2022/06/16 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2022/04/18 | 86658 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2022/06/15 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2022/06/15 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2022/06/15 | 2385372 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2022/06/16 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2022/06/16 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2022/06/16 | 2386672 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2021/12/21 | 58848 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2022/04/18 | 42116 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2021/12/21 | 16130 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -295972,27 +295980,27 @@
2022/03/14 | 3547 | systems/texlive/tlnet/tlpkg/tltcl/lib/tkConfig.sh
2018/11/30 | 1310 | systems/texlive/tlnet/tlpkg/tltcl/tlmgr.gif
2021/10/13 | 25696 | systems/texlive/tlnet/tlpkg/tltcl/tltcl.tcl
-2022/06/14 | 82459 | systems/texlive/tlnet/tlpkg/translations/cs.po
-2022/06/14 | 57728 | systems/texlive/tlnet/tlpkg/translations/da.po
-2022/06/14 | 89918 | systems/texlive/tlnet/tlpkg/translations/de.po
-2022/06/14 | 79606 | systems/texlive/tlnet/tlpkg/translations/es.po
-2022/06/14 | 94346 | systems/texlive/tlnet/tlpkg/translations/fr.po
-2022/06/14 | 87939 | systems/texlive/tlnet/tlpkg/translations/it.po
-2022/06/14 | 62886 | systems/texlive/tlnet/tlpkg/translations/ja.po
-2022/06/14 | 47295 | systems/texlive/tlnet/tlpkg/translations/messages.pot
-2022/06/14 | 58251 | systems/texlive/tlnet/tlpkg/translations/nl.po
-2022/06/14 | 67351 | systems/texlive/tlnet/tlpkg/translations/pl.po
-2022/06/14 | 82791 | systems/texlive/tlnet/tlpkg/translations/pt_BR.po
+2022/06/15 | 82459 | systems/texlive/tlnet/tlpkg/translations/cs.po
+2022/06/15 | 57728 | systems/texlive/tlnet/tlpkg/translations/da.po
+2022/06/15 | 89918 | systems/texlive/tlnet/tlpkg/translations/de.po
+2022/06/15 | 79606 | systems/texlive/tlnet/tlpkg/translations/es.po
+2022/06/15 | 94346 | systems/texlive/tlnet/tlpkg/translations/fr.po
+2022/06/15 | 87939 | systems/texlive/tlnet/tlpkg/translations/it.po
+2022/06/15 | 62886 | systems/texlive/tlnet/tlpkg/translations/ja.po
+2022/06/15 | 47295 | systems/texlive/tlnet/tlpkg/translations/messages.pot
+2022/06/15 | 58251 | systems/texlive/tlnet/tlpkg/translations/nl.po
+2022/06/15 | 67351 | systems/texlive/tlnet/tlpkg/translations/pl.po
+2022/06/15 | 82791 | systems/texlive/tlnet/tlpkg/translations/pt_BR.po
2019/03/25 | 430 | systems/texlive/tlnet/tlpkg/translations/README
-2022/06/14 | 107622 | systems/texlive/tlnet/tlpkg/translations/ru.po
-2022/06/14 | 89282 | systems/texlive/tlnet/tlpkg/translations/sk.po
-2022/06/14 | 70484 | systems/texlive/tlnet/tlpkg/translations/sl.po
-2022/06/14 | 103515 | systems/texlive/tlnet/tlpkg/translations/sr.po
+2022/06/15 | 107622 | systems/texlive/tlnet/tlpkg/translations/ru.po
+2022/06/15 | 89282 | systems/texlive/tlnet/tlpkg/translations/sk.po
+2022/06/15 | 70484 | systems/texlive/tlnet/tlpkg/translations/sl.po
+2022/06/15 | 103515 | systems/texlive/tlnet/tlpkg/translations/sr.po
2019/03/28 | 847 | systems/texlive/tlnet/tlpkg/translations/translators
-2022/06/14 | 80620 | systems/texlive/tlnet/tlpkg/translations/uk.po
-2022/06/14 | 90624 | systems/texlive/tlnet/tlpkg/translations/vi.po
-2022/06/14 | 63592 | systems/texlive/tlnet/tlpkg/translations/zh_CN.po
-2022/06/14 | 53523 | systems/texlive/tlnet/tlpkg/translations/zh_TW.po
+2022/06/15 | 80620 | systems/texlive/tlnet/tlpkg/translations/uk.po
+2022/06/15 | 90624 | systems/texlive/tlnet/tlpkg/translations/vi.po
+2022/06/15 | 63592 | systems/texlive/tlnet/tlpkg/translations/zh_CN.po
+2022/06/15 | 53523 | systems/texlive/tlnet/tlpkg/translations/zh_TW.po
2022/04/17 | 4664090 | systems/texlive/tlnet/update-tlmgr-r63037.exe
2022/04/17 | 154 | systems/texlive/tlnet/update-tlmgr-r63037.exe.sha512
2022/04/17 | 455 | systems/texlive/tlnet/update-tlmgr-r63037.exe.sha512.asc
@@ -298494,7 +298502,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
-2022/06/15 | 656255 | systems/win32/miktex/tm/packages/files.csv.lzma
+2022/06/16 | 656255 | 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
@@ -300110,9 +300118,9 @@
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2022/03/12 | 39680 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
2022/03/29 | 43240 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2022/06/15 | 281225 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2022/06/15 | 1462849 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2022/06/15 | 1349044 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2022/06/16 | 281178 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2022/06/16 | 1462854 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2022/06/16 | 1349337 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2022/03/12 | 13516 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
2022/03/29 | 14391 | 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
@@ -300343,191 +300351,191 @@
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
-2022/06/15 | 655800 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2022/06/15 | 51558 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2022/06/15 | 57331 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2022/06/15 | 1021846 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2022/06/15 | 1156465 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2022/06/15 | 28797 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2022/06/15 | 31520 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2022/06/15 | 30146 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2022/06/15 | 35242 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2022/06/15 | 56617 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2022/06/15 | 65054 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2022/06/15 | 86758 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2022/06/15 | 95284 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2022/06/15 | 68871 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2022/06/15 | 77067 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2022/06/15 | 27248 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2022/06/15 | 31342 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2022/06/15 | 332411 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2022/06/15 | 394369 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2022/06/15 | 32953 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2022/06/15 | 37080 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2022/06/15 | 51485 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2022/06/15 | 57270 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2022/06/15 | 244960 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2022/06/15 | 270298 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2022/06/15 | 179875 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2022/06/15 | 196115 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2022/06/15 | 92916 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2022/06/15 | 103093 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2022/06/15 | 21314 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2022/06/15 | 24119 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2022/06/15 | 481499 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2022/06/15 | 46067 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2022/06/15 | 52093 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2022/06/15 | 285713 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2022/06/15 | 326657 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2022/06/15 | 41304 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2022/06/15 | 45824 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2022/06/15 | 120616 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2022/06/15 | 135376 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2022/06/15 | 1302483 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2022/06/15 | 1454761 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2022/06/15 | 99815 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2022/06/15 | 113052 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2022/06/15 | 43644 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2022/06/15 | 48823 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2022/06/15 | 25106 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2022/06/15 | 28568 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2022/06/15 | 56992 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2022/06/15 | 63309 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2022/06/15 | 135947 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2022/06/15 | 155498 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2022/06/15 | 73477 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2022/06/15 | 78974 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2022/06/15 | 72013 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2022/06/15 | 81459 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2022/06/15 | 259255 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2022/06/15 | 296038 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2022/06/15 | 22145 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2022/06/15 | 25059 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2022/06/15 | 97200 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2022/06/15 | 112589 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2022/06/15 | 64541 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2022/06/15 | 73146 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2022/06/15 | 96632 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2022/06/15 | 115656 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2022/06/15 | 38426 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2022/06/15 | 43825 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2022/06/15 | 484369 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2022/06/15 | 565930 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2022/06/15 | 203837 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma
-2022/06/15 | 247334 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
-2022/06/15 | 152029 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2022/06/15 | 168819 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2022/06/15 | 95431 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2022/06/15 | 109478 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2022/06/15 | 16502 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2022/06/15 | 18367 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2022/06/15 | 28421 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2022/06/15 | 30540 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2022/06/15 | 631276 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2022/06/15 | 681939 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2022/06/15 | 532453 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2022/06/15 | 598231 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2022/06/15 | 477847 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2022/06/15 | 528013 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2022/06/15 | 93959 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2022/06/15 | 103336 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2022/06/15 | 1752147 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2022/06/15 | 1982084 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2022/06/15 | 68008 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2022/06/15 | 74069 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2022/06/15 | 27591 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2022/06/15 | 32134 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2022/06/15 | 7752 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2022/06/15 | 8784 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2022/06/15 | 190505 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2022/06/15 | 208808 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2022/06/15 | 251128 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2022/06/15 | 286411 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2022/06/15 | 99256 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2022/06/15 | 104555 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2022/06/15 | 126533 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2022/06/15 | 139101 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2022/06/15 | 288201 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2022/06/15 | 325268 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2022/06/15 | 199832 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2022/06/15 | 181515 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2022/06/15 | 49769 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2022/06/15 | 55567 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2022/06/15 | 31413 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2022/06/15 | 35168 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2022/06/15 | 38561 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2022/06/15 | 43916 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2022/06/15 | 43362 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2022/06/15 | 47923 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2022/06/15 | 45744 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2022/06/15 | 52326 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2022/06/15 | 197036 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2022/06/15 | 213279 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2022/06/15 | 36048 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2022/06/15 | 41182 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2022/06/15 | 755743 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2022/06/15 | 824370 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2022/06/15 | 200396 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2022/06/15 | 202836 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2022/06/15 | 210276 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2022/06/15 | 245096 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2022/06/15 | 79026 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2022/06/15 | 88152 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2022/06/15 | 1181126 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2022/06/15 | 1322742 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2022/06/15 | 20184 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2022/06/15 | 23944 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2022/06/15 | 31587 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2022/06/15 | 37372 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2022/06/15 | 64709 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2022/06/15 | 72885 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2022/06/15 | 50799 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2022/06/15 | 58662 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2022/06/15 | 693066 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
-2022/06/15 | 758952 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
-2022/06/15 | 1357072 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2022/06/15 | 1501238 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2022/06/15 | 42817 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2022/06/15 | 52479 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2022/06/15 | 57616 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2022/06/15 | 63738 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2022/06/15 | 25551 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2022/06/15 | 27636 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2022/06/15 | 16558 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2022/06/15 | 18491 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2022/06/15 | 64486 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2022/06/15 | 71006 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2022/06/15 | 156961 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2022/06/15 | 173007 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2022/06/15 | 58665 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2022/06/15 | 67254 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2022/06/15 | 100486 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2022/06/15 | 107704 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2022/06/15 | 2694876 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2022/06/15 | 2820686 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2022/06/15 | 55284 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2022/06/15 | 62381 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2022/06/15 | 37116 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2022/06/15 | 41202 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2022/06/15 | 28689 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2022/06/15 | 34052 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2022/06/15 | 67704 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2022/06/15 | 73528 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2022/06/15 | 316241 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2022/06/15 | 351697 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2022/06/15 | 55756 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
-2022/06/15 | 57526 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2022/06/15 | 591570 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2022/06/15 | 629431 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2022/06/15 | 39728 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2022/06/15 | 43226 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2022/06/15 | 281229 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2022/06/15 | 1463366 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2022/06/15 | 1348325 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2022/06/15 | 13513 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2022/06/15 | 14410 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2022/06/16 | 655800 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2022/06/16 | 51558 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2022/06/16 | 57330 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2022/06/16 | 1021845 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2022/06/16 | 1156464 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2022/06/16 | 28800 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2022/06/16 | 31520 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2022/06/16 | 30145 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2022/06/16 | 35242 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2022/06/16 | 56618 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2022/06/16 | 65054 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2022/06/16 | 86759 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2022/06/16 | 95285 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2022/06/16 | 68872 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2022/06/16 | 77067 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2022/06/16 | 27248 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2022/06/16 | 31342 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2022/06/16 | 332414 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2022/06/16 | 394369 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2022/06/16 | 32955 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2022/06/16 | 37080 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2022/06/16 | 51485 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2022/06/16 | 57269 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2022/06/16 | 244962 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2022/06/16 | 270298 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2022/06/16 | 179877 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2022/06/16 | 196116 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2022/06/16 | 92917 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2022/06/16 | 103093 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2022/06/16 | 21314 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2022/06/16 | 24119 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2022/06/16 | 481499 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2022/06/16 | 46066 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2022/06/16 | 52093 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2022/06/16 | 285714 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2022/06/16 | 326661 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2022/06/16 | 41304 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2022/06/16 | 45826 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2022/06/16 | 120615 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2022/06/16 | 135376 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2022/06/16 | 1302485 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2022/06/16 | 1454765 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2022/06/16 | 99816 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2022/06/16 | 113050 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2022/06/16 | 43646 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2022/06/16 | 48825 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2022/06/16 | 25106 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2022/06/16 | 28567 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2022/06/16 | 56992 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2022/06/16 | 63310 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2022/06/16 | 135948 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2022/06/16 | 155497 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2022/06/16 | 73478 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2022/06/16 | 78975 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2022/06/16 | 72014 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2022/06/16 | 81459 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2022/06/16 | 259257 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2022/06/16 | 296038 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2022/06/16 | 22147 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2022/06/16 | 25059 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2022/06/16 | 97200 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2022/06/16 | 112587 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2022/06/16 | 64541 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2022/06/16 | 73146 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2022/06/16 | 96633 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2022/06/16 | 115656 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2022/06/16 | 38427 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2022/06/16 | 43825 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2022/06/16 | 484371 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2022/06/16 | 565930 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2022/06/16 | 203837 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma
+2022/06/16 | 247332 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
+2022/06/16 | 152031 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2022/06/16 | 168819 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2022/06/16 | 95433 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2022/06/16 | 109478 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2022/06/16 | 16502 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2022/06/16 | 18368 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2022/06/16 | 28422 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2022/06/16 | 30542 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2022/06/16 | 631279 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2022/06/16 | 681939 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2022/06/16 | 532453 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2022/06/16 | 598229 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2022/06/16 | 477848 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2022/06/16 | 528016 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2022/06/16 | 93956 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2022/06/16 | 103337 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2022/06/16 | 1752147 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2022/06/16 | 1982084 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2022/06/16 | 68009 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2022/06/16 | 74069 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2022/06/16 | 27590 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2022/06/16 | 32133 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2022/06/16 | 7752 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2022/06/16 | 8783 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2022/06/16 | 190505 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2022/06/16 | 208808 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2022/06/16 | 251129 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2022/06/16 | 286411 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2022/06/16 | 99257 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2022/06/16 | 104557 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2022/06/16 | 126534 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2022/06/16 | 139102 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2022/06/16 | 288200 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2022/06/16 | 325270 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2022/06/16 | 199831 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2022/06/16 | 181516 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2022/06/16 | 49771 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2022/06/16 | 55568 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2022/06/16 | 31412 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2022/06/16 | 35168 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2022/06/16 | 38561 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2022/06/16 | 43916 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2022/06/16 | 43360 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2022/06/16 | 47923 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2022/06/16 | 45742 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2022/06/16 | 52326 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2022/06/16 | 197034 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2022/06/16 | 213278 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2022/06/16 | 36049 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2022/06/16 | 41182 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2022/06/16 | 755742 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2022/06/16 | 824371 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2022/06/16 | 200397 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2022/06/16 | 202835 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2022/06/16 | 210275 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2022/06/16 | 245097 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2022/06/16 | 79024 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2022/06/16 | 88151 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2022/06/16 | 1181127 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2022/06/16 | 1322743 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2022/06/16 | 20182 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2022/06/16 | 23944 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2022/06/16 | 31587 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2022/06/16 | 37375 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2022/06/16 | 64710 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2022/06/16 | 72886 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2022/06/16 | 50800 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2022/06/16 | 58661 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2022/06/16 | 693068 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
+2022/06/16 | 758952 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2022/06/16 | 1357072 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2022/06/16 | 1501238 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2022/06/16 | 42818 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2022/06/16 | 52480 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2022/06/16 | 57618 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2022/06/16 | 63740 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2022/06/16 | 25552 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2022/06/16 | 27636 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2022/06/16 | 16559 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2022/06/16 | 18491 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2022/06/16 | 64488 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2022/06/16 | 71007 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2022/06/16 | 156964 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2022/06/16 | 173009 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2022/06/16 | 58666 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2022/06/16 | 67254 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2022/06/16 | 100485 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2022/06/16 | 107705 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2022/06/16 | 2694875 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2022/06/16 | 2820686 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2022/06/16 | 55285 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2022/06/16 | 62380 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2022/06/16 | 37117 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2022/06/16 | 41202 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2022/06/16 | 28688 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2022/06/16 | 34051 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2022/06/16 | 67705 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2022/06/16 | 73529 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2022/06/16 | 316243 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2022/06/16 | 351698 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2022/06/16 | 55757 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2022/06/16 | 57526 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2022/06/16 | 591571 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2022/06/16 | 629430 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2022/06/16 | 39726 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2022/06/16 | 43226 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2022/06/16 | 281242 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2022/06/16 | 1463347 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2022/06/16 | 1349706 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2022/06/16 | 13514 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2022/06/16 | 14411 | 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
-2022/06/15 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2022/06/16 | 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
@@ -301004,7 +301012,7 @@
2022/02/22 | 6917 | 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
-2022/06/15 | 921 | systems/win32/miktex/tm/packages/pr.ini
+2022/06/16 | 921 | 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
@@ -302889,7 +302897,7 @@
2004/06/04 | 404 | tds/tds.sed
2004/06/23 | 65418 | tds/tds.tex
2019/05/29 | 304264 | tds.zip
-2022/06/16 | 186 | timestamp
+2022/06/17 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2022/02/28 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index a6c5681fcf..fe5e6dacf1 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 35fe9e330b..f0774766cd 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,337 +1,999 @@
+2022/06/16 | 99 | macros/latex/base/ltpara-code.tex
+2022/06/16 | 9999 | macros/latex/contrib/l3kernel/l3news10.tex
+2022/06/16 | 99816 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2022/06/16 | 99754 | macros/latex/required/cyrillic/ot2cmams.pdf
+2022/06/16 | 9926 | macros/latex/base/ltnews21.tex
+2022/06/16 | 99257 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2022/06/16 | 98098 | macros/unicodetex/latex/einfart/einfart-doc-fr.pdf
+2022/06/16 | 9779 | macros/latex/base/format.ins
+2022/06/16 | 97200 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2022/06/16 | 9716 | systems/texlive/tlnet/archive/create-theorem.r63605.tar.xz
+2022/06/16 | 96 | macros/latex/base/doc-code.tex
+2022/06/16 | 96633 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2022/06/16 | 9557 | macros/latex/base/ltcntrl.dtx
+2022/06/16 | 95433 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2022/06/16 | 95285 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2022/06/16 | 951 | macros/latex/required/cyrillic/manifest.txt
+2022/06/16 | 948132 | systems/texlive/tlnet/archive/tex4ht.r63608.tar.xz
+2022/06/16 | 9465 | macros/latex/contrib/l3kernel/l3news08.tex
+2022/06/16 | 94405 | macros/latex/contrib/kvoptions/kvoptions.dtx
+2022/06/16 | 9436 | macros/latex/contrib/l3kernel/l3flag.dtx
+2022/06/16 | 9401 | macros/latex/base/source2edoc.cls
+2022/06/16 | 9395 | macros/latex/base/syntonly.dtx
+2022/06/16 | 93956 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2022/06/16 | 93808 | macros/unicodetex/latex/einfart/einfart-doc-en.pdf
+2022/06/16 | 9345 | macros/latex/base/preload.dtx
+2022/06/16 | 93425 | macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf
+2022/06/16 | 92917 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2022/06/16 | 92280 | macros/latex/base/utf8ienc.dtx
+2022/06/16 | 921 | systems/win32/miktex/tm/packages/pr.ini
+2022/06/16 | 92143 | macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
+2022/06/16 | 9068 | macros/latex/base/lppl-1-0.txt
+2022/06/16 | 90470 | macros/latex/contrib/l3kernel/l3seq.dtx
+2022/06/16 | 90370 | macros/latex/base/lttextcomp.dtx
+2022/06/16 | 90018 | macros/latex/contrib/l3kernel/l3int.dtx
+2022/06/16 | 89727 | macros/latex/base/slides.dtx
+2022/06/16 | 8970 | macros/latex/base/ltnews17.tex
+2022/06/16 | 88151 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2022/06/16 | 8783 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2022/06/16 | 87493 | macros/latex/contrib/l3kernel/l3coffins.dtx
+2022/06/16 | 8731 | macros/latex/base/ltthm.dtx
+2022/06/16 | 86759 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2022/06/16 | 8626 | macros/latex/base/oldlfont.dtx
+2022/06/16 | 85858 | macros/latex/base/ltdefns.dtx
+2022/06/16 | 8495 | macros/latex/contrib/l3kernel/l3unicode.dtx
+2022/06/16 | 8481 | macros/latex/contrib/l3kernel/l3news11.tex
+2022/06/16 | 84785 | macros/latex/contrib/l3kernel/l3fp-basics.dtx
+2022/06/16 | 84537 | macros/latex/contrib/l3packages/xparse-2018-04-12.sty
+2022/06/16 | 84215 | macros/latex/base/ltfssini.dtx
+2022/06/16 | 8368 | macros/latex/base/ltnews.tex
+2022/06/16 | 8336 | systems/texlive/tlnet/archive/projlib.doc.r63606.tar.xz
+2022/06/16 | 83023 | macros/latex/contrib/magicwatermark/magicwatermark-en.pdf
+2022/06/16 | 82707 | macros/latex/contrib/l3kernel/l3clist.dtx
+2022/06/16 | 824371 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2022/06/16 | 820873 | macros/latex/base/ltshipout-code.pdf
+2022/06/16 | 81486 | macros/latex/contrib/l3kernel/l3prefixes.pdf
+2022/06/16 | 81459 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2022/06/16 | 810100 | macros/latex/contrib/xkeyval/xkeyval.pdf
+2022/06/16 | 80881 | macros/latex/base/ltfssbas.dtx
+2022/06/16 | 80495 | macros/latex/contrib/l3kernel/l3names.dtx
+2022/06/16 | 803034 | macros/latex/base/ltfilehook-code.pdf
+2022/06/16 | 80215 | macros/latex/contrib/l3packages/xparse-generic.tex
+2022/06/16 | 80053 | macros/latex/base/ltshipout.dtx
+2022/06/16 | 79792 | macros/latex/contrib/l3kernel/l3box.dtx
+2022/06/16 | 79024 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2022/06/16 | 78975 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2022/06/16 | 78509 | macros/latex/contrib/l3kernel/l3str.dtx
+2022/06/16 | 7831 | macros/latex/required/cyrillic/ot2.dtx
+2022/06/16 | 77684 | systems/texlive/tlnet/archive/create-theorem.doc.r63605.tar.xz
+2022/06/16 | 7752 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2022/06/16 | 773843 | macros/latex/contrib/verifiche.zip
+2022/06/16 | 77067 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2022/06/16 | 76279 | macros/latex/contrib/l3kernel/l3skip.dtx
+2022/06/16 | 75983 | macros/latex/contrib/l3kernel/l3text-case.dtx
+2022/06/16 | 758952 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2022/06/16 | 7570 | macros/latex/contrib/magicwatermark/magicwatermark-en.tex
+2022/06/16 | 755742 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2022/06/16 | 755188 | macros/latex/base/doc.pdf
+2022/06/16 | 7524 | macros/latex/base/ltxguide.cls
+2022/06/16 | 7454 | macros/latex/contrib/l3kernel/l3fp-assign.dtx
+2022/06/16 | 74225 | macros/latex/contrib/l3kernel/l3msg.dtx
+2022/06/16 | 74069 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2022/06/16 | 73835 | macros/latex/contrib/l3kernel/l3fp-trig.dtx
+2022/06/16 | 7374 | macros/latex/contrib/l3packages/xfp.dtx
+2022/06/16 | 73529 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2022/06/16 | 73478 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2022/06/16 | 73146 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2022/06/16 | 72886 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2022/06/16 | 7287 | macros/latex/contrib/minimalist/minimart.cls
+2022/06/16 | 7284 | macros/latex/contrib/minimalist/minimbook.cls
+2022/06/16 | 72475 | macros/latex/base/ltfsstrc.dtx
+2022/06/16 | 7221 | macros/latex/base/ltnews20.tex
+2022/06/16 | 7216 | macros/latex/base/exscale.dtx
+2022/06/16 | 720249 | macros/latex/base/ltcmdhooks-code.pdf
+2022/06/16 | 72014 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2022/06/16 | 7200 | macros/latex/base/sample2e.tex
+2022/06/16 | 715660 | macros/latex/base/ltmarks-code.pdf
+2022/06/16 | 7104 | macros/latex/base/alltt.dtx
+2022/06/16 | 71007 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2022/06/16 | 70685 | macros/latex/contrib/l3kernel/expl3.dtx
+2022/06/16 | 70645 | macros/latex/base/ltfssdcl.dtx
+2022/06/16 | 70578 | macros/latex/contrib/l3kernel/l3fp.dtx
+2022/06/16 | 703775 | macros/latex/base/lthooks-doc.pdf
+2022/06/16 | 7029 | macros/latex/base/ltnews13.tex
+2022/06/16 | 6972719 | macros/latex/contrib/l3kernel/source3.pdf
+2022/06/16 | 693068 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
+2022/06/16 | 69260 | macros/latex/contrib/l3kernel/l3candidates.dtx
+2022/06/16 | 69050 | macros/latex/base/clsguide.tex
+2022/06/16 | 69002 | macros/latex/base/ltpictur.dtx
+2022/06/16 | 68872 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2022/06/16 | 68435 | macros/latex/base/usrguide.tex
+2022/06/16 | 681939 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2022/06/16 | 68009 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2022/06/16 | 67705 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2022/06/16 | 6760 | macros/latex/base/slides.ins
+2022/06/16 | 67254 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2022/06/16 | 6709 | macros/latex/base/latexsym.dtx
+2022/06/16 | 6677 | macros/latex/contrib/l3kernel/l3news02.tex
+2022/06/16 | 667130 | macros/latex/base/ltpara-code.pdf
+2022/06/16 | 66541 | macros/latex/base/ltfilehook.dtx
+2022/06/16 | 66524 | macros/latex/contrib/l3kernel/l3prg.dtx
+2022/06/16 | 65 | systems/mac/mactex/mactex-MacTeXtras-20220616.zip.md5
+2022/06/16 | 65782 | macros/latex/base/ltluatex.dtx
+2022/06/16 | 656255 | systems/win32/miktex/tm/packages/files.csv.lzma
+2022/06/16 | 655800 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2022/06/16 | 6529 | macros/latex/contrib/colorist/colorart.cls
+2022/06/16 | 6526 | macros/latex/contrib/colorist/colorbook.cls
+2022/06/16 | 65260 | macros/latex/contrib/verifiche/verifiche.dtx
+2022/06/16 | 65054 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2022/06/16 | 6482 | macros/latex/contrib/l3kernel/l3news03.tex
+2022/06/16 | 64710 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2022/06/16 | 6455 | macros/latex/contrib/verifiche/verifiche-example.tex
+2022/06/16 | 64541 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2022/06/16 | 6450 | macros/latex/contrib/l3kernel/l3term-glossary.tex
+2022/06/16 | 64488 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2022/06/16 | 6433 | macros/latex/contrib/l3kernel/l3news06.tex
+2022/06/16 | 6424 | macros/latex/base/ltnews14.tex
+2022/06/16 | 63740 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2022/06/16 | 6357 | macros/latex/base/newlfont.dtx
+2022/06/16 | 63310 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2022/06/16 | 63280 | macros/latex/base/letter.dtx
+2022/06/16 | 63132 | macros/latex/base/ltmarks.dtx
+2022/06/16 | 631279 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2022/06/16 | 629430 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2022/06/16 | 6267 | macros/latex/contrib/l3kernel/l3syntax-changes.tex
+2022/06/16 | 6250 | macros/latex/contrib/l3packages/CHANGELOG.md
+2022/06/16 | 62380 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2022/06/16 | 622685 | macros/latex/contrib/l3kernel/expl3.pdf
+2022/06/16 | 6213 | macros/latex/base/ltmeta.dtx
+2022/06/16 | 6195 | macros/latex/contrib/l3packages/xparse-2020-10-01.sty
+2022/06/16 | 6182 | macros/latex/contrib/l3kernel/l3.ins
+2022/06/16 | 6155 | macros/latex/base/ltpar.dtx
+2022/06/16 | 613184 | systems/texlive/tlnet/archive/texlive-common.doc.r63599.tar.xz
+2022/06/16 | 6047 | macros/latex/base/latexrelease.ins
+2022/06/16 | 60321 | macros/latex/base/fontdef.dtx
+2022/06/16 | 5986 | macros/latex/base/ltnews15.tex
+2022/06/16 | 598229 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2022/06/16 | 59499 | macros/latex/base/ltplain.dtx
+2022/06/16 | 591571 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2022/06/16 | 58933 | macros/latex/base/ltfiles.dtx
+2022/06/16 | 58745 | macros/latex/base/ltmiscen.dtx
+2022/06/16 | 587106 | macros/latex/base/ltmarks-doc.pdf
+2022/06/16 | 58666 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2022/06/16 | 58661 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2022/06/16 | 5859 | macros/latex/base/ltidxglo.dtx
+2022/06/16 | 58551 | macros/latex/base/ltfssaxes.dtx
+2022/06/16 | 585018 | macros/latex/contrib/verifiche/verifiche.pdf
+2022/06/16 | 5825 | macros/latex/base/ltnews10.tex
+2022/06/16 | 5804434 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2022/06/16 | 57887 | macros/latex/contrib/l3kernel/l3prop.dtx
+2022/06/16 | 5775 | macros/latex/base/ltnews16.tex
+2022/06/16 | 57710 | macros/latex/required/cyrillic/cyinpenc.dtx
+2022/06/16 | 57618 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2022/06/16 | 5761626 | macros/latex/base/source2e.pdf
+2022/06/16 | 57526 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2022/06/16 | 57330 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2022/06/16 | 5732 | macros/latex/base/ltnews08.tex
+2022/06/16 | 57269 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2022/06/16 | 57245 | macros/latex/contrib/l3kernel/l3tl-analysis.dtx
+2022/06/16 | 5714 | macros/latex/base/inputenc.ins
+2022/06/16 | 5713 | macros/latex/contrib/minimalist/minimalist.sty
+2022/06/16 | 5699 | macros/latex/base/ltnews05.tex
+2022/06/16 | 56992 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2022/06/16 | 5678 | macros/latex/base/ltnews04.tex
+2022/06/16 | 5671 | macros/latex/base/ltnews27.tex
+2022/06/16 | 56618 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2022/06/16 | 565930 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2022/06/16 | 565171 | macros/latex/base/ltshipout-doc.pdf
+2022/06/16 | 563513 | macros/latex/base/ltnews35.pdf
+2022/06/16 | 5612 | macros/latex/required/cyrillic/changes.txt
+2022/06/16 | 560603 | macros/latex/base/ltpara-doc.pdf
+2022/06/16 | 560350 | macros/latex/base/classes.pdf
+2022/06/16 | 5588 | macros/latex/base/ltnews25.tex
+2022/06/16 | 5576 | macros/latex/base/ltnews07.tex
+2022/06/16 | 55757 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2022/06/16 | 5574 | macros/latex/base/ltnews12.tex
+2022/06/16 | 55687 | macros/latex/base/ltfloat.dtx
+2022/06/16 | 55568 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2022/06/16 | 554611 | macros/latex/contrib/l3kernel/l3doc.pdf
+2022/06/16 | 55460 | macros/latex/contrib/l3packages/xparse.dtx
+2022/06/16 | 5544 | macros/latex/base/ltnews06.tex
+2022/06/16 | 553593 | macros/unicodetex/latex/beaulivre.zip
+2022/06/16 | 5529 | macros/latex/base/ltnews11.tex
+2022/06/16 | 55285 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2022/06/16 | 5509 | macros/latex/base/graphpap.dtx
+2022/06/16 | 548731 | macros/latex/base/ltfilehook-doc.pdf
+2022/06/16 | 5462 | macros/latex/base/ltnews02.tex
+2022/06/16 | 546160 | macros/latex/base/ltnews32.pdf
+2022/06/16 | 5451 | macros/latex/base/ltnews09.tex
+2022/06/16 | 5429 | macros/latex/contrib/l3kernel/l3news04.tex
+2022/06/16 | 542272 | macros/unicodetex/latex/simplivre.zip
+2022/06/16 | 5369 | macros/latex/base/ltnews03.tex
+2022/06/16 | 534285 | macros/latex/contrib/l3packages/xparse.pdf
+2022/06/16 | 532453 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2022/06/16 | 53025 | macros/latex/base/ltcmdhooks.dtx
+2022/06/16 | 52813 | macros/latex/base/encguide.tex
+2022/06/16 | 528016 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2022/06/16 | 5273 | macros/latex/base/cmextra.ins
+2022/06/16 | 52710 | macros/latex/base/lb2.err
+2022/06/16 | 526323 | macros/latex/base/ltnews31.pdf
+2022/06/16 | 52480 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2022/06/16 | 5246 | macros/latex/base/ltnews01.tex
+2022/06/16 | 52326 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2022/06/16 | 522412 | macros/latex/base/ltnews33.pdf
+2022/06/16 | 52093 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2022/06/16 | 51606 | macros/latex/base/ltpara.dtx
+2022/06/16 | 51558 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2022/06/16 | 51485 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2022/06/16 | 514322136 | systems/mac/mactex/mactex-MacTeXtras-20220616.zip
+2022/06/16 | 511909 | macros/latex/base/ltnews30.pdf
+2022/06/16 | 51059 | macros/latex/contrib/l3kernel/l3fp-extended.dtx
+2022/06/16 | 508044 | macros/latex/base/ltnews34.pdf
+2022/06/16 | 50800 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2022/06/16 | 504631 | macros/latex/contrib/xkeyval.zip
+2022/06/16 | 504316 | macros/latex/contrib/kvoptions.zip
+2022/06/16 | 5041 | macros/latex/base/latexsym.ins
+2022/06/16 | 503774 | macros/latex/base/docstrip.pdf
+2022/06/16 | 502880 | macros/latex/base/fntguide.pdf
+2022/06/16 | 502152 | macros/latex/contrib/kvoptions/kvoptions.pdf
+2022/06/16 | 49 | systems/mac/mactex/MacTeXtras.zip.md5
+2022/06/16 | 4977 | macros/latex/contrib/l3kernel/l3news07.tex
+2022/06/16 | 49771 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2022/06/16 | 4945 | macros/latex/base/lthyphen.dtx
+2022/06/16 | 4937 | macros/latex/contrib/l3kernel/l3news01.tex
+2022/06/16 | 49311 | macros/latex/contrib/l3kernel/l3fp-expo.dtx
+2022/06/16 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2022/06/16 | 4890 | macros/latex/contrib/l3kernel/l3news.tex
+2022/06/16 | 48825 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2022/06/16 | 484867 | macros/latex/contrib/l3packages/xfrac.pdf
+2022/06/16 | 484371 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2022/06/16 | 48230 | macros/latex/base/ltfinal.dtx
+2022/06/16 | 481499 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2022/06/16 | 4809 | macros/latex/contrib/colorist/colorist.sty
+2022/06/16 | 47923 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2022/06/16 | 479100 | macros/latex/base/ltcmdhooks-doc.pdf
+2022/06/16 | 47896 | macros/latex/base/lttab.dtx
+2022/06/16 | 477848 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2022/06/16 | 4757 | macros/latex/base/ltlength.dtx
+2022/06/16 | 47217 | macros/latex/contrib/l3kernel/l3fp-aux.dtx
+2022/06/16 | 4716 | macros/latex/contrib/l3kernel/l3news05.tex
+2022/06/16 | 46066 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2022/06/16 | 45826 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2022/06/16 | 45742 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2022/06/16 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2022/06/16 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2022/06/16 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2022/06/16 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2022/06/16 | 455107 | macros/latex/base/ltnews29.pdf
+2022/06/16 | 4538 | macros/latex/contrib/l3kernel/l3legacy.dtx
+2022/06/16 | 45240 | macros/latex/base/ltspace.dtx
+2022/06/16 | 450124 | macros/latex/contrib/l3packages/xtemplate.pdf
+2022/06/16 | 44976 | macros/latex/base/latexrelease.dtx
+2022/06/16 | 44772 | macros/latex/base/ltboxes.dtx
+2022/06/16 | 44166 | macros/latex/base/usrguide3.tex
+2022/06/16 | 44066 | macros/latex/contrib/l3kernel/l3prefixes.csv
+2022/06/16 | 43916 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2022/06/16 | 4390 | macros/latex/base/ec.ins
+2022/06/16 | 43825 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2022/06/16 | 43646 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2022/06/16 | 43636 | macros/latex/base/cmfonts.fdd
+2022/06/16 | 43360 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2022/06/16 | 4324 | macros/latex/base/cmfonts.ins
+2022/06/16 | 43226 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2022/06/16 | 43210 | macros/latex/contrib/l3kernel/l3debug.dtx
+2022/06/16 | 430994 | macros/latex/base/usrguide.pdf
+2022/06/16 | 430542 | macros/unicodetex/latex/lebhart.zip
+2022/06/16 | 4298 | macros/latex/base/ltalloc.dtx
+2022/06/16 | 4296 | macros/latex/required/cyrillic/ot2cmams.fdd
+2022/06/16 | 42818 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2022/06/16 | 4273 | macros/latex/base/docstrip.ins
+2022/06/16 | 42708 | macros/latex/base/changes.old.txt
+2022/06/16 | 4254 | macros/latex/base/newdc.ins
+2022/06/16 | 4219 | macros/latex/base/latex209.ins
+2022/06/16 | 4170 | macros/latex/base/ltnews19.tex
+2022/06/16 | 414652 | macros/unicodetex/latex/einfart.zip
+2022/06/16 | 41304 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2022/06/16 | 412580 | systems/texlive/tlnet/archive/texlive-scripts.doc.r63599.tar.xz
+2022/06/16 | 41202 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2022/06/16 | 41182 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2022/06/16 | 4087 | macros/latex/base/classes.ins
+2022/06/16 | 4079 | macros/latex/base/lablst.tex
+2022/06/16 | 40705 | macros/latex/contrib/l3kernel/l3sort.dtx
+2022/06/16 | 403394 | macros/latex/base/usrguide3.pdf
+2022/06/16 | 402780 | macros/latex/base/clsguide.pdf
+2022/06/16 | 40234 | macros/latex/base/ltmath.dtx
+2022/06/16 | 40022 | macros/latex/contrib/l3kernel/l3text.dtx
+2022/06/16 | 3983432 | systems/texlive/tlnet/archive/bidi.doc.r63607.tar.xz
+2022/06/16 | 397353 | macros/latex/base/changes.txt
+2022/06/16 | 39726 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2022/06/16 | 3960 | macros/latex/base/olddc.ins
+2022/06/16 | 395879 | macros/latex/contrib/l3kernel/l3news.pdf
+2022/06/16 | 394369 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2022/06/16 | 39366 | macros/latex/contrib/l3packages/xfrac.dtx
+2022/06/16 | 3929 | macros/latex/contrib/l3kernel/README.md
+2022/06/16 | 38946 | macros/latex/base/ltnews35.tex
+2022/06/16 | 38730 | macros/latex/base/latex209.dtx
+2022/06/16 | 38561 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2022/06/16 | 3843 | macros/latex/contrib/l3packages/README.md
+2022/06/16 | 38427 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2022/06/16 | 38303376 | install/macros/latex/latex-base.tds.zip
+2022/06/16 | 38154 | systems/mac/mactex/ExtrasFolder.pdf
+2022/06/16 | 38033 | macros/latex/base/ltnews18.pdf
+2022/06/16 | 379462 | macros/latex/base/ltnews26.pdf
+2022/06/16 | 3781 | macros/latex/base/tulm.ins
+2022/06/16 | 37758650 | macros/latex/base.zip
+2022/06/16 | 376643 | macros/latex/base/ltnews28.pdf
+2022/06/16 | 375518 | macros/latex/base/slides.pdf
+2022/06/16 | 3744 | systems/texlive/tlnet/archive/pgf-pie.r63603.tar.xz
+2022/06/16 | 37375 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2022/06/16 | 3725 | macros/latex/base/ltlogos.dtx
+2022/06/16 | 37117 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2022/06/16 | 37080 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2022/06/16 | 37048 | macros/latex/contrib/minimalist/minimalist-classical.sty
+2022/06/16 | 36979 | macros/latex/contrib/colorist/colorist-fancy.sty
+2022/06/16 | 369309 | macros/latex/contrib/l3packages/l3keys2e.pdf
+2022/06/16 | 36749 | macros/latex/contrib/l3kernel/CHANGELOG.md
+2022/06/16 | 3664 | macros/latex/contrib/xkeyval/README
+2022/06/16 | 36152 | macros/latex/base/ltlists.dtx
+2022/06/16 | 36049 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2022/06/16 | 35984 | macros/latex/base/ltdirchk.dtx
+2022/06/16 | 35621 | macros/latex/contrib/l3kernel/l3quark.dtx
+2022/06/16 | 353405 | macros/latex/base/utf8ienc.pdf
+2022/06/16 | 35242 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2022/06/16 | 351698 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2022/06/16 | 35168 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2022/06/16 | 348 | systems/texlive/tlnet/archive/texlive-common.r63599.tar.xz
+2022/06/16 | 34856 | macros/latex/contrib/minimalist/minimalist-plain.sty
+2022/06/16 | 3477 | macros/latex/base/README.md
+2022/06/16 | 3434 | macros/latex/base/makeindx.ins
+2022/06/16 | 341 | macros/latex/contrib/kvoptions/README.md
+2022/06/16 | 34166 | macros/latex/contrib/l3kernel/l3intarray.dtx
+2022/06/16 | 34051 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2022/06/16 | 3401 | macros/latex/base/proc.ins
+2022/06/16 | 33946 | macros/latex/base/ltsect.dtx
+2022/06/16 | 33907 | macros/latex/base/ltnews33.tex
+2022/06/16 | 337706 | macros/latex/base/letter.pdf
+2022/06/16 | 3372 | macros/latex/base/letter.ins
+2022/06/16 | 3367 | macros/latex/base/ltoutenc.ins
+2022/06/16 | 3338 | macros/latex/base/exscale.ins
+2022/06/16 | 332414 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2022/06/16 | 33239 | macros/latex/base/ltnews32.tex
+2022/06/16 | 332062 | macros/latex/contrib/l3packages/xfp.pdf
+2022/06/16 | 33116 | macros/latex/contrib/l3kernel/l3sys.dtx
+2022/06/16 | 32955 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2022/06/16 | 3282 | macros/latex/base/bugs.txt
+2022/06/16 | 326661 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2022/06/16 | 325270 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2022/06/16 | 32430 | macros/latex/contrib/l3kernel/l3cctab.dtx
+2022/06/16 | 32307 | macros/latex/base/ltnews34.tex
+2022/06/16 | 32133 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2022/06/16 | 318548 | macros/latex/base/ltnews20.pdf
+2022/06/16 | 318204 | macros/latex/base/inputenc.pdf
+2022/06/16 | 3181 | macros/latex/base/unpack.ins
+2022/06/16 | 317773 | macros/latex/base/ltnews22.pdf
+2022/06/16 | 317700 | macros/latex/base/ltluatex.pdf
+2022/06/16 | 316243 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2022/06/16 | 31587 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2022/06/16 | 31520 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2022/06/16 | 31412 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2022/06/16 | 31342 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2022/06/16 | 30542 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2022/06/16 | 30532 | macros/unicodetex/latex/simplivre/simplivre.cls
+2022/06/16 | 30528 | macros/unicodetex/latex/einfart/einfart.cls
+2022/06/16 | 30499 | macros/latex/base/doc-2021-06-01.sty
+2022/06/16 | 30432 | systems/texlive/tlnet/archive/greek-fontenc.r63604.tar.xz
+2022/06/16 | 30428 | macros/latex/base/ltnews31.tex
+2022/06/16 | 303561 | macros/latex/contrib/l3kernel/l3regex.dtx
+2022/06/16 | 30145 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2022/06/16 | 29965 | macros/latex/base/doc-2016-02-15.sty
+2022/06/16 | 29668 | macros/unicodetex/latex/beaulivre/beaulivre.cls
+2022/06/16 | 29664 | macros/unicodetex/latex/lebhart/lebhart.cls
+2022/06/16 | 296165 | macros/latex/contrib/l3kernel/l3styleguide.pdf
+2022/06/16 | 296038 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2022/06/16 | 29267 | macros/latex/base/ltfntcmd.dtx
+2022/06/16 | 292376 | macros/latex/base/cmfonts.pdf
+2022/06/16 | 290615 | macros/latex/base/tlc2.pdf
+2022/06/16 | 2896 | macros/latex/base/syntonly.ins
+2022/06/16 | 2893 | macros/latex/base/nfssfont.ins
+2022/06/16 | 2892 | macros/latex/base/graphpap.ins
+2022/06/16 | 2892 | macros/latex/base/fix-cm.ins
+2022/06/16 | 2890 | macros/latex/base/alltt.ins
+2022/06/16 | 2888 | macros/latex/base/ifthen.ins
+2022/06/16 | 288328 | macros/latex/base/fix-cm.pdf
+2022/06/16 | 288200 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2022/06/16 | 28800 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2022/06/16 | 28688 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2022/06/16 | 286591 | macros/latex/base/ltnews23.pdf
+2022/06/16 | 286411 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2022/06/16 | 285714 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2022/06/16 | 28567 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2022/06/16 | 28422 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2022/06/16 | 2821 | macros/latex/contrib/l3kernel/l3prefixes.tex
+2022/06/16 | 2820686 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2022/06/16 | 281906 | macros/latex/base/latexrelease.pdf
+2022/06/16 | 281242 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2022/06/16 | 281178 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2022/06/16 | 27636 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2022/06/16 | 27590 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2022/06/16 | 27558 | macros/latex/required/cyrillic/t2lhfnt.fdd
+2022/06/16 | 2728 | macros/latex/base/ltpageno.dtx
+2022/06/16 | 27248 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2022/06/16 | 27122 | macros/latex/base/ltxcheck.tex
+2022/06/16 | 27069 | macros/latex/base/lterror.dtx
+2022/06/16 | 2705 | macros/latex/base/idx.tex
+2022/06/16 | 270298 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2022/06/16 | 2694875 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2022/06/16 | 265279 | macros/latex/base/ltnews24.pdf
+2022/06/16 | 261227 | macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
+2022/06/16 | 259257 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2022/06/16 | 257013 | macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
+2022/06/16 | 25650 | macros/latex/contrib/l3kernel/l3fp-random.dtx
+2022/06/16 | 25552 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2022/06/16 | 25487715 | systems/texlive/tlnet/install-tl.zip
+2022/06/16 | 2537 | macros/latex/contrib/minimalist/README.md
+2022/06/16 | 252140 | macros/latex/base/lb2.pdf
+2022/06/16 | 25196 | systems/texlive/tlnet/archive/projlib.source.r63606.tar.xz
+2022/06/16 | 251129 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2022/06/16 | 25106 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2022/06/16 | 25059 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2022/06/16 | 250592 | macros/latex/base/ltnews27.pdf
+2022/06/16 | 250139 | macros/latex/contrib/l3kernel/l3news09.pdf
+2022/06/16 | 24906 | macros/latex/required/cyrillic/cyoutenc.dtx
+2022/06/16 | 24819 | macros/latex/contrib/l3kernel/source3body.tex
+2022/06/16 | 24744 | systems/texlive/tlnet/archive/projlib.r63606.tar.xz
+2022/06/16 | 247332 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
+2022/06/16 | 24686 | macros/latex/contrib/minimalist/minimalist-doc.tex
+2022/06/16 | 24673 | macros/latex/contrib/l3kernel/l3kernel-functions.dtx
+2022/06/16 | 2460936 | systems/texlive/tlnet/archive/greek-fontenc.doc.r63604.tar.xz
+2022/06/16 | 245097 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2022/06/16 | 244962 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2022/06/16 | 244867 | macros/latex/base/ltnews21.pdf
+2022/06/16 | 244287 | macros/latex/base/doc.dtx
+2022/06/16 | 243605 | macros/latex/base/modguide.pdf
+2022/06/16 | 243273 | macros/latex/base/ltxdoc.pdf
+2022/06/16 | 24322 | macros/latex/contrib/colorist/colorist-doc.tex
+2022/06/16 | 242888 | macros/latex/base/cfgguide.pdf
+2022/06/16 | 24286 | macros/latex/base/ltcounts.dtx
+2022/06/16 | 242838 | macros/latex/contrib/l3kernel/l3syntax-changes.pdf
+2022/06/16 | 2422 | macros/latex/contrib/colorist/README.md
+2022/06/16 | 241 | macros/latex/base/ltfilehook-doc.tex
+2022/06/16 | 24178 | macros/unicodetex/latex/einfart/einfart-doc-fr.tex
+2022/06/16 | 24119 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2022/06/16 | 240 | macros/latex/base/ltshipout-doc.tex
+2022/06/16 | 239689 | macros/latex/base/cyrguide.pdf
+2022/06/16 | 23944 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2022/06/16 | 2390 | macros/latex/contrib/l3kernel/l3docstrip.dtx
+2022/06/16 | 238 | macros/latex/base/ltmarks-doc.tex
+2022/06/16 | 238 | macros/latex/base/lthooks-doc.tex
+2022/06/16 | 238 | macros/latex/base/ltcmdhooks-doc.tex
+2022/06/16 | 23877 | macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex
+2022/06/16 | 23867 | macros/latex/contrib/l3kernel/l3luatex.dtx
+2022/06/16 | 2386672 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2022/06/16 | 23637 | macros/latex/base/ltnews30.tex
+2022/06/16 | 23516 | macros/latex/base/fix-cm.dtx
+2022/06/16 | 234 | macros/latex/base/ltpara-doc.tex
+2022/06/16 | 234191 | macros/latex/base/slifonts.pdf
+2022/06/16 | 23386 | macros/latex/base/lppl.tex
+2022/06/16 | 231225 | macros/latex/contrib/l3kernel/l3term-glossary.pdf
+2022/06/16 | 23011 | macros/latex/contrib/l3kernel/l3fp-logic.dtx
+2022/06/16 | 230028 | macros/latex/base/ltnews19.pdf
+2022/06/16 | 22788 | macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex
+2022/06/16 | 227059 | macros/latex/base/proc.pdf
+2022/06/16 | 22456 | macros/latex/base/cfgguide.tex
+2022/06/16 | 223831 | macros/latex/base/alltt.pdf
+2022/06/16 | 2229 | macros/latex/contrib/l3kernel/source3.tex
+2022/06/16 | 222939 | macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
+2022/06/16 | 22292 | macros/unicodetex/latex/einfart/einfart-doc-en.tex
+2022/06/16 | 222616 | systems/texlive/tlnet/archive/pgf-pie.doc.r63603.tar.xz
+2022/06/16 | 22245 | macros/latex/base/ltxdoc.dtx
+2022/06/16 | 221995 | macros/latex/contrib/magicwatermark.zip
+2022/06/16 | 22173 | macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
+2022/06/16 | 22147 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2022/06/16 | 2213925 | install/macros/latex/contrib/l3packages.tds.zip
+2022/06/16 | 221211 | macros/latex/base/ifthen.pdf
+2022/06/16 | 21997 | macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
+2022/06/16 | 2195710 | macros/latex/contrib/l3packages.zip
+2022/06/16 | 219349 | macros/latex/base/ltx3info.pdf
+2022/06/16 | 217892 | macros/latex/contrib/xkeyval/xkeyval.dtx
+2022/06/16 | 21643 | macros/latex/contrib/l3kernel/l3text-purify.dtx
+2022/06/16 | 215684 | macros/latex/base/lgc2.pdf
+2022/06/16 | 215413 | macros/latex/required/cyrillic/cyinpenc.pdf
+2022/06/16 | 213278 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2022/06/16 | 21314 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2022/06/16 | 21225 | macros/unicodetex/latex/einfart/einfart-doc-cn.tex
+2022/06/16 | 211770 | macros/latex/base/lthooks.dtx
+2022/06/16 | 21142 | macros/latex/contrib/l3kernel/l3deprecation.dtx
+2022/06/16 | 211180 | macros/latex/base/nfssfont.pdf
+2022/06/16 | 210275 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2022/06/16 | 20973 | macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
+2022/06/16 | 209026 | macros/latex/required/cyrillic/lcy.pdf
+2022/06/16 | 208808 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2022/06/16 | 20652 | macros/latex/base/lgc2.err
+2022/06/16 | 20550 | macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
+2022/06/16 | 204990 | macros/latex/contrib/l3kernel/l3news12.pdf
+2022/06/16 | 204935 | macros/latex/base/ltnews25.pdf
+2022/06/16 | 204711 | macros/latex/base/exscale.pdf
+2022/06/16 | 20469 | macros/latex/base/ltnews.cls
+2022/06/16 | 20463889 | systems/texlive/tlnet/install-tl-windows.exe
+2022/06/16 | 20447 | macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
+2022/06/16 | 203837 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma
+2022/06/16 | 202835 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2022/06/16 | 202160 | macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
+2022/06/16 | 20182 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2022/06/16 | 200760 | macros/latex/base/latexsym.pdf
+2022/06/16 | 200397 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2022/06/16 | 199831 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2022/06/16 | 19929 | macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
+2022/06/16 | 1982084 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2022/06/16 | 197034 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2022/06/16 | 1966302 | macros/luatex/generic/luaotfload.zip
+2022/06/16 | 19641 | macros/latex/contrib/l3kernel/l3fp-convert.dtx
+2022/06/16 | 196116 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2022/06/16 | 195470 | support/TeX4ht/source/ChangeLog
+2022/06/16 | 1937 | macros/latex/base/minimal.cls
+2022/06/16 | 192001 | macros/latex/contrib/verifiche/verifiche-example.pdf
+2022/06/16 | 19106 | macros/unicodetex/latex/simplivre/LICENSE
+2022/06/16 | 19106 | macros/unicodetex/latex/lebhart/LICENSE
+2022/06/16 | 19106 | macros/unicodetex/latex/einfart/LICENSE
+2022/06/16 | 19106 | macros/unicodetex/latex/beaulivre/LICENSE
+2022/06/16 | 19106 | macros/latex/contrib/minimalist/LICENSE
+2022/06/16 | 19106 | macros/latex/contrib/colorist/LICENSE
+2022/06/16 | 1908 | macros/latex/contrib/l3kernel/interface3.tex
+2022/06/16 | 190505 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2022/06/16 | 19040 | macros/latex/base/lppl.txt
+2022/06/16 | 18997 | macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
+2022/06/16 | 189789 | macros/latex/base/syntonly.pdf
+2022/06/16 | 18944 | macros/latex/base/ltnews29.tex
+2022/06/16 | 18753 | macros/latex/base/ifthen.dtx
+2022/06/16 | 18711 | macros/latex/base/ltexpl.dtx
+2022/06/16 | 18531 | macros/latex/contrib/l3kernel/l3fp-round.dtx
+2022/06/16 | 18491 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2022/06/16 | 18399 | macros/latex/base/nfssfont.dtx
+2022/06/16 | 18368 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2022/06/16 | 18363 | macros/latex/base/ltxref.dtx
+2022/06/16 | 18299 | macros/latex/base/ltx3info.tex
+2022/06/16 | 18236 | support/TeX4ht/source/tex4ht-jats.tex
+2022/06/16 | 182225 | macros/latex/base/ltnews13.pdf
+2022/06/16 | 181516 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2022/06/16 | 179877 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2022/06/16 | 17909 | macros/latex/base/ltkeys.dtx
+2022/06/16 | 178421 | macros/latex/base/ltoutput.dtx
+2022/06/16 | 1766489 | macros/latex/contrib/l3kernel/interface3.pdf
+2022/06/16 | 1752147 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2022/06/16 | 17512994 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2022/06/16 | 17495 | macros/latex/base/cyrguide.tex
+2022/06/16 | 174494 | macros/latex/base/ltnews05.pdf
+2022/06/16 | 17389 | macros/latex/base/ltbibl.dtx
+2022/06/16 | 173009 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2022/06/16 | 172867 | macros/latex/base/tlc2.err
+2022/06/16 | 172373 | macros/latex/base/ltcmd.dtx
+2022/06/16 | 170878 | macros/latex/base/lamport-manual.pdf
+2022/06/16 | 170473 | macros/latex/base/ltnews14.pdf
+2022/06/16 | 170209 | macros/latex/base/docstrip.dtx
+2022/06/16 | 170063 | macros/latex/contrib/l3kernel/l3news11.pdf
+2022/06/16 | 1694 | macros/latex/base/small2e.tex
+2022/06/16 | 169416 | macros/latex/base/ltnews10.pdf
+2022/06/16 | 168819 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2022/06/16 | 166228 | macros/latex/base/ltnews17.pdf
+2022/06/16 | 165821 | macros/latex/base/makeindx.pdf
+2022/06/16 | 16559 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2022/06/16 | 16502 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2022/06/16 | 1642 | macros/latex/required/cyrillic/README.md
+2022/06/16 | 163454 | macros/latex/contrib/l3kernel/l3news08.pdf
+2022/06/16 | 162772 | macros/latex/base/tulm.pdf
+2022/06/16 | 16233 | macros/latex/base/modguide.tex
+2022/06/16 | 161 | systems/mac/mactex/mactex-MacTeXtras-20220616.zip.sha512
+2022/06/16 | 161713 | macros/latex/base/graphpap.pdf
+2022/06/16 | 161518 | macros/latex/base/ltnews01.pdf
+2022/06/16 | 1612 | systems/mac/mactex/Licenses.txt
+2022/06/16 | 159792 | macros/latex/base/ltnews02.pdf
+2022/06/16 | 1596 | systems/texlive/tlnet/archive/greek-fontenc.source.r63604.tar.xz
+2022/06/16 | 159332 | macros/latex/base/ltnews03.pdf
+2022/06/16 | 157765 | macros/latex/required/cyrillic/cyoutenc.pdf
+2022/06/16 | 15699 | macros/latex/base/slifonts.fdd
+2022/06/16 | 156964 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2022/06/16 | 156551 | macros/latex/base/ltnews12.pdf
+2022/06/16 | 156373 | macros/latex/contrib/l3kernel/l3doc.dtx
+2022/06/16 | 156235 | macros/latex/base/classes.dtx
+2022/06/16 | 1561 | macros/latex/contrib/l3packages/xtemplate.ins
+2022/06/16 | 155497 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2022/06/16 | 155053 | macros/latex/base/ltnews08.pdf
+2022/06/16 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2022/06/16 | 15306 | macros/latex/base/source2e.tex
+2022/06/16 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2022/06/16 | 152525 | macros/latex/base/ltnews04.pdf
+2022/06/16 | 152031 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2022/06/16 | 151736 | macros/latex/contrib/l3kernel/l3docstrip.pdf
+2022/06/16 | 151573 | macros/latex/contrib/l3kernel/l3news06.pdf
+2022/06/16 | 15127 | macros/latex/contrib/l3kernel/l3bootstrap.dtx
+2022/06/16 | 150676 | macros/latex/contrib/l3kernel/l3news02.pdf
+2022/06/16 | 15047 | macros/latex/base/ltnews28.tex
+2022/06/16 | 150279 | macros/latex/contrib/l3kernel/l3news10.pdf
+2022/06/16 | 1501238 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2022/06/16 | 14913 | macros/latex/contrib/l3kernel/l3news12.tex
+2022/06/16 | 14882 | macros/latex/contrib/l3kernel/l3pdf.dtx
+2022/06/16 | 148702 | macros/latex/contrib/l3kernel/l3news03.pdf
+2022/06/16 | 148294 | macros/latex/base/ltoutenc.dtx
+2022/06/16 | 1478 | macros/unicodetex/latex/einfart/README.md
+2022/06/16 | 1475 | macros/unicodetex/latex/simplivre/README.md
+2022/06/16 | 14748 | macros/latex/base/ltvers.dtx
+2022/06/16 | 146980 | systems/texlive/tlnet/archive/texlive-msg-translations.r63600.tar.xz
+2022/06/16 | 1463347 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2022/06/16 | 1462854 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2022/06/16 | 146198 | macros/latex/base/webcomp.pdf
+2022/06/16 | 1460 | macros/unicodetex/latex/lebhart/README.md
+2022/06/16 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2022/06/16 | 145 | systems/mac/mactex/MacTeXtras.zip.sha512
+2022/06/16 | 1458 | macros/unicodetex/latex/beaulivre/README.md
+2022/06/16 | 145664 | systems/texlive/tlnet/archive/bidi.source.r63607.tar.xz
+2022/06/16 | 1454765 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2022/06/16 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2022/06/16 | 144661 | macros/latex/contrib/l3kernel/l3tl.dtx
+2022/06/16 | 1444 | macros/latex/contrib/l3packages/l3keys2e-demo.tex
+2022/06/16 | 14421 | macros/latex/base/lppl-1-2.txt
+2022/06/16 | 14411 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2022/06/16 | 144082 | macros/latex/required/cyrillic/t2lhfnt.pdf
+2022/06/16 | 14341 | macros/latex/base/lppl-1-1.txt
+2022/06/16 | 143192 | macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf
+2022/06/16 | 142877 | macros/latex/base/ltclass.dtx
+2022/06/16 | 142849 | macros/latex/base/ltnews06.pdf
+2022/06/16 | 14091 | macros/latex/base/ltpage.dtx
+2022/06/16 | 140003 | macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
+2022/06/16 | 139916 | macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf
+2022/06/16 | 139102 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2022/06/16 | 138073 | macros/latex/base/ltnews16.pdf
+2022/06/16 | 137811 | macros/latex/base/ltnews07.pdf
+2022/06/16 | 13759 | macros/latex/base/lamport-manual.err
+2022/06/16 | 137475 | macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
+2022/06/16 | 13697412 | install/macros/latex/contrib/l3kernel.tds.zip
+2022/06/16 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r63608.tar.xz
+2022/06/16 | 136306 | macros/latex/contrib/l3kernel/l3file.dtx
+2022/06/16 | 135948 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2022/06/16 | 13589 | macros/latex/base/proc.dtx
+2022/06/16 | 1357072 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2022/06/16 | 135376 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2022/06/16 | 1352652 | install/macros/latex/required/latex-cyrillic.tds.zip
+2022/06/16 | 13514 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2022/06/16 | 135123 | macros/latex/contrib/minimalist.zip
+2022/06/16 | 1349706 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2022/06/16 | 1349337 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2022/06/16 | 13441070 | macros/latex/contrib/l3kernel.zip
+2022/06/16 | 1341 | macros/latex/base/ltnews18.tex
+2022/06/16 | 132382 | macros/latex/base/lppl.pdf
+2022/06/16 | 1322743 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2022/06/16 | 1318126 | macros/latex/base/encguide.pdf
+2022/06/16 | 1306 | macros/latex/contrib/l3packages/xfrac.ins
+2022/06/16 | 130462 | macros/latex/required/cyrillic/ot2cmlh.pdf
+2022/06/16 | 130309 | macros/latex/base/ltnews15.pdf
+2022/06/16 | 1302485 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2022/06/16 | 12968 | macros/latex/required/cyrillic/lcy.dtx
+2022/06/16 | 129570 | macros/latex/base/ltnews09.pdf
+2022/06/16 | 128812 | systems/texlive/tlnet/archive/bidi.r63607.tar.xz
+2022/06/16 | 128790 | macros/latex/contrib/l3kernel/l3basics.dtx
+2022/06/16 | 128309 | macros/latex/contrib/l3kernel/l3news07.pdf
+2022/06/16 | 1279 | macros/latex/base/legal.txt
+2022/06/16 | 12783 | macros/latex/contrib/l3kernel/l3fp-traps.dtx
+2022/06/16 | 1272 | macros/latex/contrib/l3packages/xparse.ins
+2022/06/16 | 127216 | macros/latex/required/cyrillic/lcycmlh.pdf
+2022/06/16 | 127155 | macros/latex/contrib/colorist.zip
+2022/06/16 | 127089 | macros/latex/contrib/l3kernel/l3keys.dtx
+2022/06/16 | 126534 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2022/06/16 | 1256580 | systems/texlive/tlnet/archive/tex4ht.source.r63608.tar.xz
+2022/06/16 | 12520 | macros/latex/base/testpage.tex
+2022/06/16 | 124233 | macros/latex/contrib/l3kernel/l3token.dtx
+2022/06/16 | 12334 | macros/latex/base/ltnews24.tex
+2022/06/16 | 1228 | macros/latex/contrib/l3packages/l3keys2e.ins
+2022/06/16 | 122710 | macros/latex/contrib/l3kernel/l3news01.pdf
+2022/06/16 | 12242 | macros/latex/base/tulm.fdd
+2022/06/16 | 1207156 | macros/latex/required/cyrillic.zip
+2022/06/16 | 120615 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2022/06/16 | 11935 | macros/latex/contrib/l3packages/l3keys2e.dtx
+2022/06/16 | 1191 | macros/latex/contrib/l3packages/xfp.ins
+2022/06/16 | 11884 | macros/latex/contrib/l3kernel/l3styleguide.tex
+2022/06/16 | 1181127 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2022/06/16 | 1180993 | macros/latex/base/ltnews.pdf
+2022/06/16 | 11781 | macros/latex/contrib/l3kernel/l3fparray.dtx
+2022/06/16 | 115656 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2022/06/16 | 1156464 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2022/06/16 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2022/06/16 | 114588 | macros/latex/contrib/l3kernel/l3news04.pdf
+2022/06/16 | 113862 | macros/latex/required/cyrillic/ot2.pdf
+2022/06/16 | 113422 | macros/latex/contrib/l3kernel/l3str-convert.dtx
+2022/06/16 | 113050 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2022/06/16 | 112587 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2022/06/16 | 112487 | macros/latex/contrib/l3kernel/l3news05.pdf
+2022/06/16 | 112028 | systems/texlive/tlnet/archive/texlive-scripts.r63599.tar.xz
+2022/06/16 | 111948 | macros/latex/base/ltnews11.pdf
+2022/06/16 | 11103 | macros/latex/base/manifest.txt
+2022/06/16 | 1096874 | macros/latex/base/lthooks-code.pdf
+2022/06/16 | 109478 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2022/06/16 | 1081761 | macros/latex/base/doc-code.pdf
+2022/06/16 | 10798 | macros/latex/base/ltnews26.tex
+2022/06/16 | 10792 | macros/latex/base/ltnews22.tex
+2022/06/16 | 10791 | macros/latex/base/ltnews23.tex
+2022/06/16 | 107705 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2022/06/16 | 107383 | macros/latex/contrib/l3kernel/l3news09.tex
+2022/06/16 | 107220 | macros/latex/contrib/l3kernel/l3color.dtx
+2022/06/16 | 106904 | macros/latex/base/inputenc.dtx
+2022/06/16 | 106880 | macros/latex/base/fntguide.tex
+2022/06/16 | 106428 | macros/latex/contrib/l3kernel/l3expan.dtx
+2022/06/16 | 10601 | macros/latex/base/makeindx.dtx
+2022/06/16 | 105 | macros/latex/base/ltfilehook-code.tex
+2022/06/16 | 10569 | macros/latex/required/cyrillic/cyrlatex.ins
+2022/06/16 | 105029 | macros/latex/contrib/l3kernel/l3fp-parse.dtx
+2022/06/16 | 104 | macros/latex/base/ltshipout-code.tex
+2022/06/16 | 104902 | macros/latex/contrib/minimalist/minimalist-doc.pdf
+2022/06/16 | 10470 | macros/latex/required/cyrillic/ot2cmlh.fdd
+2022/06/16 | 104557 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2022/06/16 | 103 | macros/latex/base/ltcmdhooks-code.tex
+2022/06/16 | 10370 | macros/latex/base/ltfsscmp.dtx
+2022/06/16 | 103337 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2022/06/16 | 103093 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2022/06/16 | 10307 | macros/latex/required/cyrillic/lcycmlh.fdd
+2022/06/16 | 102 | macros/latex/base/ltmarks-code.tex
+2022/06/16 | 102 | macros/latex/base/lthooks-code.tex
+2022/06/16 | 102866 | macros/latex/contrib/colorist/colorist-doc.pdf
+2022/06/16 | 10251 | macros/latex/base/webcomp.err
+2022/06/16 | 1021845 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2022/06/16 | 100964 | macros/latex/contrib/l3packages/xtemplate.dtx
+2022/06/16 | 100485 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
2022/06/15 | 99 | graphics/pgf/contrib/pgf-pie/demo/legend.tex
-2022/06/15 | 99815 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2022/06/15 | 99256 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2022/06/15 | 97200 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2022/06/15 | 96632 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2022/06/15 | 95431 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2022/06/15 | 95284 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2022/06/15 | 9881 | macros/luatex/generic/luaotfload/fontloader-fonts-gbn.lua
+2022/06/15 | 984739 | macros/luatex/generic/luaotfload/fontloader-reference.lua
+2022/06/15 | 96 | macros/luatex/generic/luaotfload/luaotfload-hashing.lua
2022/06/15 | 95223 | macros/latex/contrib/create-theorem/create-theorem.sty
2022/06/15 | 94 | graphics/pgf/contrib/pgf-pie/demo/colorwheel.tex
-2022/06/15 | 947496 | systems/texlive/tlnet/archive/tex4ht.r63597.tar.xz
-2022/06/15 | 93959 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2022/06/15 | 92916 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2022/06/15 | 921 | systems/win32/miktex/tm/packages/pr.ini
+2022/06/15 | 94462 | macros/luatex/generic/luaotfload/fontloader-font-otr.lua
+2022/06/15 | 94346 | systems/texlive/tlnet/tlpkg/translations/fr.po
+2022/06/15 | 92210 | macros/luatex/generic/luaotfload/fontloader-font-cff.lua
2022/06/15 | 9181 | graphics/pgf/contrib/pgf-pie/logo.png
+2022/06/15 | 912 | macros/luatex/generic/luaotfload/fontloader-fonts-mis.lua
2022/06/15 | 90880 | systems/texlive/tlnet/archive/hyperref.r63593.tar.xz
+2022/06/15 | 90624 | systems/texlive/tlnet/tlpkg/translations/vi.po
+2022/06/15 | 89918 | systems/texlive/tlnet/tlpkg/translations/de.po
2022/06/15 | 89733 | macros/latex/contrib/create-theorem.zip
-2022/06/15 | 88152 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2022/06/15 | 8784 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2022/06/15 | 86758 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2022/06/15 | 89282 | systems/texlive/tlnet/tlpkg/translations/sk.po
+2022/06/15 | 882794 | macros/luatex/generic/luaotfload/fontloader-2022-06-15.lua
+2022/06/15 | 87939 | systems/texlive/tlnet/tlpkg/translations/it.po
2022/06/15 | 8611040 | systems/texlive/tlnet/archive/pdfmanagement-testphase.doc.r63594.tar.xz
+2022/06/15 | 8597 | macros/luatex/generic/luaotfload/filegraph.tex
+2022/06/15 | 8560 | macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf
+2022/06/15 | 8481 | macros/luatex/generic/luaotfload/shaper-demo.pdf
2022/06/15 | 8476 | systems/texlive/tlnet/archive/hypdoc.source.r63592.tar.xz
2022/06/15 | 82 | graphics/pgf/contrib/pgf-pie/demo/hide-number.tex
-2022/06/15 | 824370 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2022/06/15 | 82791 | systems/texlive/tlnet/tlpkg/translations/pt_BR.po
+2022/06/15 | 82459 | systems/texlive/tlnet/tlpkg/translations/cs.po
2022/06/15 | 81 | graphics/pgf/contrib/pgf-pie/demo/text-inside.tex
-2022/06/15 | 81459 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
2022/06/15 | 80 | graphics/pgf/contrib/pgf-pie/demo/scalefont.tex
+2022/06/15 | 80620 | systems/texlive/tlnet/tlpkg/translations/uk.po
2022/06/15 | 8000 | systems/texlive/tlnet/archive/latexbug.r63596.tar.xz
-2022/06/15 | 79026 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2022/06/15 | 79606 | systems/texlive/tlnet/tlpkg/translations/es.po
+2022/06/15 | 7917 | macros/luatex/generic/luaotfload/luaotfload-unicode.lua
+2022/06/15 | 7904 | macros/luatex/generic/luaotfload/fontloader-font-oti.lua
2022/06/15 | 78 | graphics/pgf/contrib/pgf-pie/demo/text.tex
-2022/06/15 | 78974 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
2022/06/15 | 78190 | macros/latex/contrib/thalie/thalie.dtx
-2022/06/15 | 7752 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2022/06/15 | 77067 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2022/06/15 | 77540 | macros/luatex/generic/luaotfload/luaotfload-conf.pdf
2022/06/15 | 76 | graphics/pgf/contrib/pgf-pie/demo/square.tex
+2022/06/15 | 76805 | macros/luatex/generic/luaotfload/luaotfload-tool.pdf
2022/06/15 | 761651 | macros/xetex/latex/bidi/gull.jpg
2022/06/15 | 75 | graphics/pgf/contrib/pgf-pie/demo/polar.tex
-2022/06/15 | 758952 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
-2022/06/15 | 755743 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2022/06/15 | 74069 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2022/06/15 | 7528 | macros/luatex/generic/luaotfload/luaotfload-tounicode.lua
2022/06/15 | 73816 | systems/texlive/tlnet/archive/pdfmanagement-testphase.r63594.tar.xz
-2022/06/15 | 73528 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2022/06/15 | 73477 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2022/06/15 | 73146 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2022/06/15 | 72885 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2022/06/15 | 72013 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2022/06/15 | 71006 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2022/06/15 | 693066 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
+2022/06/15 | 735 | macros/luatex/generic/luaotfload/luaotfload.conf.example
+2022/06/15 | 7260 | macros/luatex/generic/luaotfload/fontloader-fonts-ext.lua
+2022/06/15 | 7187 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2022/06/15 | 70484 | systems/texlive/tlnet/tlpkg/translations/sl.po
+2022/06/15 | 699 | macros/luatex/generic/luaotfload/scripts-demo.tex
2022/06/15 | 68 | graphics/pgf/contrib/pgf-pie/demo/first-pie.tex
-2022/06/15 | 68871 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2022/06/15 | 681939 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2022/06/15 | 6866 | macros/luatex/generic/luaotfload/fontloader-font-afk.lua
2022/06/15 | 681556 | systems/texlive/tlnet/archive/diffcoeff.doc.r63590.tar.xz
-2022/06/15 | 68008 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2022/06/15 | 67704 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
2022/06/15 | 676 | macros/latex/contrib/create-theorem/README.md
2022/06/15 | 67394 | macros/latex/contrib/create-theorem/create-theorem-doc.pdf
-2022/06/15 | 67254 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2022/06/15 | 656255 | systems/win32/miktex/tm/packages/files.csv.lzma
-2022/06/15 | 655800 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2022/06/15 | 65054 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2022/06/15 | 64709 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2022/06/15 | 64541 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2022/06/15 | 64486 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2022/06/15 | 67351 | systems/texlive/tlnet/tlpkg/translations/pl.po
+2022/06/15 | 67011 | macros/luatex/generic/luaotfload/fontloader-font-ttf.lua
+2022/06/15 | 6644 | macros/luatex/generic/luaotfload/fontloader-l-string.lua
+2022/06/15 | 65279 | macros/luatex/generic/luaotfload/fontloader-font-otj.lua
+2022/06/15 | 6405 | macros/luatex/generic/luaotfload/fontloader-l-lua.lua
2022/06/15 | 6380 | systems/texlive/tlnet/archive/diffcoeff.r63590.tar.xz
-2022/06/15 | 63738 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2022/06/15 | 63309 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2022/06/15 | 631276 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2022/06/15 | 629431 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2022/06/15 | 62381 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2022/06/15 | 613124 | systems/texlive/tlnet/archive/texlive-common.doc.r63584.tar.xz
+2022/06/15 | 63592 | systems/texlive/tlnet/tlpkg/translations/zh_CN.po
+2022/06/15 | 63211 | macros/luatex/generic/luaotfload/fontloader-font-con.lua
+2022/06/15 | 6317 | macros/luatex/generic/luaotfload/luaotfload-status.lua
+2022/06/15 | 6309 | macros/luatex/generic/luaotfload/luaotfload-szss.lua
+2022/06/15 | 62886 | systems/texlive/tlnet/tlpkg/translations/ja.po
2022/06/15 | 6101 | macros/xetex/latex/bidi/bidi-doc-latex-pkgsupport.ltx
-2022/06/15 | 598231 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
2022/06/15 | 5939 | macros/xetex/latex/bidi/bidi-doc-plain-basics.ltx
-2022/06/15 | 591570 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2022/06/15 | 58665 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2022/06/15 | 58662 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2022/06/15 | 5804346 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2022/06/15 | 57616 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2022/06/15 | 57526 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2022/06/15 | 57331 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2022/06/15 | 57270 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2022/06/15 | 56992 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2022/06/15 | 56617 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2022/06/15 | 565930 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2022/06/15 | 55756 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
-2022/06/15 | 55567 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2022/06/15 | 55284 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2022/06/15 | 5885 | macros/luatex/generic/luaotfload/fontloader-reference-load-order.tex
+2022/06/15 | 58251 | systems/texlive/tlnet/tlpkg/translations/nl.po
+2022/06/15 | 57728 | systems/texlive/tlnet/tlpkg/translations/da.po
+2022/06/15 | 57342 | macros/luatex/generic/luaotfload/fontloader-fonts-lig.lua
+2022/06/15 | 5502 | macros/luatex/generic/luaotfload/fontloader-font-cid.lua
+2022/06/15 | 5388 | macros/luatex/generic/luaotfload/fontloader-data-con.lua
+2022/06/15 | 53825 | macros/luatex/generic/luaotfload/luaotfload-tool.lua
+2022/06/15 | 53523 | systems/texlive/tlnet/tlpkg/translations/zh_TW.po
2022/06/15 | 534 | macros/xetex/latex/bidi/bidi-doc.ltx
-2022/06/15 | 532453 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2022/06/15 | 528013 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2022/06/15 | 52479 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2022/06/15 | 52326 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2022/06/15 | 52093 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2022/06/15 | 51558 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2022/06/15 | 51485 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2022/06/15 | 50799 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2022/06/15 | 52 | macros/luatex/generic/luaotfload/luaotfload-blacklist.cnf
2022/06/15 | 5040 | graphics/pgf/contrib/pgf-pie/pgf-pie-manual.tex
2022/06/15 | 498777 | install/macros/latex/contrib/thalie.tds.zip
-2022/06/15 | 49769 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2022/06/15 | 4956 | macros/luatex/generic/luaotfload/luaotfload-dvi.lua
+2022/06/15 | 495247 | macros/luatex/generic/luaotfload/luaotfload-latex.pdf
2022/06/15 | 4932 | macros/latex/contrib/projlib/README.md
+2022/06/15 | 4930 | macros/luatex/generic/luaotfload/luaotfload-t3.lua
2022/06/15 | 492890 | macros/latex/contrib/thalie.zip
-2022/06/15 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2022/06/15 | 48823 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2022/06/15 | 484369 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2022/06/15 | 48728 | macros/luatex/generic/luaotfload/fontloader-basics-chr.lua
2022/06/15 | 482 | graphics/pgf/contrib/pgf-pie/README.md
-2022/06/15 | 481499 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2022/06/15 | 47923 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2022/06/15 | 477847 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
2022/06/15 | 475823 | macros/latex/contrib/thalie/thalie.pdf
+2022/06/15 | 47295 | systems/texlive/tlnet/tlpkg/translations/messages.pot
+2022/06/15 | 46322 | macros/luatex/generic/luaotfload/fontloader-util-str.lua
2022/06/15 | 4618973 | install/macros/xetex/latex/bidi.tds.zip
-2022/06/15 | 46067 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2022/06/15 | 45824 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2022/06/15 | 45744 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2022/06/15 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2022/06/15 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2022/06/15 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2022/06/15 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2022/06/15 | 4547 | macros/xetex/latex/bidi/bidi-doc-latex-pkgs.ltx
2022/06/15 | 4497 | macros/xetex/latex/bidi/bidi-doc-latex-programming.ltx
-2022/06/15 | 43916 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2022/06/15 | 43825 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2022/06/15 | 43644 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
2022/06/15 | 43448 | systems/texlive/tlnet/archive/gzt.source.r63591.tar.xz
2022/06/15 | 43416 | systems/texlive/tlnet/archive/olsak-misc.doc.r63588.tar.xz
-2022/06/15 | 43362 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2022/06/15 | 43226 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2022/06/15 | 42817 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
2022/06/15 | 426 | graphics/pgf/contrib/pgf-pie/COPYING
+2022/06/15 | 42301 | macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua
2022/06/15 | 4208369 | macros/xetex/latex/bidi.zip
+2022/06/15 | 41758 | macros/luatex/generic/luaotfload/fontloader-l-table.lua
2022/06/15 | 414884 | systems/texlive/tlnet/archive/hyperref.source.r63593.tar.xz
-2022/06/15 | 41304 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2022/06/15 | 412268 | systems/texlive/tlnet/archive/texlive-scripts.doc.r63586.tar.xz
-2022/06/15 | 41202 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2022/06/15 | 41182 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2022/06/15 | 39728 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2022/06/15 | 41303 | macros/luatex/generic/luaotfload/fontloader-l-unicode.lua
+2022/06/15 | 4050 | macros/luatex/generic/luaotfload/luaotfload-harf-var-t2-writer.lua
+2022/06/15 | 4047 | macros/luatex/generic/luaotfload/luaotfload-fallback.lua
+2022/06/15 | 400 | macros/latex/contrib/magicwatermark/README.md
+2022/06/15 | 40019 | macros/luatex/generic/luaotfload/filegraph.pdf
2022/06/15 | 39613 | macros/latex/contrib/projlib.zip
-2022/06/15 | 394369 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2022/06/15 | 38561 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2022/06/15 | 38426 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2022/06/15 | 37372 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2022/06/15 | 37116 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2022/06/15 | 37080 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2022/06/15 | 38742 | macros/luatex/generic/luaotfload/fontloader-l-lpeg.lua
+2022/06/15 | 3821 | macros/luatex/generic/luaotfload/fontloader-fonts-def.lua
+2022/06/15 | 3784 | macros/luatex/generic/luaotfload/README.md
+2022/06/15 | 3693 | macros/luatex/generic/luaotfload/fontloader-font-imp-italics.lua
2022/06/15 | 3676856 | systems/texlive/tlnet/archive/hyperref.doc.r63593.tar.xz
-2022/06/15 | 36048 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2022/06/15 | 3674 | macros/luatex/generic/luaotfload/fontloader-fonts-syn.lua
+2022/06/15 | 3649 | macros/luatex/generic/luaotfload/luaotfload-bcp47.lua
+2022/06/15 | 361 | macros/luatex/generic/luaotfload/fontloader-l-function.lua
2022/06/15 | 3596 | macros/xetex/latex/bidi/bidi-doc-preamble.ltx
+2022/06/15 | 3594 | macros/luatex/generic/luaotfload/fontloader-font-imp-ligatures.lua
+2022/06/15 | 35836 | macros/luatex/generic/luaotfload/fontloader-font-otc.lua
2022/06/15 | 3540 | systems/texlive/tlnet/archive/hypdoc.r63592.tar.xz
-2022/06/15 | 35242 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2022/06/15 | 351697 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2022/06/15 | 35168 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2022/06/15 | 348 | systems/texlive/tlnet/archive/texlive-common.r63584.tar.xz
+2022/06/15 | 34922 | macros/luatex/generic/luaotfload/fontloader-font-ott.lua
2022/06/15 | 34480 | systems/texlive/tlnet/archive/gzt.r63591.tar.xz
-2022/06/15 | 34052 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2022/06/15 | 3406 | macros/luatex/generic/luaotfload/fontloader-font-imp-tex.lua
+2022/06/15 | 33960 | macros/luatex/generic/luaotfload/fontloader-font-otl.lua
2022/06/15 | 3393758 | macros/xetex/latex/bidi/bidi.pdf
-2022/06/15 | 332411 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2022/06/15 | 32953 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2022/06/15 | 326657 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2022/06/15 | 325268 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2022/06/15 | 33478 | macros/luatex/generic/luaotfload/luaotfload-features.lua
+2022/06/15 | 3287334 | macros/luatex/generic/luaotfload/luaotfload-characters.lua
+2022/06/15 | 32597 | macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua
2022/06/15 | 323780 | systems/texlive/tlnet/archive/hypdoc.doc.r63592.tar.xz
2022/06/15 | 3229 | macros/latex/contrib/projlib/ProjLib.ins
-2022/06/15 | 32134 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2022/06/15 | 316241 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2022/06/15 | 31587 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2022/06/15 | 31520 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2022/06/15 | 31413 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2022/06/15 | 31342 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2022/06/15 | 30540 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2022/06/15 | 30146 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2022/06/15 | 31349 | macros/luatex/generic/luaotfload/fontloader-font-one.lua
+2022/06/15 | 31223 | macros/luatex/generic/luaotfload/luaotfload-configuration.lua
+2022/06/15 | 30436 | macros/luatex/generic/luaotfload/luaotfload-parsers.lua
2022/06/15 | 2986 | macros/latex/contrib/thalie/CHANGELOG.md
-2022/06/15 | 296038 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
2022/06/15 | 2936 | macros/xetex/latex/bidi/bidi-bibitem.pdf
2022/06/15 | 2932 | systems/texlive/tlnet/archive/realhats.source.r63595.tar.xz
-2022/06/15 | 288201 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2022/06/15 | 28797 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2022/06/15 | 28689 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2022/06/15 | 286411 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2022/06/15 | 285713 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2022/06/15 | 28568 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2022/06/15 | 28421 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2022/06/15 | 2820686 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2022/06/15 | 281229 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2022/06/15 | 281225 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2022/06/15 | 27636 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2022/06/15 | 27591 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2022/06/15 | 27248 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2022/06/15 | 270298 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2022/06/15 | 2694876 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2022/06/15 | 259255 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2022/06/15 | 275 | macros/luatex/generic/luaotfload/luaotfload-main.lua
+2022/06/15 | 2667 | macros/luatex/generic/luaotfload/fontloader-font-vfc.lua
+2022/06/15 | 2625 | macros/luatex/generic/luaotfload/fontloader-fonts-enc.lua
2022/06/15 | 25871 | macros/latex/contrib/create-theorem/create-theorem-doc.tex
2022/06/15 | 25856 | systems/texlive/tlnet/archive/olsak-misc.r63588.tar.xz
-2022/06/15 | 25551 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2022/06/15 | 25487717 | systems/texlive/tlnet/install-tl.zip
-2022/06/15 | 251128 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2022/06/15 | 25106 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2022/06/15 | 25059 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2022/06/15 | 247334 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
-2022/06/15 | 245096 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2022/06/15 | 2582 | macros/luatex/generic/luaotfload/luaotfload-suppress.lua
+2022/06/15 | 2549 | macros/luatex/generic/luaotfload/fontloader-l-math.lua
+2022/06/15 | 25336 | macros/luatex/generic/luaotfload/luaotfload-filelist.lua
+2022/06/15 | 25264 | macros/luatex/generic/luaotfload/fontloader-font-ocl.lua
+2022/06/15 | 2506 | macros/luatex/generic/luaotfload/luaotfload-scripts.lua
2022/06/15 | 244 | graphics/pgf/contrib/pgf-pie/RELEASE_NOTES.md
-2022/06/15 | 244960 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2022/06/15 | 24119 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
2022/06/15 | 23945 | macros/xetex/latex/bidi/bidi-doc-latex-basics.ltx
-2022/06/15 | 23944 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2022/06/15 | 2385372 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2022/06/15 | 238133 | graphics/pgf/contrib/pgf-pie.zip
2022/06/15 | 235 | graphics/pgf/contrib/pgf-pie/pgf-pie.sty
+2022/06/15 | 23399 | macros/luatex/generic/luaotfload/fontloader-fonts-tfm.lua
+2022/06/15 | 23238 | macros/luatex/generic/luaotfload/fontloader-font-oto.lua
2022/06/15 | 22700 | systems/texlive/tlnet/archive/denisbdoc.source.r63589.tar.xz
-2022/06/15 | 22145 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2022/06/15 | 22186 | macros/luatex/generic/luaotfload/fontloader-l-file.lua
2022/06/15 | 219368 | systems/texlive/tlnet/archive/latexbug.doc.r63596.tar.xz
+2022/06/15 | 21858 | macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua
+2022/06/15 | 21748 | macros/luatex/generic/luaotfload/NEWS
2022/06/15 | 2167 | macros/latex/contrib/thalie/thalie.ins
2022/06/15 | 21589 | graphics/pgf/contrib/pgf-pie/demo/cloud.svg
-2022/06/15 | 213279 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2022/06/15 | 21314 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
2022/06/15 | 2108 | macros/xetex/latex/bidi/bidi-doc-title.ltx
-2022/06/15 | 210276 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2022/06/15 | 208808 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2022/06/15 | 20461892 | systems/texlive/tlnet/install-tl-windows.exe
+2022/06/15 | 20526 | macros/luatex/generic/luaotfload/luaotfload-harf-var-ttf.lua
2022/06/15 | 204222 | macros/latex/contrib/projlib/ProjLib.dtx
-2022/06/15 | 203837 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma
-2022/06/15 | 202836 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2022/06/15 | 20184 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2022/06/15 | 200396 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2022/06/15 | 199832 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2022/06/15 | 1982084 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2022/06/15 | 197036 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2022/06/15 | 20268 | macros/luatex/generic/luaotfload/luaotfload-letterspace.lua
+2022/06/15 | 19944 | macros/luatex/generic/luaotfload/fontloader-font-def.lua
+2022/06/15 | 19746 | macros/luatex/generic/luaotfload/luaotfload-init.lua
+2022/06/15 | 1966772 | install/macros/luatex/generic/luaotfload.tds.zip
2022/06/15 | 1961 | macros/xetex/latex/bidi/bidi-doc-plain-programming.ltx
2022/06/15 | 196172 | graphics/pgf/contrib/pgf-pie/pgf-pie-manual.pdf
-2022/06/15 | 196115 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2022/06/15 | 19564 | macros/luatex/generic/luaotfload/fontloader-font-map.lua
+2022/06/15 | 191 | macros/luatex/generic/luaotfload/shaper-demo-graphite.tex
2022/06/15 | 19107 | graphics/pgf/contrib/pgf-pie/LICENSE-LPPL1.3c.txt
2022/06/15 | 19106 | macros/latex/contrib/thalie/LICENSE.txt
2022/06/15 | 19106 | macros/latex/contrib/projlib/LICENSE
2022/06/15 | 19106 | macros/latex/contrib/create-theorem/LICENSE
-2022/06/15 | 190505 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2022/06/15 | 19082 | macros/luatex/generic/luaotfload/scripts-demo.pdf
+2022/06/15 | 18975 | macros/luatex/generic/luaotfload/luaotfload-harf-define.lua
2022/06/15 | 1877464 | systems/texlive/tlnet/archive/realhats.doc.r63595.tar.xz
-2022/06/15 | 18491 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2022/06/15 | 18717 | macros/luatex/generic/luaotfload/fontloader-font-onr.lua
+2022/06/15 | 18714 | macros/luatex/generic/luaotfload/COPYING
+2022/06/15 | 186209 | macros/luatex/generic/luaotfload/fontloader-font-ots.lua
+2022/06/15 | 1850 | macros/luatex/generic/luaotfload/fontloader-l-boolean.lua
+2022/06/15 | 18411 | macros/luatex/generic/luaotfload/fontloader-font-ota.lua
2022/06/15 | 183 | graphics/pgf/contrib/pgf-pie/demo/explode.tex
-2022/06/15 | 18367 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2022/06/15 | 181515 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2022/06/15 | 18378 | macros/luatex/generic/luaotfload/luaotfload.conf.rst
+2022/06/15 | 18372 | macros/luatex/generic/luaotfload/luaotfload-colors.lua
+2022/06/15 | 182 | macros/luatex/generic/luaotfload/shaper-demo.tex
+2022/06/15 | 1812 | macros/luatex/generic/luaotfload/luaotfload.sty
2022/06/15 | 18093 | graphics/pgf/contrib/pgf-pie/LICENSE-GPL2.txt
2022/06/15 | 179 | graphics/pgf/contrib/pgf-pie/demo/color.tex
-2022/06/15 | 179875 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2022/06/15 | 1794 | macros/luatex/generic/luaotfload/fontloader-font-ini.lua
2022/06/15 | 1792272 | systems/texlive/tlnet/archive/realhats.r63595.tar.xz
2022/06/15 | 178136 | macros/xetex/latex/bidi/bidi-doc.pdf
-2022/06/15 | 1752147 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2022/06/15 | 17513463 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2022/06/15 | 173007 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2022/06/15 | 17340 | macros/latex/contrib/magicwatermark/magicwatermark.dtx
2022/06/15 | 1693 | macros/xetex/latex/bidi/picture.jpg
-2022/06/15 | 168819 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2022/06/15 | 16862 | macros/luatex/generic/luaotfload/luaotfload.conf.5
2022/06/15 | 165 | graphics/pgf/contrib/pgf-pie/demo/radius.tex
-2022/06/15 | 16558 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2022/06/15 | 16502 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
2022/06/15 | 1643 | macros/latex/contrib/thalie/dicts/thalie-fallback.trsl
+2022/06/15 | 16214 | macros/luatex/generic/luaotfload/luaotfload-latex.tex
+2022/06/15 | 16116 | macros/luatex/generic/luaotfload/luaotfload-tool.rst
2022/06/15 | 1596 | graphics/pgf/contrib/pgf-pie/demo/population.tex
2022/06/15 | 158 | graphics/pgf/contrib/pgf-pie/demo/sum.tex
2022/06/15 | 1582 | macros/latex/contrib/thalie/README.md
-2022/06/15 | 156961 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
2022/06/15 | 15580 | systems/texlive/tlnet/archive/denisbdoc.r63589.tar.xz
-2022/06/15 | 155498 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2022/06/15 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2022/06/15 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2022/06/15 | 152029 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2022/06/15 | 154228 | macros/luatex/generic/luaotfload/fontloader-font-dsp.lua
+2022/06/15 | 15196 | macros/luatex/generic/luaotfload/fontloader-reference-load-order.lua
2022/06/15 | 150 | graphics/pgf/contrib/pgf-pie/demo/change-direction.tex
-2022/06/15 | 1501238 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2022/06/15 | 15072 | macros/luatex/generic/luaotfload/luaotfload-case.lua
+2022/06/15 | 15068 | macros/luatex/generic/luaotfload/luaotfload-multiscript.lua
2022/06/15 | 14716 | systems/texlive/tlnet/archive/denisbdoc.doc.r63589.tar.xz
2022/06/15 | 146 | graphics/pgf/contrib/pgf-pie/description.html
-2022/06/15 | 146956 | systems/texlive/tlnet/archive/texlive-msg-translations.r63585.tar.xz
-2022/06/15 | 1463366 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2022/06/15 | 1462849 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2022/06/15 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2022/06/15 | 1454761 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2022/06/15 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2022/06/15 | 14410 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2022/06/15 | 1449 | macros/luatex/generic/luaotfload/fontloader-font-lua.lua
+2022/06/15 | 14285 | macros/luatex/generic/luaotfload/luaotfload-harf-var-cff2.lua
2022/06/15 | 14000 | graphics/pgf/contrib/pgf-pie/tikzlibrarypie.code.tex
2022/06/15 | 1396 | macros/xetex/latex/bidi/bidi-doc-intro.ltx
-2022/06/15 | 139101 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2022/06/15 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r63597.tar.xz
-2022/06/15 | 135947 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2022/06/15 | 1357072 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2022/06/15 | 135376 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2022/06/15 | 13513 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2022/06/15 | 1349044 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
-2022/06/15 | 1348325 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2022/06/15 | 137623 | macros/latex/contrib/magicwatermark/magicwatermark.pdf
+2022/06/15 | 13565 | macros/luatex/generic/luaotfload/luaotfload.lua
+2022/06/15 | 13525 | macros/luatex/generic/luaotfload/fontloader-font-shp.lua
+2022/06/15 | 134172 | macros/luatex/generic/luaotfload/luaotfload-database.lua
2022/06/15 | 1323 | macros/xetex/latex/bidi/README
-2022/06/15 | 1322742 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2022/06/15 | 1302483 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
2022/06/15 | 12 | macros/latex/contrib/create-theorem/DEPENDS.txt
2022/06/15 | 12954 | graphics/pgf/contrib/pgf-pie/demo/first-pie.svg
+2022/06/15 | 12861 | macros/luatex/generic/luaotfload/luaotfload-tool.1
2022/06/15 | 12840 | graphics/pgf/contrib/pgf-pie/demo/polar.svg
+2022/06/15 | 128092 | macros/luatex/generic/luaotfload/fontloader-font-oup.lua
2022/06/15 | 127816 | systems/texlive/tlnet/archive/pdfmanagement-testphase.source.r63594.tar.xz
2022/06/15 | 12750 | graphics/pgf/contrib/pgf-pie/demo/square.svg
+2022/06/15 | 12745 | macros/luatex/generic/luaotfload/fontloader-basics-gen.lua
+2022/06/15 | 12704 | macros/luatex/generic/luaotfload/fontloader-font-imp-effects.lua
2022/06/15 | 12692 | systems/texlive/tlnet/archive/latexbug.source.r63596.tar.xz
-2022/06/15 | 126533 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2022/06/15 | 1256484 | systems/texlive/tlnet/archive/tex4ht.source.r63597.tar.xz
-2022/06/15 | 120616 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2022/06/15 | 1181126 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2022/06/15 | 12224 | macros/luatex/generic/luaotfload/luaotfload-notdef.lua
+2022/06/15 | 119949 | macros/luatex/generic/luaotfload/fontloader-font-osd.lua
+2022/06/15 | 11988 | macros/luatex/generic/luaotfload/fontloader-l-io.lua
2022/06/15 | 1180784 | systems/texlive/tlnet/archive/gzt.doc.r63591.tar.xz
2022/06/15 | 115 | graphics/pgf/contrib/pgf-pie/demo/shadow.tex
-2022/06/15 | 115656 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2022/06/15 | 1156465 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2022/06/15 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
-2022/06/15 | 113052 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2022/06/15 | 112589 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2022/06/15 | 112040 | systems/texlive/tlnet/archive/texlive-scripts.r63586.tar.xz
-2022/06/15 | 109478 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2022/06/15 | 107704 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2022/06/15 | 11474 | macros/luatex/generic/luaotfload/fontloader-util-fil.lua
+2022/06/15 | 11323 | macros/luatex/generic/luaotfload/luaotfload-log.lua
+2022/06/15 | 11209 | macros/luatex/generic/luaotfload/luaotfload-resolvers.lua
+2022/06/15 | 107622 | systems/texlive/tlnet/tlpkg/translations/ru.po
+2022/06/15 | 10733 | macros/luatex/generic/luaotfload/luaotfload-loaders.lua
2022/06/15 | 1067 | macros/latex/contrib/thalie/dicts/thalie-german.trsl
+2022/06/15 | 106114 | macros/luatex/generic/luaotfload/luaotfload-main.tex
2022/06/15 | 104 | graphics/pgf/contrib/pgf-pie/demo/before-after-number.tex
-2022/06/15 | 104555 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2022/06/15 | 103336 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2022/06/15 | 103093 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2022/06/15 | 103515 | systems/texlive/tlnet/tlpkg/translations/sr.po
2022/06/15 | 1027 | macros/latex/contrib/thalie/dicts/thalie-french.trsl
+2022/06/15 | 102502 | macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua
2022/06/15 | 1022 | macros/latex/contrib/thalie/dicts/thalie-italian.trsl
-2022/06/15 | 1021846 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2022/06/15 | 10207 | macros/luatex/generic/luaotfload/fontloader-basics-nod.lua
2022/06/15 | 100 | graphics/pgf/contrib/pgf-pie/demo/cloud.tex
-2022/06/15 | 100486 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2022/06/15 | 1004 | macros/luatex/generic/luaotfload/luaotfload-embolden.lua
2022/06/15 | 1002273 | macros/xetex/latex/bidi/bidi.dtx
2022/06/15 | 1001 | macros/latex/contrib/thalie/dicts/thalie-english.trsl
2022/06/14 | 99724 | macros/latex/contrib/diffcoeff/diffcoeff.tex
2022/06/14 | 9724 | systems/texlive/tlnet/archive/ligtype.r63577.tar.xz
2022/06/14 | 953783 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
-2022/06/14 | 94346 | systems/texlive/tlnet/tlpkg/translations/fr.po
2022/06/14 | 92698 | macros/generic/olsak-misc.zip
2022/06/14 | 908 | macros/latex/contrib/hyperref/doc/hyperref-doc2.html
2022/06/14 | 90712 | systems/texlive/tlnet/archive/ligtype.doc.r63577.tar.xz
-2022/06/14 | 90624 | systems/texlive/tlnet/tlpkg/translations/vi.po
-2022/06/14 | 89918 | systems/texlive/tlnet/tlpkg/translations/de.po
-2022/06/14 | 89282 | systems/texlive/tlnet/tlpkg/translations/sk.po
2022/06/14 | 8912 | systems/texlive/tlnet/archive/graphics-pln.r63579.tar.xz
-2022/06/14 | 87939 | systems/texlive/tlnet/tlpkg/translations/it.po
2022/06/14 | 877450 | macros/latex/contrib/hyperref/hyperref.dtx
2022/06/14 | 858 | macros/latex/contrib/hyperref/doc/hyperref-doc5.html
2022/06/14 | 84741 | language/greek/greek-fontenc/textalpha-tu.pdf
-2022/06/14 | 82791 | systems/texlive/tlnet/tlpkg/translations/pt_BR.po
-2022/06/14 | 82459 | systems/texlive/tlnet/tlpkg/translations/cs.po
-2022/06/14 | 80620 | systems/texlive/tlnet/tlpkg/translations/uk.po
2022/06/14 | 8060 | support/TeX4ht/source/mktex4ht-cnf.tex
-2022/06/14 | 79606 | systems/texlive/tlnet/tlpkg/translations/es.po
2022/06/14 | 7863 | macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
2022/06/14 | 78564 | language/greek/greek-fontenc/tuenc-greek.def.html
2022/06/14 | 771 | macros/latex/contrib/hyperref/doc/hyperref-doc3.html
@@ -343,9 +1005,7 @@
2022/06/14 | 7543 | macros/latex/contrib/hyperref/hyperref-patches.dtx
2022/06/14 | 739385 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
2022/06/14 | 72146 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
-2022/06/14 | 7165 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2022/06/14 | 7136 | macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
-2022/06/14 | 70484 | systems/texlive/tlnet/tlpkg/translations/sl.po
2022/06/14 | 69728 | systems/texlive/tlnet/archive/latexindent.r63581.tar.xz
2022/06/14 | 696938 | macros/latex/contrib/diffcoeff.zip
2022/06/14 | 682784 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
@@ -353,23 +1013,18 @@
2022/06/14 | 67879 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
2022/06/14 | 676 | language/greek/greek-fontenc/makeattest.tex
2022/06/14 | 674451 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
-2022/06/14 | 67351 | systems/texlive/tlnet/tlpkg/translations/pl.po
2022/06/14 | 672805 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
2022/06/14 | 6463 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
2022/06/14 | 64084 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
-2022/06/14 | 63592 | systems/texlive/tlnet/tlpkg/translations/zh_CN.po
2022/06/14 | 63538 | language/greek/greek-fontenc/makeattest.pdf
-2022/06/14 | 62886 | systems/texlive/tlnet/tlpkg/translations/ja.po
2022/06/14 | 625 | language/greek/greek-fontenc/greek-euenc.def
2022/06/14 | 6129 | macros/generic/olsak-misc/cropmarks.tex
2022/06/14 | 60134 | language/greek/greek-fontenc/README.html
2022/06/14 | 59840 | systems/texlive/tlnet/archive/showhyphenation.doc.r63578.tar.xz
2022/06/14 | 59557 | macros/latex/required/latexbug/latexbug.dtx
-2022/06/14 | 58251 | systems/texlive/tlnet/tlpkg/translations/nl.po
2022/06/14 | 581124 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
2022/06/14 | 580 | macros/latex/contrib/pdfmanagement-testphase/transparent-ltx.sty
2022/06/14 | 578204 | macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
-2022/06/14 | 57728 | systems/texlive/tlnet/tlpkg/translations/da.po
2022/06/14 | 573866 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
2022/06/14 | 5736 | macros/latex/contrib/hyperref/xr-hyper.sty
2022/06/14 | 56740 | language/greek/greek-fontenc/lgrenc.def.html
@@ -377,7 +1032,6 @@
2022/06/14 | 552527 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
2022/06/14 | 547234 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
2022/06/14 | 54632 | systems/texlive/tlnet/archive/yathesis.source.r63576.tar.xz
-2022/06/14 | 53523 | systems/texlive/tlnet/tlpkg/translations/zh_TW.po
2022/06/14 | 533482 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
2022/06/14 | 530285 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
2022/06/14 | 525675 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
@@ -395,7 +1049,6 @@
2022/06/14 | 4884 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.ins
2022/06/14 | 4763 | language/greek/greek-fontenc/Makefile
2022/06/14 | 47446 | language/greek/greek-fontenc/textalpha.sty.html
-2022/06/14 | 47295 | systems/texlive/tlnet/tlpkg/translations/messages.pot
2022/06/14 | 4601 | language/greek/greek-fontenc/lgr2licr.lua
2022/06/14 | 45639 | language/greek/greek-fontenc/greek-fontenc.html
2022/06/14 | 4479 | macros/latex/contrib/hyperref/README.md
@@ -411,7 +1064,6 @@
2022/06/14 | 4066472 | systems/texlive/tlnet/archive/latexindent.win32.r63581.tar.xz
2022/06/14 | 404511 | macros/latex/contrib/hyperref/doc/hyperref-linktarget.pdf
2022/06/14 | 4041 | macros/latex/contrib/pdfmanagement-testphase/l3ref-tmp.sty
-2022/06/14 | 3985124 | systems/texlive/tlnet/archive/bidi.doc.r63580.tar.xz
2022/06/14 | 395145 | language/greek/greek-fontenc/test-inputenc.pdf
2022/06/14 | 387 | macros/latex/contrib/hypdoc/README.md
2022/06/14 | 385316 | macros/latex/contrib/pdfmanagement-testphase/output-patches-tmp-ltx.pdf
@@ -462,7 +1114,6 @@
2022/06/14 | 20475 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
2022/06/14 | 19689 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
2022/06/14 | 1963 | macros/latex/required/latexbug/latexbug.ins
-2022/06/14 | 195225 | support/TeX4ht/source/ChangeLog
2022/06/14 | 19455 | macros/latex/contrib/hyperref/hyperref-linktarget.dtx
2022/06/14 | 1929 | macros/latex/contrib/hyperref/manifest.txt
2022/06/14 | 18724 | language/greek/greek-fontenc/test-inputenc.tex
@@ -480,10 +1131,8 @@
2022/06/14 | 15409 | language/greek/greek-fontenc/alphabeta-tuenc.def
2022/06/14 | 150154 | macros/latex/contrib/pdfmanagement-testphase/fontspec-luatex-tmp-ltx.sty
2022/06/14 | 14834 | macros/latex/contrib/hyperref/doc/hyperref-doc.css
-2022/06/14 | 145584 | systems/texlive/tlnet/archive/bidi.source.r63580.tar.xz
2022/06/14 | 1397 | macros/latex/required/latexbug/changes.txt
2022/06/14 | 132446 | macros/latex/contrib/hyperref/doc/paper.pdf
-2022/06/14 | 128812 | systems/texlive/tlnet/archive/bidi.r63580.tar.xz
2022/06/14 | 1276 | macros/generic/olsak-misc/README
2022/06/14 | 121294 | macros/latex/contrib/hyperref/ChangeLog.txt
2022/06/14 | 1200 | macros/latex/contrib/pdfmanagement-testphase/README.md
@@ -493,8 +1142,6 @@
2022/06/14 | 1122701 | support/TeX4ht/source/tex4ht-4ht.tex
2022/06/14 | 11217994 | macros/latex/contrib/pdfmanagement-testphase.zip
2022/06/14 | 1077 | macros/latex/contrib/diffcoeff/README.txt
-2022/06/14 | 107622 | systems/texlive/tlnet/tlpkg/translations/ru.po
-2022/06/14 | 103515 | systems/texlive/tlnet/tlpkg/translations/sr.po
2022/06/14 | 1006 | macros/latex/contrib/hyperref/doc/hyperref-doc4.html
2022/06/13 | 99077623 | systems/win32/TLW64/tl-win64.zip
2022/06/13 | 929652 | systems/texlive/tlnet/archive/xcolor.doc.r63563.tar.xz
@@ -719,7 +1366,6 @@
2022/06/12 | 666 | support/texlab/src/syntax/latex/analysis/command.rs
2022/06/12 | 6630 | support/texlab/src/syntax/bibtex/snapshots/texlab__syntax__bibtex__tests__biblatex_examples_003.snap
2022/06/12 | 66115 | support/latexindent/documentation/subsec-poly-switches.tex
-2022/06/12 | 65 | systems/mac/mactex/mactex-MacTeXtras-20220612.zip.md5
2022/06/12 | 655 | support/texlab/src/syntax/latex/snapshots/texlab__syntax__latex__parser__tests__asymptote.snap
2022/06/12 | 6522 | support/latexindent/LatexIndent/OptionalArgument.pm
2022/06/12 | 6507 | systems/win32/miktex/tm/packages/hvextern.tar.lzma
@@ -788,12 +1434,10 @@
2022/06/12 | 5267458 | systems/win32/miktex/tm/packages/pax.tar.lzma
2022/06/12 | 5266 | support/latexindent/documentation/subsubsec-headings.tex
2022/06/12 | 521 | support/texlab/src/syntax/latex/snapshots/texlab__syntax__latex__parser__tests__structure_invalid_nesting.snap
-2022/06/12 | 514306780 | systems/mac/mactex/mactex-MacTeXtras-20220612.zip
2022/06/12 | 51260 | support/texlab/src/syntax/latex/parser.rs
2022/06/12 | 511 | support/texlab/tests/integration/lsp/text_document/snapshots/integration__lsp__text_document__completion__citation_acronym.snap
2022/06/12 | 50 | support/texlab/src/syntax.rs
2022/06/12 | 50827 | systems/win32/miktex/tm/packages/zref-clever__source.tar.lzma
-2022/06/12 | 49 | systems/mac/mactex/MacTeXtras.zip.md5
2022/06/12 | 497 | support/texlab/src/syntax/latex/snapshots/texlab__syntax__latex__parser__tests__color_set_definition_error3.snap
2022/06/12 | 4962 | support/texlab/tests/integration/lsp/text_document/references.rs
2022/06/12 | 494 | support/texlab/tests/integration/lsp/text_document/snapshots/integration__lsp__text_document__completion__citation_open_brace_multiple.snap
@@ -888,7 +1532,6 @@
2022/06/12 | 3838 | systems/win32/miktex/tm/packages/gamebooklib.tar.lzma
2022/06/12 | 3831 | support/latexindent/documentation/subsubsec-special.tex
2022/06/12 | 381 | support/texlab/tests/integration/lsp/text_document/snapshots/integration__lsp__text_document__completion__entry_type_before_preamble.snap
-2022/06/12 | 38151 | systems/mac/mactex/ExtrasFolder.pdf
2022/06/12 | 3812 | graphics/mcf2graph/mcf_exa_code.tex
2022/06/12 | 380 | support/texlab/tests/integration/lsp/text_document/snapshots/integration__lsp__text_document__completion__entry_type_after_string.snap
2022/06/12 | 380190 | support/texlab/docs/demo.gif
@@ -1133,8 +1776,6 @@
2022/06/12 | 1642 | support/texlab/src/features/completion/glossary_ref.rs
2022/06/12 | 1631 | support/texlab/src/citation/field/author.rs
2022/06/12 | 1624 | support/texlab/tests/integration/lsp/text_document/snapshots/integration__lsp__text_document__document_symbol__enumerate_flat.snap
-2022/06/12 | 161 | systems/mac/mactex/mactex-MacTeXtras-20220612.zip.sha512
-2022/06/12 | 1612 | systems/mac/mactex/Licenses.txt
2022/06/12 | 1606243 | systems/win32/miktex/tm/packages/xecjk__doc.tar.lzma
2022/06/12 | 1601 | support/texlab/tests/integration/lsp/text_document/document_link.rs
2022/06/12 | 15976 | support/latexindent/documentation/sec-fine-tuning.tex
@@ -1164,7 +1805,6 @@
2022/06/12 | 146655 | systems/win32/miktex/tm/packages/nicematrix__source.tar.lzma
2022/06/12 | 1464 | support/texlab/tests/integration/lsp/text_document/snapshots/integration__lsp__text_document__completion__field_entry_two_fields_name_closed.snap
2022/06/12 | 1463 | support/texlab/tests/integration/lsp/text_document/snapshots/integration__lsp__text_document__completion__field_entry_two_fields_name_open.snap
-2022/06/12 | 145 | systems/mac/mactex/MacTeXtras.zip.sha512
2022/06/12 | 14575 | graphics/mcf2graph/mcf_mplib_exa.tex
2022/06/12 | 1455 | support/texlab/tests/integration/lsp/text_document/snapshots/integration__lsp__text_document__completion__import_class_open_brace.snap
2022/06/12 | 14551 | support/texlab/src/syntax/bibtex/snapshots/texlab__syntax__bibtex__tests__biblatex_examples_001.snap
@@ -1339,7 +1979,6 @@
2022/06/11 | 1131784 | systems/texlive/tlnet/archive/hvextern.doc.r63535.tar.xz
2022/06/11 | 1079700 | systems/texlive/tlnet/archive/kpathsea.doc.r63534.tar.xz
2022/06/11 | 1067429 | macros/generic/xint/xint.pdf
-2022/06/11 | 10482 | support/TeX4ht/source/tex4ht-jats.tex
2022/06/11 | 1031 | macros/luatex/latex/spacekern/spacekern.sty
2022/06/11 | 1012124 | systems/texlive/tlnet/archive/xepersian.doc.r63540.tar.xz
2022/06/10 | 9684 | macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
@@ -1473,46 +2112,3 @@
2022/06/10 | 101331 | graphics/mcf2graph/mcf_library.mcf
2022/06/10 | 10092 | systems/texlive/tlnet/archive/xebaposter.r63513.tar.xz
2022/06/10 | 10078 | macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
-2022/06/09 | 967162 | macros/xetex/latex/thesis-qom/doc/thesis-qom.pdf
-2022/06/09 | 898 | macros/xetex/latex/thesis-qom/doc/dicen2fa.tex
-2022/06/09 | 816 | macros/xetex/latex/thesis-qom/doc/labs.tex
-2022/06/09 | 806 | macros/luatex/generic/luakeys/luakeys.sty
-2022/06/09 | 793 | macros/luatex/generic/luakeys/luakeys-debug.sty
-2022/06/09 | 75579 | macros/xetex/latex/thesis-qom/doc/images/Print-PDF.png
-2022/06/09 | 70213 | macros/xetex/latex/thesis-qom/doc/images/bidabad.png
-2022/06/09 | 701 | macros/luatex/generic/luakeys/luakeys.tex
-2022/06/09 | 68050 | macros/xetex/latex/thesis-qom/doc/images/logo.jpg
-2022/06/09 | 67442 | macros/xetex/latex/thesis-qom/doc/images/test-crop.jpg
-2022/06/09 | 6618 | macros/xetex/latex/thesis-qom/doc/settings.tex
-2022/06/09 | 6517 | macros/xetex/latex/thesis-qom/doc/images/knuth.jpg
-2022/06/09 | 633 | macros/xetex/latex/thesis-qom/doc/images/comma.png
-2022/06/09 | 58758 | macros/xetex/latex/thesis-qom/doc/images/texworks_preferences.png
-2022/06/09 | 560 | macros/latex/contrib/coollist/README
-2022/06/09 | 55889 | macros/xetex/latex/thesis-qom/tex/thesis-qom.cls
-2022/06/09 | 4915 | macros/xetex/latex/thesis-qom/doc/chapters/preface.tex
-2022/06/09 | 4418 | macros/luatex/generic/luakeys/README.md
-2022/06/09 | 42018 | macros/xetex/latex/thesis-qom/doc/chapters/qomthesis-guide.tex
-2022/06/09 | 39839 | macros/luatex/generic/luakeys/luakeys-doc.tex
-2022/06/09 | 38724 | macros/xetex/latex/thesis-qom/doc/images/basmalah.jpg
-2022/06/09 | 35499 | macros/xetex/latex/thesis-qom/doc/images/Xindy_Make_Index.png
-2022/06/09 | 32259 | macros/latex/contrib/coollist/coollist.dtx
-2022/06/09 | 30790 | macros/luatex/generic/luakeys/luakeys.lua
-2022/06/09 | 28998 | macros/xetex/latex/thesis-qom/doc/chapters/intro.tex
-2022/06/09 | 270687 | macros/luatex/generic/luakeys.zip
-2022/06/09 | 254353 | macros/luatex/generic/luakeys/luakeys-doc.pdf
-2022/06/09 | 25126 | macros/xetex/latex/thesis-qom/doc/images/xindy_shellescape.png
-2022/06/09 | 17904 | macros/xetex/latex/thesis-qom/doc/chapters/morelatex.tex
-2022/06/09 | 17192 | macros/xetex/latex/thesis-qom/doc/chapters/bib-index.tex
-2022/06/09 | 1706 | macros/luatex/generic/luakeys/luakeys-debug.tex
-2022/06/09 | 1496659 | macros/xetex/latex/thesis-qom.zip
-2022/06/09 | 14960 | macros/xetex/latex/thesis-qom/doc/chapters/installation.tex
-2022/06/09 | 14832 | macros/xetex/latex/thesis-qom/doc/chapters/latexCommands.tex
-2022/06/09 | 13663 | macros/xetex/latex/thesis-qom/doc/chapters/realSample.tex
-2022/06/09 | 1344 | macros/xetex/latex/thesis-qom/doc/thesis-qom.tex
-2022/06/09 | 119365 | macros/latex/contrib/coollist.zip
-2022/06/09 | 11582 | macros/xetex/latex/thesis-qom/doc/chapters/correctWriting.tex
-2022/06/09 | 110824 | macros/xetex/latex/thesis-qom/doc/images/bibref.png
-2022/06/09 | 10845 | macros/xetex/latex/thesis-qom/doc/images/lamport.jpg
-2022/06/09 | 10805 | macros/xetex/latex/thesis-qom/doc/references.bib
-2022/06/09 | 1007 | macros/xetex/latex/thesis-qom/README
-2022/06/09 | 1005 | macros/xetex/latex/thesis-qom/doc/dicfa2en.tex
diff --git a/macros/latex/base/README.md b/macros/latex/base/README.md
index 436bffdd5e..302fb3d4ad 100644
--- a/macros/latex/base/README.md
+++ b/macros/latex/base/README.md
@@ -1,7 +1,7 @@
The LaTeX kernel
================
-Release 2022-06-01
+Release 2022-06-01 patch level 1
Overview
--------
diff --git a/macros/latex/base/alltt.pdf b/macros/latex/base/alltt.pdf
index 7f53e4ee12..b68240407e 100644
--- a/macros/latex/base/alltt.pdf
+++ b/macros/latex/base/alltt.pdf
Binary files differ
diff --git a/macros/latex/base/cfgguide.pdf b/macros/latex/base/cfgguide.pdf
index d018177ecb..3340e6d405 100644
--- a/macros/latex/base/cfgguide.pdf
+++ b/macros/latex/base/cfgguide.pdf
Binary files differ
diff --git a/macros/latex/base/changes.txt b/macros/latex/base/changes.txt
index f880f43d67..ce72312d3d 100644
--- a/macros/latex/base/changes.txt
+++ b/macros/latex/base/changes.txt
@@ -10,6 +10,21 @@ are not part of the distribution.
All changes above are only part of the development branch for the next release.
================================================================================
+2022-06-16 Joseph Wright <Joseph.Wright@latex-proejct.org>
+
+ * ltkeys.dtx (subsection{Main mechanism})
+ Remove key name but avoid touching key value in \@unusedoptionlist
+
+2022-06-15 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * lthooks.dtx (subsubsection{Disabling and providing hooks}):
+ Ensure that a newly activated generic hook gets its execution code set
+
+2022-06-14 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltxdoc.dtx: Delay definitions of \enquote etc in case they get defined in
+ the preamble of existing documents.
+
#########################
# 2022-06-01 Release
#########################
diff --git a/macros/latex/base/classes.pdf b/macros/latex/base/classes.pdf
index 20fbdaf242..7d1b9e8453 100644
--- a/macros/latex/base/classes.pdf
+++ b/macros/latex/base/classes.pdf
Binary files differ
diff --git a/macros/latex/base/clsguide.pdf b/macros/latex/base/clsguide.pdf
index 11d0c9e47a..f5f716adf9 100644
--- a/macros/latex/base/clsguide.pdf
+++ b/macros/latex/base/clsguide.pdf
Binary files differ
diff --git a/macros/latex/base/cmfonts.pdf b/macros/latex/base/cmfonts.pdf
index 5c25484024..ab94f922d4 100644
--- a/macros/latex/base/cmfonts.pdf
+++ b/macros/latex/base/cmfonts.pdf
Binary files differ
diff --git a/macros/latex/base/cyrguide.pdf b/macros/latex/base/cyrguide.pdf
index e9fa336379..f46472597d 100644
--- a/macros/latex/base/cyrguide.pdf
+++ b/macros/latex/base/cyrguide.pdf
Binary files differ
diff --git a/macros/latex/base/doc-code.pdf b/macros/latex/base/doc-code.pdf
index 9d52323c41..38d4f82330 100644
--- a/macros/latex/base/doc-code.pdf
+++ b/macros/latex/base/doc-code.pdf
Binary files differ
diff --git a/macros/latex/base/doc.pdf b/macros/latex/base/doc.pdf
index c649645b07..6796c27a54 100644
--- a/macros/latex/base/doc.pdf
+++ b/macros/latex/base/doc.pdf
Binary files differ
diff --git a/macros/latex/base/docstrip.pdf b/macros/latex/base/docstrip.pdf
index 07457cea0d..47ad57079c 100644
--- a/macros/latex/base/docstrip.pdf
+++ b/macros/latex/base/docstrip.pdf
Binary files differ
diff --git a/macros/latex/base/encguide.pdf b/macros/latex/base/encguide.pdf
index fca0d5c611..196ccc9edd 100644
--- a/macros/latex/base/encguide.pdf
+++ b/macros/latex/base/encguide.pdf
Binary files differ
diff --git a/macros/latex/base/exscale.pdf b/macros/latex/base/exscale.pdf
index ac3162238a..94ad97b2fc 100644
--- a/macros/latex/base/exscale.pdf
+++ b/macros/latex/base/exscale.pdf
Binary files differ
diff --git a/macros/latex/base/fix-cm.pdf b/macros/latex/base/fix-cm.pdf
index ffe0337c9b..8aac40d3bd 100644
--- a/macros/latex/base/fix-cm.pdf
+++ b/macros/latex/base/fix-cm.pdf
Binary files differ
diff --git a/macros/latex/base/fntguide.pdf b/macros/latex/base/fntguide.pdf
index 34bae59bea..5e46ecc713 100644
--- a/macros/latex/base/fntguide.pdf
+++ b/macros/latex/base/fntguide.pdf
Binary files differ
diff --git a/macros/latex/base/graphpap.pdf b/macros/latex/base/graphpap.pdf
index 2caa28232f..1ed2f69711 100644
--- a/macros/latex/base/graphpap.pdf
+++ b/macros/latex/base/graphpap.pdf
Binary files differ
diff --git a/macros/latex/base/ifthen.pdf b/macros/latex/base/ifthen.pdf
index fe7349820d..e0aac52ba3 100644
--- a/macros/latex/base/ifthen.pdf
+++ b/macros/latex/base/ifthen.pdf
Binary files differ
diff --git a/macros/latex/base/inputenc.pdf b/macros/latex/base/inputenc.pdf
index 274e06fbc0..5b80585b56 100644
--- a/macros/latex/base/inputenc.pdf
+++ b/macros/latex/base/inputenc.pdf
Binary files differ
diff --git a/macros/latex/base/lamport-manual.pdf b/macros/latex/base/lamport-manual.pdf
index a39bb10333..8a7a7cf083 100644
--- a/macros/latex/base/lamport-manual.pdf
+++ b/macros/latex/base/lamport-manual.pdf
Binary files differ
diff --git a/macros/latex/base/latexrelease.pdf b/macros/latex/base/latexrelease.pdf
index 8724a65da4..12f09cd026 100644
--- a/macros/latex/base/latexrelease.pdf
+++ b/macros/latex/base/latexrelease.pdf
Binary files differ
diff --git a/macros/latex/base/latexsym.pdf b/macros/latex/base/latexsym.pdf
index 91835c6c0a..8ba858063c 100644
--- a/macros/latex/base/latexsym.pdf
+++ b/macros/latex/base/latexsym.pdf
Binary files differ
diff --git a/macros/latex/base/lb2.pdf b/macros/latex/base/lb2.pdf
index b192987d57..64053ba56c 100644
--- a/macros/latex/base/lb2.pdf
+++ b/macros/latex/base/lb2.pdf
Binary files differ
diff --git a/macros/latex/base/letter.pdf b/macros/latex/base/letter.pdf
index cc9cc990ff..21e1df4f36 100644
--- a/macros/latex/base/letter.pdf
+++ b/macros/latex/base/letter.pdf
Binary files differ
diff --git a/macros/latex/base/lgc2.pdf b/macros/latex/base/lgc2.pdf
index 885057e32b..8c0459b7ab 100644
--- a/macros/latex/base/lgc2.pdf
+++ b/macros/latex/base/lgc2.pdf
Binary files differ
diff --git a/macros/latex/base/lppl.pdf b/macros/latex/base/lppl.pdf
index 1e9a4ce081..916caca462 100644
--- a/macros/latex/base/lppl.pdf
+++ b/macros/latex/base/lppl.pdf
Binary files differ
diff --git a/macros/latex/base/ltcmdhooks-code.pdf b/macros/latex/base/ltcmdhooks-code.pdf
index 70eeb7d4dd..9f11b67c39 100644
--- a/macros/latex/base/ltcmdhooks-code.pdf
+++ b/macros/latex/base/ltcmdhooks-code.pdf
Binary files differ
diff --git a/macros/latex/base/ltcmdhooks-doc.pdf b/macros/latex/base/ltcmdhooks-doc.pdf
index 9bb4f81784..3a2d5d871b 100644
--- a/macros/latex/base/ltcmdhooks-doc.pdf
+++ b/macros/latex/base/ltcmdhooks-doc.pdf
Binary files differ
diff --git a/macros/latex/base/ltfilehook-code.pdf b/macros/latex/base/ltfilehook-code.pdf
index 1c2731b68b..3e1f2c268c 100644
--- a/macros/latex/base/ltfilehook-code.pdf
+++ b/macros/latex/base/ltfilehook-code.pdf
Binary files differ
diff --git a/macros/latex/base/ltfilehook-doc.pdf b/macros/latex/base/ltfilehook-doc.pdf
index b41f835379..36fce9e03a 100644
--- a/macros/latex/base/ltfilehook-doc.pdf
+++ b/macros/latex/base/ltfilehook-doc.pdf
Binary files differ
diff --git a/macros/latex/base/lthooks-code.pdf b/macros/latex/base/lthooks-code.pdf
index 244eed91e2..86a0c63692 100644
--- a/macros/latex/base/lthooks-code.pdf
+++ b/macros/latex/base/lthooks-code.pdf
Binary files differ
diff --git a/macros/latex/base/lthooks-doc.pdf b/macros/latex/base/lthooks-doc.pdf
index 266cd976ac..cf90a3a98a 100644
--- a/macros/latex/base/lthooks-doc.pdf
+++ b/macros/latex/base/lthooks-doc.pdf
Binary files differ
diff --git a/macros/latex/base/lthooks.dtx b/macros/latex/base/lthooks.dtx
index 06a0e8258f..cfa1454775 100644
--- a/macros/latex/base/lthooks.dtx
+++ b/macros/latex/base/lthooks.dtx
@@ -31,8 +31,8 @@
%%% From File: lthooks.dtx
%
% \begin{macrocode}
-\def\lthooksversion{v1.0u}
-\def\lthooksdate{2022/05/19}
+\def\lthooksversion{v1.0v}
+\def\lthooksdate{2022/06/15}
% \end{macrocode}
%
%<*driver>
@@ -2649,6 +2649,13 @@
\@@_make_usable:n {#1}
\tl_gset:cx { g_@@_#1_reversed_tl }
{ \@@_if_generic_reversed:nT {#1} { - } }
+% \end{macrocode}
+% Reflect that we have activated the generic hook and set its
+% execution code.
+% \changes{v1.0v}{2022/06/15}{Ensure that a newly activated generic hook
+% gets its execution code set}
+% \begin{macrocode}
+ \@@_update_hook_code:n {#1}
}
}
}
diff --git a/macros/latex/base/ltkeys.dtx b/macros/latex/base/ltkeys.dtx
index 00c2600289..c6dfa5f6dd 100644
--- a/macros/latex/base/ltkeys.dtx
+++ b/macros/latex/base/ltkeys.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltkeys.dtx}
- [2022/02/21 v1.0f LaTeX Kernel (Kevyal options)]
+ [2022/06/16 v1.0g LaTeX Kernel (Kevyal options)]
% \iffalse
\documentclass{l3doc}
\GetFileInfo{ltkeys.dtx}
@@ -277,6 +277,9 @@
% \end{macro}
%
% \begin{macro}{\@@_options_class:n}
+% \changes{v1.0g}{2022/06/16}{Better handling of option removal}
+% \begin{macro}{\@@_options_remove:nnn}
+% \changes{v1.0g}{2022/06/16}{New function}
% For classes, each option (stripped of any content after |=|)
% is checked for existence as a key. If found, the option is added to
% the combined list for processing. On the other hand, unused options
@@ -296,18 +299,26 @@
{
\clist_map_inline:cn { opt@ \@currname . \@currext }
{
- \keys_if_exist:neTF
- {#1} { \@@_remove_equals:n {##1} }
- { \clist_put_right:Nn \l_@@_options_clist {##1} }
- { \clist_put_right:Nn \@unusedoptionlist {##1} }
+ \@@_options_remove:enn
+ { \@@_remove_equals:n {##1} }
+ {##1} {#1}
}
}
}
}
+\cs_new_protected:Npn \@@_options_remove:nnn #1#2#3
+ {
+ \keys_if_exist:nnTF {#3} {#1}
+ { \clist_put_right:Nn \l_@@_options_clist {#2} }
+ { \clist_put_right:Nn \@unusedoptionlist {#1} }
+ }
+\cs_generate_variant:Nn \@@_options_remove:nnn { e }
% \end{macrocode}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@@_options_package:n}
+% \changes{v1.0g}{2022/06/16}{Better handling of option removal}
% For global options when processing a package, the tasks are slightly
% different from those for a class. The check is the same, but here
% there is nothing to do if the option is not applicable. Each valid
@@ -317,11 +328,9 @@
{
\clist_map_inline:Nn \@classoptionslist
{
- \keys_if_exist:neT {#1} { \@@_remove_equals:n {##1} }
- {
- \clist_put_right:Nn \l_@@_options_clist {##1}
- \clist_remove_all:Nn \@unusedoptionlist {##1}
- }
+ \@@_options_remove:enn
+ { \@@_remove_equals:n {##1} }
+ {##1} {#1}
}
}
% \end{macrocode}
diff --git a/macros/latex/base/ltluatex.pdf b/macros/latex/base/ltluatex.pdf
index 613b669f2f..715cccdc7a 100644
--- a/macros/latex/base/ltluatex.pdf
+++ b/macros/latex/base/ltluatex.pdf
Binary files differ
diff --git a/macros/latex/base/ltmarks-code.pdf b/macros/latex/base/ltmarks-code.pdf
index 719155ba02..2ebc5271db 100644
--- a/macros/latex/base/ltmarks-code.pdf
+++ b/macros/latex/base/ltmarks-code.pdf
Binary files differ
diff --git a/macros/latex/base/ltmarks-doc.pdf b/macros/latex/base/ltmarks-doc.pdf
index b329ad81df..705938d156 100644
--- a/macros/latex/base/ltmarks-doc.pdf
+++ b/macros/latex/base/ltmarks-doc.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews.pdf b/macros/latex/base/ltnews.pdf
index a55de7eb1c..20e8dea9a4 100644
--- a/macros/latex/base/ltnews.pdf
+++ b/macros/latex/base/ltnews.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews01.pdf b/macros/latex/base/ltnews01.pdf
index ed4420fac7..f77a5b28d9 100644
--- a/macros/latex/base/ltnews01.pdf
+++ b/macros/latex/base/ltnews01.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews02.pdf b/macros/latex/base/ltnews02.pdf
index dced90a7bd..0a33f62e06 100644
--- a/macros/latex/base/ltnews02.pdf
+++ b/macros/latex/base/ltnews02.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews03.pdf b/macros/latex/base/ltnews03.pdf
index a6f83c70e3..53c96235c7 100644
--- a/macros/latex/base/ltnews03.pdf
+++ b/macros/latex/base/ltnews03.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews04.pdf b/macros/latex/base/ltnews04.pdf
index d9eb536b86..5547952ef6 100644
--- a/macros/latex/base/ltnews04.pdf
+++ b/macros/latex/base/ltnews04.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews05.pdf b/macros/latex/base/ltnews05.pdf
index b24151feed..ff24fd0a87 100644
--- a/macros/latex/base/ltnews05.pdf
+++ b/macros/latex/base/ltnews05.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews06.pdf b/macros/latex/base/ltnews06.pdf
index d6ff0c4ce8..6f78782136 100644
--- a/macros/latex/base/ltnews06.pdf
+++ b/macros/latex/base/ltnews06.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews07.pdf b/macros/latex/base/ltnews07.pdf
index 03172d6299..e20380a79b 100644
--- a/macros/latex/base/ltnews07.pdf
+++ b/macros/latex/base/ltnews07.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews08.pdf b/macros/latex/base/ltnews08.pdf
index 1500a3b436..30bab4f8af 100644
--- a/macros/latex/base/ltnews08.pdf
+++ b/macros/latex/base/ltnews08.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews09.pdf b/macros/latex/base/ltnews09.pdf
index 46b251d25c..574b47fa54 100644
--- a/macros/latex/base/ltnews09.pdf
+++ b/macros/latex/base/ltnews09.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews10.pdf b/macros/latex/base/ltnews10.pdf
index 71203b94e1..9ea06f76ca 100644
--- a/macros/latex/base/ltnews10.pdf
+++ b/macros/latex/base/ltnews10.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews11.pdf b/macros/latex/base/ltnews11.pdf
index 0b5e3aee42..ebe4532b73 100644
--- a/macros/latex/base/ltnews11.pdf
+++ b/macros/latex/base/ltnews11.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews12.pdf b/macros/latex/base/ltnews12.pdf
index 7ce5bc2138..7e6032f020 100644
--- a/macros/latex/base/ltnews12.pdf
+++ b/macros/latex/base/ltnews12.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews13.pdf b/macros/latex/base/ltnews13.pdf
index 7cc92b75fb..f2083e9019 100644
--- a/macros/latex/base/ltnews13.pdf
+++ b/macros/latex/base/ltnews13.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews14.pdf b/macros/latex/base/ltnews14.pdf
index 35ff9ebfd6..3721424d0c 100644
--- a/macros/latex/base/ltnews14.pdf
+++ b/macros/latex/base/ltnews14.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews15.pdf b/macros/latex/base/ltnews15.pdf
index 86e6f5112e..9ba1dbc6b7 100644
--- a/macros/latex/base/ltnews15.pdf
+++ b/macros/latex/base/ltnews15.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews16.pdf b/macros/latex/base/ltnews16.pdf
index d1cff3c808..1d2b17732e 100644
--- a/macros/latex/base/ltnews16.pdf
+++ b/macros/latex/base/ltnews16.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews17.pdf b/macros/latex/base/ltnews17.pdf
index bb04d1aca6..2468e25ad4 100644
--- a/macros/latex/base/ltnews17.pdf
+++ b/macros/latex/base/ltnews17.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews18.pdf b/macros/latex/base/ltnews18.pdf
index 21ef52e75d..3dbf4ee348 100644
--- a/macros/latex/base/ltnews18.pdf
+++ b/macros/latex/base/ltnews18.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews19.pdf b/macros/latex/base/ltnews19.pdf
index 6e0428dbf1..3cf318808c 100644
--- a/macros/latex/base/ltnews19.pdf
+++ b/macros/latex/base/ltnews19.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews20.pdf b/macros/latex/base/ltnews20.pdf
index 464fd8b71b..f3ecf75d70 100644
--- a/macros/latex/base/ltnews20.pdf
+++ b/macros/latex/base/ltnews20.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews21.pdf b/macros/latex/base/ltnews21.pdf
index a0244199bd..df01d98c08 100644
--- a/macros/latex/base/ltnews21.pdf
+++ b/macros/latex/base/ltnews21.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews22.pdf b/macros/latex/base/ltnews22.pdf
index 271e7b5549..7af667be54 100644
--- a/macros/latex/base/ltnews22.pdf
+++ b/macros/latex/base/ltnews22.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews23.pdf b/macros/latex/base/ltnews23.pdf
index 1baa40823b..ce5a6d101e 100644
--- a/macros/latex/base/ltnews23.pdf
+++ b/macros/latex/base/ltnews23.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews24.pdf b/macros/latex/base/ltnews24.pdf
index 2819e7ae60..a19bae372c 100644
--- a/macros/latex/base/ltnews24.pdf
+++ b/macros/latex/base/ltnews24.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews25.pdf b/macros/latex/base/ltnews25.pdf
index b15213fa0a..0d7669ddc2 100644
--- a/macros/latex/base/ltnews25.pdf
+++ b/macros/latex/base/ltnews25.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews26.pdf b/macros/latex/base/ltnews26.pdf
index ef2f6476a5..13dc3d26d5 100644
--- a/macros/latex/base/ltnews26.pdf
+++ b/macros/latex/base/ltnews26.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews27.pdf b/macros/latex/base/ltnews27.pdf
index 70a4b3298e..5d8e665fb8 100644
--- a/macros/latex/base/ltnews27.pdf
+++ b/macros/latex/base/ltnews27.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews28.pdf b/macros/latex/base/ltnews28.pdf
index 267e85ea51..328c065c53 100644
--- a/macros/latex/base/ltnews28.pdf
+++ b/macros/latex/base/ltnews28.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews29.pdf b/macros/latex/base/ltnews29.pdf
index 090fc4c658..52445cc420 100644
--- a/macros/latex/base/ltnews29.pdf
+++ b/macros/latex/base/ltnews29.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews30.pdf b/macros/latex/base/ltnews30.pdf
index 849f406acb..f9caf97816 100644
--- a/macros/latex/base/ltnews30.pdf
+++ b/macros/latex/base/ltnews30.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews31.pdf b/macros/latex/base/ltnews31.pdf
index 11880394de..242feb7d2c 100644
--- a/macros/latex/base/ltnews31.pdf
+++ b/macros/latex/base/ltnews31.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews32.pdf b/macros/latex/base/ltnews32.pdf
index 5850e93b18..363250860b 100644
--- a/macros/latex/base/ltnews32.pdf
+++ b/macros/latex/base/ltnews32.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews33.pdf b/macros/latex/base/ltnews33.pdf
index 45cc1a580d..cbd0f2b46c 100644
--- a/macros/latex/base/ltnews33.pdf
+++ b/macros/latex/base/ltnews33.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews34.pdf b/macros/latex/base/ltnews34.pdf
index 87a85b0599..9919a56abe 100644
--- a/macros/latex/base/ltnews34.pdf
+++ b/macros/latex/base/ltnews34.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews35.pdf b/macros/latex/base/ltnews35.pdf
index 2e946fa605..857e259bec 100644
--- a/macros/latex/base/ltnews35.pdf
+++ b/macros/latex/base/ltnews35.pdf
Binary files differ
diff --git a/macros/latex/base/ltpara-code.pdf b/macros/latex/base/ltpara-code.pdf
index 52bd980cb1..f6de8902d2 100644
--- a/macros/latex/base/ltpara-code.pdf
+++ b/macros/latex/base/ltpara-code.pdf
Binary files differ
diff --git a/macros/latex/base/ltpara-doc.pdf b/macros/latex/base/ltpara-doc.pdf
index 5e05da5379..7d3886667d 100644
--- a/macros/latex/base/ltpara-doc.pdf
+++ b/macros/latex/base/ltpara-doc.pdf
Binary files differ
diff --git a/macros/latex/base/ltshipout-code.pdf b/macros/latex/base/ltshipout-code.pdf
index f0b7e9d4e0..96f65484fd 100644
--- a/macros/latex/base/ltshipout-code.pdf
+++ b/macros/latex/base/ltshipout-code.pdf
Binary files differ
diff --git a/macros/latex/base/ltshipout-doc.pdf b/macros/latex/base/ltshipout-doc.pdf
index 5d1c35c96e..7114777340 100644
--- a/macros/latex/base/ltshipout-doc.pdf
+++ b/macros/latex/base/ltshipout-doc.pdf
Binary files differ
diff --git a/macros/latex/base/ltvers.dtx b/macros/latex/base/ltvers.dtx
index da9d3c590e..021bb5038f 100644
--- a/macros/latex/base/ltvers.dtx
+++ b/macros/latex/base/ltvers.dtx
@@ -115,7 +115,7 @@
{2022-06-01}
%</2ekernel|latexrelease>
%<*2ekernel>
-\def\patch@level{0}
+\def\patch@level{1}
% \end{macrocode}
%
% \begin{macro}{\development@branch@name}
@@ -125,7 +125,7 @@
% intended to help us internally when we locally install a
% format out of some development branch.
% \begin{macrocode}
-\edef\development@branch@name{develop \the\year-\the\month-\the\day}
+\edef\development@branch@name{}
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/macros/latex/base/ltx3info.pdf b/macros/latex/base/ltx3info.pdf
index e06a073b96..b1df70669e 100644
--- a/macros/latex/base/ltx3info.pdf
+++ b/macros/latex/base/ltx3info.pdf
Binary files differ
diff --git a/macros/latex/base/ltxdoc.dtx b/macros/latex/base/ltxdoc.dtx
index 4d854728a0..f68c45ee36 100644
--- a/macros/latex/base/ltxdoc.dtx
+++ b/macros/latex/base/ltxdoc.dtx
@@ -30,7 +30,7 @@
%
%<class>\NeedsTeXFormat{LaTeX2e}
%<class>\ProvidesClass{ltxdoc}
-%<class> [2022/06/03 v2.1f Standard LaTeX documentation class]
+%<class> [2022/06/14 v2.1g Standard LaTeX documentation class]
%
%<*driver>
\documentclass{ltxdoc}
@@ -623,27 +623,30 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\url}
-% \begin{macrocode}
-\providecommand\url{\texttt}
-% \end{macrocode}
-% \end{macro}
%
% \begin{macrocode}
\def\task#1#2{}
% \end{macrocode}
+%
+%
% \changes{v2.1f}{2022/06/03}{define \cs{pkg} and other commands}
% \changes{v2.1f}{2022/06/03}{allow \_ in macro names}
% Some feaures from l3doc.cls
+% \changes{v2.1g}{2022/06/14}{define \cs{pkg} but delay until begin document}
% \begin{macrocode}
-\providecommand\LuaTeX{Lua\TeX}
-\providecommand\cls{\textsf}
-\providecommand\pkg{\textsf}
-\providecommand\enquote[1]{``#1''}
\DeclareRobustCommand\cs[1]{\texttt{\bslash\detokenize{#1}}}%
\AtBeginDocument{%
\renewcommand\PrintMacroName[1]{\MacroFont\detokenize{#1}}%
- }
+% \end{macrocode}
+% We provide those delated in case somebody has loaded \texttt{csquotes}
+% or makes some definitions in the preamble.
+% \begin{macrocode}
+ \providecommand\LuaTeX{Lua\TeX}
+ \providecommand\cls{\textsf}
+ \providecommand\pkg{\textsf}
+ \providecommand\enquote[1]{``#1''}
+ \providecommand\url{\texttt}
+}
% \end{macrocode}
%
% \begin{macrocode}
@@ -667,7 +670,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
%
\ProvidesFile{ltxdoc.cfg}%
- [2021/12/07 v2.0c ltxdoc.cls configuration (LaTeX Project)]
+ [2022/06/14 v2.0d ltxdoc.cls configuration (LaTeX Project)]
\PassOptionsToClass{a4paper}{article}
% hyperref and hypdoc are now loaded late (or by the user) so we have to wait
diff --git a/macros/latex/base/ltxdoc.pdf b/macros/latex/base/ltxdoc.pdf
index 9eae697fac..b5777b7254 100644
--- a/macros/latex/base/ltxdoc.pdf
+++ b/macros/latex/base/ltxdoc.pdf
Binary files differ
diff --git a/macros/latex/base/makeindx.pdf b/macros/latex/base/makeindx.pdf
index 6ac94e0948..2689599099 100644
--- a/macros/latex/base/makeindx.pdf
+++ b/macros/latex/base/makeindx.pdf
Binary files differ
diff --git a/macros/latex/base/modguide.pdf b/macros/latex/base/modguide.pdf
index d486116f31..d49b2d3885 100644
--- a/macros/latex/base/modguide.pdf
+++ b/macros/latex/base/modguide.pdf
Binary files differ
diff --git a/macros/latex/base/nfssfont.pdf b/macros/latex/base/nfssfont.pdf
index 75dc8427b6..4550a82fe6 100644
--- a/macros/latex/base/nfssfont.pdf
+++ b/macros/latex/base/nfssfont.pdf
Binary files differ
diff --git a/macros/latex/base/proc.pdf b/macros/latex/base/proc.pdf
index a332696bed..240143af6d 100644
--- a/macros/latex/base/proc.pdf
+++ b/macros/latex/base/proc.pdf
Binary files differ
diff --git a/macros/latex/base/slides.pdf b/macros/latex/base/slides.pdf
index 8493448c95..197dc1d51a 100644
--- a/macros/latex/base/slides.pdf
+++ b/macros/latex/base/slides.pdf
Binary files differ
diff --git a/macros/latex/base/slifonts.pdf b/macros/latex/base/slifonts.pdf
index 094ac62cf1..52b9da8326 100644
--- a/macros/latex/base/slifonts.pdf
+++ b/macros/latex/base/slifonts.pdf
Binary files differ
diff --git a/macros/latex/base/source2e.pdf b/macros/latex/base/source2e.pdf
index 7bf5bb6271..70e084f6e8 100644
--- a/macros/latex/base/source2e.pdf
+++ b/macros/latex/base/source2e.pdf
Binary files differ
diff --git a/macros/latex/base/syntonly.pdf b/macros/latex/base/syntonly.pdf
index e6ae0243f2..ef6ff5857b 100644
--- a/macros/latex/base/syntonly.pdf
+++ b/macros/latex/base/syntonly.pdf
Binary files differ
diff --git a/macros/latex/base/tlc2.pdf b/macros/latex/base/tlc2.pdf
index 3380da7878..54b6f037af 100644
--- a/macros/latex/base/tlc2.pdf
+++ b/macros/latex/base/tlc2.pdf
Binary files differ
diff --git a/macros/latex/base/tulm.pdf b/macros/latex/base/tulm.pdf
index 2e2261a0ce..993243e50b 100644
--- a/macros/latex/base/tulm.pdf
+++ b/macros/latex/base/tulm.pdf
Binary files differ
diff --git a/macros/latex/base/usrguide.pdf b/macros/latex/base/usrguide.pdf
index 8af52cca0b..1c8e6fdf84 100644
--- a/macros/latex/base/usrguide.pdf
+++ b/macros/latex/base/usrguide.pdf
Binary files differ
diff --git a/macros/latex/base/usrguide3.pdf b/macros/latex/base/usrguide3.pdf
index e8048df824..ce002ec1ef 100644
--- a/macros/latex/base/usrguide3.pdf
+++ b/macros/latex/base/usrguide3.pdf
Binary files differ
diff --git a/macros/latex/base/utf8ienc.pdf b/macros/latex/base/utf8ienc.pdf
index ca7dc00f2c..282ed4d197 100644
--- a/macros/latex/base/utf8ienc.pdf
+++ b/macros/latex/base/utf8ienc.pdf
Binary files differ
diff --git a/macros/latex/base/webcomp.pdf b/macros/latex/base/webcomp.pdf
index f1f98e12a0..456c8e33a5 100644
--- a/macros/latex/base/webcomp.pdf
+++ b/macros/latex/base/webcomp.pdf
Binary files differ
diff --git a/macros/latex/contrib/colorist/colorart.cls b/macros/latex/contrib/colorist/colorart.cls
index b347658bbb..9c838e534d 100644
--- a/macros/latex/contrib/colorist/colorart.cls
+++ b/macros/latex/contrib/colorist/colorart.cls
@@ -1,7 +1,7 @@
%%
%% This is file `colorist/colorart.cls',
%% generated with the docstrip utility.
-
+%%
%% Copyright (C) 2021-2022 by Jinwen XU
%%
%% This is part of the colorist class series.
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{colorart}
- {2022/04/24} {}
+ {2022/06/16} {}
{A colorful article style}
\tl_const:Nn \l__colorclass_base_class_tl { article }
@@ -169,21 +169,25 @@
}
}
+
\PassOptionsToPackage { all } { nowidow }
\RequirePackage { nowidow }
-\RequirePackage { regexpatch }
-\skip_new:N \g_colorclass_parfillskip_skip
-\xpatchcmd{\@trivlist}{\@flushglue}{\g_colorclass_parfillskip_skip}{}{}
-\hook_gput_code:nnn { begindocument } { colorclass }
+\sys_if_engine_xetex:T
{
- \skip_gset:Nn \g_colorclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 2\parindent } }
- \skip_gset_eq:NN \parfillskip \g_colorclass_parfillskip_skip
+ \RequirePackage { regexpatch }
+ \skip_new:N \g_colorclass_parfillskip_skip
+ \xpatchcmd{\@trivlist}{\@flushglue}{\g_colorclass_parfillskip_skip}{}{}
+ \hook_gput_code:nnn { begindocument } { colorclass }
+ {
+ \skip_gset:Nn \g_colorclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 3em } }
+ \skip_gset_eq:NN \parfillskip \g_colorclass_parfillskip_skip
+ }
}
\hook_gput_code:nnn { begindocument/before } { colorclass }
{
- \@ifpackageloaded { biblatex }
+ \IfPackageLoadedTF { biblatex }
{
\PassOptionsToPackage { biblatex } { embrac }
} {}
diff --git a/macros/latex/contrib/colorist/colorbook.cls b/macros/latex/contrib/colorist/colorbook.cls
index 2fe78fc5f3..877f6d9cf0 100644
--- a/macros/latex/contrib/colorist/colorbook.cls
+++ b/macros/latex/contrib/colorist/colorbook.cls
@@ -1,7 +1,7 @@
%%
%% This is file `colorist/colorbook.cls',
%% generated with the docstrip utility.
-
+%%
%% Copyright (C) 2021-2022 by Jinwen XU
%%
%% This is part of the colorist class series.
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{colorbook}
- {2022/04/24} {}
+ {2022/06/16} {}
{A colorful book style}
\tl_const:Nn \l__colorclass_base_class_tl { book }
@@ -169,21 +169,25 @@
}
}
+
\PassOptionsToPackage { all } { nowidow }
\RequirePackage { nowidow }
-\RequirePackage { regexpatch }
-\skip_new:N \g_colorclass_parfillskip_skip
-\xpatchcmd{\@trivlist}{\@flushglue}{\g_colorclass_parfillskip_skip}{}{}
-\hook_gput_code:nnn { begindocument } { colorclass }
+\sys_if_engine_xetex:T
{
- \skip_gset:Nn \g_colorclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 2\parindent } }
- \skip_gset_eq:NN \parfillskip \g_colorclass_parfillskip_skip
+ \RequirePackage { regexpatch }
+ \skip_new:N \g_colorclass_parfillskip_skip
+ \xpatchcmd{\@trivlist}{\@flushglue}{\g_colorclass_parfillskip_skip}{}{}
+ \hook_gput_code:nnn { begindocument } { colorclass }
+ {
+ \skip_gset:Nn \g_colorclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 3em } }
+ \skip_gset_eq:NN \parfillskip \g_colorclass_parfillskip_skip
+ }
}
\hook_gput_code:nnn { begindocument/before } { colorclass }
{
- \@ifpackageloaded { biblatex }
+ \IfPackageLoadedTF { biblatex }
{
\PassOptionsToPackage { biblatex } { embrac }
} {}
diff --git a/macros/latex/contrib/colorist/colorist-doc.pdf b/macros/latex/contrib/colorist/colorist-doc.pdf
index 017bc0e7d3..0a4331190f 100644
--- a/macros/latex/contrib/colorist/colorist-doc.pdf
+++ b/macros/latex/contrib/colorist/colorist-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/colorist/colorist-doc.tex b/macros/latex/contrib/colorist/colorist-doc.tex
index d52ff27fdc..4f6c342273 100644
--- a/macros/latex/contrib/colorist/colorist-doc.tex
+++ b/macros/latex/contrib/colorist/colorist-doc.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French,use boldface,simple name]{colorart}
+\documentclass[title in boldface, title in scshape, simple name]{colorart}
%%================================
%% Import toolkit
@@ -8,8 +8,6 @@
\usepackage{hologo} % more TeX logo
\usetikzlibrary{calc}
-\usepackage{relsize}
-
\usepackage{blindtext}
\UseLanguage{English}
@@ -93,7 +91,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/24}
+\def\PackageVersion{2022/06/16}
\title{{\normalfont\bfseries\color{main-text}\colorist{}}\\write your articles or books in a colorful way}
\author{Jinwen XU}
diff --git a/macros/latex/contrib/colorist/colorist-fancy.sty b/macros/latex/contrib/colorist/colorist-fancy.sty
index 8f0d97307a..cc3db07f88 100644
--- a/macros/latex/contrib/colorist/colorist-fancy.sty
+++ b/macros/latex/contrib/colorist/colorist-fancy.sty
@@ -1,7 +1,7 @@
%%
%% This is file `colorist/colorist-fancy.sty',
%% generated with the docstrip utility.
-
+%%
%% Copyright (C) 2021-2022 by Jinwen XU
%%
%% This is part of the colorist class series.
@@ -19,10 +19,10 @@
\RequirePackage{l3keys2e}
\ProvidesExplPackage
{colorist-fancy}
- {2022/04/24} {}
+ {2022/06/16} {}
{The fancy style of colorist}
-\@ifpackageloaded { colorist } {}
+\IfPackageLoadedTF { colorist } {}
{
\msg_new:nnn { \@currname }
{ colorist-not-loaded }
@@ -34,6 +34,7 @@
%%================================
%% Title fonts
%%================================
+\RequirePackage { relsize }
\RequirePackage { anyfontsize }
\NewCommandCopy \colorist_original_bfseries: \bfseries
@@ -57,6 +58,14 @@
\cs_new:Nn \colorist_bfseries: {}
}
+\bool_if:NTF \l__colorist_use_scshape_bool
+ {
+ \cs_new:Nn \colorist_scshape: { \scshape }
+ }
+ {
+ \cs_new:Nn \colorist_scshape: {}
+ }
+
\tl_new:N \g_colorist_title_font_common_tl
\tl_new:N \g_colorist_title_font_part_tl
@@ -211,7 +220,7 @@
%%================================
%% Title format
%%================================
-\RequirePackage [ explicit, newparttoc, nobottomtitles* ] { titlesec }
+\RequirePackage [ explicit, newparttoc ] { titlesec }
\PassOptionsToPackage { normalem } { ulem }
\RequirePackage { ulem }
@@ -254,7 +263,7 @@
\end{tikzpicture}
}
{1em}
- {\fontsize{20}{0}\selectfont\MakeUppercase{#1}}
+ {\fontsize{20}{24}\selectfont\MakeUppercase{#1}}
\titleformat{name=\part,numberless}[display]
{% \phantomsection\addcontentsline{toc}{part}{#1}%
\g_colorist_title_font_part_tl \filleft}
@@ -266,7 +275,7 @@
\end{tikzpicture}
}
{1em}
- {\fontsize{20}{0}\selectfont\MakeUppercase{#1}}
+ {\fontsize{20}{24}\selectfont\MakeUppercase{#1}}
\titlespacing*{\part}{0pt}{5em}{6em}
%% Text after part
\newcommand{\parttext}[1]{
@@ -315,7 +324,7 @@
}
\titleformat{name=\chapter}
- { \g_colorist_title_font_chapter_tl \scshape\huge} % Format
+ { \g_colorist_title_font_chapter_tl \colorist_scshape:\huge} % Format
{} % Label
{0mm} % Sep
{ \colorist_chapter_inner:nn { \thechapter } { #1 } } % Before-code
@@ -323,7 +332,7 @@
{0em}{*2}{0em} % {left}{before-sep}{after-sep}
\titleformat{name=\chapter, numberless}
- {\filcenter \g_colorist_title_font_chapter_tl \scshape\huge}
+ {\filcenter \g_colorist_title_font_chapter_tl \colorist_scshape:\huge}
{}
{0mm}
{ \colorist_chapter_inner:n { #1 } }
@@ -366,7 +375,7 @@
%% Section
\titleformat{\section}
{\color{maintheme} \g_colorist_title_font_section_tl \large}
- {\thesection}{.75em}{\scshape #1}
+ {\thesection}{.75em}{\colorist_scshape: #1}
%% Subsection
\titleformat{\subsection}
@@ -416,7 +425,7 @@
{
\titlecontents{chapter}
[2em] % i.e., 0em (part) + 2em
- {\addvspace{1pc} \color{maintheme} \normalfont \sffamily \colorist_bfseries: \scshape }
+ {\addvspace{1pc} \color{maintheme} \normalfont \sffamily \colorist_bfseries: \colorist_scshape: }
{\contentslabel[ \raisebox{-.03\baselineskip}{ \large \normalfont \sffamily \colorist_bfseries: \thecontentslabel } ]{2em}}
{\hspace*{-2em}}
{\titlerule*[10pt]{\parbox{3pt}{\hspace*{-.25pt}\textcolor{main-text!15!paper}{.}}}\color{maintheme}\normalfont\sffamily\contentspage}
@@ -442,7 +451,7 @@
{
\titlecontents{section}
[2em] % i.e., 0em (part) + 2em
- {\addvspace{.3pc} \color{maintheme} \normalfont \sffamily \scshape }
+ {\addvspace{.3pc} \color{maintheme} \normalfont \sffamily \colorist_scshape: }
{\contentslabel[ { \normalfont \sffamily \thecontentslabel } ]{1.75em}}
{\hspace*{-1.75em}}
{\titlerule*[10pt]{\parbox{3pt}{\textcolor{main-text!15!paper}{.}}}\color{maintheme}\normalfont\sffamily\contentspage}
@@ -465,7 +474,7 @@
%%================================
\RequirePackage { enumitem }
\setlistdepth{10}
-\setlist{noitemsep, topsep=.33\topsep}
+\setlist{noitemsep, topsep=.33\topsep-.5\parskip}
\setlist[enumerate]{labelsep=*, leftmargin=*}
\setlist[enumerate,1]{label=\arabic*$)$,
ref = \arabic*$)$}
@@ -478,8 +487,8 @@
\renewlist{itemize}{itemize}{10}
\setlist[itemize]{leftmargin=*,label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\cdot$}}
\AddLanguageSetting { \setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\bullet$}} }
-\AddLanguageSetting [french] { \setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{---}} }
-\setlist[itemize,2]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{--}}
+\AddLanguageSetting [french] { \setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{\rule[.2\baselineskip]{.8em}{.75pt}}} }
+\setlist[itemize,2]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{\rule[.2\baselineskip]{.5em}{.75pt}}}
\setlist[itemize,3]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\circ$}}
\setlist[itemize,4]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\ast$}}
@@ -548,9 +557,7 @@ heading_suffix "}\n"
\newcommand*{\IndexDotfill}
{
- \nobreakspace\nobreakspace
- \titlerule*[.67em]{\textcolor{main-text!15!paper}{.}}
- \nobreakspace\nobreakspace
+ \leaders \hbox to .67em {\hss \textcolor{main-text!15!paper}{.} \hss} \hfill
}
\newcommand*{\IndexHeading}[1]
{
@@ -658,7 +665,7 @@ heading_suffix "}\n"
\rlap{\vbox{\hbox{\parbox{\linewidth}{
{\thmname{#1}\thmnumber{\nobreakspace #2}}
{\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}
- }}\hbox{\strut}\vspace{-2\parskip}}}
+ }}\hbox{\strut}\vspace{0pt}}}
}
}
{
@@ -686,7 +693,7 @@ heading_suffix "}\n"
\rlap{\vbox{\hbox{\parbox{\linewidth}{
{\thmname{#1}\nobreakspace\thmnumber{\textup{#2}}}
\thmnote{\normalfont\sffamily\color{main-text}\nobreakspace(#3)}
- }}\hbox{\strut}\vspace{-2\parskip}}}
+ }}\hbox{\strut}\vspace{0pt}}}
}
}
{
@@ -744,7 +751,7 @@ heading_suffix "}\n"
\tl_gset:Nn \g_crthm_combined_name_sep_tl { \textcolor{main-text}{-} }
-\SetTheorem { theorem, lemma, proposition, corollary, property, axiom, construction, definition-theorem, definition-proposition }
+\SetTheorem { theorem, lemma, proposition, corollary, property, axiom, construction, definition-theorem, definition-proposition, theorem-with-name }
{
name style = {
heading style = { \color{orange}\colorist_bfseries:\g_colorist_title_font_common_tl\textsc }
@@ -774,7 +781,7 @@ heading_suffix "}\n"
\bool_if:NF \l__projlib_theorem_complexname_bool
{
- \SetTheorem { theorem, lemma, proposition, corollary, property, axiom, construction, definition-theorem, definition-proposition }
+ \SetTheorem { theorem, lemma, proposition, corollary, property, axiom, construction, definition-theorem, definition-proposition, theorem-with-name }
{
name style = {
, crefname style = { \color{orange}\colorist_bfseries:\g_colorist_title_font_common_tl\textsc }
@@ -916,7 +923,7 @@ heading_suffix "}\n"
\tcolorboxenvironment { #1 } { #2 }
}
-\colorist_add_colorbox:nn { theorem, lemma, proposition, corollary, property, axiom, construction, definition-proposition, definition-theorem }
+\colorist_add_colorbox:nn { theorem, lemma, proposition, corollary, property, axiom, construction, definition-proposition, definition-theorem, theorem-with-name }
{
enhanced~jigsaw, breakable, lines~before~break=3,
left=3.5mm, right=3.5mm,
@@ -1070,7 +1077,7 @@ heading_suffix "}\n"
{
\hook_gput_code:nnn { package/projlib-author/after } { colorist }
{
- \tl_gset:Nn \g__projlib_author_font_author_tl { \normalfont \scshape }
+ \tl_gset:Nn \g__projlib_author_font_author_tl { \normalfont \colorist_scshape: }
\tl_gset:Nn \g__projlib_author_font_institute_tl { \large \normalfont }
\tl_gset:Nn \g__projlib_author_font_address_tl { \large \normalfont \itshape }
\tl_gset:Nn \g__projlib_author_font_curraddr_tl { \large \normalfont \itshape }
@@ -1094,12 +1101,11 @@ heading_suffix "}\n"
{
\begin{center}
\color{maintheme}
- {\Large\sffamily\scshape \colorist_bfseries: \@title}\\\bigskip
+ {\Large\sffamily\colorist_scshape: \colorist_bfseries: \@title}\\\bigskip
\color{main-text!80!paper}
- {\scshape\@author}\par\smallskip
+ {\colorist_scshape:\@author}\par\smallskip
{\@date}
\end{center}
- \ifx\@date\@empty\bigskip\fi
\medskip
}
diff --git a/macros/latex/contrib/colorist/colorist.sty b/macros/latex/contrib/colorist/colorist.sty
index 24f6910e3f..9e7c85109c 100644
--- a/macros/latex/contrib/colorist/colorist.sty
+++ b/macros/latex/contrib/colorist/colorist.sty
@@ -1,7 +1,7 @@
%%
%% This is file `colorist/colorist.sty',
%% generated with the docstrip utility.
-
+%%
%% Copyright (C) 2021-2022 by Jinwen XU
%%
%% This is part of the colorist class series.
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplPackage
{colorist}
- {2022/04/24} {}
+ {2022/06/16} {}
{A colorful style for articles and books}
\keys_define:nn { colorist }
@@ -30,17 +30,30 @@
, style .str_set:N = \l__colorist_style_str
, style .initial:n = { fancy }
+ , use-style .str_set:N = \l__colorist_style_str
+ , use~style .str_set:N = \l__colorist_style_str
+ , use style .str_set:N = \l__colorist_style_str
, fancy .meta:n = { style = fancy }
, use-boldface .bool_set:N = \l__colorist_use_boldface_bool
, use-boldface .initial:n = { false }
, use~boldface .bool_set:N = \l__colorist_use_boldface_bool
, use boldface .bool_set:N = \l__colorist_use_boldface_bool
- , usebf .bool_set:N = \l__colorist_use_boldface_bool
- , allow-boldface .bool_set:N = \l__colorist_use_boldface_bool
- , allow~boldface .bool_set:N = \l__colorist_use_boldface_bool
- , allow boldface .bool_set:N = \l__colorist_use_boldface_bool
- , allowbf .bool_set:N = \l__colorist_use_boldface_bool
+ , title-in-boldface .bool_set:N = \l__colorist_use_boldface_bool
+ , title~in~boldface .bool_set:N = \l__colorist_use_boldface_bool
+ , title in boldface .bool_set:N = \l__colorist_use_boldface_bool
+ , title-in-bold .bool_set:N = \l__colorist_use_boldface_bool
+ , title~in~bold .bool_set:N = \l__colorist_use_boldface_bool
+ , title in bold .bool_set:N = \l__colorist_use_boldface_bool
+
+ , use-scshape .bool_set:N = \l__colorist_use_scshape_bool
+ , use-scshape .initial:n = { false }
+ , use~scshape .bool_set:N = \l__colorist_use_scshape_bool
+ , use scshape .bool_set:N = \l__colorist_use_scshape_bool
+ , title-in-scshape .bool_set:N = \l__colorist_use_scshape_bool
+ , title~in~scshape .bool_set:N = \l__colorist_use_scshape_bool
+ , title in scshape .bool_set:N = \l__colorist_use_scshape_bool
+
, runin .bool_set:N = \l__colorist_runin_bool
, runin .initial:n = { false }
diff --git a/macros/latex/contrib/kvoptions/README.md b/macros/latex/contrib/kvoptions/README.md
index ecaccfa494..04a4ca227e 100644
--- a/macros/latex/contrib/kvoptions/README.md
+++ b/macros/latex/contrib/kvoptions/README.md
@@ -1,13 +1,13 @@
# kvoptions package for LaTeX
-Version: 2020-10-07 v3.14
+Version: 2022-06-15 v3.15
This package is intended for package authors who want to
use options in key value format for their package options.
## Copyright (C)
* 2007, 2009-2011 Heiko Oberdiek
-* 2016-2020 Oberdiek Package Support Group
+* 2016-2022 Oberdiek Package Support Group
## License
LATEX Project Public License, version 1.3c or later.
diff --git a/macros/latex/contrib/kvoptions/kvoptions.dtx b/macros/latex/contrib/kvoptions/kvoptions.dtx
index 38dfa18586..2dc5905405 100644
--- a/macros/latex/contrib/kvoptions/kvoptions.dtx
+++ b/macros/latex/contrib/kvoptions/kvoptions.dtx
@@ -1,12 +1,12 @@
% \iffalse meta-comment
%
% File: kvoptions.dtx
-% Version: 2020-10-07 v3.14
+% Version: 2022-06-15 v3.15
% Info: Key value format for package options
%
% Copyright (C)
% 2004, 2006, 2007, 2009-2011 Heiko Oberdiek
-% 2016-2020 Oberdiek Package Support Group
+% 2016-2022 Oberdiek Package Support Group
% https://github.com/ho-tex/kvoptions/issues
%
% This work may be distributed and/or modified under the
@@ -85,7 +85,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: kvoptions 2020-10-07 v3.14 Key value format for package options (HO)}
+\Msg{* Package: kvoptions 2022-06-15 v3.15 Key value format for package options (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -97,11 +97,11 @@
This is a generated file.
Project: kvoptions
-Version: 2020-10-07 v3.14
+Version: 2022-06-15 v3.15
Copyright (C)
2004, 2006, 2007, 2009-2011 Heiko Oberdiek
- 2016-2020 Oberdiek Package Support Group
+ 2016-2022 Oberdiek Package Support Group
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
@@ -171,7 +171,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{kvoptions.drv}%
- [2020-10-07 v3.14 Key value format for package options (HO)]%
+ [2022-06-15 v3.15 Key value format for package options (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2011/11/22]
\begin{document}
@@ -185,7 +185,7 @@ and the derived files
% \GetFileInfo{kvoptions.drv}
%
% \title{The \xpackage{kvoptions} package}
-% \date{2020-10-07 v3.14}
+% \date{2022-06-15 v3.15}
% \author{Heiko Oberdiek\thanks
% {Please report any issues at \url{https://github.com/ho-tex/kvoptions/issues}}}
%
@@ -1152,7 +1152,7 @@ and the derived files
\fi
\expandafter\x\csname ver@kvoptions.sty\endcsname
\ProvidesPackage{kvoptions}%
- [2020-10-07 v3.14 Key value format for package options (HO)]%
+ [2022-06-15 v3.15 Key value format for package options (HO)]%
% \end{macrocode}
%
% \paragraph{Catcodes}
@@ -1976,7 +1976,7 @@ and the derived files
,%
}%
\fi
- \@expandtwoargs\@removeelement\KVO@CurrentOption
+ \@expandtwoargs\@removeelement{\expandafter\@remove@eq@value\KVO@CurrentOption=\@nil}%
\@unusedoptionlist\@unusedoptionlist
}{}%
}%
@@ -2286,7 +2286,7 @@ and the derived files
\TMP@EnsureCode{124}{12}% |
\edef\KVO@AtEnd{\KVO@AtEnd\noexpand\endinput}
\ProvidesPackage{kvoptions-patch}%
- [2020-10-07 v3.14 LaTeX patch for keyval options (HO)]%
+ [2022-06-15 v3.15 LaTeX patch for keyval options (HO)]%
% \end{macrocode}
%
% Check for \eTeX.
@@ -2799,25 +2799,6 @@ and the derived files
% \end{description}
%
%
-% \paragraph{Bundle.} All the packages of the bundle `kvoptions'
-% are also available in a TDS compliant ZIP archive. There
-% the packages are already unpacked and the documentation files
-% are generated. The files and directories obey the TDS standard.
-% \begin{description}
-% \item[\CTANinstall{install/macros/latex/contrib/kvoptions.tds.zip}]
-% \end{description}
-% \emph{TDS} refers to the standard ``A Directory Structure
-% for \TeX\ Files'' (\CTANpkg{tds}). Directories
-% with \xfile{texmf} in their name are usually organized this way.
-%
-% \subsection{Bundle installation}
-%
-% \paragraph{Unpacking.} Unpack the \xfile{kvoptions.tds.zip} in the
-% TDS tree (also known as \xfile{texmf} tree) of your choice.
-% Example (linux):
-% \begin{quote}
-% |unzip kvoptions.tds.zip -d ~/texmf|
-% \end{quote}
%
% \subsection{Package installation}
%
@@ -3124,6 +3105,9 @@ and the derived files
% \LaTeX\ 2020-10-01 or newer and so it will abort loading if it detects it.
% This fixes github issue \#5.
% \end{Version}
+% \begin{Version}{2022-06-15 v3.15}
+% \item Remove only the key from the \cs{@unusedoptionlist}
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/macros/latex/contrib/kvoptions/kvoptions.pdf b/macros/latex/contrib/kvoptions/kvoptions.pdf
index fd9e72e93a..509dbdab99 100644
--- a/macros/latex/contrib/kvoptions/kvoptions.pdf
+++ b/macros/latex/contrib/kvoptions/kvoptions.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/CHANGELOG.md b/macros/latex/contrib/l3kernel/CHANGELOG.md
index af84da5d95..9595ed47f4 100644
--- a/macros/latex/contrib/l3kernel/CHANGELOG.md
+++ b/macros/latex/contrib/l3kernel/CHANGELOG.md
@@ -7,6 +7,12 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2022-06-16]
+
+### Fixed
+- Made `\peek_analysis_map_inline:n` alignment-safe (gh/1090)
+- Setting a boolean to itself no longer errors (gh/1055)
+
## [2022-06-02]
### Changed
@@ -1119,7 +1125,8 @@ this project uses date-based 'snapshot' version identifiers.
- Step functions have been added for dim variables,
e.g. `\dim_step_inline:nnnn`
-[Unreleased]: https://github.com/latex3/latex3/compare/2022-06-02...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2022-06-16...HEAD
+[2022-06-16]: https://github.com/latex3/latex3/compare/2022-06-02...2022-06-16
[2022-06-02]: https://github.com/latex3/latex3/compare/2022-05-30...2022-06-02
[2022-05-30]: https://github.com/latex3/latex3/compare/2022-05-04...2022-05-30
[2022-05-04]: https://github.com/latex3/latex3/compare/2022-04-29...2022-05-04
diff --git a/macros/latex/contrib/l3kernel/README.md b/macros/latex/contrib/l3kernel/README.md
index ea20ff4540..921b5aa4a5 100644
--- a/macros/latex/contrib/l3kernel/README.md
+++ b/macros/latex/contrib/l3kernel/README.md
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================
-Release 2022-06-02
+Release 2022-06-16
Overview
--------
diff --git a/macros/latex/contrib/l3kernel/expl3.dtx b/macros/latex/contrib/l3kernel/expl3.dtx
index 8b08e5e3f3..161a3c327b 100644
--- a/macros/latex/contrib/l3kernel/expl3.dtx
+++ b/macros/latex/contrib/l3kernel/expl3.dtx
@@ -24,7 +24,7 @@
%
%<*driver|generic|package|2ekernel>
%</driver|generic|package|2ekernel>
-\def\ExplFileDate{2022-06-02}%
+\def\ExplFileDate{2022-06-16}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/expl3.pdf b/macros/latex/contrib/l3kernel/expl3.pdf
index 76b1d6478f..e8a3f56b32 100644
--- a/macros/latex/contrib/l3kernel/expl3.pdf
+++ b/macros/latex/contrib/l3kernel/expl3.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/interface3.pdf b/macros/latex/contrib/l3kernel/interface3.pdf
index 6eaf5be760..d1b053c26e 100644
--- a/macros/latex/contrib/l3kernel/interface3.pdf
+++ b/macros/latex/contrib/l3kernel/interface3.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/interface3.tex b/macros/latex/contrib/l3kernel/interface3.tex
index a61eed0ba4..9a4831311a 100644
--- a/macros/latex/contrib/l3kernel/interface3.tex
+++ b/macros/latex/contrib/l3kernel/interface3.tex
@@ -54,7 +54,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2022-06-02}
+\date{Released 2022-06-16}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex/contrib/l3kernel/l3basics.dtx b/macros/latex/contrib/l3kernel/l3basics.dtx
index a78927374d..7f103c2e48 100644
--- a/macros/latex/contrib/l3kernel/l3basics.dtx
+++ b/macros/latex/contrib/l3kernel/l3basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3bootstrap.dtx b/macros/latex/contrib/l3kernel/l3bootstrap.dtx
index 34513f39b3..a46e4d16b7 100644
--- a/macros/latex/contrib/l3kernel/l3bootstrap.dtx
+++ b/macros/latex/contrib/l3kernel/l3bootstrap.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3box.dtx b/macros/latex/contrib/l3kernel/l3box.dtx
index 0d44bbcdb0..952d9bdac8 100644
--- a/macros/latex/contrib/l3kernel/l3box.dtx
+++ b/macros/latex/contrib/l3kernel/l3box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3candidates.dtx b/macros/latex/contrib/l3kernel/l3candidates.dtx
index 4f4d63264c..da62bf2c53 100644
--- a/macros/latex/contrib/l3kernel/l3candidates.dtx
+++ b/macros/latex/contrib/l3kernel/l3candidates.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3cctab.dtx b/macros/latex/contrib/l3kernel/l3cctab.dtx
index 090e558e18..2c592bf817 100644
--- a/macros/latex/contrib/l3kernel/l3cctab.dtx
+++ b/macros/latex/contrib/l3kernel/l3cctab.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3clist.dtx b/macros/latex/contrib/l3kernel/l3clist.dtx
index dd61794a22..852e06284d 100644
--- a/macros/latex/contrib/l3kernel/l3clist.dtx
+++ b/macros/latex/contrib/l3kernel/l3clist.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3coffins.dtx b/macros/latex/contrib/l3kernel/l3coffins.dtx
index 85c804bb1e..065221bbbd 100644
--- a/macros/latex/contrib/l3kernel/l3coffins.dtx
+++ b/macros/latex/contrib/l3kernel/l3coffins.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3color.dtx b/macros/latex/contrib/l3kernel/l3color.dtx
index dffad75c26..baa029f4e8 100644
--- a/macros/latex/contrib/l3kernel/l3color.dtx
+++ b/macros/latex/contrib/l3kernel/l3color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3debug.dtx b/macros/latex/contrib/l3kernel/l3debug.dtx
index 13c7636eb6..e890919a56 100644
--- a/macros/latex/contrib/l3kernel/l3debug.dtx
+++ b/macros/latex/contrib/l3kernel/l3debug.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3deprecation.dtx b/macros/latex/contrib/l3kernel/l3deprecation.dtx
index 37be30b725..ae32854e8b 100644
--- a/macros/latex/contrib/l3kernel/l3deprecation.dtx
+++ b/macros/latex/contrib/l3kernel/l3deprecation.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3doc.dtx b/macros/latex/contrib/l3kernel/l3doc.dtx
index 783e3c64e8..29e1bb3cfc 100644
--- a/macros/latex/contrib/l3kernel/l3doc.dtx
+++ b/macros/latex/contrib/l3kernel/l3doc.dtx
@@ -85,7 +85,7 @@ and all files in that bundle must be distributed together.
% require you to do updates, if the class changes.}}
%
% \author{\Team}
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
% \maketitle
% \tableofcontents
%
diff --git a/macros/latex/contrib/l3kernel/l3doc.pdf b/macros/latex/contrib/l3kernel/l3doc.pdf
index 38f7c77012..3885fa6264 100644
--- a/macros/latex/contrib/l3kernel/l3doc.pdf
+++ b/macros/latex/contrib/l3kernel/l3doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3docstrip.dtx b/macros/latex/contrib/l3kernel/l3docstrip.dtx
index b7e0c8800e..d16400a242 100644
--- a/macros/latex/contrib/l3kernel/l3docstrip.dtx
+++ b/macros/latex/contrib/l3kernel/l3docstrip.dtx
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3docstrip.pdf b/macros/latex/contrib/l3kernel/l3docstrip.pdf
index 182ba9d4de..c00dbbf573 100644
--- a/macros/latex/contrib/l3kernel/l3docstrip.pdf
+++ b/macros/latex/contrib/l3kernel/l3docstrip.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3expan.dtx b/macros/latex/contrib/l3kernel/l3expan.dtx
index 001df5f59d..d4b3bc08d3 100644
--- a/macros/latex/contrib/l3kernel/l3expan.dtx
+++ b/macros/latex/contrib/l3kernel/l3expan.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3file.dtx b/macros/latex/contrib/l3kernel/l3file.dtx
index 663de48ed8..a0bb1b2149 100644
--- a/macros/latex/contrib/l3kernel/l3file.dtx
+++ b/macros/latex/contrib/l3kernel/l3file.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3flag.dtx b/macros/latex/contrib/l3kernel/l3flag.dtx
index b5d8341dd9..4fe6dbc934 100644
--- a/macros/latex/contrib/l3kernel/l3flag.dtx
+++ b/macros/latex/contrib/l3kernel/l3flag.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-assign.dtx b/macros/latex/contrib/l3kernel/l3fp-assign.dtx
index 59579a930c..a4332d05ef 100644
--- a/macros/latex/contrib/l3kernel/l3fp-assign.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-assign.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex/contrib/l3kernel/l3fp-aux.dtx b/macros/latex/contrib/l3kernel/l3fp-aux.dtx
index a488bf7781..62829fd43b 100644
--- a/macros/latex/contrib/l3kernel/l3fp-aux.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-aux.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-basics.dtx b/macros/latex/contrib/l3kernel/l3fp-basics.dtx
index e85beb60da..34a40a40a6 100644
--- a/macros/latex/contrib/l3kernel/l3fp-basics.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-basics.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-convert.dtx b/macros/latex/contrib/l3kernel/l3fp-convert.dtx
index 5c5ab60921..f191c3dd21 100644
--- a/macros/latex/contrib/l3kernel/l3fp-convert.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-convert.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-expo.dtx b/macros/latex/contrib/l3kernel/l3fp-expo.dtx
index dff52960aa..278ae622df 100644
--- a/macros/latex/contrib/l3kernel/l3fp-expo.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-expo.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-extended.dtx b/macros/latex/contrib/l3kernel/l3fp-extended.dtx
index f3b8b1db6c..c4ce115779 100644
--- a/macros/latex/contrib/l3kernel/l3fp-extended.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-extended.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-logic.dtx b/macros/latex/contrib/l3kernel/l3fp-logic.dtx
index 91ff81376f..5fc41f847a 100644
--- a/macros/latex/contrib/l3kernel/l3fp-logic.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-logic.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-parse.dtx b/macros/latex/contrib/l3kernel/l3fp-parse.dtx
index bee97b4a21..fcf236a526 100644
--- a/macros/latex/contrib/l3kernel/l3fp-parse.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-parse.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-random.dtx b/macros/latex/contrib/l3kernel/l3fp-random.dtx
index 853e95d5fe..85fdad6b0c 100644
--- a/macros/latex/contrib/l3kernel/l3fp-random.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-random.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-round.dtx b/macros/latex/contrib/l3kernel/l3fp-round.dtx
index 6ee29232c0..676c213636 100644
--- a/macros/latex/contrib/l3kernel/l3fp-round.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-round.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-traps.dtx b/macros/latex/contrib/l3kernel/l3fp-traps.dtx
index dc92cdd7c7..e373e728c8 100644
--- a/macros/latex/contrib/l3kernel/l3fp-traps.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-traps.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex/contrib/l3kernel/l3fp-trig.dtx b/macros/latex/contrib/l3kernel/l3fp-trig.dtx
index 871b2cb2d2..e004265005 100644
--- a/macros/latex/contrib/l3kernel/l3fp-trig.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-trig.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp.dtx b/macros/latex/contrib/l3kernel/l3fp.dtx
index 8b3695a40a..60028bf7be 100644
--- a/macros/latex/contrib/l3kernel/l3fp.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fparray.dtx b/macros/latex/contrib/l3kernel/l3fparray.dtx
index da5a801ee2..b41ea51a3d 100644
--- a/macros/latex/contrib/l3kernel/l3fparray.dtx
+++ b/macros/latex/contrib/l3kernel/l3fparray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3int.dtx b/macros/latex/contrib/l3kernel/l3int.dtx
index 202c7686fb..877f66c617 100644
--- a/macros/latex/contrib/l3kernel/l3int.dtx
+++ b/macros/latex/contrib/l3kernel/l3int.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3intarray.dtx b/macros/latex/contrib/l3kernel/l3intarray.dtx
index a71ed79cc6..95a83da8d1 100644
--- a/macros/latex/contrib/l3kernel/l3intarray.dtx
+++ b/macros/latex/contrib/l3kernel/l3intarray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx
index a5221fb549..8e15ebbac9 100644
--- a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx
+++ b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3keys.dtx b/macros/latex/contrib/l3kernel/l3keys.dtx
index a8e3fb53cd..32219d3abf 100644
--- a/macros/latex/contrib/l3kernel/l3keys.dtx
+++ b/macros/latex/contrib/l3kernel/l3keys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3legacy.dtx b/macros/latex/contrib/l3kernel/l3legacy.dtx
index 3d965011f5..ee47523050 100644
--- a/macros/latex/contrib/l3kernel/l3legacy.dtx
+++ b/macros/latex/contrib/l3kernel/l3legacy.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3luatex.dtx b/macros/latex/contrib/l3kernel/l3luatex.dtx
index d32298a983..cfbbdb9a53 100644
--- a/macros/latex/contrib/l3kernel/l3luatex.dtx
+++ b/macros/latex/contrib/l3kernel/l3luatex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3msg.dtx b/macros/latex/contrib/l3kernel/l3msg.dtx
index a736382357..c193ee2684 100644
--- a/macros/latex/contrib/l3kernel/l3msg.dtx
+++ b/macros/latex/contrib/l3kernel/l3msg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3names.dtx b/macros/latex/contrib/l3kernel/l3names.dtx
index 9d995bde03..5e364b0818 100644
--- a/macros/latex/contrib/l3kernel/l3names.dtx
+++ b/macros/latex/contrib/l3kernel/l3names.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3news.pdf b/macros/latex/contrib/l3kernel/l3news.pdf
index eef5d75839..1f4c0b954c 100644
--- a/macros/latex/contrib/l3kernel/l3news.pdf
+++ b/macros/latex/contrib/l3kernel/l3news.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news01.pdf b/macros/latex/contrib/l3kernel/l3news01.pdf
index f02d8d55d6..2ff80dfd83 100644
--- a/macros/latex/contrib/l3kernel/l3news01.pdf
+++ b/macros/latex/contrib/l3kernel/l3news01.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news02.pdf b/macros/latex/contrib/l3kernel/l3news02.pdf
index 17f133eb05..6a8f26037c 100644
--- a/macros/latex/contrib/l3kernel/l3news02.pdf
+++ b/macros/latex/contrib/l3kernel/l3news02.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news03.pdf b/macros/latex/contrib/l3kernel/l3news03.pdf
index 554aae30ac..e2cd18e036 100644
--- a/macros/latex/contrib/l3kernel/l3news03.pdf
+++ b/macros/latex/contrib/l3kernel/l3news03.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news04.pdf b/macros/latex/contrib/l3kernel/l3news04.pdf
index 8917fcf9c0..4c1737a816 100644
--- a/macros/latex/contrib/l3kernel/l3news04.pdf
+++ b/macros/latex/contrib/l3kernel/l3news04.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news05.pdf b/macros/latex/contrib/l3kernel/l3news05.pdf
index c6e82073ed..7b8f0008e7 100644
--- a/macros/latex/contrib/l3kernel/l3news05.pdf
+++ b/macros/latex/contrib/l3kernel/l3news05.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news06.pdf b/macros/latex/contrib/l3kernel/l3news06.pdf
index ef3f16326a..8de6db7321 100644
--- a/macros/latex/contrib/l3kernel/l3news06.pdf
+++ b/macros/latex/contrib/l3kernel/l3news06.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news07.pdf b/macros/latex/contrib/l3kernel/l3news07.pdf
index da81b1ce46..1c69dafec4 100644
--- a/macros/latex/contrib/l3kernel/l3news07.pdf
+++ b/macros/latex/contrib/l3kernel/l3news07.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news08.pdf b/macros/latex/contrib/l3kernel/l3news08.pdf
index 438e4e9397..b22ab6cc4e 100644
--- a/macros/latex/contrib/l3kernel/l3news08.pdf
+++ b/macros/latex/contrib/l3kernel/l3news08.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news09.pdf b/macros/latex/contrib/l3kernel/l3news09.pdf
index 3d6a041aef..7125087050 100644
--- a/macros/latex/contrib/l3kernel/l3news09.pdf
+++ b/macros/latex/contrib/l3kernel/l3news09.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news10.pdf b/macros/latex/contrib/l3kernel/l3news10.pdf
index 525e64ddde..a8badfe1aa 100644
--- a/macros/latex/contrib/l3kernel/l3news10.pdf
+++ b/macros/latex/contrib/l3kernel/l3news10.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news11.pdf b/macros/latex/contrib/l3kernel/l3news11.pdf
index fb2ba1c0c2..e5f6c8910f 100644
--- a/macros/latex/contrib/l3kernel/l3news11.pdf
+++ b/macros/latex/contrib/l3kernel/l3news11.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news12.pdf b/macros/latex/contrib/l3kernel/l3news12.pdf
index cc84a44ef9..62ca7ca1ef 100644
--- a/macros/latex/contrib/l3kernel/l3news12.pdf
+++ b/macros/latex/contrib/l3kernel/l3news12.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3pdf.dtx b/macros/latex/contrib/l3kernel/l3pdf.dtx
index 19e67162c7..b168ef8e22 100644
--- a/macros/latex/contrib/l3kernel/l3pdf.dtx
+++ b/macros/latex/contrib/l3kernel/l3pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3prefixes.pdf b/macros/latex/contrib/l3kernel/l3prefixes.pdf
index e4681e2bb1..1d9edd5ca9 100644
--- a/macros/latex/contrib/l3kernel/l3prefixes.pdf
+++ b/macros/latex/contrib/l3kernel/l3prefixes.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3prg.dtx b/macros/latex/contrib/l3kernel/l3prg.dtx
index fee482bd62..0fdc4d334e 100644
--- a/macros/latex/contrib/l3kernel/l3prg.dtx
+++ b/macros/latex/contrib/l3kernel/l3prg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
@@ -1102,7 +1102,11 @@
% use a version of \cs{tl_if_single:nTF} optimized for speed since we
% know that an empty~|#1| is an error. The auxiliary
% \cs{@@_if_p_aux:w} removes the trailing parenthesis and gets rid of
-% any space. For the general case, first issue a
+% any space, then returns \cs{c_true_bool} or \cs{c_false_bool} as
+% appropriate. This extra work around is because in a
+% \cs{bool_set:Nn}, the underlying \tn{chardef} turns the bool being
+% set temporarily equal to \tn{relax}, thus assigning a boolean to
+% itself would fail (gh/1055). For the general case, first issue a
% \cs{group_align_safe_begin:} as we are using |&&| as
% syntax shorthand for the And operation and we need to hide it for
% \TeX{}. This group is closed after \cs{@@_get_next:NN} returns
@@ -1119,7 +1123,8 @@
\exp:w \exp_end_continue_f:w % (
\@@_get_next:NN \use_i:nnnn #1 )
}
-\cs_new:Npn \@@_if_p_aux:w #1 \use_i:nnnn #2#3 {#2}
+\cs_new:Npn \@@_if_p_aux:w #1 \use_i:nnnn #2#3
+ { \bool_if:NTF #2 \c_true_bool \c_false_bool }
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex/contrib/l3kernel/l3prop.dtx b/macros/latex/contrib/l3kernel/l3prop.dtx
index e756a6a642..3165d969ba 100644
--- a/macros/latex/contrib/l3kernel/l3prop.dtx
+++ b/macros/latex/contrib/l3kernel/l3prop.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3quark.dtx b/macros/latex/contrib/l3kernel/l3quark.dtx
index 5a8913c39d..f814750247 100644
--- a/macros/latex/contrib/l3kernel/l3quark.dtx
+++ b/macros/latex/contrib/l3kernel/l3quark.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3regex.dtx b/macros/latex/contrib/l3kernel/l3regex.dtx
index f6b894c076..7429b63ccf 100644
--- a/macros/latex/contrib/l3kernel/l3regex.dtx
+++ b/macros/latex/contrib/l3kernel/l3regex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3seq.dtx b/macros/latex/contrib/l3kernel/l3seq.dtx
index ae93f5ee1d..893ad81248 100644
--- a/macros/latex/contrib/l3kernel/l3seq.dtx
+++ b/macros/latex/contrib/l3kernel/l3seq.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3skip.dtx b/macros/latex/contrib/l3kernel/l3skip.dtx
index 0e33bc6b86..1a7ce1fc89 100644
--- a/macros/latex/contrib/l3kernel/l3skip.dtx
+++ b/macros/latex/contrib/l3kernel/l3skip.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3sort.dtx b/macros/latex/contrib/l3kernel/l3sort.dtx
index 1ecfe315df..08fdbf1249 100644
--- a/macros/latex/contrib/l3kernel/l3sort.dtx
+++ b/macros/latex/contrib/l3kernel/l3sort.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3str-convert.dtx b/macros/latex/contrib/l3kernel/l3str-convert.dtx
index 55b3d28ea2..191b68f4f3 100644
--- a/macros/latex/contrib/l3kernel/l3str-convert.dtx
+++ b/macros/latex/contrib/l3kernel/l3str-convert.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3str.dtx b/macros/latex/contrib/l3kernel/l3str.dtx
index f2c8fd1d3a..bd62089fe5 100644
--- a/macros/latex/contrib/l3kernel/l3str.dtx
+++ b/macros/latex/contrib/l3kernel/l3str.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
@@ -305,6 +305,12 @@
% match then the \meta{false code} is inserted. The function
% \cs{str_case:nn}, which does nothing if there is no match, is also
% available.
+%
+% This set of functions performs no expansion on each
+% \meta{string~case} argument, so any variable in there will be
+% compared as a string. If expansion is needed in the
+% \meta{string~cases}, then \cs[no-index]{str_case_e:nn(TF)} should
+% be used instead.
% \end{function}
%
% \begin{function}[added = 2018-06-19, EXP, noTF]{\str_case_e:nn}
diff --git a/macros/latex/contrib/l3kernel/l3styleguide.pdf b/macros/latex/contrib/l3kernel/l3styleguide.pdf
index 4aa17a1d3f..4cb6ec6363 100644
--- a/macros/latex/contrib/l3kernel/l3styleguide.pdf
+++ b/macros/latex/contrib/l3kernel/l3styleguide.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3styleguide.tex b/macros/latex/contrib/l3kernel/l3styleguide.tex
index 0255526bf7..77c6cf5aaa 100644
--- a/macros/latex/contrib/l3kernel/l3styleguide.tex
+++ b/macros/latex/contrib/l3kernel/l3styleguide.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2022-06-02}
+\date{Released 2022-06-16}
\begin{document}
diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf
index d790e8c9c6..0167d8e99e 100644
--- a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf
+++ b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.tex b/macros/latex/contrib/l3kernel/l3syntax-changes.tex
index 163c3affb7..42e40d7c21 100644
--- a/macros/latex/contrib/l3kernel/l3syntax-changes.tex
+++ b/macros/latex/contrib/l3kernel/l3syntax-changes.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2022-06-02}
+\date{Released 2022-06-16}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex/contrib/l3kernel/l3sys.dtx b/macros/latex/contrib/l3kernel/l3sys.dtx
index 9966dac5e3..ff4de0a046 100644
--- a/macros/latex/contrib/l3kernel/l3sys.dtx
+++ b/macros/latex/contrib/l3kernel/l3sys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.pdf b/macros/latex/contrib/l3kernel/l3term-glossary.pdf
index 7337ec6e52..b7c19560e9 100644
--- a/macros/latex/contrib/l3kernel/l3term-glossary.pdf
+++ b/macros/latex/contrib/l3kernel/l3term-glossary.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.tex b/macros/latex/contrib/l3kernel/l3term-glossary.tex
index c82e8aaa7e..f678691b6e 100644
--- a/macros/latex/contrib/l3kernel/l3term-glossary.tex
+++ b/macros/latex/contrib/l3kernel/l3term-glossary.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2022-06-02}
+\date{Released 2022-06-16}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex/contrib/l3kernel/l3text-case.dtx b/macros/latex/contrib/l3kernel/l3text-case.dtx
index 48b1ad923a..3bd02e6c2a 100644
--- a/macros/latex/contrib/l3kernel/l3text-case.dtx
+++ b/macros/latex/contrib/l3kernel/l3text-case.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3text-purify.dtx b/macros/latex/contrib/l3kernel/l3text-purify.dtx
index 68add6e340..db4def98e4 100644
--- a/macros/latex/contrib/l3kernel/l3text-purify.dtx
+++ b/macros/latex/contrib/l3kernel/l3text-purify.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3text.dtx b/macros/latex/contrib/l3kernel/l3text.dtx
index 228a20bfcb..529020ebb9 100644
--- a/macros/latex/contrib/l3kernel/l3text.dtx
+++ b/macros/latex/contrib/l3kernel/l3text.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx
index d1e5813526..a30300b122 100644
--- a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx
+++ b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
@@ -1192,6 +1192,7 @@
% \begin{macrocode}
\cs_new_protected:Npn \peek_analysis_map_inline:n #1
{
+ \group_align_safe_begin:
\int_gincr:N \g__kernel_prg_map_int
\cs_set_protected:cpn
{ @@_analysis_map_ \int_use:N \g__kernel_prg_map_int :nnN }
@@ -1200,7 +1201,8 @@
\group_end:
#1
\@@_peek_analysis_loop:NNn
- \prg_break_point:Nn \peek_analysis_map_break: { }
+ \prg_break_point:Nn \peek_analysis_map_break:
+ { \group_align_safe_end: }
}
\@@_peek_analysis_loop:NNn ? ? ?
}
diff --git a/macros/latex/contrib/l3kernel/l3tl.dtx b/macros/latex/contrib/l3kernel/l3tl.dtx
index 52ccc25ed5..d85b6b2a46 100644
--- a/macros/latex/contrib/l3kernel/l3tl.dtx
+++ b/macros/latex/contrib/l3kernel/l3tl.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3token.dtx b/macros/latex/contrib/l3kernel/l3token.dtx
index 2a72aefca9..3fb9b32647 100644
--- a/macros/latex/contrib/l3kernel/l3token.dtx
+++ b/macros/latex/contrib/l3kernel/l3token.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3unicode.dtx b/macros/latex/contrib/l3kernel/l3unicode.dtx
index 7802dd1365..1d2291877d 100644
--- a/macros/latex/contrib/l3kernel/l3unicode.dtx
+++ b/macros/latex/contrib/l3kernel/l3unicode.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-02}
+% \date{Released 2022-06-16}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/source3.pdf b/macros/latex/contrib/l3kernel/source3.pdf
index 271c4766b6..c83369e020 100644
--- a/macros/latex/contrib/l3kernel/source3.pdf
+++ b/macros/latex/contrib/l3kernel/source3.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/source3.tex b/macros/latex/contrib/l3kernel/source3.tex
index 9d6420594b..4065b377af 100644
--- a/macros/latex/contrib/l3kernel/source3.tex
+++ b/macros/latex/contrib/l3kernel/source3.tex
@@ -53,7 +53,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2022-06-02}
+\date{Released 2022-06-16}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex/contrib/l3packages/CHANGELOG.md b/macros/latex/contrib/l3packages/CHANGELOG.md
index 60b6838010..add1cb9010 100644
--- a/macros/latex/contrib/l3packages/CHANGELOG.md
+++ b/macros/latex/contrib/l3packages/CHANGELOG.md
@@ -7,6 +7,11 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2022-06-16]
+
+### Changed
+- Only remove key name part from `\@unusedoptionlist`
+
## [2022-06-07]
### Fixed
@@ -187,7 +192,8 @@ this project uses date-based 'snapshot' version identifiers.
- Switch to ISO date format
- Improve cross-module use of internal functions
-[Unreleased]: https://github.com/latex3/latex3/compare/2022-06-07...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2022-06-16...HEAD
+[2022-06-16]: https://github.com/latex3/latex3/compare/2022-06-07...2022-06-16
[2022-06-07]: https://github.com/latex3/latex3/compare/2022-05-30...2022-06-07
[2022-05-30]: https://github.com/latex3/latex3/compare/2022-01-12...2022-05-30
[2022-01-12]: https://github.com/latex3/latex3/compare/2021-11-12...2022-01-12
diff --git a/macros/latex/contrib/l3packages/README.md b/macros/latex/contrib/l3packages/README.md
index 1d9dd586cc..a6598c36e2 100644
--- a/macros/latex/contrib/l3packages/README.md
+++ b/macros/latex/contrib/l3packages/README.md
@@ -1,7 +1,7 @@
LaTeX3 High-Level Concepts
==========================
-Release 2022-06-07
+Release 2022-06-16
Overview
--------
diff --git a/macros/latex/contrib/l3packages/l3keys2e.dtx b/macros/latex/contrib/l3packages/l3keys2e.dtx
index c1c56bb803..052c071751 100644
--- a/macros/latex/contrib/l3packages/l3keys2e.dtx
+++ b/macros/latex/contrib/l3packages/l3keys2e.dtx
@@ -62,7 +62,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-07}
+% \date{Released 2022-06-16}
%
% \maketitle
%
@@ -139,7 +139,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3keys2e}{2022-06-07}{}
+\ProvidesExplPackage{l3keys2e}{2022-06-16}{}
{LaTeX2e option processing using LaTeX3 keys}
% \end{macrocode}
%
@@ -230,6 +230,7 @@
% \end{macro}
%
% \begin{macro}{\@@_latexe_options_class:n}
+% \begin{macro}{\@@_latexe_options_remove:nnn, \@@_latexe_options_remove:enn}
% For classes, each option (stripped of any content after |=|)
% is checked for existence as a key. If found, the option is added to
% the combined list for processing. On the other hand, unused options
@@ -249,15 +250,23 @@
{
\clist_map_inline:cn { opt@ \@currname . \@currext }
{
- \keys_if_exist:nxTF {#1} { \@@_latexe_remove_equals:n {##1} }
- { \clist_put_right:Nn \l_@@_latexe_options_clist {##1} }
- { \clist_put_right:Nn \@unusedoptionlist {##1} }
+ \@@_latexe_options_remove:enn
+ { \@@_latexe_remove_equals:n {##1} }
+ {##1} {#1}
}
}
}
}
+\cs_new_protected:Npn \@@_latexe_options_remove:nnn #1#2#3
+ {
+ \keys_if_exist:nnTF {#3} {#1}
+ { \clist_put_right:Nn \l_@@_latexe_options_clist {#2} }
+ { \clist_put_right:Nn \@unusedoptionlist {#1} }
+ }
+\cs_generate_variant:Nn \@@_latexe_options_remove:nnn { e }
% \end{macrocode}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@@_latexe_options_package:n}
% For global options when processing a package, the tasks are slightly
@@ -269,11 +278,9 @@
{
\clist_map_inline:Nn \@classoptionslist
{
- \keys_if_exist:nxT {#1} { \@@_latexe_remove_equals:n {##1} }
- {
- \clist_put_right:Nn \l_@@_latexe_options_clist {##1}
- \clist_remove_all:Nn \@unusedoptionlist {##1}
- }
+ \@@_latexe_options_remove:enn
+ { \@@_latexe_remove_equals:n {##1} }
+ {##1} {#1}
}
}
% \end{macrocode}
diff --git a/macros/latex/contrib/l3packages/l3keys2e.pdf b/macros/latex/contrib/l3packages/l3keys2e.pdf
index 9645d3d9ad..f52ddea71a 100644
--- a/macros/latex/contrib/l3packages/l3keys2e.pdf
+++ b/macros/latex/contrib/l3packages/l3keys2e.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3packages/xfp.dtx b/macros/latex/contrib/l3packages/xfp.dtx
index fb1de34039..eff39501de 100644
--- a/macros/latex/contrib/l3packages/xfp.dtx
+++ b/macros/latex/contrib/l3packages/xfp.dtx
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-07}
+% \date{Released 2022-06-16}
%
% \maketitle
%
@@ -171,7 +171,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xfp}{2022-06-07}{}
+\ProvidesExplPackage{xfp}{2022-06-16}{}
{L3 Floating point unit}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3packages/xfp.pdf b/macros/latex/contrib/l3packages/xfp.pdf
index b0cc8eef6f..db779fc990 100644
--- a/macros/latex/contrib/l3packages/xfp.pdf
+++ b/macros/latex/contrib/l3packages/xfp.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3packages/xfrac.dtx b/macros/latex/contrib/l3packages/xfrac.dtx
index 6646a0718c..67cc2e0e59 100644
--- a/macros/latex/contrib/l3packages/xfrac.dtx
+++ b/macros/latex/contrib/l3packages/xfrac.dtx
@@ -65,7 +65,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-07}
+% \date{Released 2022-06-16}
%
% \maketitle
%
@@ -535,7 +535,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xfrac}{2022-06-07}{}
+\ProvidesExplPackage{xfrac}{2022-06-16}{}
{L3 Experimental split-level fractions}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3packages/xfrac.pdf b/macros/latex/contrib/l3packages/xfrac.pdf
index e4434eea51..a2e401c94c 100644
--- a/macros/latex/contrib/l3packages/xfrac.pdf
+++ b/macros/latex/contrib/l3packages/xfrac.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3packages/xparse.dtx b/macros/latex/contrib/l3packages/xparse.dtx
index ee75f37f4d..8c4146c110 100644
--- a/macros/latex/contrib/l3packages/xparse.dtx
+++ b/macros/latex/contrib/l3packages/xparse.dtx
@@ -67,7 +67,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-07}
+% \date{Released 2022-06-16}
%
% \maketitle
%
@@ -1064,7 +1064,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xparse}{2022-06-07}{}
+\ProvidesExplPackage{xparse}{2022-06-16}{}
{L3 Experimental document command parser}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3packages/xparse.pdf b/macros/latex/contrib/l3packages/xparse.pdf
index bac6d5b747..404cd0a5fc 100644
--- a/macros/latex/contrib/l3packages/xparse.pdf
+++ b/macros/latex/contrib/l3packages/xparse.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3packages/xtemplate.dtx b/macros/latex/contrib/l3packages/xtemplate.dtx
index e329169bb3..7f215e8c81 100644
--- a/macros/latex/contrib/l3packages/xtemplate.dtx
+++ b/macros/latex/contrib/l3packages/xtemplate.dtx
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2022-06-07}
+% \date{Released 2022-06-16}
%
% \maketitle
%
@@ -706,7 +706,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xtemplate}{2022-06-07}{}
+\ProvidesExplPackage{xtemplate}{2022-06-16}{}
{L3 Experimental prototype document functions}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3packages/xtemplate.pdf b/macros/latex/contrib/l3packages/xtemplate.pdf
index a00ca496f9..738e80d25b 100644
--- a/macros/latex/contrib/l3packages/xtemplate.pdf
+++ b/macros/latex/contrib/l3packages/xtemplate.pdf
Binary files differ
diff --git a/macros/latex/contrib/magicwatermark/README.md b/macros/latex/contrib/magicwatermark/README.md
new file mode 100644
index 0000000000..db59f622e8
--- /dev/null
+++ b/macros/latex/contrib/magicwatermark/README.md
@@ -0,0 +1,8 @@
+- Package: magicwatermark
+- Author: lijun guo <ljguo1020@gmail.com>
+- Repository: https://github.com/ljguo1020/magicwatermark
+- License: The LaTeX Project Public License 1.3c
+
+> magicwatermark is a package based on everypage and tikz and encapsulated by LATEX3 İt can
+> flexibly set and clear watermarks. All watermark content is placed in inside a node of verbtikz and
+> in the center of the page.
diff --git a/macros/latex/contrib/magicwatermark/magicwatermark-en.pdf b/macros/latex/contrib/magicwatermark/magicwatermark-en.pdf
new file mode 100644
index 0000000000..5ee2d2d9f5
--- /dev/null
+++ b/macros/latex/contrib/magicwatermark/magicwatermark-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/magicwatermark/magicwatermark-en.tex b/macros/latex/contrib/magicwatermark/magicwatermark-en.tex
new file mode 100644
index 0000000000..03a3e6db11
--- /dev/null
+++ b/macros/latex/contrib/magicwatermark/magicwatermark-en.tex
@@ -0,0 +1,212 @@
+\documentclass{l3doc}
+\usepackage{graphicx}
+\usepackage{enumitem}
+\usepackage{listings}
+\lstset{
+frame=tb,framerule=2pt,language={[LaTeX]TeX},basicstyle={\ttfamily},
+language={[LaTeX]TeX},
+keywordstyle=\color{red!70!black}\bfseries,
+keywordstyle={[2]\color{blue!70!black}\bfseries},
+morekeywords={PageSetup,Watermark,NewWatermark,MyPageSetup,MyWatermark,EvenPageSetup,OddPageSetup,EvenWatermark,OddWatermark,ClearWatermark}}
+\usepackage{fontspec}
+\IfFontExistsTF{calibri.ttf}
+{
+ \setmainfont{calibri.ttf}[
+ BoldFont = calibrib.ttf,
+ ItalicFont = calibrii.ttf,
+ BoldItalicFont = calibriz.ttf
+ ]
+}
+{}
+\usepackage{magicwatermark}
+\renewcommand*\marg[1]{\{\meta{#1}\}}
+\renewcommand*\oarg[1]{[\meta{#1}]}
+\renewcommand*\parg[1]{(\meta{#1})}
+\title{\pkg{magicwatermark}}
+\author{lijun guo \\ liguo1020@gmail.com}
+\def\version{v1.0.1}
+\date{\today\quad\version}
+\pagestyle{empty}
+\PageSetup*
+{
+ \begin{tikzpicture}[remember picture,overlay]
+ \node[cyan,scale = 2,shift={(-1,-1)}] at (current page.north east){--~\thepage~--};
+ \end{tikzpicture}
+}
+\Watermark
+\begin{document}
+\maketitle
+\tableofcontents
+\begin{abstract}
+\pkg{magicwatermark} is a package based on \pkg{everypage} and \pkg{tikz} and encapsulated by \LaTeX3 \. It can flexibly set and clear watermarks. All watermark content is placed in \ inside a \verb|node| of \verb|tikz| and in the center of the page.
+\end{abstract}
+\section{Introduction}
+Currently the \pkg{magicwatermark} package can only implement the following functions
+\begin{itemize}
+ \item Set watermark for all pages
+ \item Set watermark for odd pages
+ \item Set the watermark for even pages
+ \item Create a new watermark and set multiple watermarks on the same page
+ \item Clear watermark
+\end{itemize}
+\section{Interface}
+\subsection{Some command}
+\begin{function}[added=2021-12-21,updated=2021-12-21]{\PageSetup}
+ \begin{syntax}
+ \tn{PageSetup} \oarg{option} \marg{content for watermark}
+ \end{syntax}
+ This command is used to set the watermark content of all pages. It accepts two parameters. The first parameter is used to set some properties and is given in the form of \verb|key=value|. The second parameter is used to set the watermark content. It is text, pictures, etc.
+\end{function}
+\begin{function}[added=2021-12-21,updated=2021-12-21]{\Watermark}
+\begin{syntax}
+ \tn{Watermark}
+\end{syntax}
+This command is used to display the watermark set above
+\end{function}
+\begin{function}[added=2021-12-21,updated=2021-12-21]{\EvenPageSetup}
+\begin{syntax}
+\tn{EvenPageSetup}\oarg{option}\marg{content for watermark}
+\end{syntax}
+This command is used to set the watermark content of even pages
+\end{function}
+\begin{function}[added=2021-12-21,updated=2021-12-21]{\EvenWatermark}
+\begin{syntax}
+ \tn{EvenWatermark}
+\end{syntax}
+This command is used to display the even page watermark set above
+\end{function}
+\begin{function}[added=2021-12-21,updated=2021-12-21]{\OddPageSetup}
+\begin{syntax}
+\tn{OddPageSetup}\oarg{option}\marg{content for watermark}
+\end{syntax}
+This command is used to set the watermark content of odd pages
+\end{function}
+\begin{function}[added=2021-12-21,updated=2021-12-21]{\OddWatermark}
+\begin{syntax}
+ \tn{OddWatermark}
+\end{syntax}
+This command is used to display the odd page watermark set above
+\end{function}
+\subsection{Add command}
+The usage of the following commands with asterisks is similar to the above. It is not so much an extension as it is a cancellation of restrictions. The above commands all write the watermark content in a \verb|node|, for users who are not familiar with TikZ , the former is more square is convenient and fast, while the latter is more flexible
+\begin{function}[added=2022-01-07,updated=2022-01-07]{\PageSetup*}
+\begin{syntax}
+\tn{PageSetup*}\marg{content for watermark}
+\end{syntax}
+\end{function}
+\begin{function}[added=2022-01-07,updated=2022-01-07]{\EvenPageSetup*}
+\begin{syntax}
+\tn{EvenPageSetup*}\marg{content for watermark}
+\end{syntax}
+\end{function}
+\begin{function}[added=2022-01-07,updated=2022-01-07]{\OddPageSetup*}
+\begin{syntax}
+\tn{OddPageSetup*}\marg{content for watermark}
+\end{syntax}
+\end{function}
+\begin{function}[added=2021-12-21,updated=2021-12-21]{\NewWatermark}
+\begin{syntax}
+\tn{NewWatermark}\marg{watermark name}
+\end{syntax}
+This command is used to create a new watermark. Note that the watermark name cannot be \verb|main|, \verb|even|, \verb|odd|.
+\end{function}
+\begin{function}[added=2021-12-21,updated=2021-12-21]{\MyPageSetup}
+\begin{syntax}
+\tn{MyPageSetup}\oarg{option}\marg{watermark name}\marg{content for watermark}
+\end{syntax}
+Used to set the new watermark content
+\end{function}
+\begin{function}[added=2021-12-21,updated=2021-12-21]{\MyWatermark}
+\begin{syntax}
+ \tn{MyWatermark}\marg{watermark name}
+\end{syntax}
+This command is used to display the watermark set above
+\end{function}
+\begin{function}[added=2021-12-21,updated=2021-12-21]{\ClearWatermark}
+\begin{syntax}
+ \tn{ClearWatermark}\marg{watermark list}
+This command is used to clear the set watermark, accepts a comma list as parameter, for example:
+\begin{itemize}
+ \item \verb|\ClearWatermark{main}| clears the watermark set by \verb|\Watermark|
+ \item \verb|\ClearWatermark{even,odd}| clears the watermark on odd and even pages
+ \item \verb|\ClearWatermark{all}| Clear all watermarks
+ \item \verb|\ClearWatermark{name1,name2,name3,...}|
+\end{itemize}
+\end{syntax}
+\end{function}
+\subsection{option list}
+The \textbf{option} in the above setting command is as follows
+\begin{itemize}
+ \item \verb|scale = <number>| set the scale
+ \item \verb|opacity = <number>| set the opacity
+ \item \verb|shift = {(x,y)}| for translation by vector (x,y)
+ \item \verb|color = <color expression>| set the color
+ \item \verb|rotate = <angle>| Set the rotation angle
+ \item \verb+align = <center|left|right>+ Set the alignment of multi-line text, the default is center
+ \item \verb+showframe = <true|false>+ Set whether to display the frame, the default is false
+\end{itemize}
+\subsection{notes}
+All show and clear commands take effect only on the text following the command.
+
+\section{Examples}
+\subsection{basic}
+\begin{lstlisting}
+\documentclass{ctexart}
+\usepackage{magicwatermark}
+\PageSetup[
+ rotate = 30, % set the rotation angle
+ color = red!80, % set color for watermark content
+ scale = 6 % set the scale
+]{
+ watermark content
+}
+\Watermark
+\begin{document}
+...
+\end{document}
+\end{lstlisting}
+\subsection{Odd and Even Pages}
+\begin{lstlisting}
+\documentclass{ctexart}
+\usepackage{magicwatermark}
+\EvenPageSetup[color=cyan,showframe,scale=4]{Even page} % Even page
+\OddPageSetup[color=purple,showframe,scale=4]{Odd page} % Odd page
+\EvenWatermark % show watermark
+\OddWatermark
+\begin{document}
+...
+\end{document}
+\end{lstlisting}
+\subsection{star}
+\begin{lstlisting}
+\documentclass{ctexart}
+\usepackage{magicwatermark}
+\PageSetup*{
+ \begin{tikzpicture}[remember picture,overlay]
+ \node[cyan,scale = 2,shift={(-1,-1)}] at
+ (current page.north east){--~\thepage~--};
+ \end{tikzpicture}
+}
+\begin{document}
+...
+\Watermark % This order did not take effect before
+\end{document}
+\end{lstlisting}
+\subsection{New watermark}
+\begin{lstlisting}
+\documentclass{ctexart}
+\usepackage{magicwatermark}
+\NewWatermark{one} % new
+\NewWatermark{two}
+\MyPageSetup[scale=5,color=blue]{one}{content one} % setting
+\MyPageSetup[scale=5,color=red]{two}{content two}
+\begin{document}
+\MyWatermark{one} % use watermark one
+...
+\newpage
+\ClearWatermark{one} % clear watermark one
+\MyWatermark{two} % use watermark two
+...
+\end{document}
+\end{lstlisting}
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/magicwatermark/magicwatermark.dtx b/macros/latex/contrib/magicwatermark/magicwatermark.dtx
new file mode 100644
index 0000000000..35115c1cca
--- /dev/null
+++ b/macros/latex/contrib/magicwatermark/magicwatermark.dtx
@@ -0,0 +1,598 @@
+% \iffalse meta-comment
+% !TEX program = XeLaTeX
+%<*internal>
+\iffalse
+%</internal>
+%<*internal>
+\fi
+\begingroup
+ \def\temp{LaTeX2e}
+\expandafter\endgroup\ifx\temp\fmtname\else
+\csname fi\endcsname
+%</internal>
+%<*install>
+
+\input ctxdocstrip %
+
+\let\MetaPrefix\relax
+
+\declarepostamble\emptypostamble
+\endpostamble
+
+\def\MetaPrefix{-- }
+
+
+\let\MetaPrefix\DoubleperCent
+
+\generate
+ {
+%</install>
+%<*internal>
+ \usedir{source/xelatex/magicwatermark}
+ \file{magicwatermark.ins} {\from{\jobname.dtx}{install}}
+%</internal>
+%<*install>
+ \usedir{xetex/xelatex/magicwatermark}
+ \file{magicwatermark.sty} {\from{\jobname.dtx}{package}}
+ \nopreamble\nopostamble
+ \usedir{doc/xelatex/magicwatermark}
+ \file{README.md} {\from{\jobname.dtx}{readme}}
+ }
+
+\endbatchfile
+%</install>
+%<*internal>
+\fi
+%</internal>
+%<package>\NeedsTeXFormat{LaTeX2e}[2020/10/01]
+%<package>\ProvidesPackage{magicwatermark}[2021/12/22 v1.0.1 watermark for ljguo ]
+%<*driver>
+\documentclass{ctxdoc}
+\usepackage{graphicx}
+\usepackage{enumitem}
+\usepackage{listings}
+\lstset{
+frame=tb,framerule=2pt,language={[LaTeX]TeX},basicstyle={\ttfamily},
+language={[LaTeX]TeX},
+keywordstyle=\color{red!70!black}\bfseries,
+keywordstyle={[2]\color{blue!70!black}\bfseries},
+morekeywords={PageSetup,Watermark,NewWatermark,MyPageSetup,MyWatermark,EvenPageSetup,OddPageSetup,EvenWatermark,OddWatermark,ClearWatermark}}
+\usepackage{fontspec}
+\IfFontExistsTF{calibri.ttf}
+{
+ \setmainfont{calibri.ttf}[
+ BoldFont = calibrib.ttf,
+ ItalicFont = calibrii.ttf,
+ BoldItalicFont = calibriz.ttf
+ ]
+}
+{}
+\setCJKmainfont[AutoFakeBold,AutoFakeSlant]{simfang.ttf}
+\usepackage{magicwatermark}
+\renewcommand*\marg[1]{\{\meta{#1}\}}
+\renewcommand*\oarg[1]{[\meta{#1}]}
+\renewcommand*\parg[1]{(\meta{#1})}
+\begin{document}
+%<!--CODEDOC--> \DisableImplementation
+ \EnableImplementation
+ \DocInput{\jobname.dtx}
+ \IndexLayout
+ \PrintChanges
+ \PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+
+% \GetFileId{magicwatermark.sty}
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+%
+%\title{\pkg{magicwatermark}: 魔法水印宏包}
+%\author{郭李军 \\ liguo1020@gmail.com}
+%\def\version{v1.0.1}
+%\date{\today\quad\version}
+%\pagestyle{empty}
+%\PageSetup*
+%{
+% \begin{tikzpicture}[remember picture,overlay]
+% \node[cyan,scale = 2,shift={(-1,-1)}] at (current page.north east){--~\thepage~--};
+% \end{tikzpicture}
+%}
+%\Watermark
+%\maketitle
+%\thispagestyle{empty}
+%\tableofcontents
+%\begin{documentation}
+%\changes{v1.0.1}{2021/12/21}{实现了一些基本功能}
+%\begin{abstract}
+%\pkg{magicwatermark} 是一个基于 \pkg{everypage} 和 \pkg{tikz} 宏包,并经过 \LaTeX3 \ 进行封装的宏包,它可以很灵活的设置和清除水印,所有水印内容都放在 \verb|tikz| 的一个 \verb|node| 里面,并处于页面中心。
+%\end{abstract}
+%\section{介绍}
+%目前 \pkg{magicwatermark} 宏包只能实现如下功能
+%\begin{itemize}
+% \item 设置所有页面的水印
+% \item 设置奇数页的水印
+% \item 设置偶数页的水印
+% \item 新建水印,同页面设置多个水印
+% \item 清除水印
+%\end{itemize}
+%\section{用户接口}
+%\subsection{提供命令}
+% \begin{function}[added=2021-12-21,updated=2021-12-21]{\PageSetup}
+% \begin{syntax}
+% \tn{PageSetup} \oarg{水印参数} \marg{水印内容}
+% \end{syntax}
+% 此命令用于设置所有页面的水印内容,接受两个参数,第一个参数用于设置一些属性,以 \verb|key=value| 的形式给出, 第二个参数用于设置水印内容,可以是文字、图片、等.
+% \end{function}
+%\begin{function}[added=2021-12-21,updated=2021-12-21]{\Watermark}
+%\begin{syntax}
+% \tn{Watermark}
+%\end{syntax}
+% 该命令用于显示上面设置的水印
+%\end{function}
+%\begin{function}[added=2021-12-21,updated=2021-12-21]{\EvenPageSetup}
+%\begin{syntax}
+% \tn{EvenPageSetup}\oarg{水印参数}\marg{水印内容}
+%\end{syntax}
+% 该命令用于设置偶数页的水印内容
+%\end{function}
+%\begin{function}[added=2021-12-21,updated=2021-12-21]{\EvenWatermark}
+%\begin{syntax}
+% \tn{EvenWatermark}
+%\end{syntax}
+% 该命令用于显示上面设置的偶数页水印
+%\end{function}
+%\begin{function}[added=2021-12-21,updated=2021-12-21]{\OddPageSetup}
+%\begin{syntax}
+% \tn{OddPageSetup}\oarg{水印参数}\marg{水印内容}
+%\end{syntax}
+% 该命令用于设置奇数页的水印内容
+%\end{function}
+%\begin{function}[added=2021-12-21,updated=2021-12-21]{\OddWatermark}
+%\begin{syntax}
+% \tn{OddWatermark}
+%\end{syntax}
+% 该命令用于显示上面设置的奇数页水印
+%\end{function}
+%\subsection{扩展命令}
+%以下带星号命令用法和上面的类似,与其说是扩展,不如说是取消了限制,以上的命令都将水印内容写在一个\verb|node|中,对于对 TikZ 不太熟练的用户来说,前者更加方
+%便快捷,而后者则更加灵活
+%\begin{function}[added=2022-01-07,updated=2022-01-07]{\PageSetup*}
+%\begin{syntax}
+% \tn{PageSetup*}\marg{水印内容}
+%\end{syntax}
+%\end{function}
+%\begin{function}[added=2022-01-07,updated=2022-01-07]{\EvenPageSetup*}
+%\begin{syntax}
+% \tn{EvenPageSetup*}\marg{水印内容}
+%\end{syntax}
+%\end{function}
+%\begin{function}[added=2022-01-07,updated=2022-01-07]{\OddPageSetup*}
+%\begin{syntax}
+% \tn{OddPageSetup*}\marg{水印内容}
+%\end{syntax}
+%\end{function}
+%\begin{function}[added=2021-12-21,updated=2021-12-21]{\NewWatermark}
+%\begin{syntax}
+% \tn{NewWatermark}\marg{水印名称}
+%\end{syntax}
+%该命令用于新建一个水印,注意水印名称不能是 \verb|main|, \verb|even|, \verb|odd|.
+%\end{function}
+%\begin{function}[added=2021-12-21,updated=2021-12-21]{\MyPageSetup}
+%\begin{syntax}
+% \tn{MyPageSetup}\oarg{水印参数}\marg{水印名称}\marg{水印内容}
+%\end{syntax}
+%用于设置新建的水印内容
+%\end{function}
+%\begin{function}[added=2021-12-21,updated=2021-12-21]{\MyWatermark}
+%\begin{syntax}
+% \tn{MyWatermark}\marg{水印名称}
+%\end{syntax}
+% 该命令用于显示上面设置的水印
+%\end{function}
+%\begin{function}[added=2021-12-21,updated=2021-12-21]{\ClearWatermark}
+%\begin{syntax}
+% \tn{ClearWatermark}\marg{水印列表}
+%该命令用于清除设置的水印,接受一个逗号列表作为参数,例如:
+%\begin{itemize}
+% \item \verb|\ClearWatermark{main}| 清除由 \verb|\Watermark| 设置的水印
+% \item \verb|\ClearWatermark{even,odd}| 清除奇数和偶数页的水印
+% \item \verb|\ClearWatermark{all}| 清除所有的水印
+% \item \verb|\ClearWatermark{name1,name2,name3,...}|
+%\end{itemize}
+%\end{syntax}
+%\end{function}
+%\subsection{参数列表}
+%以上设置命令中的\textbf{水印参数}如下
+%\begin{itemize}
+% \item \verb|scale = <number>| 用于设置缩放比例
+% \item \verb|opacity = <number>| 用于设置不透明度
+% \item \verb|shift = {(x,y)}| 用于按向量 (x,y) 平移
+% \item \verb|color = <color expression>| 用于设置文本颜色
+% \item \verb|rotate = <angle>| 用于设置旋转角度
+% \item \verb+align = <center|left|right>+ 用于设置多行文本对齐方式,默认为 center
+% \item \verb+showframe = <true|false>+ 用于设置是否显示文本框,默认为 false
+%\end{itemize}
+%\subsection{一些说明}
+%所有的显示命令和清除命令都仅对该命令后面的文本生效。
+
+%\section{Examples}
+%\subsection{不带星号}
+%\begin{lstlisting}
+\documentclass{ctexart}
+\usepackage{magicwatermark}
+\PageSetup[
+ rotate = 30, % 设置旋转角度
+ color = red!80, % 设置水印内容颜色
+ scale = 6 % 设置比例
+]{
+ 水印内容
+}
+\Watermark % 全文生效
+\begin{document}
+...
+\end{document}
+\end{lstlisting}
+%\subsection{奇偶页}
+%\begin{lstlisting}
+\documentclass{ctexart}
+\usepackage{magicwatermark}
+\EvenPageSetup[color=cyan,showframe,scale=4]{偶数页} % 设置奇数页
+\OddPageSetup[color=purple,showframe,scale=4]{奇数页} % 设置偶数页
+\EvenWatermark % 显示水印
+\OddWatermark
+\begin{document}
+...
+\end{document}
+\end{lstlisting}
+%\subsection{带星号}
+%\begin{lstlisting}
+\documentclass{ctexart}
+\usepackage{magicwatermark}
+\PageSetup*{
+ \begin{tikzpicture}[remember picture,overlay]
+ \node[cyan,scale = 2,shift={(-1,-1)}] at
+ (current page.north east){--~\thepage~--};
+ \end{tikzpicture}
+}
+\begin{document}
+...
+\Watermark % 该命令之前不生效
+\end{document}
+\end{lstlisting}
+%\subsection{新建水印}
+%\begin{lstlisting}
+\documentclass{ctexart}
+\usepackage{magicwatermark}
+\NewWatermark{one} % 新建两个水印
+\NewWatermark{two}
+\MyPageSetup[scale=5,color=blue]{one}{水印内容一} % 设置水印
+\MyPageSetup[scale=5,color=red]{two}{水印内容二}
+\begin{document}
+\MyWatermark{one} % 使用第一个水印
+...
+\newpage
+\ClearWatermark{one} % 清除第一个水印
+\MyWatermark{two} % 使用第二个水印
+...
+\end{document}
+\end{lstlisting}
+%\end{documentation}
+%
+% \StopEventually{}
+% \section{代码实现}
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+% 加载必要的宏包
+% \begin{macrocode}
+\RequirePackage{everypage-1x,tikz,xparse,expl3}
+% \end{macrocode}
+% 打开\LaTeX3 编程环境
+% \begin{macrocode}
+\ExplSyntaxOn
+% \end{macrocode}
+% 声明一些变量
+% \begin{macrocode}
+\tl_new:N \l_mainpage_tl
+\tl_new:N \l_evenpage_tl
+\tl_new:N \l_oddpage_tl
+\tl_new:N \g_case_tl
+\tl_new:N \g_clear_all_tl
+% \end{macrocode}
+% 定义警告
+% \begin{macrocode}
+\msg_new:nnn{clear}{not~have}{I~can~not~find~the~"\clear"~watermark~!}
+% \end{macrocode}
+% \begin{macro}{\PageSetup}
+% 对所有页面设置水印
+% \begin{macrocode}
+\NewDocumentCommand{\PageSetup}{sO{}+m}
+{
+ \IfBooleanTF{#1}
+ {
+ \tl_set:Nn \l_mainpage_tl{#3}
+ }
+ {
+ \tl_set:Nn \l_mainpage_tl
+ {
+ \group_begin:
+ \keys_set:nn{watermark}{#2}
+ \begin{tikzpicture}[remember~picture,overlay]
+ \node
+ [
+ scale = \fp_use:N\l_scale_fp,
+ opacity = \fp_use:N\l_opacity_fp,
+ shift = \tl_use:N\l_shift_tl,
+ color = \tl_use:N \l_color_tl,
+ rotate = \fp_use:N \l_rotate_fp,
+ align = \tl_use:N \l_align_tl,
+ \bool_if:NTF \l_showframe_bool{draw}{},
+ ]
+ at(current~page.center){#3};
+ \end{tikzpicture}
+ \group_end:
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\Watermark}
+% 用于显示由 \verb|\PageSetup| 命令设置的水印
+% \begin{macrocode}
+\NewDocumentCommand{\Watermark}{}
+{
+ \AddEverypageHook{\tl_use:N \l_mainpage_tl}
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EvenPageSetup}
+% 对偶数页设置水印
+% \begin{macrocode}
+\NewDocumentCommand{\EvenPageSetup}{sO{}+m}
+{
+ \IfBooleanTF{#1}
+ {
+ \tl_set:Nn \l_evenpage_tl{#3}
+ }
+ {
+ \tl_set:Nn \l_evenpage_tl
+ {
+ \group_begin:
+ \keys_set:nn{watermark}{#2}
+ \begin{tikzpicture}[remember~picture,overlay]
+ \node
+ [
+ scale = \fp_use:N\l_scale_fp,
+ opacity = \fp_use:N\l_opacity_fp,
+ shift = \tl_use:N\l_shift_tl,
+ color = \tl_use:N \l_color_tl,
+ rotate = \fp_use:N \l_rotate_fp,
+ align = \tl_use:N \l_align_tl,
+ \bool_if:NTF \l_showframe_bool{draw}{},
+ ]
+ at(current~page.center){#3};
+ \end{tikzpicture}
+ \group_end:
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EvenWatermark}
+% 用于显示由 \verb|\EvenPageSetup| 命令设置的水印
+% \begin{macrocode}
+\NewDocumentCommand{\EvenWatermark}{}
+{
+ \AddEverypageHook
+ {
+ \int_if_even:nT{\int_use:N \value{page}}
+ {
+ \tl_use:N \l_evenpage_tl
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\OddPageSetup}
+% 对奇数页设置水印
+% \begin{macrocode}
+\NewDocumentCommand{\OddPageSetup}{sO{}+m}
+{
+ \IfBooleanTF{#1}
+ {
+ \tl_set:Nn \l_oddpage_tl{#3}
+ }
+ {
+ \tl_set:Nn \l_oddpage_tl
+ {
+ \group_begin:
+ \keys_set:nn{watermark}{#2}
+ \begin{tikzpicture}[remember~picture,overlay]
+ \node
+ [
+ scale = \fp_use:N\l_scale_fp,
+ opacity = \fp_use:N\l_opacity_fp,
+ shift = \tl_use:N\l_shift_tl,
+ color = \tl_use:N \l_color_tl,
+ rotate = \fp_use:N \l_rotate_fp,
+ align = \tl_use:N \l_align_tl,
+ \bool_if:NTF \l_showframe_bool{draw}{},
+ ]
+ at(current~page.center){#3};
+ \end{tikzpicture}
+ \group_end:
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\OddWatermark}
+% 用于显示由 \verb|\OddPageSetup| 命令设置的水印
+% \begin{macrocode}
+\NewDocumentCommand{\OddWatermark}{}
+{
+ \AddEverypageHook
+ {
+ \int_if_odd:nT{\int_use:N \value{page}}
+ {
+ \tl_use:N \l_oddpage_tl
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\NewWatermark}
+% 用于新建一个水印
+% \begin{macrocode}
+\NewDocumentCommand{\NewWatermark}{m}
+{
+ \tl_new:c {l_#1_tl}
+ \tl_put_right:Nn \g_case_tl {{#1}{\tl_clear:c {l_#1_tl}}}
+ \tl_put_right:Nn \g_clear_all_tl {\tl_clear:c {l_#1_tl}}
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\MyPageSetup}
+% 用于设置新建的水印
+% \begin{macrocode}
+\NewDocumentCommand{\MyPageSetup}{O{} m +m}
+{
+ \tl_set:cn {l_#2_tl}
+ {
+ \group_begin:
+ \keys_set:nn{watermark}{#1}
+ \begin{tikzpicture}[remember~picture,overlay]
+ \node
+ [
+ scale = \fp_use:N\l_scale_fp,
+ opacity = \fp_use:N\l_opacity_fp,
+ shift = \tl_use:N\l_shift_tl,
+ color = \tl_use:N \l_color_tl,
+ rotate = \fp_use:N \l_rotate_fp,
+ align = \tl_use:N \l_align_tl,
+ \bool_if:NTF \l_showframe_bool{draw}{},
+ ]
+ at(current~page.center){#3};
+ \end{tikzpicture}
+ \group_end:
+ }
+}
+% \end{macrocode}
+% \end{macro}
+
+
+
+% \begin{macro}{\MyWatermark}
+% 用于显示由 \verb|\MyPageSetup| 命令设置的水印
+% \begin{macrocode}
+\NewDocumentCommand{\MyWatermark}{m}
+{
+ \AddEverypageHook{\tl_use:c {l_#1_tl}}
+}
+% \end{macrocode}
+% \end{macro}
+% 定义一些可选参数, 用于对水印进行设置
+% \begin{macrocode}
+\keys_define:nn{watermark}
+{
+ scale.fp_set:N = \l_scale_fp,
+ scale.initial:n = 1.0,
+ scale.default:n = 1.0,
+ opacity.fp_set:N = \l_opacity_fp,
+ opacity.initial:n = 0.8,
+ opacity.default:n = 0.8,
+ shift.tl_set:N = \l_shift_tl,
+ shift.initial:n = {(0,0)},
+ shift.default:n = {(0,0)},
+ color.tl_set:N = \l_color_tl,
+ color.initial:n = black,
+ color.default:n =black,
+ rotate.fp_set:N =\l_rotate_fp,
+ rotate.initial:n = 0.0,
+ rotate.default:n = 0.0,
+ align.tl_set:N = \l_align_tl,
+ align.initial:n = center,
+ align.default:n = center,
+ showframe.bool_set:N = \l_showframe_bool,
+ showframe.initial:n = false,
+ showframe.default:n = true,
+}
+% \end{macrocode}
+% \begin{macro}{\g_clear_all_tl}
+% 用于保存待清空的所有水印
+% \begin{macrocode}
+\tl_gset:Nn \g_clear_all_tl
+{
+ \tl_clear:N \l_mainpage_tl
+ \tl_clear:N \l_evenpage_tl
+ \tl_clear:N \l_oddpage_tl
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\g_case_tl}
+% 用于保存一些开关
+% \begin{macrocode}
+\tl_gset:Nn \g_case_tl{
+ {all}
+ {
+ \tl_use:N\g_clear_all_tl
+ }
+ {even}
+ {
+ \tl_clear:N \l_evenpage_tl
+ }
+ {odd}
+ {
+ \tl_clear:N \l_oddpage_tl
+ }
+ {main}
+ {
+ \tl_clear:N \l_mainpage_tl
+ }
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\ClearWatermark}
+% 用于清除设置的水印
+% \begin{macrocode}
+\NewDocumentCommand{\ClearWatermark}{m}
+{
+\clist_gset:Nn \g_clear_clist{#1}
+\clist_map_variable:NNn \g_clear_clist \clear
+{
+ \exp_args:NV \str_case:nVF \clear
+ \g_case_tl
+ {\msg_warning:nn{clear}{not~have}}
+}
+}
+% \end{macrocode}
+% \end{macro}
+% 关闭\LaTeX3 编程环境
+% \begin{macrocode}
+\ExplSyntaxOff
+% \end{macrocode}
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+% \Finale
+%
+\endinput
+\endlinechar \ No newline at end of file
diff --git a/macros/latex/contrib/magicwatermark/magicwatermark.pdf b/macros/latex/contrib/magicwatermark/magicwatermark.pdf
new file mode 100644
index 0000000000..396233aba2
--- /dev/null
+++ b/macros/latex/contrib/magicwatermark/magicwatermark.pdf
Binary files differ
diff --git a/macros/latex/contrib/minimalist/minimalist-classical.sty b/macros/latex/contrib/minimalist/minimalist-classical.sty
index 5fd710c03e..cb0e3df249 100644
--- a/macros/latex/contrib/minimalist/minimalist-classical.sty
+++ b/macros/latex/contrib/minimalist/minimalist-classical.sty
@@ -1,7 +1,7 @@
%%
%% This is file `minimalist/minimalist-classical.sty',
%% generated with the docstrip utility.
-
+%%
%% Copyright (C) 2021-2022 by Jinwen XU
%%
%% This is part of the minimalist class series.
@@ -19,10 +19,10 @@
\RequirePackage{l3keys2e}
\ProvidesExplPackage
{minimalist-classical}
- {2022/04/24} {}
+ {2022/06/16} {}
{The classical style of minimalist}
-\@ifpackageloaded { minimalist } {}
+\IfPackageLoadedTF { minimalist } {}
{
\msg_new:nnn { \@currname }
{ minimalist-not-loaded }
@@ -34,6 +34,7 @@
%%================================
%% Title fonts
%%================================
+\RequirePackage { relsize }
\RequirePackage { anyfontsize }
\NewCommandCopy \minimalist_original_bfseries: \bfseries
@@ -57,6 +58,14 @@
\cs_new:Nn \minimalist_bfseries: {}
}
+\bool_if:NTF \l__minimalist_use_scshape_bool
+ {
+ \cs_new:Nn \minimalist_scshape: { \scshape }
+ }
+ {
+ \cs_new:Nn \minimalist_scshape: {}
+ }
+
\tl_new:N \g_minimalist_title_font_common_tl
\tl_new:N \g_minimalist_title_font_part_tl
@@ -67,11 +76,11 @@
\tl_new:N \g_minimalist_title_font_paragraph_tl
\tl_gset:Nn \g_minimalist_title_font_part_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl }
-\tl_gset:Nn \g_minimalist_title_font_chapter_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl \scshape }
+\tl_gset:Nn \g_minimalist_title_font_chapter_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl \minimalist_scshape: }
\tl_gset:Nn \g_minimalist_title_font_section_tl { \minimalist_bfseries: }
\tl_gset:Nn \g_minimalist_title_font_subsection_tl { \minimalist_bfseries: }
\tl_gset:Nn \g_minimalist_title_font_subsubsection_tl { \minimalist_bfseries: \itshape }
-\tl_gset:Nn \g_minimalist_title_font_paragraph_tl { \minimalist_bfseries: \scshape }
+\tl_gset:Nn \g_minimalist_title_font_paragraph_tl { \minimalist_bfseries: \minimalist_scshape: }
\bool_if:NF \l__minimalist_fast_bool
{
@@ -251,7 +260,7 @@
\renewcommand{\chaptermark}[1]{\markboth{\textsc{#1}}{\textsc{#1}}}
\fi
\renewcommand*{\sectionmark}[1]{
- \markright{\protect\g_minimalist_section_decoration_char_tl\nobreakspace\arabic{section}\nobreakspace\protect\g_minimalist_section_decoration_char_tl\nobreakspace\nobreakspace\nobreakspace#1}}
+ \markright{\protect\g_minimalist_section_decoration_char_tl\nobreakspace\thesection\nobreakspace\protect\g_minimalist_section_decoration_char_tl\nobreakspace\nobreakspace\nobreakspace#1}}
}
{
\if@twoside
@@ -264,16 +273,33 @@
%%================================
%% Title format
%%================================
-\RequirePackage [ explicit, newparttoc, nobottomtitles* ] { titlesec }
+\RequirePackage [ explicit, newparttoc ] { titlesec }
\PassOptionsToPackage { normalem } { ulem }
\RequirePackage { ulem }
-\cs_generate_variant:Nn \seq_set_split:Nnn { Nnx }
-\cs_new:Nn \minimalist_apply_title_numbering_style:n
+\cs_new_protected:Nn \minimalist_apply_title_numbering_style_static:n
{
#1
}
+\cs_new_protected:Nn \minimalist_apply_title_numbering_style:n
+ {
+ \group_begin:
+ \tl_set:Nx \l_tmpa_tl { #1 }
+ \regex_replace_all:nnN { (\w) } { \c{minimalist_original_bfseries:}{\1} } \l_tmpa_tl
+ \regex_replace_all:nnN { (\d) } { {\c{usefont}{U}{zeur}{b}{n}\1} } \l_tmpa_tl
+ \exp_args:Nnx \regex_count:nnN { \. } {#1} \l_tmpa_int
+ \int_case:nn { \l_tmpa_int }
+ {
+ { 0 } { \textcolor { main-text!24!paper } }
+ { 1 } { \textcolor { main-text!39!paper } }
+ { 2 } { \textcolor { main-text!39!paper } }
+ { 3 } { \smaller[2] \textcolor { main-text!24!paper } }
+ }
+ \l_tmpa_tl
+ \group_end:
+ }
+
\newcommand{\partstring}{\MakeUppercase{{\partname\nobreakspace\protect\thepart}}}
\AddLanguageSetting
@@ -305,7 +331,7 @@
\g_minimalist_title_font_part_tl\filleft}
{\partstring}
{1em}
- {\fontsize{20}{0}\selectfont\MakeUppercase{#1}}
+ {\fontsize{20}{24}\selectfont\MakeUppercase{#1}}
[\ResumeLineNumbers]
\titleformat{name=\part,numberless}[display]
{\thispagestyle{part}
@@ -314,7 +340,7 @@
\g_minimalist_title_font_part_tl\filleft}
{\phantom{\MakeUppercase{\partname}}}
{1em}
- {\fontsize{20}{0}\selectfont\MakeUppercase{#1}}
+ {\fontsize{20}{24}\selectfont\MakeUppercase{#1}}
[\ResumeLineNumbers]
\titlespacing*{\part}{0pt}{5em}{6em}
%% Text after part
@@ -454,7 +480,7 @@
\titlecontents{part}
[0em]
{\addvspace{1.5pc}\filcenter\normalfont}
- { \minimalist_apply_title_numbering_style:n { \thecontentslabel } \nopagebreak\\\nopagebreak\uppercase}
+ { \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } \nopagebreak\\\nopagebreak\uppercase}
{}
{} % without page number
[\addvspace{.5pc}]
@@ -464,25 +490,25 @@
\titlecontents{chapter}
[2em] % i.e., 0em (part) + 2em
{\addvspace{.5pc}\normalfont}
- {\contentslabel[ \minimalist_apply_title_numbering_style:n { \thecontentslabel } ]{2em}}
+ {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{2em}}
{\hspace*{-2em}}
{\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage}
\titlecontents{section}
[5em] % i.e., 2em (chapter) + 3em
{\normalfont}
- {\contentslabel[\textcolor{main-text!27!paper}{\small\g_minimalist_section_decoration_char_tl}\,\textcolor{main-text!90!paper}{ \minimalist_apply_title_numbering_style:n { \thecontentslabel } }\,\textcolor{main-text!27!paper}{\small\g_minimalist_section_decoration_char_tl}]{2.75em}}
+ {\contentslabel[\textcolor{main-text!27!paper}{\small\g_minimalist_section_decoration_char_tl}\,\textcolor{main-text!90!paper}{ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } }\,\textcolor{main-text!27!paper}{\small\g_minimalist_section_decoration_char_tl}]{2.75em}}
{\hspace*{-2.75em}}
{\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage}
\titlecontents{subsection}
[8em] % i.e., 5em (section) + 3em
{\normalfont}
- {\contentslabel[ \minimalist_apply_title_numbering_style:n { \thecontentslabel } ]{2.75em}}
+ {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{2.75em}}
{\hspace*{-2.75em}}
{\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage}
\titlecontents{subsubsection}
[12em] % i.e., 8em (subsection) + 4em
{\normalfont}
- {\contentslabel[ \minimalist_apply_title_numbering_style:n { \thecontentslabel } ]{3.75em}}
+ {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{3.75em}}
{\hspace*{-3.75em}}
{\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage}
}
@@ -490,19 +516,19 @@
\titlecontents{section}
[2em] % i.e., 0em (part) + 2em
{\normalfont}
- {\contentslabel[ \minimalist_apply_title_numbering_style:n { \thecontentslabel } ]{1.75em}}
+ {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{1.75em}}
{\hspace*{-1.75em}}
{\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage}
\titlecontents{subsection}
[4.75em] % i.e., 2em (section) + 2.75em
{\normalfont}
- {\contentslabel[ \minimalist_apply_title_numbering_style:n { \thecontentslabel } ]{2.50em}}
+ {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{2.50em}}
{\hspace*{-2.50em}}
{\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage}
\titlecontents{subsubsection}
[8.25em] % i.e., 4.75em (subsection) + 3.5em
{\normalfont}
- {\contentslabel[ \minimalist_apply_title_numbering_style:n { \thecontentslabel } ]{3.25em}}
+ {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{3.25em}}
{\hspace*{-3.25em}}
{\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage}
}
@@ -512,7 +538,7 @@
%%================================
\RequirePackage { enumitem }
\setlistdepth{10}
-\setlist{noitemsep, topsep=.33\topsep}
+\setlist{noitemsep, topsep=.33\topsep-.5\parskip}
\setlist[enumerate]{labelsep=*, leftmargin=*}
\setlist[enumerate,1]{label=\arabic*$)$,
ref = \arabic*$)$}
@@ -530,8 +556,8 @@
\renewlist{itemize}{itemize}{10}
\setlist[itemize]{leftmargin=*,label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\cdot$}}
\AddLanguageSetting { \setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\bullet$}} }
-\AddLanguageSetting [french] { \setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{---}} }
-\setlist[itemize,2]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{--}}
+\AddLanguageSetting [french] { \setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{\rule[.2\baselineskip]{.8em}{.75pt}}} }
+\setlist[itemize,2]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{\rule[.2\baselineskip]{.5em}{.75pt}}}
\setlist[itemize,3]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\circ$}}
\setlist[itemize,4]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\ast$}}
@@ -600,16 +626,14 @@ heading_suffix "}\n"
\newcommand*{\IndexDotfill}
{
- \nobreakspace\nobreakspace
- \titlerule*[.67em]{\textcolor{main-text!15!paper}{.}}
- \nobreakspace\nobreakspace
+ \leaders \hbox to .67em {\hss \textcolor{main-text!15!paper}{.} \hss} \hfill
}
\newcommand*{\IndexHeading}[1]
{
\str_if_eq:nnTF { #1 } { Symbols }
{ \tl_set:Nn \l_tmpa_tl { \index_symbols_name } }
{ \tl_set:Nn \l_tmpa_tl { #1 } }
- \centerline{ \g_minimalist_title_font_common_tl \minimalist_apply_title_numbering_style:n { \l_tmpa_tl } }
+ \centerline{ \g_minimalist_title_font_common_tl \minimalist_apply_title_numbering_style_static:n { \l_tmpa_tl } }
\nopagebreak
\par
\vspace{.3\baselineskip}
@@ -668,7 +692,7 @@ heading_suffix "}\n"
\rlap{\vbox{\hbox{\parbox{\linewidth}{
{\thmname{#1}\thmnumber{\nobreakspace #2}}
\thmnote{\hspace{.4em}\textcolor{main-text!27!paper}{ \l_minimalist_sep_bar }\hspace{.4em}\color{main-text!50!paper}$($#3$)$}
- }}\hbox{\strut}\vspace{-2\parskip}}}
+ }}\hbox{\strut}\vspace{0pt}}}\vspace{-2\parskip}
\pushQED{\qed}
}
}
@@ -712,7 +736,7 @@ heading_suffix "}\n"
\RequirePackage { projlib-theorem }
-\exp_args:No \SetTheorem { \c_projlib_theorem_supported_clist }
+\exp_args:No \SetTheorem { \c_projlib_theorem_supported_clist, theorem-with-name }
{
name style = {
, heading style = {
@@ -753,7 +777,7 @@ heading_suffix "}\n"
\bool_if:NF \l__projlib_theorem_complexname_bool
{
- \exp_args:No \SetTheorem { \c_projlib_theorem_supported_clist }
+ \exp_args:No \SetTheorem { \c_projlib_theorem_supported_clist, theorem-with-name }
{
name style = {
, crefname style = {
@@ -783,17 +807,7 @@ heading_suffix "}\n"
, russian = \minimalist_bfseries:\g_minimalist_title_font_common_tl
}
, numbering style = {
- , english = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , french = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , ngerman = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , italian = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , portuguese = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , brazilian = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , spanish = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , schinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , tchinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , japanese = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , russian = \minimalist_bfseries:\g_minimalist_title_font_common_tl
+ \minimalist_bfseries:\g_minimalist_title_font_common_tl
}
}
}
@@ -830,17 +844,7 @@ heading_suffix "}\n"
, russian = \minimalist_bfseries:\g_minimalist_title_font_common_tl
}
, numbering style = {
- , english = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , french = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , ngerman = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , italian = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , portuguese = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , brazilian = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , spanish = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , schinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , tchinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , japanese = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , russian = \minimalist_bfseries:\g_minimalist_title_font_common_tl
+ \minimalist_bfseries:\g_minimalist_title_font_common_tl
}
}
}
@@ -878,7 +882,7 @@ heading_suffix "}\n"
{
\hook_gput_code:nnn { package/projlib-author/after } { minimalist }
{
- \tl_gset:Nn \g__projlib_author_font_author_tl { \normalfont \scshape }
+ \tl_gset:Nn \g__projlib_author_font_author_tl { \normalfont \minimalist_scshape: }
\tl_gset:Nn \g__projlib_author_font_institute_tl { \large \normalfont }
\tl_gset:Nn \g__projlib_author_font_address_tl { \large \normalfont \itshape }
\tl_gset:Nn \g__projlib_author_font_curraddr_tl { \large \normalfont \itshape }
@@ -909,18 +913,18 @@ heading_suffix "}\n"
\let\footnote\thanks
{\minimalist_bfseries:\@title}\\\medskip
\color{main-text!80!paper}
- {\small\scshape\@author}
+ {\small\minimalist_scshape:\@author}
\par\vspace{-\parskip}\vspace{2pt}
{\small\@date}
\end{flushright}
- % \vspace{-\parskip}
\vspace{-.5\baselineskip}
- \ifx\@date\@empty
- \vspace{\baselineskip}
- \vspace{1.2\parskip}
- \else
+ \projlib_author_if_content_empty:nTF { \@date }
+ {
+ \vspace{-.2\baselineskip}
+ }
+ {
\vspace{-.5\baselineskip}
- \fi
+ }
{\textcolor{main-text!27!paper}{\rule{\textwidth}{0.75pt}}\par}
\ResumeLineNumbers
}
@@ -934,7 +938,7 @@ heading_suffix "}\n"
{
\LocallyStopLineNumbers
\begin{flushright}
- { \g_minimalist_title_font_section_tl \scshape \small\abstractname}\par
+ { \g_minimalist_title_font_section_tl \minimalist_scshape: \small\abstractname}\par
\vspace{-\parskip}
\vspace{-.25\baselineskip}
\begin{minipage}[t]{.833\textwidth}
@@ -972,7 +976,7 @@ heading_suffix "}\n"
\LocallyStopLineNumbers
\vspace{-.5\baselineskip}
\begin{flushright}
- {\minimalist_bfseries:\scshape\small\keywordname}\par
+ {\minimalist_bfseries:\minimalist_scshape:\small\keywordname}\par
\vspace{-\parskip}
\vspace{-.30\baselineskip}
\begin{minipage}[t]{.833\textwidth}
@@ -995,6 +999,18 @@ heading_suffix "}\n"
\PassOptionsToPackage { amsfashion } { projlib-author }
\RequirePackage { projlib-author }
+%%================================
+%% Special adjustment
+%%================================
+\crefformat { chapter } { #2 \minimalist_apply_title_numbering_style_static:n {#1} #3 }
+\labelcrefformat { chapter } { #2 \minimalist_apply_title_numbering_style_static:n {#1} #3 }
+\crefformat { section } { #2 \minimalist_apply_title_numbering_style_static:n {#1} #3 }
+\labelcrefformat { section } { #2 \minimalist_apply_title_numbering_style_static:n {#1} #3 }
+\crefformat { subsection } { #2 \minimalist_apply_title_numbering_style_static:n {#1} #3 }
+\labelcrefformat { subsection } { #2 \minimalist_apply_title_numbering_style_static:n {#1} #3 }
+\crefformat { subsubsection } { #2 \minimalist_apply_title_numbering_style_static:n {#1} #3 }
+\labelcrefformat { subsubsection } { #2 \minimalist_apply_title_numbering_style_static:n {#1} #3 }
+
\endinput
%%
%% End of file `minimalist/minimalist-classical.sty'.
diff --git a/macros/latex/contrib/minimalist/minimalist-doc.pdf b/macros/latex/contrib/minimalist/minimalist-doc.pdf
index f890924979..03d2289372 100644
--- a/macros/latex/contrib/minimalist/minimalist-doc.pdf
+++ b/macros/latex/contrib/minimalist/minimalist-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/minimalist/minimalist-doc.tex b/macros/latex/contrib/minimalist/minimalist-doc.tex
index 199f6ca675..a59d90ca4d 100644
--- a/macros/latex/contrib/minimalist/minimalist-doc.tex
+++ b/macros/latex/contrib/minimalist/minimalist-doc.tex
@@ -97,7 +97,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/24}
+\def\PackageVersion{2022/06/16}
\title{\minimalist{}, write your articles or books in a simple and clear way}
\author{Jinwen XU}
diff --git a/macros/latex/contrib/minimalist/minimalist-plain.sty b/macros/latex/contrib/minimalist/minimalist-plain.sty
index 28dbd470e8..6afa15b14e 100644
--- a/macros/latex/contrib/minimalist/minimalist-plain.sty
+++ b/macros/latex/contrib/minimalist/minimalist-plain.sty
@@ -1,7 +1,7 @@
%%
%% This is file `minimalist/minimalist-plain.sty',
%% generated with the docstrip utility.
-
+%%
%% Copyright (C) 2021-2022 by Jinwen XU
%%
%% This is part of the minimalist class series.
@@ -19,10 +19,10 @@
\RequirePackage{l3keys2e}
\ProvidesExplPackage
{minimalist-plain}
- {2022/04/24} {}
+ {2022/06/16} {}
{The plain style of minimalist}
-\@ifpackageloaded { minimalist } {}
+\IfPackageLoadedTF { minimalist } {}
{
\msg_new:nnn { \@currname }
{ minimalist-not-loaded }
@@ -34,6 +34,7 @@
%%================================
%% Title fonts
%%================================
+\RequirePackage { relsize }
\RequirePackage { anyfontsize }
\NewCommandCopy \minimalist_original_bfseries: \bfseries
@@ -57,6 +58,14 @@
\cs_new:Nn \minimalist_bfseries: {}
}
+\bool_if:NTF \l__minimalist_use_scshape_bool
+ {
+ \cs_new:Nn \minimalist_scshape: { \scshape }
+ }
+ {
+ \cs_new:Nn \minimalist_scshape: {}
+ }
+
\tl_new:N \g_minimalist_title_font_common_tl
\tl_new:N \g_minimalist_title_font_part_tl
@@ -67,11 +76,11 @@
\tl_new:N \g_minimalist_title_font_paragraph_tl
\tl_gset:Nn \g_minimalist_title_font_part_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl }
-\tl_gset:Nn \g_minimalist_title_font_chapter_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl \scshape }
-\tl_gset:Nn \g_minimalist_title_font_section_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl \scshape }
-\tl_gset:Nn \g_minimalist_title_font_subsection_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl \scshape }
+\tl_gset:Nn \g_minimalist_title_font_chapter_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl \minimalist_scshape: }
+\tl_gset:Nn \g_minimalist_title_font_section_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl \minimalist_scshape: }
+\tl_gset:Nn \g_minimalist_title_font_subsection_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl \minimalist_scshape: }
\tl_gset:Nn \g_minimalist_title_font_subsubsection_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl }
-\tl_gset:Nn \g_minimalist_title_font_paragraph_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl \scshape }
+\tl_gset:Nn \g_minimalist_title_font_paragraph_tl { \minimalist_bfseries: \g_minimalist_title_font_common_tl \minimalist_scshape: }
\bool_if:NF \l__minimalist_fast_bool
{
@@ -134,7 +143,7 @@
\rlap
{
\nobreakspace \nobreakspace \nobreakspace \nobreakspace
- \textcolor { main-text!75!paper } { \minimalist_bfseries: \thepage }
+ \textcolor { main-text!75!paper } { \thepage }
}
}
\fancyfoot[LE]
@@ -142,7 +151,7 @@
\leavevmode
\llap
{
- \textcolor { main-text!75!paper } { \minimalist_bfseries: \thepage }
+ \textcolor { main-text!75!paper } { \thepage }
\nobreakspace \nobreakspace \nobreakspace \nobreakspace
}
\textcolor { main-text!30!paper } { \small \l_minimalist_leftmark_tl }
@@ -154,7 +163,7 @@
\rlap
{
\nobreakspace \nobreakspace \nobreakspace \nobreakspace
- \textcolor { main-text!75!paper } { \minimalist_bfseries: \thepage }
+ \textcolor { main-text!75!paper } { \thepage }
}
}
\fi
@@ -172,7 +181,7 @@
\rlap
{
\nobreakspace \nobreakspace \nobreakspace \nobreakspace
- \textcolor { main-text!75!paper } { \minimalist_bfseries: \thepage }
+ \textcolor { main-text!75!paper } { \thepage }
}
}
\fancyfoot[LE]
@@ -180,7 +189,7 @@
\leavevmode
\llap
{
- \textcolor { main-text!75!paper } { \minimalist_bfseries: \thepage }
+ \textcolor { main-text!75!paper } { \thepage }
\nobreakspace \nobreakspace \nobreakspace \nobreakspace
}
\nobreakspace
@@ -192,7 +201,7 @@
\rlap
{
\nobreakspace \nobreakspace \nobreakspace \nobreakspace
- \textcolor { main-text!75!paper } { \minimalist_bfseries: \thepage }
+ \textcolor { main-text!75!paper } { \thepage }
}
}
\fi
@@ -237,7 +246,7 @@
\renewcommand{\chaptermark}[1]{\markboth{\textsc{#1}}{\textsc{#1}}}
\fi
\renewcommand*{\sectionmark}[1]{
- \markright{\protect\g_minimalist_section_decoration_char_tl\nobreakspace\arabic{section}\nobreakspace\protect\g_minimalist_section_decoration_char_tl\nobreakspace\nobreakspace\nobreakspace#1}}
+ \markright{\protect\g_minimalist_section_decoration_char_tl\nobreakspace\thesection\nobreakspace\protect\g_minimalist_section_decoration_char_tl\nobreakspace\nobreakspace\nobreakspace#1}}
}
{
\if@twoside
@@ -250,17 +259,34 @@
%%================================
%% Title format
%%================================
-\RequirePackage [ explicit, newparttoc, nobottomtitles* ] { titlesec }
+\RequirePackage [ explicit, newparttoc ] { titlesec }
\PassOptionsToPackage { normalem } { ulem }
\RequirePackage { ulem }
-\cs_generate_variant:Nn \seq_set_split:Nnn { Nnx }
-\cs_new:Nn \minimalist_apply_title_numbering_style:n
+\cs_new_protected:Nn \minimalist_apply_title_numbering_style_static:n
{
\tl_set:Nx \l_tmpa_tl { #1 }
- \regex_replace_all:nnN { (\w) } { \c{textbf}{\1} } \l_tmpa_tl
+ \regex_replace_all:nnN { (\w) } { \c{minimalist_original_bfseries:}{\1} } \l_tmpa_tl
\regex_replace_all:nnN { (\d) } { {\c{usefont}{U}{zeur}{b}{n}\1} } \l_tmpa_tl
- \textcolor { main-text!39!paper } { \l_tmpa_tl }
+ \textcolor { main-text!39!paper } { \normalfont \l_tmpa_tl }
+ }
+
+\cs_new_protected:Nn \minimalist_apply_title_numbering_style:n
+ {
+ \group_begin:
+ \tl_set:Nx \l_tmpa_tl { #1 }
+ \regex_replace_all:nnN { (\w) } { \c{minimalist_original_bfseries:}{\1} } \l_tmpa_tl
+ \regex_replace_all:nnN { (\d) } { {\c{usefont}{U}{zeur}{b}{n}\1} } \l_tmpa_tl
+ \exp_args:Nnx \regex_count:nnN { \. } {#1} \l_tmpa_int
+ \int_case:nn { \l_tmpa_int }
+ {
+ { 0 } { \textcolor { main-text!24!paper } }
+ { 1 } { \textcolor { main-text!39!paper } }
+ { 2 } { \textcolor { main-text!39!paper } }
+ { 3 } { \smaller[2] \textcolor { main-text!24!paper } }
+ }
+ \l_tmpa_tl
+ \group_end:
}
\newcommand{\partstring}{\MakeUppercase{{\partname\nobreakspace\protect\thepart}}}
@@ -294,7 +320,7 @@
\g_minimalist_title_font_part_tl\filleft}
{\partstring}
{1em}
- {\fontsize{20}{0}\selectfont\MakeUppercase{#1}}
+ {\fontsize{20}{24}\selectfont\MakeUppercase{#1}}
[\ResumeLineNumbers]
\titleformat{name=\part,numberless}[display]
{\thispagestyle{part}
@@ -303,7 +329,7 @@
\g_minimalist_title_font_part_tl\filleft}
{\phantom{\MakeUppercase{\partname}}}
{1em}
- {\fontsize{20}{0}\selectfont\MakeUppercase{#1}}
+ {\fontsize{20}{24}\selectfont\MakeUppercase{#1}}
[\ResumeLineNumbers]
\titlespacing*{\part}{0pt}{5em}{6em}
%% Text after part
@@ -384,7 +410,7 @@
\titleformat{\section}
{\LocallyStopLineNumbers
\g_minimalist_title_font_section_tl\centering}
- {\raisebox{-.02\baselineskip}{\large \minimalist_apply_title_numbering_style:n { \thesection } }}{1em}
+ {\raisebox{-.02\baselineskip}{\large \minimalist_apply_title_numbering_style_static:n { \thesection } }}{1em}
{#1}
[\ResumeLineNumbers]
@@ -392,7 +418,7 @@
\titleformat{\subsection}
{\LocallyStopLineNumbers
\g_minimalist_title_font_subsection_tl}
- { \minimalist_apply_title_numbering_style:n { \thesubsection } }{.75em}
+ { \minimalist_apply_title_numbering_style_static:n { \thesubsection } }{.75em}
{#1}
[\ResumeLineNumbers]
@@ -401,14 +427,14 @@
{
\titleformat{\subsubsection}[runin]
{\g_minimalist_title_font_subsubsection_tl}
- { \minimalist_apply_title_numbering_style:n { \thesection } }{.5em}
+ { \minimalist_apply_title_numbering_style_static:n { \thesection } }{.5em}
{#1.}[\hspace*{.3em}]
}
{
\titleformat{\subsubsection}
{\LocallyStopLineNumbers
\g_minimalist_title_font_subsubsection_tl}
- { \minimalist_apply_title_numbering_style:n { \thesubsubsection } }{.5em}
+ { \minimalist_apply_title_numbering_style_static:n { \thesubsubsection } }{.5em}
{#1}
[\ResumeLineNumbers]
}
@@ -428,7 +454,7 @@
\titlecontents{part}
[0em]
{\addvspace{1.5pc}\filcenter\normalfont}
- { \minimalist_apply_title_numbering_style:n { \thecontentslabel } \nopagebreak\\\nopagebreak\uppercase}
+ { \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } \nopagebreak\\\nopagebreak\uppercase}
{}
{} % without page number
[\addvspace{.5pc}]
@@ -438,25 +464,25 @@
\titlecontents{chapter}
[2em] % i.e., 0em (part) + 2em
{\addvspace{.5pc}\normalfont}
- {\contentslabel[ \minimalist_apply_title_numbering_style:n { \thecontentslabel } ]{2em}}
+ {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{2em}}
{\hspace*{-2em}}
{\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage}
\titlecontents{section}
[5em] % i.e., 2em (chapter) + 3em
{\normalfont}
- {\contentslabel[ \minimalist_apply_title_numbering_style:n { \thecontentslabel } ]{2.75em}}
+ {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{2.75em}}
{\hspace*{-2.75em}}
{\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage}
\titlecontents{subsection}
[9em] % i.e., 5em (section) + 4em
{\normalfont}
- {\contentslabel[ \minimalist_apply_title_numbering_style:n { \thecontentslabel } ]{3.75em}}
+ {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{3.75em}}
{\hspace*{-3.75em}}
{\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage}
\titlecontents{subsubsection}
[13.5em] % i.e., 9em (subsection) + 4.5em
{\normalfont}
- {\contentslabel[ \minimalist_apply_title_numbering_style:n { \thecontentslabel } ]{4.25em}}
+ {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{4.25em}}
{\hspace*{-4.25em}}
{\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage}
}
@@ -464,19 +490,19 @@
\titlecontents{section}
[2em] % i.e., 0em (part) + 2em
{\normalfont}
- {\contentslabel[ \minimalist_apply_title_numbering_style:n { \thecontentslabel } ]{1.75em}}
+ {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{1.75em}}
{\hspace*{-1.75em}}
{\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage}
\titlecontents{subsection}
[5em] % i.e., 2em (section) + 3em
{\normalfont}
- {\contentslabel[ \minimalist_apply_title_numbering_style:n { \thecontentslabel } ]{2.75em}}
+ {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{2.75em}}
{\hspace*{-2.75em}}
{\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage}
\titlecontents{subsubsection}
[9em] % i.e., 5em (subsection) + 4em
{\normalfont}
- {\contentslabel[ \minimalist_apply_title_numbering_style:n { \thecontentslabel } ]{3.75em}}
+ {\contentslabel[ \minimalist_apply_title_numbering_style_static:n { \thecontentslabel } ]{3.75em}}
{\hspace*{-3.75em}}
{\titlerule*[1em]{\textcolor{main-text!15!paper}{.}}\contentspage}
}
@@ -486,7 +512,7 @@
%%================================
\RequirePackage { enumitem }
\setlistdepth{10}
-\setlist{noitemsep, topsep=.33\topsep}
+\setlist{noitemsep, topsep=.33\topsep-.5\parskip}
\setlist[enumerate]{labelsep=*, leftmargin=*}
\setlist[enumerate,1]{label=\arabic*$)$,
ref = \arabic*$)$}
@@ -499,8 +525,8 @@
\renewlist{itemize}{itemize}{10}
\setlist[itemize]{leftmargin=*,label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\cdot$}}
\AddLanguageSetting { \setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\bullet$}} }
-\AddLanguageSetting [french] { \setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{---}} }
-\setlist[itemize,2]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{--}}
+\AddLanguageSetting [french] { \setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{\rule[.2\baselineskip]{.8em}{.75pt}}} }
+\setlist[itemize,2]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{\rule[.2\baselineskip]{.5em}{.75pt}}}
\setlist[itemize,3]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\circ$}}
\setlist[itemize,4]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\ast$}}
@@ -569,16 +595,14 @@ heading_suffix "}\n"
\newcommand*{\IndexDotfill}
{
- \nobreakspace\nobreakspace
- \titlerule*[.67em]{\textcolor{main-text!15!paper}{.}}
- \nobreakspace\nobreakspace
+ \leaders \hbox to .67em {\hss \textcolor{main-text!15!paper}{.} \hss} \hfill
}
\newcommand*{\IndexHeading}[1]
{
\str_if_eq:nnTF { #1 } { Symbols }
{ \tl_set:Nn \l_tmpa_tl { \index_symbols_name } }
{ \tl_set:Nn \l_tmpa_tl { #1 } }
- \centerline{ \g_minimalist_title_font_common_tl \minimalist_apply_title_numbering_style:n { \l_tmpa_tl } }
+ \centerline{ \g_minimalist_title_font_common_tl \minimalist_apply_title_numbering_style_static:n { \l_tmpa_tl } }
\nopagebreak
\par
\vspace{.3\baselineskip}
@@ -635,7 +659,7 @@ heading_suffix "}\n"
\rlap{\vbox{\hbox{\parbox{\linewidth}{
{\thmname{#1}\thmnumber{\nobreakspace #2}}
{\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}
- }}\hbox{\strut}\vspace{-2\parskip}}}
+ }}\hbox{\strut}\vspace{0pt}}}
}
}
{
@@ -671,7 +695,7 @@ heading_suffix "}\n"
\RequirePackage { projlib-theorem }
-\exp_args:No \SetTheorem { \c_projlib_theorem_supported_clist }
+\exp_args:No \SetTheorem { \c_projlib_theorem_supported_clist, theorem-with-name }
{
name style = {
, heading style = {
@@ -712,7 +736,7 @@ heading_suffix "}\n"
\bool_if:NF \l__projlib_theorem_complexname_bool
{
- \exp_args:No \SetTheorem { \c_projlib_theorem_supported_clist }
+ \exp_args:No \SetTheorem { \c_projlib_theorem_supported_clist, theorem-with-name }
{
name style = {
, crefname style = {
@@ -742,17 +766,7 @@ heading_suffix "}\n"
, russian = \minimalist_bfseries:\g_minimalist_title_font_common_tl
}
, numbering style = {
- , english = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , french = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , ngerman = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , italian = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , portuguese = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , brazilian = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , spanish = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , schinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , tchinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , japanese = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , russian = \minimalist_bfseries:\g_minimalist_title_font_common_tl
+ \minimalist_bfseries:\g_minimalist_title_font_common_tl
}
}
}
@@ -789,17 +803,7 @@ heading_suffix "}\n"
, russian = \minimalist_bfseries:\g_minimalist_title_font_common_tl
}
, numbering style = {
- , english = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , french = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , ngerman = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , italian = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , portuguese = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , brazilian = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , spanish = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , schinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , tchinese = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , japanese = \minimalist_bfseries:\g_minimalist_title_font_common_tl
- , russian = \minimalist_bfseries:\g_minimalist_title_font_common_tl
+ \minimalist_bfseries:\g_minimalist_title_font_common_tl
}
}
}
@@ -838,7 +842,7 @@ heading_suffix "}\n"
{
\hook_gput_code:nnn { package/projlib-author/after } { minimalist }
{
- \tl_gset:Nn \g__projlib_author_font_author_tl { \normalfont \scshape }
+ \tl_gset:Nn \g__projlib_author_font_author_tl { \normalfont \minimalist_scshape: }
\tl_gset:Nn \g__projlib_author_font_institute_tl { \large \normalfont }
\tl_gset:Nn \g__projlib_author_font_address_tl { \large \normalfont \itshape }
\tl_gset:Nn \g__projlib_author_font_curraddr_tl { \large \normalfont \itshape }
@@ -863,13 +867,13 @@ heading_suffix "}\n"
\LocallyStopLineNumbers
\begin{center}
\let\footnote\thanks
- {\minimalist_bfseries:\sffamily\scshape\Large\@title}\\\bigskip
+ {\minimalist_bfseries:\sffamily\minimalist_scshape:\Large\@title}\\\bigskip
\color{main-text!80!paper}
- {\small\scshape\@author}
+ {\small\minimalist_scshape:\@author}
\par\smallskip\vspace{-\parskip}
{\small\@date}
\end{center}
- \ifx\@date\@empty\medskip\fi
+ \projlib_author_if_content_empty:nT { \@date } { \medskip }
\medskip\par
\ResumeLineNumbers
}
@@ -884,7 +888,7 @@ heading_suffix "}\n"
\LocallyStopLineNumbers
\vspace{-.5\baselineskip}
\begin{center}
- { \g_minimalist_title_font_section_tl \scshape \small\abstractname}\\
+ { \g_minimalist_title_font_section_tl \minimalist_scshape: \small\abstractname}\\
\vspace{-.3\baselineskip}
\begin{minipage}[t]{.833\textwidth}
\vspace{0pt}
@@ -921,7 +925,7 @@ heading_suffix "}\n"
\LocallyStopLineNumbers
\vspace{-.75\baselineskip}
\begin{center}
- {\minimalist_bfseries:\scshape\small\keywordname}\\
+ {\minimalist_bfseries:\minimalist_scshape:\small\keywordname}\\
\vspace{-.3\baselineskip}
\begin{minipage}[t]{.833\textwidth}
\vspace{0pt}
@@ -944,6 +948,18 @@ heading_suffix "}\n"
\PassOptionsToPackage { amsfashion } { projlib-author }
\RequirePackage { projlib-author }
+%%================================
+%% Special adjustment
+%%================================
+\crefformat { chapter } { #2 \minimalist_apply_title_numbering_style_static:n {#1} #3 }
+\labelcrefformat { chapter } { #2 \minimalist_apply_title_numbering_style_static:n {#1} #3 }
+\crefformat { section } { #2 \minimalist_apply_title_numbering_style_static:n {#1} #3 }
+\labelcrefformat { section } { #2 \minimalist_apply_title_numbering_style_static:n {#1} #3 }
+\crefformat { subsection } { #2 \minimalist_apply_title_numbering_style_static:n {#1} #3 }
+\labelcrefformat { subsection } { #2 \minimalist_apply_title_numbering_style_static:n {#1} #3 }
+\crefformat { subsubsection } { #2 \minimalist_apply_title_numbering_style_static:n {#1} #3 }
+\labelcrefformat { subsubsection } { #2 \minimalist_apply_title_numbering_style_static:n {#1} #3 }
+
\endinput
%%
%% End of file `minimalist/minimalist-plain.sty'.
diff --git a/macros/latex/contrib/minimalist/minimalist.sty b/macros/latex/contrib/minimalist/minimalist.sty
index 7dde7289fe..910f1e7960 100644
--- a/macros/latex/contrib/minimalist/minimalist.sty
+++ b/macros/latex/contrib/minimalist/minimalist.sty
@@ -1,7 +1,7 @@
%%
%% This is file `minimalist/minimalist.sty',
%% generated with the docstrip utility.
-
+%%
%% Copyright (C) 2021-2022 by Jinwen XU
%%
%% This is part of the minimalist class series.
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplPackage
{minimalist}
- {2022/04/24} {}
+ {2022/06/16} {}
{A simple and clear style for articles and books}
\keys_define:nn { minimalist }
@@ -30,17 +30,30 @@
, style .str_set:N = \l__minimalist_style_str
, style .initial:n = { plain }
+ , use-style .str_set:N = \l__minimalist_style_str
+ , use~style .str_set:N = \l__minimalist_style_str
+ , use style .str_set:N = \l__minimalist_style_str
, classical .meta:n = { style = classical }
, use-boldface .bool_set:N = \l__minimalist_use_boldface_bool
, use-boldface .initial:n = { false }
, use~boldface .bool_set:N = \l__minimalist_use_boldface_bool
, use boldface .bool_set:N = \l__minimalist_use_boldface_bool
- , usebf .bool_set:N = \l__minimalist_use_boldface_bool
- , allow-boldface .bool_set:N = \l__minimalist_use_boldface_bool
- , allow~boldface .bool_set:N = \l__minimalist_use_boldface_bool
- , allow boldface .bool_set:N = \l__minimalist_use_boldface_bool
- , allowbf .bool_set:N = \l__minimalist_use_boldface_bool
+ , title-in-boldface .bool_set:N = \l__minimalist_use_boldface_bool
+ , title~in~boldface .bool_set:N = \l__minimalist_use_boldface_bool
+ , title in boldface .bool_set:N = \l__minimalist_use_boldface_bool
+ , title-in-bold .bool_set:N = \l__minimalist_use_boldface_bool
+ , title~in~bold .bool_set:N = \l__minimalist_use_boldface_bool
+ , title in bold .bool_set:N = \l__minimalist_use_boldface_bool
+
+ , use-scshape .bool_set:N = \l__minimalist_use_scshape_bool
+ , use-scshape .initial:n = { false }
+ , use~scshape .bool_set:N = \l__minimalist_use_scshape_bool
+ , use scshape .bool_set:N = \l__minimalist_use_scshape_bool
+ , title-in-scshape .bool_set:N = \l__minimalist_use_scshape_bool
+ , title~in~scshape .bool_set:N = \l__minimalist_use_scshape_bool
+ , title in scshape .bool_set:N = \l__minimalist_use_scshape_bool
+
, runin .bool_set:N = \l__minimalist_runin_bool
, runin .initial:n = { false }
diff --git a/macros/latex/contrib/minimalist/minimart.cls b/macros/latex/contrib/minimalist/minimart.cls
index aaa62d7852..5ad7607932 100644
--- a/macros/latex/contrib/minimalist/minimart.cls
+++ b/macros/latex/contrib/minimalist/minimart.cls
@@ -1,7 +1,7 @@
%%
%% This is file `minimalist/minimart.cls',
%% generated with the docstrip utility.
-
+%%
%% Copyright (C) 2021-2022 by Jinwen XU
%%
%% This is part of the minimalist class series.
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{minimart}
- {2022/04/24} {}
+ {2022/06/16} {}
{A simple and clear article style}
\tl_const:Nn \l__minimclass_base_class_tl { article }
@@ -190,21 +190,25 @@
}
}
+
\PassOptionsToPackage { all } { nowidow }
\RequirePackage { nowidow }
-\RequirePackage { regexpatch }
-\skip_new:N \g_minimclass_parfillskip_skip
-\xpatchcmd{\@trivlist}{\@flushglue}{\g_minimclass_parfillskip_skip}{}{}
-\hook_gput_code:nnn { begindocument } { minimclass }
+\sys_if_engine_xetex:T
{
- \skip_gset:Nn \g_minimclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 2\parindent } }
- \skip_gset_eq:NN \parfillskip \g_minimclass_parfillskip_skip
+ \RequirePackage { regexpatch }
+ \skip_new:N \g_minimclass_parfillskip_skip
+ \xpatchcmd{\@trivlist}{\@flushglue}{\g_minimclass_parfillskip_skip}{}{}
+ \hook_gput_code:nnn { begindocument } { minimclass }
+ {
+ \skip_gset:Nn \g_minimclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 3em } }
+ \skip_gset_eq:NN \parfillskip \g_minimclass_parfillskip_skip
+ }
}
\hook_gput_code:nnn { begindocument/before } { minimclass }
{
- \@ifpackageloaded { biblatex }
+ \IfPackageLoadedTF { biblatex }
{
\PassOptionsToPackage { biblatex } { embrac }
} {}
diff --git a/macros/latex/contrib/minimalist/minimbook.cls b/macros/latex/contrib/minimalist/minimbook.cls
index 61a27b439c..f844f26ffb 100644
--- a/macros/latex/contrib/minimalist/minimbook.cls
+++ b/macros/latex/contrib/minimalist/minimbook.cls
@@ -1,7 +1,7 @@
%%
%% This is file `minimalist/minimbook.cls',
%% generated with the docstrip utility.
-
+%%
%% Copyright (C) 2021-2022 by Jinwen XU
%%
%% This is part of the minimalist class series.
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{minimbook}
- {2022/04/24} {}
+ {2022/06/16} {}
{A simple and clear book style}
\tl_const:Nn \l__minimclass_base_class_tl { book }
@@ -190,21 +190,25 @@
}
}
+
\PassOptionsToPackage { all } { nowidow }
\RequirePackage { nowidow }
-\RequirePackage { regexpatch }
-\skip_new:N \g_minimclass_parfillskip_skip
-\xpatchcmd{\@trivlist}{\@flushglue}{\g_minimclass_parfillskip_skip}{}{}
-\hook_gput_code:nnn { begindocument } { minimclass }
+\sys_if_engine_xetex:T
{
- \skip_gset:Nn \g_minimclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 2\parindent } }
- \skip_gset_eq:NN \parfillskip \g_minimclass_parfillskip_skip
+ \RequirePackage { regexpatch }
+ \skip_new:N \g_minimclass_parfillskip_skip
+ \xpatchcmd{\@trivlist}{\@flushglue}{\g_minimclass_parfillskip_skip}{}{}
+ \hook_gput_code:nnn { begindocument } { minimclass }
+ {
+ \skip_gset:Nn \g_minimclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 3em } }
+ \skip_gset_eq:NN \parfillskip \g_minimclass_parfillskip_skip
+ }
}
\hook_gput_code:nnn { begindocument/before } { minimclass }
{
- \@ifpackageloaded { biblatex }
+ \IfPackageLoadedTF { biblatex }
{
\PassOptionsToPackage { biblatex } { embrac }
} {}
diff --git a/macros/latex/contrib/verifiche/verifiche-example.pdf b/macros/latex/contrib/verifiche/verifiche-example.pdf
index 191c055935..b6ae252e2e 100644
--- a/macros/latex/contrib/verifiche/verifiche-example.pdf
+++ b/macros/latex/contrib/verifiche/verifiche-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/verifiche/verifiche-example.tex b/macros/latex/contrib/verifiche/verifiche-example.tex
index ec32c5f405..b399be3644 100644
--- a/macros/latex/contrib/verifiche/verifiche-example.tex
+++ b/macros/latex/contrib/verifiche/verifiche-example.tex
@@ -167,7 +167,7 @@ Quali delle seguenti equazioni descrive il moto rettilineo uniforme?\par
\begin{esercizio}
\lipsum[2]\\[1em]
-\openquestion[type=squares, width=8cm, height=6cm, linecolor=orange]{\lipsum[2]}
+\openquestion[type=lines, width=8cm, height=6cm, linecolor=orange]{\lipsum[2]}
\end{esercizio}
diff --git a/macros/latex/contrib/verifiche/verifiche.dtx b/macros/latex/contrib/verifiche/verifiche.dtx
index 90f9978a64..de03d7052a 100644
--- a/macros/latex/contrib/verifiche/verifiche.dtx
+++ b/macros/latex/contrib/verifiche/verifiche.dtx
@@ -16,7 +16,7 @@
%
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}
-%<package>\ProvidesPackage{verifiche} [2022/03/10 v5.0 .dtx verifiche file]
+%<package>\ProvidesPackage{verifiche} [2022/06/16 v5.1 .dtx verifiche file]
%<*driver>
\documentclass{ltxdoc}
\usepackage[utf8]{inputenc}
@@ -70,7 +70,7 @@
%</driver>
% \fi
%
-% \CheckSum{863}
+% \CheckSum{914}
% \changes{v1.0}{2020/06/14}{Initial version.}
% \changes{v2.0}{2020/06/26}{Better performance in exercise environment.}
% \changes{v2.1}{2020/06/30}{Introduced closedquestionitem to control |item| symbol.}
@@ -82,6 +82,7 @@
% \changes{v4.3}{2022/02/10}{Move |parindent{0pt}| inside the environment.}
% \changes{v4.4}{2022/03/10}{Minor update. Fixed labels issues.}
% \changes{v5.0}{2022/05/18}{Major update. Remove some unnecessary packages. Remove spurious space in closedquestion environment. Add a starred version of closedquestion environment. Add the possibility to add local label to soluzione environment. Add a new command: makecolumn.}
+% \changes{v5.1}{2022/06/16}{Minor update. Clean the code for printheading command; better appearance for openquestion command.}
% \GetFileInfo{verifiche.sty}
% \DoNotIndex{\newcommand,\newenvironment,\def,\begin,\end,\par}
% \DoNotIndex{\DeclareOption,\ExecuteOptions,\ProcessOptions,\RequirePackage}
@@ -120,7 +121,8 @@
%
% \title{Il pacchetto \textsf{verifiche}
% \thanks{Questo documento corrisponde al pacchetto \textsf{verifiche}~\fileversion,
-% in data~\filedate.}}
+% in data~\filedate.}
+%\\ {\normalsize Version: \fileversion}}
% \author{Francesco Raccanello\\ \texttt{raccanello.francesco@gmail.com}}
%
% \maketitle
@@ -732,7 +734,7 @@ dell'esercizio somministrato
%Il comando gestisce alcune opzioni:\\
%
%\begin{tabular}{ll}
-%|type|  & accetta due valori: \texttt{lines} e \texttt{squares} (default: |lines|)\\
+%|type|  & accetta due valori: \texttt{lines} e \texttt{squares} (default: |squares|)\\
%|width| & gestisce la dimensione orizzontale del campo di testo (default: 12 cm)\\
%|height| & gestisce la dimensione verticale del campo di testo (default: 20 cm)\\
%|spacedim|& gestisce la dimensione dei quadretti o delle linee (default: 0.5 cm)\\
@@ -749,7 +751,7 @@ dell'esercizio somministrato
Prova del testo della soluzione
della domanda aperta
}}
-{\openquestion[width=4cm, height=2cm]{Prova del testo della soluzione della domanda aperta}}
+{\vspace*{1em}\openquestion[width=4cm, height=2cm]{Prova del testo della soluzione della domanda aperta}}
% \iffalse
%</example>
% \fi
@@ -758,11 +760,11 @@ dell'esercizio somministrato
%<*example>
% \fi
\example
-{\openquestion[type=squares]{
+{\openquestion[type=lines]{
Prova del testo della soluzione
della domanda aperta
}}
-{\openquestion[type=squares, width=4cm, height=2cm]{Prova del testo della soluzione della domanda aperta}}
+{\vspace*{1em}\openquestion[type=lines, width=4cm, height=2cm]{Prova del testo della soluzione della domanda aperta}}
% \iffalse
%</example>
% \fi
@@ -1094,6 +1096,7 @@ dell'esercizio somministrato
\newif\ifsolutionscolor\solutionscolorfalse
\newif\ifcandidatename\candidatenametrue
\newif\iftesttype\testtypetrue
+\newif\ifshowinstructiondelimiter\showinstructiondelimiterfalse
\newif\ifprintedheading\printedheadingfalse
\newif\ifexercisesnumbered\exercisesnumberedtrue
\newif\ifshowmarginexercise\showmarginexercisefalse
@@ -1147,6 +1150,9 @@ dell'esercizio somministrato
\setlength{\classrulerlength}{.1\textwidth}
\setlength{\daterulerlength}{.15\textwidth}
\setlength{\ptrulerlength}{1cm}
+\newlength{\verifiche@remainingvspace}
+\newlength{\verifiche@remaininghspace}
+\newlength{\spacedim}
\setlength{\columnseparation}{\fill}
% \end{macrocode}
%
@@ -1207,11 +1213,13 @@ dell'esercizio somministrato
\newcommand{\institute}[1]{%
\gdef\@institute{#1}}
\newcommand{\duration}[2][\@durationlabeldefault]{%
- \gdef\@durationpreamble{#1}\gdef\@duration{#2}}
+ \gdef\@durationpreamble{#1}\gdef\@duration{#2}%
+ \showinstructiondelimitertrue}%
\newcommand{\testtype}[1]{%
\gdef\@testtype{#1}}
\newcommand{\instruction}[1]{%
- \gdef\@instruction{#1}}
+ \gdef\@instruction{#1}%
+ \showinstructiondelimitertrue}
\newcommand{\asyear}[2][\@asyearlabeldefault]{%
\gdef\@asyearpreamble{#1}\gdef\@asyear{#2}}
% \end{macrocode}
@@ -1231,15 +1239,15 @@ dell'esercizio somministrato
% \end{macrocode}
% \begin{macrocode}
\newcommand{\asyearfont}[1]{%
- \hspace*{\fill} #1\hspace*{\fill}\\[.5em]}
+ \hspace*{\fill} #1\hspace*{\fill}}
% \end{macrocode}
% \begin{macrocode}
\newcommand{\testtypefont}[1]{%
- \hspace*{\fill}\scshape\huge#1\hspace*{\fill}}
+ \bgroup\hspace*{\fill}\scshape\huge#1\hspace*{\fill}\egroup}
% \end{macrocode}
% \begin{macrocode}
\newcommand{\instructiondelimiter}{%
- \rule{\textwidth}{.5pt}}
+ \hrulefill}
% \end{macrocode}
% \begin{macrocode}
\newcommand{\instrunctionfont}[1]{%
@@ -1247,7 +1255,7 @@ dell'esercizio somministrato
% \end{macrocode}
% \begin{macrocode}
\newcommand{\durationfont}[1]{%
- \hspace*{\fill}\@durationpreamble\space\bfseries #1\hspace*{\fill}}
+ \bgroup\hspace*{\fill}\@durationpreamble\space\bfseries #1\hspace*{\fill}\egroup}
% \end{macrocode}
% \begin{macrocode}
\newcommand{\@header@candidatename}{%
@@ -1368,6 +1376,21 @@ dell'esercizio somministrato
#2}
\chardef\ltx@zero=0%
% \end{macrocode}
+%\iffalse
+%% init vertical/horizontal remaining space
+%\fi
+% \begin{macrocode}
+\newcommand{\verifiche@initremainingvspace}{%
+ \pgfmathsetlength{\verifiche@remainingvspace}{%
+ floor((\dimexpr\pagegoal-\pagetotal-.5\baselineskip\relax)/\spacedim)*\spacedim%
+ }%
+}%
+\newcommand{\verifiche@initremaininghspace}{%
+ \pgfmathsetlength{\verifiche@remaininghspace}{%
+ floor(\linewidth/\spacedim)*\spacedim%
+ }%
+}%
+% \end{macrocode}
%\paragraph{Page styles}
%The package define two new pagestyle: \texttt{mainverifiche} and \texttt{verifiche}. The former is used if \verb|\@institute| is defined (or if \verb|noinstitute| is not declared) as \verb|\thispagestyle| mode. The latter can be used by the user and print, on the odd pages, the name, date and class of the candidate.
@@ -1392,11 +1415,13 @@ dell'esercizio somministrato
% \begin{macrocode}
\newcommand{\printheading}{%
{\ifdefined\@institute\ifinstitute\thispagestyle{mainverifiche}\fi\else\thispagestyle{plain}\fi}%
- {\ifcandidatename\@header\\[1em]\fi}%
- {\ifdefined\@asyear\ifasyear \asyearfont{\@asyearpreamble\space\@asyear}\fi\fi}%
- {\ifdefined\@testtype\iftesttype\testtypefont{\@testtype}\fi\fi}\\%
- {\ifdefined\@instruction\ifinstruction\instructiondelimiter\\{\instrunctionfont{\@instruction}}\\%
- \ifdefined\@duration\ifduration{\durationfont\@duration\\}\fi\fi\instructiondelimiter\fi\fi}%
+ {\ifcandidatename\@header\par\vspace{\baselineskip}\fi}%
+ {\ifdefined\@asyear\ifasyear\asyearfont{\@asyearpreamble\space\@asyear}\par\vspace{\baselineskip}\fi\fi}%
+ {\ifdefined\@testtype\iftesttype\testtypefont{\@testtype}\par\fi\fi}%
+ {\ifshowinstructiondelimiter\instructiondelimiter\par\fi}%
+ {\ifdefined\@instruction\ifinstruction\instrunctionfont{\@instruction}}\par\fi\fi%
+ {\ifdefined\@duration\ifduration\durationfont\@duration\par\fi\fi}%
+ {\ifshowinstructiondelimiter\instructiondelimiter\par\fi}%
}
% \end{macrocode}
@@ -1648,11 +1673,11 @@ dell'esercizio somministrato
%\begin{macro}{\openquestion}
%The |\openquestion| use key-value options defined as following presented.
% \begin{macrocode}
-\define@key{openquestion}{width}[\linewidth]{\def\openquestionwidth{#1}}
-\define@key{openquestion}{height}[19cm]{\def\openquestionheight{#1}}
-\define@key{openquestion}{spacedim}[0.5cm]{\def\spacedim{#1}}
-\define@key{openquestion}{linecolor}[gray]{\def\openquestionlinecolor{#1}}
-\define@choicekey*+{openquestion}{type}[\val\nr]{lines, squares}[lines]{%
+\define@key{openquestion}{spacedim}[0.5cm]{\setlength{\spacedim}{#1}\verifiche@initremainingvspace\verifiche@initremaininghspace}%
+\define@key{openquestion}{height}[\the\verifiche@remainingvspace]{\def\openquestionheight{#1}}%
+\define@key{openquestion}{width}[\the\verifiche@remaininghspace]{\def\openquestionwidth{#1}}%
+\define@key{openquestion}{linecolor}[gray]{\def\openquestionlinecolor{#1}}%
+\define@choicekey*+{openquestion}{type}[\val\nr]{lines, squares}[squares]{%
\ifcase\nr\relax%
% lines
\openquestionsquaredfalse\openquestionlinestrue%
@@ -1667,33 +1692,36 @@ dell'esercizio somministrato
%Depending on the |type| of the |\openquestion|, squared or ruled background is composed and in the foreground is reproduce the text of the argument of the command (in the "solutions mode").
% \begin{macrocode}
\NewDocumentCommand{\openquestion}{o m}{%
- \setkeys{openquestion}{type, width, height, linecolor, spacedim} %init
+ \setkeys{openquestion}{type, spacedim, width, height, linecolor} %init
\IfValueT{#1}{\setkeys{openquestion}{#1}}%
- \ifopenquestionsquared% if squared open question
+ \vspace{-\baselineskip}%
+ \begin{center}
+ \ifopenquestionsquared% if squared open question
\begin{tikzpicture}%
- \draw[step=\spacedim, \openquestionlinecolor]%
+ \draw[step=\the\spacedim, \openquestionlinecolor]%
(0,0) grid (\openquestionwidth,-\openquestionheight);%
\node[%
anchor=base west,%
align=left, text width=\openquestionwidth,%
inner sep=0cm,%
font=\solutionfont,%
- execute at begin node=\setlength{\baselineskip}{\spacedim}]%
- at (0, -\spacedim){\ifsol#2\fi};
+ execute at begin node=\setlength{\baselineskip}{\the\spacedim}]%
+ at (0, -\the\spacedim){\ifsol#2\fi};
\end{tikzpicture}%
\else% if lined open question
\begin{tikzpicture}%
- \pgfmathparse{int(\openquestionheight/\spacedim)}%
+ \pgfmathparse{int(\openquestionheight/\the\spacedim)}%
\foreach \y in {1, ..., \pgfmathresult}%
- \draw[\openquestionlinecolor] (0, -\y*\spacedim) -- +(\openquestionwidth,0);%
+ \draw[\openquestionlinecolor] (0, -\y*\the\spacedim) -- +(\openquestionwidth,0);%
\node[%
anchor=base west,align=left,%
text width=\openquestionwidth,%
inner sep=0cm, font=\solutionfont,%
- execute at begin node=\setlength{\baselineskip}{\spacedim}]%
- at (0, -\spacedim){\ifsol#2\fi};%
+ execute at begin node=\setlength{\baselineskip}{\the\spacedim}]%
+ at (0, -\the\spacedim){\ifsol#2\fi};%
\end{tikzpicture}%
\fi%
+ \end{center}%
}
% \end{macrocode}
%\end{macro}
diff --git a/macros/latex/contrib/verifiche/verifiche.pdf b/macros/latex/contrib/verifiche/verifiche.pdf
index 63cb42a4d1..47ae4949a2 100644
--- a/macros/latex/contrib/verifiche/verifiche.pdf
+++ b/macros/latex/contrib/verifiche/verifiche.pdf
Binary files differ
diff --git a/macros/latex/contrib/xkeyval/README b/macros/latex/contrib/xkeyval/README
index bfae33636a..52c508ae06 100644
--- a/macros/latex/contrib/xkeyval/README
+++ b/macros/latex/contrib/xkeyval/README
@@ -1,87 +1,87 @@
-xkeyval v2.8
-------------
-
-This package is an extension of the keyval package by David Carlisle
-and offers additional macros for setting keys and declaring and
-setting class or package options. This distribution also includes
-the following additional packages:
-
-xkvview v1.4a : viewer utility for package programmers
-xkvltxp v1.3 : LaTeX kernel patch to allow expandable macros in
- package options
-pst-xkey v1.6 : specialization of the xkeyval package for PSTricks
- packages
-
-See for more information the pdf documentation of this package.
-
-
-Installation
-------------
-
-First check whether this package can be installed by the
-distribution that you use, since that will simplify installation.
-For manual installations, the structure and supposed location in a
-TDS compliant TeX-tree is shown in the overview below. In words,
-keyval.tex, pst-xkey.tex, xkvutils.tex, xkvtxhdr.tex and xkeyval.tex
-should be available to TeX and LaTeX; pst-xkey.sty, xkeyval.sty,
-xkvview.sty and xkvltxp.sty should be available to LaTeX. The package
-to which a specific run file belongs, is denoted in between square
-brackets. Don't forget to update your filename database after installing
-the files.
-
-CTAN:/macros/latex/contrib/xkeyval: official location
- |
- |- readme : should not be installed
- |- doc
- | `- xkeyval.pdf : /doc/latex/xkeyval
- |- run
- | |- keyval.tex : /tex/generic/xkeyval [xkeyval]
- | |- xkvutils.tex : /tex/generic/xkeyval [xkeyval]
- | |- pst-xkey.sty : /tex/latex/xkeyval [pst-xkey]
- | |- pst-xkey.tex : /tex/generic/xkeyval [pst-xkey]
- | |- xkeyval.sty : /tex/latex/xkeyval [xkeyval]
- | |- xkeyval.tex : /tex/generic/xkeyval [xkeyval]
- | |- xkvview.sty : /tex/latex/xkeyval [xkvview]
- | |- xkvltxp.sty : /tex/latex/xkeyval [xkvltxp]
- | `- xkvtxhdr.tex : /tex/generic/xkeyval [xkeyval]
- `- source
- `- xkeyval.dtx : /source/latex/xkeyval
-
-The package includes pregenerated run and doc files, but you can
-reproduce them from the source if necessary. See the first lines
-of xkeyval.dtx for information how to do this. Example files can
-be produced by running the file xkeyval.dtx with LaTeX once.
-
-See the documentation of your LaTeX distribution or the TeX
-Frequently Asked Questions for more information on installing
-xkeyval into your LaTeX distribution
-(http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages).
-
-
-License
--------
-
-Copyright (C) 2004-2020 Hendri Adriaens
-
-This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either version 1.3
-of this license or (at your option) any later version.
-The latest version of this license is in
- http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of LaTeX
-version 2003/12/01 or later.
-
-This work has the LPPL maintenance status "maintained".
-
-This Current Maintainer of this work is Hendri Adriaens.
-
-This work consists of the file xkeyval.dtx and derived files
-keyval.tex, xkvtxhdr.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
-xkvltxp.sty, xkvutils.tex, pst-xkey.tex, pst-xkey.sty, xkveca.cls,
-xkvecb.cls, xkvesa.sty, xkvesb.sty, xkvesc.sty, xkvex1.tex,
-xkvex2.tex, xkvex3.tex and xkvex4.tex.
-
-The following files constitute the xkeyval bundle and must be
-distributed as a whole: readme, xkeyval.pdf, keyval.tex,
-pst-xkey.sty, pst-xkey.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
-xkvltxp.sty, xkvtxhdr.tex, xkvutils.tex, pst-xkey.dtx and xkeyval.dtx.
+xkeyval v2.9
+------------
+
+This package is an extension of the keyval package by David Carlisle
+and offers additional macros for setting keys and declaring and
+setting class or package options. This distribution also includes
+the following additional packages:
+
+xkvview v1.4a : viewer utility for package programmers
+xkvltxp v1.3 : LaTeX kernel patch to allow expandable macros in
+ package options
+pst-xkey v1.6 : specialization of the xkeyval package for PSTricks
+ packages
+
+See for more information the pdf documentation of this package.
+
+
+Installation
+------------
+
+First check whether this package can be installed by the
+distribution that you use, since that will simplify installation.
+For manual installations, the structure and supposed location in a
+TDS compliant TeX-tree is shown in the overview below. In words,
+keyval.tex, pst-xkey.tex, xkvutils.tex, xkvtxhdr.tex and xkeyval.tex
+should be available to TeX and LaTeX; pst-xkey.sty, xkeyval.sty,
+xkvview.sty and xkvltxp.sty should be available to LaTeX. The package
+to which a specific run file belongs, is denoted in between square
+brackets. Don't forget to update your filename database after installing
+the files.
+
+CTAN:/macros/latex/contrib/xkeyval: official location
+ |
+ |- readme : should not be installed
+ |- doc
+ | `- xkeyval.pdf : /doc/latex/xkeyval
+ |- run
+ | |- keyval.tex : /tex/generic/xkeyval [xkeyval]
+ | |- xkvutils.tex : /tex/generic/xkeyval [xkeyval]
+ | |- pst-xkey.sty : /tex/latex/xkeyval [pst-xkey]
+ | |- pst-xkey.tex : /tex/generic/xkeyval [pst-xkey]
+ | |- xkeyval.sty : /tex/latex/xkeyval [xkeyval]
+ | |- xkeyval.tex : /tex/generic/xkeyval [xkeyval]
+ | |- xkvview.sty : /tex/latex/xkeyval [xkvview]
+ | |- xkvltxp.sty : /tex/latex/xkeyval [xkvltxp]
+ | `- xkvtxhdr.tex : /tex/generic/xkeyval [xkeyval]
+ `- source
+ `- xkeyval.dtx : /source/latex/xkeyval
+
+The package includes pregenerated run and doc files, but you can
+reproduce them from the source if necessary. See the first lines
+of xkeyval.dtx for information how to do this. Example files can
+be produced by running the file xkeyval.dtx with LaTeX once.
+
+See the documentation of your LaTeX distribution or the TeX
+Frequently Asked Questions for more information on installing
+xkeyval into your LaTeX distribution
+(http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages).
+
+
+License
+-------
+
+Copyright (C) 2004-2022 Hendri Adriaens
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2003/12/01 or later.
+
+This work has the LPPL maintenance status "maintained".
+
+This Current Maintainer of this work is Hendri Adriaens.
+
+This work consists of the file xkeyval.dtx and derived files
+keyval.tex, xkvtxhdr.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+xkvltxp.sty, xkvutils.tex, pst-xkey.tex, pst-xkey.sty, xkveca.cls,
+xkvecb.cls, xkvesa.sty, xkvesb.sty, xkvesc.sty, xkvex1.tex,
+xkvex2.tex, xkvex3.tex and xkvex4.tex.
+
+The following files constitute the xkeyval bundle and must be
+distributed as a whole: readme, xkeyval.pdf, keyval.tex,
+pst-xkey.sty, pst-xkey.tex, xkeyval.sty, xkeyval.tex, xkvview.sty,
+xkvltxp.sty, xkvtxhdr.tex, xkvutils.tex, pst-xkey.dtx and xkeyval.dtx.
diff --git a/macros/latex/contrib/xkeyval/xkeyval.dtx b/macros/latex/contrib/xkeyval/xkeyval.dtx
index 34a01d898b..6690fbcac6 100644
--- a/macros/latex/contrib/xkeyval/xkeyval.dtx
+++ b/macros/latex/contrib/xkeyval/xkeyval.dtx
@@ -26,7 +26,7 @@
% pst-xkey.sty
%
%% ---------------------------------------
-%% Copyright (C) 2004-2020 Hendri Adriaens
+%% Copyright (C) 2004-2022 Hendri Adriaens
%% ---------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -188,7 +188,7 @@ macro. \PrintChangesX\PrintIndexX
%
% \GetFileInfo{xkeyval.sty}
%
-% \CheckSum{3040}
+% \CheckSum{3043}
%
%\DoNotIndex{\:,\@,\@@,\@backslashchar,\@ehc,\@empty,\@expandtwoargs,
%\@for,\@forloop,\@fornoop,\@fortmp,\@gobble,\@gobbletwo,\@if,\@ifnch,
@@ -3440,7 +3440,7 @@ macro. \PrintChangesX\PrintIndexX
%<*xkvlatex>
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{xkeyval}
- [2020/11/20 v2.8 package option processing (HA)]
+ [2022/06/16 v2.9 package option processing (HA)]
% \end{macrocode}
% Initializations. Load |xkeyval.tex|, adjust some catcodes to define
% internal macros and initialize the |\DeclareOptionX*| working macro.
@@ -3682,13 +3682,14 @@ macro. \PrintChangesX\PrintIndexX
% \begin{macro}{\XKV@useoption}
% \marg{option}\\
% Removes an option from |\@unusedoptionlist|.
+% \changes{v2.9}{2022/06/16}{Fix for package options with braces}
% \begin{macrocode}
\def\XKV@useoption#1{%
\def\XKV@resa{#1}%
\XKV@ifundefined{ver@xkvltxp.sty}{}{%
\@onelevel@sanitize\XKV@resa
}%
- \@expandtwoargs\@removeelement{\XKV@resa}%
+ \@expandtwoargs\@removeelement{\expandafter\@remove@eq@value\XKV@resa=\@nil}%
{\@unusedoptionlist}\@unusedoptionlist
}
% \end{macrocode}
@@ -5641,6 +5642,7 @@ actually used. They are not expanded during option processing.\\
\EnableCrossrefs
\RecordChanges
\CodelineIndex
+\AtBeginDocument{\hypersetup{linkcolor=black, citecolor=black, urlcolor=black}}
%</preamble>
%
%<*bib>
diff --git a/macros/latex/contrib/xkeyval/xkeyval.pdf b/macros/latex/contrib/xkeyval/xkeyval.pdf
index 4b1f569696..66ebf16812 100644
--- a/macros/latex/contrib/xkeyval/xkeyval.pdf
+++ b/macros/latex/contrib/xkeyval/xkeyval.pdf
Binary files differ
diff --git a/macros/latex/required/cyrillic/README.md b/macros/latex/required/cyrillic/README.md
index 9d42a35675..edb52a9b19 100644
--- a/macros/latex/required/cyrillic/README.md
+++ b/macros/latex/required/cyrillic/README.md
@@ -1,67 +1,54 @@
-## README for the `cyrillic` bundle (June 2001)
+The LaTeX `cyrillic` bundle
+===========================
-This `bundle` consists of LaTeX2e packages for Cyrillic languages
-supported by the LaTeX3 Project Team.
+Release 2022-06-01 patch level 1
-Running LaTeX on the file cyrlatex.ins will produce all the package
-files, and some associated files.
+Overview
+--------
-So you should first process cyrlatex.ins:
+This bundle consists of LaTeX2e packages for Cyrillic languages
+supported by the LaTeX Project.
- latex cyrlatex.ins
+Installation
+------------
-The files with extensions `.def`, `.fd`, `.sty` and `.tex` should
-then be moved to a directory on LaTeX's standard input path.
+We no longer distribute installation instructions for the various TeX
+implementations. All modern TeX systems include `cyrillic` as-standard, and end
+users should in general use the release versions supplied in this way.
-The documented source code of each component may then be obtained by
-running LaTeX on a files with extensions `.dtx` and `.fdd`.
+Release distribution is carried out only through the CTAN archives.
-For example:
+Reporting Bugs
+--------------
- latex cyoutenc.dtx
-
-will produce the file `cyoutenc.pdf`, documenting the output encodings
-source code.
-
-The file `manifest.txt` contains a list of the main files in the
-distribution together with a one-or-two line summary of each file.
-
-
-### Distribution Conditions
-
-All the files in this bundle may be distributed under the conditions
-of the LaTeX Project Public License, either version 1.3c of this
-license or (at your option) any later version. The latest version of
-this license is in
- https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
-
-The use of these files is otherwise unrestricted.
-
-
-### Reporting Bugs
-
-If you wish to report a problem or bug in any of these packages
-please use the
-[Issue Tracker for LaTeX2e on GitHub](https://github.com/latex3/latex2e/issues)
-and follow the guidelines that pop up if you press the `New issue` button.
+If you wish to report a problem or bug in the `cyrillic` bundle
+please use the [Issue Tracker for LaTeX2e on
+GitHub](https://github.com/latex3/latex2e/issues)
+and follow the guidelines that pop up if you press the "New issue" button.
In particular, to check that you are really seeing a bug, please write
a short, self-contained document that shows the problem. This should
include the `latexbug` package, which will warn if your test file is
not suitable for one or the other reason. See the [CONTRIBUTING
-guide](https://github.com/latex3/latex2e/blob/master/CONTRIBUTING.md)
+guide](https://github.com/latex3/latex2e/blob/main/CONTRIBUTING.md)
for further details, or if you need to obtain the `latexbug` package.
If the bug turns out to be with third-party software then please
contact the developer, and not us!
+License
+-------
+The contents of this bundle are distributed under the [LaTeX Project
+Public License](https://www.latex-project.org/lppl/lppl-1-3c/),
+version 1.3c or later.
-### Copyright
-
-This README file is copyright 2005-2017 The LaTeX3 Project.
+Copyright
+---------
+Copyright is maintained on each of these packages by the author(s)
+of the package.
+-----
+<p>Copyright (C) 2005-2019 The LaTeX Project <br />
diff --git a/macros/latex/required/cyrillic/changes.txt b/macros/latex/required/cyrillic/changes.txt
index cfc514226f..ab1a4188a9 100644
--- a/macros/latex/required/cyrillic/changes.txt
+++ b/macros/latex/required/cyrillic/changes.txt
@@ -4,6 +4,11 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
=======================================================================
+2022-06-11 David Carlisle <David.Carlisle@latex-project.org>
+
+ * cyinpenc.dtx cyoutenc.dtx lyc.dtx ot2.dtx:
+ support \guillemetleft github issue/65
+
2015-04-02 Joseph Wright <joseph.wright@morningstar2.co.uk>
* TDS-style zip improvements
@@ -11,7 +16,7 @@ are not part of the distribution.
* Tweak README
2015-03-31 Joseph Wright <joseph.wright@morningstar2.co.uk>
- * Update packing of files for CTAN
+ * Update packing of files for CTAN
2014-10-28 <Frank.Mittelbach@latex-project.org>
diff --git a/macros/latex/required/cyrillic/cyinpenc.dtx b/macros/latex/required/cyrillic/cyinpenc.dtx
index e560ca8691..1c96b1b7e0 100644
--- a/macros/latex/required/cyrillic/cyinpenc.dtx
+++ b/macros/latex/required/cyrillic/cyinpenc.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2014
+% Copyright 1993-2022
%
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
@@ -9,12 +9,12 @@
% ----------------------------------------------------------
%
% It may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3b
+% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
-% and version 1.3b or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
%
% The list of all files belonging to the `Cyrillic Bundle' is
% given in the file `manifest.txt'.
@@ -121,7 +121,7 @@
%<MOS>\ProvidesFile{mos.def}
%<NCC>\ProvidesFile{ncc.def}
%<MLS>\ProvidesFile{mls.def}
- [2014/10/28 v1.0d Input encoding file]
+ [2022/06/11 v1.0e Input encoding file]
% \end{macrocode}
% Insert a |\makeatletter| at the beginning of all .def files.
% \begin{macrocode}
@@ -298,9 +298,9 @@
\DeclareInputText{251}{\cyrushrt}
\DeclareInputText{252}{\textnumero}
% ? left European quotes:
-\DeclareInputText{253}{\guillemotleft}
+\DeclareInputText{253}{\guillemetleft}
% ? right European quotes:
-\DeclareInputText{254}{\guillemotright}
+\DeclareInputText{254}{\guillemetright}
%</NAV>
% \end{macrocode}
%
@@ -381,8 +381,8 @@
\DeclareInputText{171}{\CYRF}
\DeclareInputText{172}{\cyrg}
\DeclareInputText{173}{\CYRG}
-\DeclareInputText{174}{\guillemotleft}
-\DeclareInputText{175}{\guillemotright}
+\DeclareInputText{174}{\guillemetleft}
+\DeclareInputText{175}{\guillemetright}
% 0xb0 LIGHT SHADE
% 0xb1 MEDIUM SHADE
% 0xb2 DARK SHADE
@@ -617,7 +617,7 @@
\DeclareInputText{169}{\copyright}
%<cp1251>\DeclareInputText{170}{\CYRIE}
%<pt154>\DeclareInputText{170}{\CYRSCHWA}
-\DeclareInputText{171}{\guillemotleft}
+\DeclareInputText{171}{\guillemetleft}
\DeclareInputMath{172}{\lnot}
\DeclareInputText{173}{\-}
\DeclareInputText{174}{\textregistered}
@@ -638,7 +638,7 @@
\DeclareInputText{185}{\textnumero}
%<cp1251>\DeclareInputText{186}{\cyrie}
%<pt154>\DeclareInputText{186}{\cyrschwa}
-\DeclareInputText{187}{\guillemotright}
+\DeclareInputText{187}{\guillemetright}
\DeclareInputText{188}{\cyrje}
%<*cp1251>
\DeclareInputText{189}{\CYRDZE}
@@ -779,9 +779,9 @@
\DeclareInputMath{157}{\mathtwosuperior}
%</koi8r>
%<*koi8ru>
-\DeclareInputText{155}{\guillemotright}
+\DeclareInputText{155}{\guillemetright}
\DeclareInputText{156}{\textregistered}
-\DeclareInputText{157}{\guillemotleft}
+\DeclareInputText{157}{\guillemetleft}
%</koi8ru>
%<koi8r|koi8ru>\DeclareInputText{158}{\textperiodcentered}
%<koi8r>\DeclareInputMath{159}{\div}
@@ -1126,8 +1126,8 @@
\DeclareInputText{197}{\cyrhdsc}
\DeclareInputText{198}{\cyry}
%</pt254>
-\DeclareInputText{199}{\guillemotleft}
-\DeclareInputText{200}{\guillemotright}
+\DeclareInputText{199}{\guillemetleft}
+\DeclareInputText{200}{\guillemetright}
% HORIZONTAL ELLIPSIS:
\DeclareInputText{201}{\dots}
\DeclareInputText{202}{\nobreakspace}
@@ -1324,8 +1324,8 @@
%
% \begin{macrocode}
%<*CTT>
-\DeclareInputText{171}{\guillemotleft}
-\DeclareInputText{187}{\guillemotright}
+\DeclareInputText{171}{\guillemetleft}
+\DeclareInputText{187}{\guillemetright}
\DeclareInputText{192}{\CYRA}
\DeclareInputText{193}{\CYRB}
\DeclareInputText{194}{\CYRV}
@@ -1757,8 +1757,8 @@
\DeclareInputText{171}{\cyrp}
\DeclareInputText{172}{\cyrt}
\DeclareInputText{173}{\cyry}
-\DeclareInputText{174}{\guillemotleft}
-\DeclareInputText{175}{\guillemotright}
+\DeclareInputText{174}{\guillemetleft}
+\DeclareInputText{175}{\guillemetright}
\DeclareInputText{176}{\cyrf}
\DeclareInputText{177}{\cyrc}
\DeclareInputText{178}{\cyrch}
diff --git a/macros/latex/required/cyrillic/cyinpenc.pdf b/macros/latex/required/cyrillic/cyinpenc.pdf
index 98b349a917..c6ca1c0a89 100644
--- a/macros/latex/required/cyrillic/cyinpenc.pdf
+++ b/macros/latex/required/cyrillic/cyinpenc.pdf
Binary files differ
diff --git a/macros/latex/required/cyrillic/cyoutenc.dtx b/macros/latex/required/cyrillic/cyoutenc.dtx
index 4b510de97f..89304a754f 100644
--- a/macros/latex/required/cyrillic/cyoutenc.dtx
+++ b/macros/latex/required/cyrillic/cyoutenc.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2008 2009
+% Copyright 1993-2022
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -8,12 +8,12 @@
% ----------------------------------------------------------
%
% It may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3b
+% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
-% and version 1.3b or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
%
% The list of all files belonging to the `Cyrillic Bundle' is
% given in the file `manifest.txt'.
@@ -65,7 +65,7 @@
%<T2A>\ProvidesFile{t2aenc.def}
%<T2B>\ProvidesFile{t2benc.def}
%<T2C>\ProvidesFile{t2cenc.def}
- [2005/09/27 v1.0i Cyrillic encoding definition file]
+ [2022/06/11 v1.0j Cyrillic encoding definition file]
% \end{macrocode}
%
% To assure that |\MakeUppercase| and |\MakeLowercase| will work
@@ -171,7 +171,9 @@
\DeclareTextSymbol{\cyrlangle}{\LastDeclaredEncoding}{14}
\DeclareTextSymbol{\cyrrangle}{\LastDeclaredEncoding}{15}
\DeclareTextSymbol{\guillemotleft}{\LastDeclaredEncoding}{190}
+\DeclareTextSymbol{\guillemetleft}{\LastDeclaredEncoding}{190}
\DeclareTextSymbol{\guillemotright}{\LastDeclaredEncoding}{191}
+\DeclareTextSymbol{\guillemetright}{\LastDeclaredEncoding}{191}
% \end{macrocode}
%
% |\i| and |\j| are unused in Cyrillic languages, so are absent
diff --git a/macros/latex/required/cyrillic/cyoutenc.pdf b/macros/latex/required/cyrillic/cyoutenc.pdf
index e82387a659..04346ccb9d 100644
--- a/macros/latex/required/cyrillic/cyoutenc.pdf
+++ b/macros/latex/required/cyrillic/cyoutenc.pdf
Binary files differ
diff --git a/macros/latex/required/cyrillic/cyrlatex.ins b/macros/latex/required/cyrillic/cyrlatex.ins
index 701479f03a..518fd932ac 100644
--- a/macros/latex/required/cyrillic/cyrlatex.ins
+++ b/macros/latex/required/cyrillic/cyrlatex.ins
@@ -3,35 +3,35 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2017
+%% Copyright 1993-2019
%% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file.
-%%
+%% in this file.
+%%
%% This file is part of the Standard LaTeX `Cyrillic Bundle'.
%% ----------------------------------------------------------
-%%
+%%
%% It may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
+%%
%% As this file contains legal notices, it is NOT PERMITTED to modify
%% this file in any way that the legal information placed into
%% generated files is changed (i.e., the files generated when the
%% original file is executed). This restriction does not apply if
%% (parts of) the content is reused in a different WORK producing its
%% own generated files.
-%%
+%%
%% The list of all files belonging to the `Cyrillic Bundle' is
%% given in the file `manifest.txt'.
-%%
+%%
%%
%% --------------- start of docstrip commands ------------------
%%
-%% Copyright 1993-2017
+%% Copyright 1993-2019
%%
%% This file is part of the `cyrillic' bundle in the LaTeX2e distribution.
%%
@@ -55,9 +55,9 @@ The source is maintained by the LaTeX Project team and bug
reports for it can be opened at https://latex-project.org/bugs/
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
-in this file.
+in this file.
This file was generated from file(s) of the Standard LaTeX `Cyrillic Bundle'.
-----------------------------------------------------------------------------
@@ -67,8 +67,8 @@ conditions of the LaTeX Project Public License, either version 1.3c
of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+and version 1.3c or later is part of all distributions of LaTeX
+version 2008 or later.
This file may only be distributed together with a copy of the LaTeX
`Cyrillic Bundle'. You may however distribute the LaTeX `Cyrillic
@@ -136,9 +136,9 @@ The source is maintained by the LaTeX Project team and bug
reports for it can be opened at https://latex-project.org/bugs/
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2016
+Copyright 1993-2019
The LaTeX3 Project and any individual authors listed elsewhere
-in this file.
+in this file.
This file was generated from file(s) of the Standard LaTeX `Cyrillic Bundle'.
-----------------------------------------------------------------------------
@@ -148,8 +148,8 @@ conditions of the LaTeX Project Public License, either version 1.3c
of this license or (at your option) any later version.
The latest version of this license is in
https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+and version 1.3c or later is part of all distributions of LaTeX
+version 2008 or later.
This file may only be distributed together with a copy of the LaTeX
`Cyrillic Bundle'. You may however distribute the LaTeX `Cyrillic
diff --git a/macros/latex/required/cyrillic/lcy.dtx b/macros/latex/required/cyrillic/lcy.dtx
index 6605733fe6..29424a198a 100644
--- a/macros/latex/required/cyrillic/lcy.dtx
+++ b/macros/latex/required/cyrillic/lcy.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2008 2009
+% Copyright 1993-2022
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -8,12 +8,12 @@
% ----------------------------------------------------------
%
% It may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3b
+% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
-% and version 1.3b or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
%
% The list of all files belonging to the `Cyrillic Bundle' is
% given in the file `manifest.txt'.
@@ -37,7 +37,7 @@
%<*LCY>
\NeedsTeXFormat{LaTeX2e}[1998/12/01]
\ProvidesFile{lcyenc.def}
- [2004/05/28 v3.4d Cyrillic encoding definition file]
+ [2022/06/11 v3.4e Cyrillic encoding definition file]
% \end{macrocode}
%
% \section{Definitions for the \texttt{LCY} encoding}
@@ -268,7 +268,9 @@
\DeclareTextSymbol{\textcurrency}{LCY}{197}
\DeclareTextSymbol{\textnumero}{LCY}{252}
\DeclareTextSymbol{\guillemotleft}{LCY}{253}
+\DeclareTextSymbol{\guillemetleft}{LCY}{253}
\DeclareTextSymbol{\guillemotright}{LCY}{254}
+\DeclareTextSymbol{\guillemetright}{LCY}{254}
\DeclareTextSymbol{\quotedblbase}{LCY}{255}
% \end{macrocode}
% Text composites. The following declarations will not work for 8-bit
diff --git a/macros/latex/required/cyrillic/lcy.pdf b/macros/latex/required/cyrillic/lcy.pdf
index b1a2810dcd..455a4bc353 100644
--- a/macros/latex/required/cyrillic/lcy.pdf
+++ b/macros/latex/required/cyrillic/lcy.pdf
Binary files differ
diff --git a/macros/latex/required/cyrillic/lcycmlh.fdd b/macros/latex/required/cyrillic/lcycmlh.fdd
index 6610d74de3..173e8d9d93 100644
--- a/macros/latex/required/cyrillic/lcycmlh.fdd
+++ b/macros/latex/required/cyrillic/lcycmlh.fdd
@@ -1,23 +1,23 @@
% \iffalse meta-comment
%
-% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2008 2009
+% Copyright 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
-% in this file.
-%
+% in this file.
+%
% This file is part of the Standard LaTeX `Cyrillic Bundle'.
% ----------------------------------------------------------
-%
+%
% It may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3b
+% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
-% and version 1.3b or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
% The list of all files belonging to the `Cyrillic Bundle' is
% given in the file `manifest.txt'.
-%
+%
% \fi
% \iffalse
% This is the file |lcycmlh.fdd| of the cyrillic bundle for LaTeX2e.
diff --git a/macros/latex/required/cyrillic/lcycmlh.pdf b/macros/latex/required/cyrillic/lcycmlh.pdf
index a54eae2a33..b5d0d00cae 100644
--- a/macros/latex/required/cyrillic/lcycmlh.pdf
+++ b/macros/latex/required/cyrillic/lcycmlh.pdf
Binary files differ
diff --git a/macros/latex/required/cyrillic/ot2.dtx b/macros/latex/required/cyrillic/ot2.dtx
index 05e747a136..d93e39a341 100644
--- a/macros/latex/required/cyrillic/ot2.dtx
+++ b/macros/latex/required/cyrillic/ot2.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2008 2009
+% Copyright 1993-2022
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -8,12 +8,12 @@
% ----------------------------------------------------------
%
% It may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3b
+% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
-% and version 1.3b or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
%
% The list of all files belonging to the `Cyrillic Bundle' is
% given in the file `manifest.txt'.
@@ -38,7 +38,7 @@
%<*OT2>
\NeedsTeXFormat{LaTeX2e}[1998/12/01]
\ProvidesFile{ot2enc.def}
- [2001/08/11 v3.3a Cyrillic encoding definition file]
+ [2022/06/11 v3.3b Cyrillic encoding definition file]
% \end{macrocode}
%
% \section{Definitions for the \texttt{OT2} encoding}
@@ -192,7 +192,9 @@
\DeclareTextSymbol{\textquotedblleft}{OT2}{92}
\DeclareTextSymbol{\textquotedblright}{OT2}{34}
\DeclareTextSymbol{\guillemotleft}{OT2}{60}
+\DeclareTextSymbol{\guillemetleft}{OT2}{60}
\DeclareTextSymbol{\guillemotright}{OT2}{62}
+\DeclareTextSymbol{\guillemetright}{OT2}{62}
\DeclareTextSymbol{\textendash}{OT2}{123}
\DeclareTextSymbol{\cyrdash}{OT2}{124}
\DeclareTextSymbol{\textemdash}{OT2}{124}
diff --git a/macros/latex/required/cyrillic/ot2.pdf b/macros/latex/required/cyrillic/ot2.pdf
index ab2c9b8f79..a4cfd087cf 100644
--- a/macros/latex/required/cyrillic/ot2.pdf
+++ b/macros/latex/required/cyrillic/ot2.pdf
Binary files differ
diff --git a/macros/latex/required/cyrillic/ot2cmams.fdd b/macros/latex/required/cyrillic/ot2cmams.fdd
index be87506268..9449885788 100644
--- a/macros/latex/required/cyrillic/ot2cmams.fdd
+++ b/macros/latex/required/cyrillic/ot2cmams.fdd
@@ -1,23 +1,23 @@
% \iffalse meta-comment
%
-% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2008 2009
+% Copyright 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
-% in this file.
-%
+% in this file.
+%
% This file is part of the Standard LaTeX `Cyrillic Bundle'.
% ----------------------------------------------------------
-%
+%
% It may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3b
+% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
-% and version 1.3b or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
% The list of all files belonging to the `Cyrillic Bundle' is
% given in the file `manifest.txt'.
-%
+%
% \fi
% \iffalse
% This is the file |ot2cmams.fdd| of the cyrillic bundle for LaTeX2e.
diff --git a/macros/latex/required/cyrillic/ot2cmams.pdf b/macros/latex/required/cyrillic/ot2cmams.pdf
index 738b5a2406..c69a20d590 100644
--- a/macros/latex/required/cyrillic/ot2cmams.pdf
+++ b/macros/latex/required/cyrillic/ot2cmams.pdf
Binary files differ
diff --git a/macros/latex/required/cyrillic/ot2cmlh.fdd b/macros/latex/required/cyrillic/ot2cmlh.fdd
index 5790955f59..8aa3f3b3d1 100644
--- a/macros/latex/required/cyrillic/ot2cmlh.fdd
+++ b/macros/latex/required/cyrillic/ot2cmlh.fdd
@@ -1,23 +1,23 @@
% \iffalse meta-comment
%
-% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2008 2009
+% Copyright 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
-% in this file.
-%
+% in this file.
+%
% This file is part of the Standard LaTeX `Cyrillic Bundle'.
% ----------------------------------------------------------
-%
+%
% It may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3b
+% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
-% and version 1.3b or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
% The list of all files belonging to the `Cyrillic Bundle' is
% given in the file `manifest.txt'.
-%
+%
% \fi
% \iffalse
% This is the file |ot2cmlh.fdd| of the cyrillic bundle for LaTeX2e.
diff --git a/macros/latex/required/cyrillic/ot2cmlh.pdf b/macros/latex/required/cyrillic/ot2cmlh.pdf
index 90a8c20835..048efadca2 100644
--- a/macros/latex/required/cyrillic/ot2cmlh.pdf
+++ b/macros/latex/required/cyrillic/ot2cmlh.pdf
Binary files differ
diff --git a/macros/latex/required/cyrillic/t2lhfnt.fdd b/macros/latex/required/cyrillic/t2lhfnt.fdd
index 8f0dac0df6..41b3695e71 100644
--- a/macros/latex/required/cyrillic/t2lhfnt.fdd
+++ b/macros/latex/required/cyrillic/t2lhfnt.fdd
@@ -1,23 +1,23 @@
% \iffalse meta-comment
%
-% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2008 2009
+% Copyright 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
-% in this file.
-%
+% in this file.
+%
% This file is part of the Standard LaTeX `Cyrillic Bundle'.
% ----------------------------------------------------------
-%
+%
% It may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3b
+% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
-% and version 1.3b or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
% The list of all files belonging to the `Cyrillic Bundle' is
% given in the file `manifest.txt'.
-%
+%
% \fi
% \iffalse
% This is the file |t2lhfnt.fdd| of the cyrillic bundle for LaTeX2e.
diff --git a/macros/latex/required/cyrillic/t2lhfnt.pdf b/macros/latex/required/cyrillic/t2lhfnt.pdf
index 88f3eb17e0..613eb3e02d 100644
--- a/macros/latex/required/cyrillic/t2lhfnt.pdf
+++ b/macros/latex/required/cyrillic/t2lhfnt.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/NEWS b/macros/luatex/generic/luaotfload/NEWS
index 7c6c57eefb..289861f917 100644
--- a/macros/luatex/generic/luaotfload/NEWS
+++ b/macros/luatex/generic/luaotfload/NEWS
@@ -1,5 +1,13 @@
Change History
--------------
+2022-06-15 luaotfload v3.22
+
+ * Tailored case mappings
+ * Avoid database rebuilds when switching Lua versions
+ * Improved attribute settings of ActualText nodes in harf mode
+ * Callback-based customization for color parameter
+ * Various bug fixes
+
2022-03-18 luaotfload v3.21
* Fix performance regression introduced in version 3.19.
diff --git a/macros/luatex/generic/luaotfload/README.md b/macros/luatex/generic/luaotfload/README.md
index 57be111ba2..4a1fa3a3b0 100644
--- a/macros/luatex/generic/luaotfload/README.md
+++ b/macros/luatex/generic/luaotfload/README.md
@@ -1,8 +1,8 @@
# The Luaotfload Package
-VERSION: 3.21
+VERSION: 3.22
-DATE: 2022-03-18
+DATE: 2022-06-15
## Description
diff --git a/macros/luatex/generic/luaotfload/filegraph.pdf b/macros/luatex/generic/luaotfload/filegraph.pdf
index fd38f172d8..07ccf2b986 100644
--- a/macros/luatex/generic/luaotfload/filegraph.pdf
+++ b/macros/luatex/generic/luaotfload/filegraph.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/fontloader-2022-02-24.lua b/macros/luatex/generic/luaotfload/fontloader-2022-06-15.lua
index aee123be03..5e0af8e484 100644
--- a/macros/luatex/generic/luaotfload/fontloader-2022-02-24.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-2022-06-15.lua
@@ -1,6 +1,6 @@
--[[info-----------------------------------------------------------------------
Luaotfload fontloader package
- build 2022-02-24 08:04:22
+ build 2022-06-15 18:33:10
-------------------------------------------------------------------------------
© 2022 PRAGMA ADE / ConTeXt Development Team
@@ -63,7 +63,7 @@
--info]]-----------------------------------------------------------------------
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “data-con” 23a0f5386d46a1c157ae82a373e35fa0] ---
+do --- [luaotfload, fontloader-2022-06-15.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-2022-02-24.lua scope for “data-con”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “data-con”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “basics-nod” 1750af43148def9e7a75c6900a96f9dc] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “basics-nod” 1750af43148def9e7a75c6900a96f9dc] ---
if not modules then modules={} end modules ['luatex-fonts-nod']={
version=1.001,
@@ -454,10 +454,10 @@ do
end
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “basics-nod”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “basics-nod”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “basics-chr” 1bb1ea05b5ca1bb5a9848b9eb66322bf] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “basics-chr” ce4afac7ba19471f3c8f90800839f315] ---
characters=characters or {}
@@ -4291,10 +4291,10 @@ characters.indicgroups={
},
}
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “basics-chr”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “basics-chr”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ini” 5343de60613adb24cdd7a8d2ee1d153c] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ini” 5343de60613adb24cdd7a8d2ee1d153c] ---
if not modules then modules={} end modules ['font-ini']={
version=1.001,
@@ -4335,10 +4335,10 @@ if node and not tex.getfontoffamily then
tex.getfontoffamily=node.family_font
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ini”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ini”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-mis” 17e967c9ec4d001deefd43ddf25e98f7] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-mis” 17e967c9ec4d001deefd43ddf25e98f7] ---
if not modules then modules={} end modules ['luatex-font-mis']={
version=1.001,
@@ -4370,10 +4370,10 @@ function font.each()
return table.sortedhash(fonts.hashes.identifiers)
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-mis”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-mis”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-con” 724e5dd14aec2d4d189f8619898004cf] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-con” 724e5dd14aec2d4d189f8619898004cf] ---
if not modules then modules={} end modules ['font-con']={
version=1.001,
@@ -5741,10 +5741,10 @@ function constructors.addcoreunicodes(unicodes)
return unicodes
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-con”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-con”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-enc” c24fd6b4f34f87b9c4ff5e6193ce2656] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-enc” c24fd6b4f34f87b9c4ff5e6193ce2656] ---
if not modules then modules={} end modules ['luatex-font-enc']={
version=1.001,
@@ -5819,10 +5819,10 @@ function encodings.load(filename)
return containers.write(encodings.cache,name,data)
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-enc”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-enc”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-cid” 22b0367742fb253deef84ef7ccf5e8de] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-cid” 22b0367742fb253deef84ef7ccf5e8de] ---
if not modules then modules={} end modules ['font-cid']={
version=1.001,
@@ -5973,10 +5973,10 @@ function cid.getmap(specification)
return found
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-cid”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-cid”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-map” c4a39db5ad822b348aa61bca5f4a599a] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-map” 27ee748150e56f5f0e5f0fefc864f35e] ---
if not modules then modules={} end modules ['font-map']={
version=1.001,
@@ -6164,9 +6164,9 @@ function mappings.addtounicode(data,filename,checklookups,forceligatures)
local usedmap=cidinfo and fonts.cid.getmap(cidinfo)
local uparser=makenameparser()
if usedmap then
- oparser=usedmap and makenameparser(cidinfo.ordering)
- cidnames=usedmap.names
- cidcodes=usedmap.unicodes
+ oparser=usedmap and makenameparser(cidinfo.ordering)
+ cidnames=usedmap.names
+ cidcodes=usedmap.unicodes
end
local ns=0
local nl=0
@@ -6384,10 +6384,10 @@ function mappings.addtounicode(data,filename,checklookups,forceligatures)
end
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-map”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-map”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-vfc” a81c29eda98cd62cbebdb6c93544b50d] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-vfc” a81c29eda98cd62cbebdb6c93544b50d] ---
if not modules then modules={} end modules ['font-vfc']={
version=1.001,
@@ -6484,10 +6484,10 @@ helpers.commands=utilities.storage.allocate {
dummy=dummy,
}
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-vfc”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-vfc”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-otr” 91f70c1216e60227e1437b6c8dcd8647] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-otr” 1896ac990a961f6d6fec551ca9b52a83] ---
if not modules then modules={} end modules ['font-otr']={
version=1.001,
@@ -8295,13 +8295,13 @@ function readers.getinfo(filename,specification)
}
end
end
-function readers.rehash(fontdata,hashmethod)
+function readers.rehash()
report("the %a helper is not yet implemented","rehash")
end
-function readers.checkhash(fontdata)
+function readers.checkhash()
report("the %a helper is not yet implemented","checkhash")
end
-function readers.pack(fontdata,hashmethod)
+function readers.pack()
report("the %a helper is not yet implemented","pack")
end
function readers.unpack(fontdata)
@@ -8331,10 +8331,10 @@ function readers.extend(fontdata)
end
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-otr”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-otr”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-oti” 309a75f9c14b77d87e94eba827dc4e71] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-oti” 309a75f9c14b77d87e94eba827dc4e71] ---
if not modules then modules={} end modules ['font-oti']={
version=1.001,
@@ -8477,10 +8477,10 @@ function otffeatures.checkeddefaultlanguage(featuretype,autolanguage,languages)
end
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-oti”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-oti”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ott” 3f67b1b1d40bbc222681d8db4aff0f42] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ott” 3f67b1b1d40bbc222681d8db4aff0f42] ---
if not modules then modules={} end modules ["font-ott"]={
version=1.001,
@@ -9596,10 +9596,10 @@ function otffeatures.normalize(features,wrap)
end
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ott”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ott”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-cff” e38c1a40e1d1d577cdf7920fa50d0654] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-cff” e38c1a40e1d1d577cdf7920fa50d0654] ---
if not modules then modules={} end modules ['font-cff']={
version=1.001,
@@ -11828,10 +11828,10 @@ function readers.cffcheck(filename)
end
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-cff”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-cff”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ttf” feba1fdc80160343b24f89ef978e53cb] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ttf” a3ff07150b3535fd32f68748d53fcd36] ---
if not modules then modules={} end modules ['font-ttf']={
version=1.001,
@@ -12011,95 +12011,123 @@ local function applyaxis(glyph,shape,deltas,dowidth)
end
end
elseif cnt>0 then
- local function find(i)
- local prv=cnt
- for j=1,cnt do
- local nxt=dpoints[j]
- if nxt==i then
- return false,j,false
- elseif nxt>i then
- return prv,false,j
- end
- prv=j
- end
- return prv,false,1
- end
- for i=1,nofpoints do
- local d1,d2,d3=find(i)
- local p2=points[i]
- if d2 then
- xv[i]=xvalues[d2]
- yv[i]=yvalues[d2]
- else
- local n1=dpoints[d1]
- local n3=dpoints[d3]
- if n1>nofpoints then
- n1=nofpoints
- end
- if n3>nofpoints then
- n3=nofpoints
- end
- local p1=points[n1]
- local p3=points[n3]
- local p1x=p1[1]
- local p2x=p2[1]
- local p3x=p3[1]
- local p1y=p1[2]
- local p2y=p2[2]
- local p3y=p3[2]
- local x1=xvalues[d1]
- local y1=yvalues[d1]
- local x3=xvalues[d3]
- local y3=yvalues[d3]
- local fx
- local fy
- if p1x==p3x then
- if x1==x3 then
- fx=x1
- else
- fx=0
- end
- elseif p2x<=min(p1x,p3x) then
- if p1x<p3x then
- fx=x1
- else
- fx=x3
- end
- elseif p2x>=max(p1x,p3x) then
- if p1x>p3x then
- fx=x1
- else
- fx=x3
+ local contours=shape.contours
+ local nofcontours=#contours
+ local first=1
+ local firstindex=1
+ for contour=1,nofcontours do
+ local last=contours[contour]
+ if last>=first then
+ local lastindex=cnt
+ if firstindex<cnt then
+ for currentindex=firstindex,cnt do
+ local found=dpoints[currentindex]
+ if found<=first then
+ firstindex=currentindex
+ end
+ if found==last then
+ lastindex=currentindex
+ break;
+ elseif found>last then
+ break
+ end
end
- else
- fx=(p2x-p1x)/(p3x-p1x)
- fx=(1-fx)*x1+fx*x3
end
- if p1y==p3y then
- if y1==y3 then
- fy=y1
- else
- fy=0
- end
- elseif p2y<=min(p1y,p3y) then
- if p1y<p3y then
- fy=y1
- else
- fy=y3
+ local function find(i)
+ local prv=lastindex
+ for j=firstindex,lastindex do
+ local nxt=dpoints[j]
+ if nxt==i then
+ return false,j,false
+ elseif nxt>i then
+ return prv,false,j
+ end
+ prv=j
end
- elseif p2y>=max(p1y,p3y) then
- if p1y>p3y then
- fy=y1
+ return prv,false,firstindex
+ end
+ for point=first,last do
+ local d1,d2,d3=find(point)
+ local p2=points[point]
+ if d2 then
+ xv[point]=xvalues[d2]
+ yv[point]=yvalues[d2]
else
- fy=y3
+ local n1=dpoints[d1]
+ local n3=dpoints[d3]
+ if n1>nofpoints then
+ n1=nofpoints
+ end
+ if n3>nofpoints then
+ n3=nofpoints
+ end
+ local p1=points[n1]
+ local p3=points[n3]
+ local p1x=p1[1]
+ local p2x=p2[1]
+ local p3x=p3[1]
+ local p1y=p1[2]
+ local p2y=p2[2]
+ local p3y=p3[2]
+ local x1=xvalues[d1]
+ local y1=yvalues[d1]
+ local x3=xvalues[d3]
+ local y3=yvalues[d3]
+ local fx
+ local fy
+ if p1x==p3x then
+ if x1==x3 then
+ fx=x1
+ else
+ fx=0
+ end
+ elseif p2x<=min(p1x,p3x) then
+ if p1x<p3x then
+ fx=x1
+ else
+ fx=x3
+ end
+ elseif p2x>=max(p1x,p3x) then
+ if p1x>p3x then
+ fx=x1
+ else
+ fx=x3
+ end
+ else
+ fx=(p2x-p1x)/(p3x-p1x)
+ fx=(1-fx)*x1+fx*x3
+ end
+ if p1y==p3y then
+ if y1==y3 then
+ fy=y1
+ else
+ fy=0
+ end
+ elseif p2y<=min(p1y,p3y) then
+ if p1y<p3y then
+ fy=y1
+ else
+ fy=y3
+ end
+ elseif p2y>=max(p1y,p3y) then
+ if p1y>p3y then
+ fy=y1
+ else
+ fy=y3
+ end
+ else
+ fy=(p2y-p1y)/(p3y-p1y)
+ fy=(1-fy)*y1+fy*y3
+ end
+ xv[point]=fx
+ yv[point]=fy
end
- else
- fy=(p2y-p1y)/(p3y-p1y)
- fy=(1-fy)*y1+fy*y3
end
- xv[i]=fx
- yv[i]=fy
+ if lastindex<cnt then
+ firstindex=lastindex+1
+ end
end
+ first=last+1
end
for i=1,nofpoints do
local pi=points[i]
@@ -13063,10 +13091,10 @@ function readers.gvar(f,fontdata,specification,glyphdata,shapedata)
end
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ttf”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ttf”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-dsp” 7616dae672693fd8ec0f1892358019a2] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-dsp” 4935e6605ffd7bf57e66f0b6c132f883] ---
if not modules then modules={} end modules ['font-dsp']={
version=1.001,
@@ -15112,7 +15140,7 @@ do
local scriptoffset=tableoffset+readushort(f)
local featureoffset=tableoffset+readushort(f)
local lookupoffset=tableoffset+readushort(f)
- local variationsoffset=version>0x00010000 and (tableoffset+readulong(f)) or 0
+ local variationsoffset=version>0x00010000 and readulong(f) or 0
if not scriptoffset then
return
end
@@ -15132,7 +15160,7 @@ do
resolvelookups(f,lookupoffset,fontdata,lookups,lookuptypes,lookuphandlers,what,tableoffset)
end
if variationsoffset>0 then
- loadvariations(f,fontdata,variationsoffset,lookuptypes,featurehash,featureorder)
+ loadvariations(f,fontdata,tableoffset+variationsoffset,lookuptypes,featurehash,featureorder)
end
end
end
@@ -16247,6 +16275,7 @@ function readers.hvar(f,fontdata,specification)
local variations={}
local innerindex={}
local outerindex={}
+ local deltas={}
if variationoffset>0 then
regions,deltas=readvariationdata(f,variationoffset,factors)
end
@@ -16343,10 +16372,10 @@ function readers.mvar(f,fontdata,specification)
end
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-dsp”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-dsp”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-oup” e6e2cc0a202aec2c787d5524e64d340a] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-oup” 76dc3379061e5650f772909966b5759e] ---
if not modules then modules={} end modules ['font-oup']={
version=1.001,
@@ -16359,6 +16388,7 @@ local next,type=next,type
local P,R,S=lpeg.P,lpeg.R,lpeg.S
local lpegmatch=lpeg.match
local insert,remove,copy,unpack=table.insert,table.remove,table.copy,table.unpack
+local find=string.find
local formatters=string.formatters
local sortedkeys=table.sortedkeys
local sortedhash=table.sortedhash
@@ -17217,61 +17247,137 @@ local function unifyglyphs(fontdata,usenames)
fontdata.nofglyphs=nofglyphs
return indices,names
end
-local p_crappyname do
+local stripredundant do
local p_hex=R("af","AF","09")
local p_digit=R("09")
local p_done=S("._-")^0+P(-1)
+ local p_style=P(".")
local p_alpha=R("az","AZ")
local p_ALPHA=R("AZ")
- p_crappyname=(
+ local p_crappyname=(
lpeg.utfchartabletopattern({ "uni","u" },true)*S("Xx_")^0*p_hex^1
+lpeg.utfchartabletopattern({ "identity","glyph","jamo" },true)*p_hex^1
+lpeg.utfchartabletopattern({ "index","afii" },true)*p_digit^1
+p_digit*p_hex^3+p_alpha*p_digit^1
+P("aj")*p_digit^1+P("eh_")*(p_digit^1+p_ALPHA*p_digit^1)+(1-P("_"))^1*P("_uni")*p_hex^1+P("_")*P(1)^1
)*p_done
-end
-local forcekeep=false
-directives.register("otf.keepnames",function(v)
- report_cleanup("keeping weird glyph names, expect larger files and more memory usage")
- forcekeep=v
-end)
-local function stripredundant(fontdata)
- local descriptions=fontdata.descriptions
- if descriptions then
- local n=0
- local c=0
- if (not context and fonts.privateoffsets.keepnames) or forcekeep then
- for unicode,d in next,descriptions do
- if d.class=="base" then
- d.class=nil
- c=c+1
+ if context then
+ local forcekeep=false
+ directives.register("otf.keepnames",function(v)
+ report_cleanup("keeping weird glyph names, expect larger files and more memory usage")
+ forcekeep=v
+ end)
+ local function stripvariants(descriptions,list)
+ local n=list and #list or 0
+ if n>0 then
+ for i=1,n do
+ local g=list[i]
+ if g then
+ local d=descriptions[g]
+ if d and d.name then
+ d.name=nil
+ n=n+1
+ end
+ end
end
end
- else
- for unicode,d in next,descriptions do
- local name=d.name
- if name and lpegmatch(p_crappyname,name) then
- d.name=nil
- n=n+1
- end
- if d.class=="base" then
- d.class=nil
- c=c+1
+ return n
+ end
+ local function stripparts(descriptions,list)
+ local n=list and #list or 0
+ if n>0 then
+ for i=1,n do
+ local g=list[i].glyph
+ if g then
+ local d=descriptions[g]
+ if d and d.name then
+ d.name=nil
+ n=n+1
+ end
+ end
end
end
+ return n
end
- if trace_cleanup then
- if n>0 then
- report_cleanup("%s bogus names removed (verbose unicode)",n)
+ local function collectsimple(fontdata)
+ return nil
+ end
+ stripredundant=function(fontdata)
+ local descriptions=fontdata.descriptions
+ if descriptions then
+ local n=0
+ local c=0
+ for unicode,d in next,descriptions do
+ local m=d.math
+ if m then
+ n=n+stripvariants(descriptions,m.vvariants)
+ n=n+stripvariants(descriptions,m.hvariants)
+ n=n+stripparts (descriptions,m.vparts)
+ n=n+stripparts (descriptions,m.hparts)
+ end
+ end
+ if forcekeep then
+ for unicode,d in next,descriptions do
+ if d.class=="base" then
+ d.class=nil
+ c=c+1
+ end
+ end
+ else
+ local keeplist=collectsimple(fontdata)
+ for unicode,d in next,descriptions do
+ local name=d.name
+ if name then
+ if keeplist and keeplist[name] then
+ elseif lpegmatch(p_crappyname,name) then
+ d.name=nil
+ n=n+1
+ end
+ end
+ if d.class=="base" then
+ d.class=nil
+ c=c+1
+ end
+ end
+ end
+ if trace_cleanup then
+ if n>0 then
+ report_cleanup("%s bogus names removed (verbose unicode)",n)
+ end
+ if c>0 then
+ report_cleanup("%s base class tags removed (default is base)",c)
+ end
+ end
end
- if c>0 then
- report_cleanup("%s base class tags removed (default is base)",c)
+ end
+ else
+ stripredundant=function(fontdata)
+ local descriptions=fontdata.descriptions
+ if descriptions then
+ if fonts.privateoffsets.keepnames then
+ for unicode,d in next,descriptions do
+ if d.class=="base" then
+ d.class=nil
+ end
+ end
+ else
+ for unicode,d in next,descriptions do
+ local name=d.name
+ if name then
+ if lpegmatch(p_crappyname,name) then
+ d.name=nil
+ end
+ end
+ if d.class=="base" then
+ d.class=nil
+ end
+ end
+ end
end
end
end
+ readers.stripredundant=stripredundant
end
-readers.stripredundant=stripredundant
function readers.getcomponents(fontdata)
local resources=fontdata.resources
if resources then
@@ -17355,8 +17461,7 @@ readers.unifymissing=unifymissing
function readers.rehash(fontdata,hashmethod)
if not (fontdata and fontdata.glyphs) then
return
- end
- if hashmethod=="indices" then
+ elseif hashmethod=="indices" then
fontdata.hashmethod="indices"
elseif hashmethod=="names" then
fontdata.hashmethod="names"
@@ -19108,10 +19213,10 @@ end
expandlookups(sublookups,sequences)
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-oup”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-oup”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-otl” 67078f58bc1a612e4646523538a4e3eb] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-otl” 308b1aab04bc131da7eb8e8c3b0471d4] ---
if not modules then modules={} end modules ['font-otl']={
version=1.001,
@@ -19139,7 +19244,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.119
+otf.version=3.120
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)
@@ -19839,10 +19944,10 @@ otf.coverup={
end
}
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-otl”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-otl”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-oto” 9febc4d75d17a543cd73fb17918f7307] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-oto” 9febc4d75d17a543cd73fb17918f7307] ---
if not modules then modules={} end modules ['font-oto']={
version=1.001,
@@ -20311,10 +20416,10 @@ registerotffeature {
}
otf.basemodeinitializer=featuresinitializer
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-oto”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-oto”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-otj” b2c165bd6771a57633f992d07384b739] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-otj” b2c165bd6771a57633f992d07384b739] ---
if not modules then modules={} end modules ['font-otj']={
version=1.001,
@@ -21807,10 +21912,10 @@ function injections.handler(head,where)
end
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-otj”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-otj”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ota” 2bb12d708e35bc05443eba791e2554e7] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ota” 2bb12d708e35bc05443eba791e2554e7] ---
if not modules then modules={} end modules ['font-ota']={
version=1.001,
@@ -22304,10 +22409,10 @@ directives.register("otf.analyze.useunicodemarks",function(v)
analyzers.useunicodemarks=v
end)
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ota”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ota”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ots” 55316a605d11a1d07d38795224c90a63] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ots” 55316a605d11a1d07d38795224c90a63] ---
if not modules then modules={} end modules ['font-ots']={
version=1.001,
@@ -25967,10 +26072,10 @@ registerotffeature {
},
}
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ots”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ots”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-osd” a67b6fb465e7a8b9ecf7c6bbf8dfda03] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-osd” 9b5337b0051b8e42b6c8329127c59794] ---
if not modules then modules={} end modules ['font-osd']={
version=1.001,
@@ -25979,6 +26084,14 @@ if not modules then modules={} end modules ['font-osd']={
copyright="TAT Zetwerk / PRAGMA ADE / ConTeXt Development Team",
license="see context related readme files"
}
+local experiment1=false
+local experiment2=false
+local experiment2b1=false
+local experiment2b2=false
+experiments.register("fonts.indic.experiment1",function(v) experiment1=v end)
+experiments.register("fonts.indic.experiment2",function(v) experiment2=v end)
+experiments.register("fonts.indic.experiment2b1",function(v) experiment2b1=v end)
+experiments.register("fonts.indic.experiment2b2",function(v) experiment2b2=v end)
local insert,remove,imerge,copy,tohash=table.insert,table.remove,table.imerge,table.copy,table.tohash
local next,type,rawget=next,type,rawget
local formatters=string.formatters
@@ -27508,7 +27621,7 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
local subpos=nil
local postpos=nil
reorderreph.coverage={}
- rephbase[font]={}
+ rephbase[font]={}
for i=1,#seqsubset do
local subset=seqsubset[i]
local kind=subset[1]
@@ -27685,7 +27798,7 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
logprocess("reorder two, handle nbsp")
end
end
- else
+ else
local last=getnext(stop)
while current~=last do
local next=getnext(current)
@@ -27748,7 +27861,7 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
logprocess("reorder two, handle matra")
end
end
- if not moved[current] and dependent_vowel[char] then
+ if dependent_vowel[char] then
if pre_mark[char] then
moved[current]=true
local prev,next=getboth(current)
@@ -27927,8 +28040,8 @@ local function analyze_next_chars_one(c,font,variant)
if not n then
return c
end
+ local v=ischar(n,font)
if variant==1 then
- local v=ischar(n,font)
if v and nukta[v] then
n=getnext(n)
if n then
@@ -27961,7 +28074,6 @@ local function analyze_next_chars_one(c,font,variant)
end
end
elseif variant==2 then
- local v=ischar(n,font)
if v and nukta[v] then
c=n
end
@@ -27985,11 +28097,11 @@ local function analyze_next_chars_one(c,font,variant)
end
end
end
- local n=getnext(c)
+ n=getnext(c)
if not n then
return c
end
- local v=ischar(n,font)
+ v=ischar(n,font)
if not v then
return c
end
@@ -28094,12 +28206,11 @@ local function analyze_next_chars_one(c,font,variant)
end
end
local function analyze_next_chars_two(c,font)
- local n,v
- n=getnext(c)
+ local n=getnext(c)
if not n then
return c
end
- v=ischar(n,font)
+ local v=ischar(n,font)
if v and nukta[v] then
c=n
end
@@ -28605,10 +28716,10 @@ for i=1,nofscripts do
methods[scripts_two[i]]=method_two
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-osd”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-osd”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ocl” 2a377351ae23c339764ec8ce2e8e9164] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ocl” 2a377351ae23c339764ec8ce2e8e9164] ---
if not modules then modules={} end modules ['font-ocl']={
version=1.001,
@@ -29156,10 +29267,10 @@ if context then
}
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ocl”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ocl”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-otc” 582295d3d1e44cd4a31e8bbc1156f7c1] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-otc” 57f5270b894e40efa93149c7d3fb0209] ---
if not modules then modules={} end modules ['font-otc']={
version=1.001,
@@ -29276,7 +29387,7 @@ local function validspecification(specification,name)
return specification,name
end
end
-local function addfeature(data,feature,specifications)
+local function addfeature(data,feature,specifications,prepareonly)
if not specifications then
report_otf("missing specification")
return
@@ -29575,8 +29686,6 @@ local function addfeature(data,feature,specifications)
local rules=list.rules
local coverage={}
if rules then
- local rulehash={}
- local rulesize=0
local lookuptype=types[featuretype]
for nofrules=1,#rules do
local rule=rules[nofrules]
@@ -29607,6 +29716,14 @@ local function addfeature(data,feature,specifications)
local lookups=rule.lookups or false
local subtype=nil
if lookups and sublookups then
+ if #lookups>0 then
+ local ns=stop-start+1
+ for i=1,ns do
+ if lookups[i]==nil then
+ lookups[i]=0
+ end
+ end
+ end
local l={}
for k,v in sortedhash(lookups) do
local t=type(v)
@@ -29654,8 +29771,7 @@ local function addfeature(data,feature,specifications)
hashed[i]=t
end
sequence=hashed
- rulesize=rulesize+1
- rulehash[rulesize]={
+ local ruleset={
nofrules,
lookuptype,
sequence,
@@ -29667,8 +29783,15 @@ local function addfeature(data,feature,specifications)
}
for unic in sortedhash(sequence[start]) do
local cu=coverage[unic]
- if not cu then
- coverage[unic]=rulehash
+ if cu then
+ local n=cu.n+1
+ cu[n]=ruleset
+ cu.n=n
+ else
+ coverage[unic]={
+ ruleset,
+ n=1,
+ }
end
end
sequence.n=nofsequences
@@ -29676,7 +29799,6 @@ local function addfeature(data,feature,specifications)
end
end
end
- rulehash.n=rulesize
end
return coverage
end
@@ -29897,8 +30019,11 @@ local function addfeature(data,feature,specifications)
order=featureorder,
[stepkey]=steps,
nofsteps=nofsteps,
- type=types[featuretype],
+ type=specification.handler or types[featuretype],
}
+ if prepareonly then
+ return sequence
+ end
end
end
if sequence then
@@ -29969,10 +30094,10 @@ end
otf.enhancers.enhance=enhance
otf.enhancers.register("check extra features",enhance)
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-otc”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-otc”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-onr” 6d161533f3437435e12a0ad64866df44] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-onr” 6d161533f3437435e12a0ad64866df44] ---
if not modules then modules={} end modules ['font-onr']={
version=1.001,
@@ -30345,10 +30470,10 @@ function readers.getinfo(filename)
end
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-onr”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-onr”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-one” bd39d42055a44ca2002f8ddbbbbf27c3] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-one” bd39d42055a44ca2002f8ddbbbbf27c3] ---
if not modules then modules={} end modules ['font-one']={
version=1.001,
@@ -31063,10 +31188,10 @@ registerafmenhancer("normalize features",enhance_normalize_features)
registerafmenhancer("check extra features",otfenhancers.enhance)
registerafmenhancer("fix names",enhance_fix_names)
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-one”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-one”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-afk” 9da14e0fb22129c053acc599d1312544] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-afk” 9da14e0fb22129c053acc599d1312544] ---
if not modules then modules={} end modules ['font-afk']={
version=1.001,
@@ -31233,10 +31358,10 @@ fonts.handlers.afm.helpdata={
}
}
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-afk”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-afk”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-tfm” f0eb5e2a8068b17ad401bb7efdba1630] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-tfm” f0eb5e2a8068b17ad401bb7efdba1630] ---
if not modules then modules={} end modules ['luatex-fonts-tfm']={
version=1.001,
@@ -31751,10 +31876,10 @@ registertfmfeature {
}
}
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-tfm”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-tfm”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-lua” 1fbfdf7b689b2bdfd0e3bb9bf74ce136] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-lua” 1fbfdf7b689b2bdfd0e3bb9bf74ce136] ---
if not modules then modules={} end modules ['font-lua']={
version=1.001,
@@ -31794,10 +31919,10 @@ function readers.lua(specification)
return check_lua(specification,fullname)
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-lua”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-lua”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-def” b9d908c2338b7dc443ce9d1e9fcb7139] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-def” b9d908c2338b7dc443ce9d1e9fcb7139] ---
if not modules then modules={} end modules ['font-def']={
version=1.001,
@@ -32197,10 +32322,10 @@ if not context then
callbacks.register('define_font',definers.read,"definition of fonts (tfmdata preparation)")
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-def”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-def”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-shp” a40862fe382d26c1f3753431254bcfdd] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-shp” a40862fe382d26c1f3753431254bcfdd] ---
if not modules then modules={} end modules ['font-shp']={
version=1.001,
@@ -32565,10 +32690,10 @@ callback.register("glyph_stream_provider",function(id,index,mode)
return ""
end)
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-shp”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-shp”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-def” f435e0875f203f343157baeff876ec9c] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-def” f435e0875f203f343157baeff876ec9c] ---
if not modules then modules={} end modules ['luatex-fonts-def']={
version=1.001,
@@ -32649,10 +32774,10 @@ function fonts.definers.applypostprocessors(tfmdata)
return tfmdata
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-def”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-def”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-ext” 32013cbc5d5d336be8b1d1e5879d86c4] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-ext” 32013cbc5d5d336be8b1d1e5879d86c4] ---
if not modules then modules={} end modules ['luatex-fonts-ext']={
version=1.001,
@@ -32838,10 +32963,10 @@ registerotffeature {
}
}
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-ext”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-ext”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-imp-tex” ceb087ef6fa2f89aed7179f60ddf8f35] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-imp-tex” ceb087ef6fa2f89aed7179f60ddf8f35] ---
if not modules then modules={} end modules ['font-imp-tex']={
version=1.001,
@@ -32940,10 +33065,10 @@ registerotffeature {
description="arabic digits",
}
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-imp-tex”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-imp-tex”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-imp-ligatures” 26ffcf089391445f7af59536c8814364] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-imp-ligatures” 250f6f4488ee770c23177afb2ff75676] ---
if not modules then modules={} end modules ['font-imp-ligatures']={
version=1.001,
@@ -33038,12 +33163,12 @@ local function blockligatures(str)
before=before,
current={ one,two },
after=after,
- lookups={ 1 },
+ lookups={ 1,false },
}
revert[new]={
current={ one,zwj },
after={ two },
- lookups={ 1 },
+ lookups={ 1,false },
}
end
end
@@ -33057,10 +33182,10 @@ if context then
}
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-imp-ligatures”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-imp-ligatures”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-imp-italics” defcb415bc1e0a0999b27773902adc18] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-imp-italics” defcb415bc1e0a0999b27773902adc18] ---
if not modules then modules={} end modules ['font-imp-italics']={
version=1.001,
@@ -33164,10 +33289,10 @@ if context then
registerafmfeature(dimensions_specification)
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-imp-italics”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-imp-italics”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-imp-effects” d05997c1826355548ec9aec1346f9f23] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-imp-effects” d05997c1826355548ec9aec1346f9f23] ---
if not modules then modules={} end modules ['font-imp-effects']={
version=1.001,
@@ -33524,10 +33649,10 @@ local specification={
registerotffeature(specification)
registerafmfeature(specification)
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-imp-effects”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-imp-effects”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-lig” fbd251eea3810a43a8d5542319361d68] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-lig” fbd251eea3810a43a8d5542319361d68] ---
fonts.handlers.otf.addfeature {
@@ -35596,10 +35721,10 @@ fonts.handlers.otf.addfeature {
["type"]="ligature",
}
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-lig”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-lig”] ---
-do --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-gbn” 34e4543a02f6fbc8c2ade896cb6dc7df] ---
+do --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-gbn” 34e4543a02f6fbc8c2ade896cb6dc7df] ---
if not modules then modules={} end modules ['luatex-fonts-gbn']={
version=1.001,
@@ -35864,7 +35989,7 @@ function nodes.simple_font_handler(head,groupcode,size,packtype,direction)
return head
end
-end --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-gbn”] ---
+end --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-gbn”] ---
--- vim:ft=lua:sw=2:ts=8:et:tw=79
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-dsp.lua b/macros/luatex/generic/luaotfload/fontloader-font-dsp.lua
index 7028f7c087..d036783284 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-dsp.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-dsp.lua
@@ -2515,7 +2515,7 @@ do
local scriptoffset = tableoffset + readushort(f)
local featureoffset = tableoffset + readushort(f)
local lookupoffset = tableoffset + readushort(f)
- local variationsoffset = version > 0x00010000 and (tableoffset + readulong(f)) or 0
+ local variationsoffset = version > 0x00010000 and readulong(f) or 0
if not scriptoffset then
return
end
@@ -2541,7 +2541,7 @@ do
end
--
if variationsoffset > 0 then
- loadvariations(f,fontdata,variationsoffset,lookuptypes,featurehash,featureorder)
+ loadvariations(f,fontdata,tableoffset + variationsoffset,lookuptypes,featurehash,featureorder)
end
end
end
@@ -3820,6 +3820,7 @@ function readers.hvar(f,fontdata,specification)
local variations = { }
local innerindex = { } -- size is mapcount
local outerindex = { } -- size is mapcount
+ local deltas = { }
if variationoffset > 0 then
regions, deltas = readvariationdata(f,variationoffset,factors)
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-imp-ligatures.lua b/macros/luatex/generic/luaotfload/fontloader-font-imp-ligatures.lua
index 091eb5d4b4..02833707ba 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-imp-ligatures.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-imp-ligatures.lua
@@ -104,14 +104,14 @@ local function blockligatures(str)
before = before,
current = { one, two },
after = after,
- lookups = { 1 }, -- not shared !
+ lookups = { 1, false }, -- not shared !
}
revert[new] = {
-- before = before,
current = { one, zwj },
-- after = { two, unpack(after) },
after = { two },
- lookups = { 1 }, -- not shared !
+ lookups = { 1, false }, -- not shared !
}
end
end
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-map.lua b/macros/luatex/generic/luaotfload/fontloader-font-map.lua
index c983ea9634..4aa937ed16 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-map.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-map.lua
@@ -253,9 +253,9 @@ function mappings.addtounicode(data,filename,checklookups,forceligatures)
local usedmap = cidinfo and fonts.cid.getmap(cidinfo)
local uparser = makenameparser() -- hm, every time?
if usedmap then
- oparser = usedmap and makenameparser(cidinfo.ordering)
- cidnames = usedmap.names
- cidcodes = usedmap.unicodes
+ oparser = usedmap and makenameparser(cidinfo.ordering)
+ cidnames = usedmap.names
+ cidcodes = usedmap.unicodes
end
local ns = 0
local nl = 0
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-osd.lua b/macros/luatex/generic/luaotfload/fontloader-font-osd.lua
index 34c0472903..d169faf64d 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-osd.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-osd.lua
@@ -6,6 +6,16 @@ if not modules then modules = { } end modules ['font-osd'] = { -- script devanag
license = "see context related readme files"
}
+local experiment1 = false
+local experiment2 = false
+local experiment2b1 = false
+local experiment2b2 = false
+
+experiments.register("fonts.indic.experiment1", function(v) experiment1 = v end)
+experiments.register("fonts.indic.experiment2", function(v) experiment2 = v end)
+experiments.register("fonts.indic.experiment2b1", function(v) experiment2b1 = v end)
+experiments.register("fonts.indic.experiment2b2", function(v) experiment2b2 = v end)
+
-- we need to check nbsphash (context only)
-- A few remarks:
@@ -1382,13 +1392,16 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
end
if reph or vattu then
+-- print(">>> has reph or vattu")
local current = start
local cns = nil
local done = false
while current ~= stop do
+-- print("\t>>> current ~= stop yet")
local c = current
local n = getnext(current)
if ra[getchar(current)] and halant[getchar(n)] then
+-- print("\t\t>>> current ra; next halant")
c = n
n = getnext(n)
local b, bn = base, base
@@ -1402,6 +1415,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
if getstate(current,s_rphf) then
-- position Reph (Ra + H) after post-base 'matra' (if any) since these
-- become marks on the 'matra', not on the base glyph
+-- print("\t\t\t>>> ra + halant form → reph")
if b ~= current then
if current == start then
if head == start then
@@ -1421,6 +1435,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
end
elseif cns and getnext(cns) ~= current then -- todo: optimize next
-- position below-base Ra (vattu) following the consonants on which it is placed (either the base consonant or one of the pre-base consonants)
+-- print("\t\t\t>>> ra below base (vattu) → rkrf")
local cp = getprev(current)
local cnsn = getnext(cns)
setlink(cp,n)
@@ -1434,14 +1449,17 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
current = getprev(n)
end
else
+-- print("\t\t>>> NOT! current ra; next halant")
local char = getchar(current)
if consonant[char] then
+-- print("\t\t\t>>> is consonant")
cns = current
local next = getnext(cns)
if halant[getchar(next)] then
cns = next
end
if not vatucache[char] then
+-- print("\t\t\t\t>>> is in vatucache")
next = getnext(cns)
while dependent_vowel[getchar(next)] do
cns = next
@@ -1449,6 +1467,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
end
end
elseif char == c_nbsp then
+-- print("\t\t\t>>> is nbsp")
nbspaces = nbspaces + 1
cns = current
local next = getnext(cns)
@@ -1917,6 +1936,8 @@ local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pas
reorderreph.coverage = { } -- use local
rephbase[font] = { } -- use local
+-- print("!!!!!! reorder two ")
+
for i=1,#seqsubset do
-- this can be done more efficient, the last test and less getnext
@@ -2104,6 +2125,7 @@ local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pas
end
end
else -- not Stand Alone cluster
+-- print("!!!! not standalone cluster")
local last = getnext(stop)
while current ~= last do -- find base consonant
local next = getnext(current)
@@ -2173,7 +2195,10 @@ local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pas
end
end
--
- if not moved[current] and dependent_vowel[char] then
+-- print("char: " .. char)
+-- if not moved[current] and dependent_vowel[char] then
+ if dependent_vowel[char] then
+-- print(">>!! dependent vowel")
if pre_mark[char] then -- or: if before_main or before_half
moved[current] = true
-- can be helper to remove one node
@@ -2384,8 +2409,8 @@ local function analyze_next_chars_one(c,font,variant) -- skip one dependent vowe
if not n then
return c
end
+ local v = ischar(n,font)
if variant == 1 then
- local v = ischar(n,font)
if v and nukta[v] then
n = getnext(n)
if n then
@@ -2418,7 +2443,6 @@ local function analyze_next_chars_one(c,font,variant) -- skip one dependent vowe
end
end
elseif variant == 2 then
- local v = ischar(n,font)
if v and nukta[v] then
c = n
end
@@ -2443,11 +2467,11 @@ local function analyze_next_chars_one(c,font,variant) -- skip one dependent vowe
end
end
-- c = ms_matra(c)
- local n = getnext(c)
+ n = getnext(c)
if not n then
return c
end
- local v = ischar(n,font)
+ v = ischar(n,font)
if not v then
return c
end
@@ -2555,13 +2579,22 @@ local function analyze_next_chars_one(c,font,variant) -- skip one dependent vowe
end
end
+-- Consonant syllable:
+--
+-- { C + [ N ] + < H + [ < ZWNJ | ZWJ > ] | < ZWNJ | ZWJ > + H > }
+-- + C
+-- + [ N ]
+-- + [ A ]
+-- + [ < H + [ < ZWNJ|ZWJ > ] | { M } + [ N ] + [ H ] > ]
+-- + [ SM ]
+-- + [ ( VD ) ]
+
local function analyze_next_chars_two(c,font)
- local n, v
- n = getnext(c)
+ local n = getnext(c)
if not n then
return c
end
- v = ischar(n,font)
+ local v = ischar(n,font)
if v and nukta[v] then
c = n
end
@@ -2677,6 +2710,10 @@ local function analyze_next_chars_two(c,font)
for k=1,#vowels do
local v = vowels[k]
if pre_mark[v] and not already_pre_mark then
+-- print(">>> pre_mark")
+-- if dependent_vowel[v] then
+-- print(">>>> dependent vowel")
+-- end
already_pre_mark = true
elseif above_mark[v] and not already_above_mark then
already_above_mark = true
@@ -3031,12 +3068,15 @@ local function method_two(head,font,attr)
end
end
if independent_vowel[char] then
+-- print("!!>>> independent_vowel")
-- vowel-based syllable: [Ra+H]+V+[N]+[<[<ZWJ|ZWNJ>]+H+C|ZWJ+C>]+[{M}+[N]+[H]]+[SM]+[(VD)]
current = analyze_next_chars_one(c,font,1)
syllableend = current
else
+-- print("!!>>> dependent vowel")
local standalone = char == c_nbsp
if standalone then
+-- print("!!>>> standalone")
nbspaces = nbspaces + 1
local p = getprev(current)
if not p then
@@ -3050,10 +3090,12 @@ local function method_two(head,font,attr)
end
end
if standalone then
+-- print("!!>>>>>>> next standalone")
-- Stand Alone cluster (at the start of the word only): #[Ra+H]+NBSP+[N]+[<[<ZWJ|ZWNJ>]+H+C>]+[{M}+[N]+[H]]+[SM]+[(VD)]
current = analyze_next_chars_one(c,font,2)
syllableend = current
elseif consonant[getchar(current)] then
+-- print("!!>>>>>>> a consonant")
-- WHY current INSTEAD OF c ?
-- Consonant syllable: {C+[N]+<H+[<ZWNJ|ZWJ>]|<ZWNJ|ZWJ>+H>} + C+[N]+[A] + [< H+[<ZWNJ|ZWJ>] | {M}+[N]+[H]>]+[SM]+[(VD)]
current = analyze_next_chars_two(current,font) -- not c !
@@ -3062,6 +3104,7 @@ local function method_two(head,font,attr)
end
end
if syllableend then
+-- print("!!!>>> syllable end")
syllabe = syllabe + 1
local c = syllablestart
local n = getnext(syllableend)
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-otc.lua b/macros/luatex/generic/luaotfload/fontloader-font-otc.lua
index 2c955dbce9..67b77b1113 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-otc.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-otc.lua
@@ -130,7 +130,7 @@ local function validspecification(specification,name)
end
end
-local function addfeature(data,feature,specifications)
+local function addfeature(data,feature,specifications,prepareonly)
-- todo: add some validator / check code so that we're more tolerant to
-- user errors
@@ -226,6 +226,9 @@ local function addfeature(data,feature,specifications)
local stepkey = coverup.stepkey
local register = coverup.register
+ -- todo: directly pass a coverage i.e. for privates that later will be
+ -- set
+
local function prepare_substitution(list,featuretype,nocheck)
local coverage = { }
local cover = coveractions[featuretype]
@@ -461,13 +464,13 @@ local function addfeature(data,feature,specifications)
return false
end
+ -- 0 == remove, false = ignore (remove is default)
+
local function prepare_chain(list,featuretype,sublookups,nocheck)
-- todo: coveractions
local rules = list.rules
local coverage = { }
if rules then
- local rulehash = { }
- local rulesize = 0
local lookuptype = types[featuretype]
for nofrules=1,#rules do
local rule = rules[nofrules]
@@ -498,6 +501,15 @@ local function addfeature(data,feature,specifications)
local lookups = rule.lookups or false
local subtype = nil
if lookups and sublookups then
+ -- inspect(lookups)
+ if #lookups > 0 then
+ local ns = stop - start + 1
+ for i=1,ns do
+ if lookups[i] == nil then
+ lookups[i] = 0
+ end
+ end
+ end
local l = { }
for k, v in sortedhash(lookups) do
local t = type(v)
@@ -535,6 +547,7 @@ local function addfeature(data,feature,specifications)
if nofsequences > 0 then -- we merge coverage into one
-- we copy as we can have different fonts
if hassteps(lookups) then
+ -- sequence is the before|current|after match list
local hashed = { }
for i=1,nofsequences do
local t = { }
@@ -547,9 +560,9 @@ local function addfeature(data,feature,specifications)
end
hashed[i] = t
end
+ -- hashed is the before|current|after match hash
sequence = hashed
- rulesize = rulesize + 1
- rulehash[rulesize] = {
+ local ruleset = {
nofrules, -- 1
lookuptype, -- 2
sequence, -- 3
@@ -561,8 +574,15 @@ local function addfeature(data,feature,specifications)
}
for unic in sortedhash(sequence[start]) do
local cu = coverage[unic]
- if not cu then
- coverage[unic] = rulehash -- can now be done cleaner i think
+ if cu then
+ local n = cu.n + 1
+ cu[n] = ruleset
+ cu.n = n
+ else
+ coverage[unic] = {
+ ruleset,
+ n = 1,
+ }
end
end
sequence.n = nofsequences
@@ -571,7 +591,6 @@ local function addfeature(data,feature,specifications)
end
end
end
- rulehash.n = rulesize
end
return coverage
end
@@ -811,8 +830,11 @@ local function addfeature(data,feature,specifications)
order = featureorder,
[stepkey] = steps,
nofsteps = nofsteps,
- type = types[featuretype],
+ type = specification.handler or types[featuretype],
}
+ if prepareonly then
+ return sequence
+ end
end
end
@@ -900,6 +922,23 @@ local function enhance(data,filename,raw)
end
end
+-- local function enhance(data,filename,raw)
+-- local first = 1
+-- local last = #extrafeatures
+-- while true do
+-- for slot=first,last do
+-- local specification = extrafeatures[slot]
+-- addfeature(data,specification.name,specification)
+-- end
+-- if #extrafeatures > last then
+-- first = last + 1
+-- last = #extrafeatures
+-- else
+-- break
+-- end
+-- end
+-- end
+
otf.enhancers.enhance = enhance
otf.enhancers.register("check extra features",enhance)
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-otl.lua b/macros/luatex/generic/luaotfload/fontloader-font-otl.lua
index ae2dda4f39..f36e533ca0 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.119 -- beware: also sync font-mis.lua and in mtx-fonts
+otf.version = 3.120 -- 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)
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-otr.lua b/macros/luatex/generic/luaotfload/fontloader-font-otr.lua
index 286367ed9e..339de109f8 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-otr.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-otr.lua
@@ -2499,15 +2499,15 @@ function readers.getinfo(filename,specification) -- string, nil|number|table
end
end
-function readers.rehash(fontdata,hashmethod)
+function readers.rehash() -- fontdata,hashmethod
report("the %a helper is not yet implemented","rehash")
end
-function readers.checkhash(fontdata)
+function readers.checkhash() --fontdata
report("the %a helper is not yet implemented","checkhash")
end
-function readers.pack(fontdata,hashmethod)
+function readers.pack() -- fontdata,hashmethod
report("the %a helper is not yet implemented","pack")
end
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-oup.lua b/macros/luatex/generic/luaotfload/fontloader-font-oup.lua
index 3bd2fe4828..248aad04d2 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-oup.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-oup.lua
@@ -10,6 +10,7 @@ local next, type = next, type
local P, R, S = lpeg.P, lpeg.R, lpeg.S
local lpegmatch = lpeg.match
local insert, remove, copy, unpack = table.insert, table.remove, table.copy, table.unpack
+local find = string.find
local formatters = string.formatters
local sortedkeys = table.sortedkeys
@@ -944,15 +945,18 @@ local function unifyglyphs(fontdata,usenames)
return indices, names
end
-local p_crappyname do
+local stripredundant do
+
local p_hex = R("af","AF","09")
local p_digit = R("09")
local p_done = S("._-")^0 + P(-1)
+ -- local p_style = P(".ss") * p_digit * p_digit * P(-1)
+ local p_style = P(".")
local p_alpha = R("az","AZ")
local p_ALPHA = R("AZ")
- p_crappyname = (
+ local p_crappyname = (
-- (P("uni") + P("UNI") + P("Uni") + P("U") + P("u"))
lpeg.utfchartabletopattern({ "uni", "u" },true)
* S("Xx_")^0
@@ -980,56 +984,182 @@ local p_crappyname do
* P(1)^1
) * p_done
-end
+ -- In context we only keep glyph names because of tracing and access by name
+ -- so weird names make no sense.
--- In context we only keep glyph names because of tracing and access by name
--- so weird names make no sense.
+ if context then
-local forcekeep = false -- only for testing something
+ local forcekeep = false -- only for testing something
+-- local forcekeep = true
-directives.register("otf.keepnames",function(v)
- report_cleanup("keeping weird glyph names, expect larger files and more memory usage")
- forcekeep = v
-end)
+ directives.register("otf.keepnames",function(v)
+ report_cleanup("keeping weird glyph names, expect larger files and more memory usage")
+ forcekeep = v
+ end)
-local function stripredundant(fontdata)
- local descriptions = fontdata.descriptions
- if descriptions then
- local n = 0
- local c = 0
- -- in context we always strip
- if (not context and fonts.privateoffsets.keepnames) or forcekeep then
- for unicode, d in next, descriptions do
- if d.class == "base" then
- d.class = nil
- c = c + 1
+ -- local p_lesscrappyname =
+ -- lpeg.utfchartabletopattern({ "uni", "u" },true)
+ -- * S("Xx")^0
+ -- * p_hex^1
+ -- * p_style
+
+ local function stripvariants(descriptions,list)
+ local n = list and #list or 0
+ if n > 0 then
+ for i=1,n do
+ local g = list[i]
+ if g then
+ local d = descriptions[g]
+ if d and d.name then
+ d.name = nil
+ n = n + 1
+ end
+ end
end
end
- else
- for unicode, d in next, descriptions do
- local name = d.name
- if name and lpegmatch(p_crappyname,name) then
- d.name = nil
- n = n + 1
+ return n
+ end
+
+ local function stripparts(descriptions,list)
+ local n = list and #list or 0
+ if n > 0 then
+ for i=1,n do
+ local g = list[i].glyph
+ if g then
+ local d = descriptions[g]
+ if d and d.name then
+ d.name = nil
+ n = n + 1
+ end
+ end
end
- if d.class == "base" then
- d.class = nil
- c = c + 1
+ end
+ return n
+ end
+
+ -- local function collectsimple(fontdata)
+ -- local resources = fontdata.resources
+ -- local sequences = resources and resources.sequences
+ -- if sequences then
+ -- local keeplist = { }
+ -- for i=1,#sequences do
+ -- local s = sequences[i]
+ -- if s.type == "gsub_single" then
+ -- -- only simple ones
+ -- local features = s.features
+ -- local steps = s.steps
+ -- if features and steps then
+ -- local okay = false
+ -- for k, v in next, features do
+ -- if find(k,"^ss%d%d") then
+ -- okay = true
+ -- break
+ -- end
+ -- end
+ -- if okay then
+ -- for i=1,#steps do
+ -- local coverage = steps[i].coverage
+ -- if coverage then
+ -- for k, v in next, coverage do
+ -- keeplist[k] = v
+ -- end
+ -- end
+ -- end
+ -- end
+ -- end
+ -- end
+ -- end
+ -- return next(keeplist) and keeplist or nil
+ -- end
+ -- end
+
+ local function collectsimple(fontdata)
+ return nil
+ end
+
+ stripredundant = function(fontdata)
+ local descriptions = fontdata.descriptions
+ if descriptions then
+ local n = 0
+ local c = 0
+ for unicode, d in next, descriptions do
+ local m = d.math
+ if m then
+ n = n + stripvariants(descriptions,m.vvariants)
+ n = n + stripvariants(descriptions,m.hvariants)
+ n = n + stripparts (descriptions,m.vparts)
+ n = n + stripparts (descriptions,m.hparts)
+ end
+ end
+ if forcekeep then
+ for unicode, d in next, descriptions do
+ if d.class == "base" then
+ d.class = nil
+ c = c + 1
+ end
+ end
+ else
+ local keeplist = collectsimple(fontdata)
+ for unicode, d in next, descriptions do
+ local name = d.name
+ if name then
+ -- if lpegmatch(p_lesscrappyname,name) then
+ if keeplist and keeplist[name] then
+ -- keep name
+ elseif lpegmatch(p_crappyname,name) then
+ d.name = nil
+ n = n + 1
+ end
+ end
+ if d.class == "base" then
+ d.class = nil
+ c = c + 1
+ end
+ end
+ end
+ if trace_cleanup then
+ if n > 0 then
+ report_cleanup("%s bogus names removed (verbose unicode)",n)
+ end
+ if c > 0 then
+ report_cleanup("%s base class tags removed (default is base)",c)
+ end
end
end
end
- if trace_cleanup then
- if n > 0 then
- report_cleanup("%s bogus names removed (verbose unicode)",n)
- end
- if c > 0 then
- report_cleanup("%s base class tags removed (default is base)",c)
+
+ else
+
+ stripredundant = function(fontdata)
+ local descriptions = fontdata.descriptions
+ if descriptions then
+ if fonts.privateoffsets.keepnames then
+ for unicode, d in next, descriptions do
+ if d.class == "base" then
+ d.class = nil
+ end
+ end
+ else
+ for unicode, d in next, descriptions do
+ local name = d.name
+ if name then
+ if lpegmatch(p_crappyname,name) then
+ d.name = nil
+ end
+ end
+ if d.class == "base" then
+ d.class = nil
+ end
+ end
+ end
end
end
+
end
-end
-readers.stripredundant = stripredundant
+ readers.stripredundant = stripredundant
+
+end
function readers.getcomponents(fontdata) -- handy for resolving ligatures when names are missing
local resources = fontdata.resources
@@ -1128,8 +1258,7 @@ readers.unifymissing = unifymissing
function readers.rehash(fontdata,hashmethod) -- TODO: combine loops in one
if not (fontdata and fontdata.glyphs) then
return
- end
- if hashmethod == "indices" then
+ elseif hashmethod == "indices" then
fontdata.hashmethod = "indices"
elseif hashmethod == "names" then
fontdata.hashmethod = "names"
@@ -1137,7 +1266,6 @@ function readers.rehash(fontdata,hashmethod) -- TODO: combine loops in one
unifyresources(fontdata,indices)
copyduplicates(fontdata)
unifymissing(fontdata)
- -- stripredundant(fontdata)
else
fontdata.hashmethod = "unicodes"
local indices = unifyglyphs(fontdata)
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-ttf.lua b/macros/luatex/generic/luaotfload/fontloader-font-ttf.lua
index a2658d595a..d1a3972b2c 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-ttf.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-ttf.lua
@@ -247,115 +247,148 @@ local function applyaxis(glyph,shape,deltas,dowidth)
-- Not the most efficient solution but we seldom do this. We
-- actually need to avoid the extra points here but I'll deal
-- with that when needed.
- local function find(i)
- local prv = cnt
- for j=1,cnt do
- local nxt = dpoints[j]
- if nxt == i then
- return false, j, false
- elseif nxt > i then
- return prv, false, j
- end
- prv = j
- end
- return prv, false, 1
- end
- -- We need the first and last points untouched so we first
- -- collect data.
- for i=1,nofpoints do
- local d1, d2, d3 = find(i)
- local p2 = points[i]
- if d2 then
- xv[i] = xvalues[d2]
- yv[i] = yvalues[d2]
- else
- local n1 = dpoints[d1]
- local n3 = dpoints[d3]
- -- Some day I need to figure out these extra points but
- -- I'll wait till the standard is more clear and fonts
- -- become better (ntg-context: fraunces.ttf > abcdef).
- if n1 > nofpoints then
- n1 = nofpoints
- end
- if n3 > nofpoints then
- n3 = nofpoints
- end
- --
- local p1 = points[n1]
- local p3 = points[n3]
- local p1x = p1[1]
- local p2x = p2[1]
- local p3x = p3[1]
- local p1y = p1[2]
- local p2y = p2[2]
- local p3y = p3[2]
- local x1 = xvalues[d1]
- local y1 = yvalues[d1]
- local x3 = xvalues[d3]
- local y3 = yvalues[d3]
- --
- local fx
- local fy
- --
- if p1x == p3x then
- if x1 == x3 then
- fx = x1
- else
- fx = 0
- end
- elseif p2x <= min(p1x,p3x) then
- if p1x < p3x then
- fx = x1
- else
- fx = x3
- end
- elseif p2x >= max(p1x,p3x) then
- if p1x > p3x then
- fx = x1
- else
- fx = x3
+ local contours = shape.contours
+ local nofcontours = #contours
+ local first = 1
+ local firstindex = 1
+ for contour=1,nofcontours do
+ local last = contours[contour]
+ if last >= first then
+ local lastindex = cnt
+ if firstindex < cnt then
+ for currentindex=firstindex,cnt do
+ local found = dpoints[currentindex]
+ if found <= first then
+ firstindex = currentindex
+ end
+ if found == last then
+ lastindex = currentindex
+ break;
+ elseif found > last then
+ break
+ end
end
- else
- fx = (p2x - p1x)/(p3x - p1x)
- fx = (1 - fx) * x1 + fx * x3
end
- --
- if p1y == p3y then
- if y1 == y3 then
- fy = y1
- else
- fy = 0
- end
- elseif p2y <= min(p1y,p3y) then
- if p1y < p3y then
- fy = y1
- else
- fy = y3
+ -- print("unicode: ",glyph.unicode or "?")
+ -- print("contour: ",first,contour,last)
+ -- print("index : ",firstindex,lastindex,cnt)
+ -- print("points : ",dpoints[firstindex],dpoints[lastindex])
+ local function find(i)
+ local prv = lastindex
+ for j=firstindex,lastindex do
+ local nxt = dpoints[j]
+ if nxt == i then
+ return false, j, false
+ elseif nxt > i then
+ return prv, false, j
+ end
+ prv = j
end
- elseif p2y >= max(p1y,p3y) then
- if p1y > p3y then
- fy = y1
+ return prv, false, firstindex
+ end
+ -- We need the first and last points untouched so we first
+ -- collect data.
+ for point=first,last do
+ local d1, d2, d3 = find(point)
+ local p2 = points[point]
+ if d2 then
+ xv[point] = xvalues[d2]
+ yv[point] = yvalues[d2]
else
- fy = y3
+ local n1 = dpoints[d1]
+ local n3 = dpoints[d3]
+ -- Some day I need to figure out these extra points but
+ -- I'll wait till the standard is more clear and fonts
+ -- become better (ntg-context: fraunces.ttf > abcdef).
+ if n1 > nofpoints then
+ n1 = nofpoints
+ end
+ if n3 > nofpoints then
+ n3 = nofpoints
+ end
+ --
+ local p1 = points[n1]
+ local p3 = points[n3]
+ local p1x = p1[1]
+ local p2x = p2[1]
+ local p3x = p3[1]
+ local p1y = p1[2]
+ local p2y = p2[2]
+ local p3y = p3[2]
+ local x1 = xvalues[d1]
+ local y1 = yvalues[d1]
+ local x3 = xvalues[d3]
+ local y3 = yvalues[d3]
+ --
+ local fx
+ local fy
+ --
+ if p1x == p3x then
+ if x1 == x3 then
+ fx = x1
+ else
+ fx = 0
+ end
+ elseif p2x <= min(p1x,p3x) then
+ if p1x < p3x then
+ fx = x1
+ else
+ fx = x3
+ end
+ elseif p2x >= max(p1x,p3x) then
+ if p1x > p3x then
+ fx = x1
+ else
+ fx = x3
+ end
+ else
+ fx = (p2x - p1x)/(p3x - p1x)
+ fx = (1 - fx) * x1 + fx * x3
+ end
+ --
+ if p1y == p3y then
+ if y1 == y3 then
+ fy = y1
+ else
+ fy = 0
+ end
+ elseif p2y <= min(p1y,p3y) then
+ if p1y < p3y then
+ fy = y1
+ else
+ fy = y3
+ end
+ elseif p2y >= max(p1y,p3y) then
+ if p1y > p3y then
+ fy = y1
+ else
+ fy = y3
+ end
+ else
+ fy = (p2y - p1y)/(p3y - p1y)
+ fy = (1 - fy) * y1 + fy * y3
+ end
+ -- -- maybe:
+ -- if p1y ~= p3y then
+ -- fy = (p2y - p1y)/(p3y - p1y)
+ -- fy = (1 - fy) * y1 + fy * y3
+ -- elseif abs(p1y-p2y) < abs(p3y-p2y) then
+ -- fy = y1
+ -- else
+ -- fy = y3
+ -- end
+ --
+ xv[point] = fx
+ yv[point] = fy
end
- else
- fy = (p2y - p1y)/(p3y - p1y)
- fy = (1 - fy) * y1 + fy * y3
end
- -- -- maybe:
- -- if p1y ~= p3y then
- -- fy = (p2y - p1y)/(p3y - p1y)
- -- fy = (1 - fy) * y1 + fy * y3
- -- elseif abs(p1y-p2y) < abs(p3y-p2y) then
- -- fy = y1
- -- else
- -- fy = y3
- -- end
- --
- xv[i] = fx
- yv[i] = fy
+ if lastindex < cnt then
+ firstindex = lastindex + 1
+ end
end
+ first = last + 1
end
+
for i=1,nofpoints do
local pi = points[i]
local fx = xv[i]
diff --git a/macros/luatex/generic/luaotfload/fontloader-reference.lua b/macros/luatex/generic/luaotfload/fontloader-reference.lua
index 736856d2be..13389b292a 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 : 2022-01-21 20:10
+-- merge date : 2022-05-11 11:34
do -- begin closure to overcome local limits and interference
@@ -10902,9 +10902,9 @@ function mappings.addtounicode(data,filename,checklookups,forceligatures)
local usedmap=cidinfo and fonts.cid.getmap(cidinfo)
local uparser=makenameparser()
if usedmap then
- oparser=usedmap and makenameparser(cidinfo.ordering)
- cidnames=usedmap.names
- cidcodes=usedmap.unicodes
+ oparser=usedmap and makenameparser(cidinfo.ordering)
+ cidnames=usedmap.names
+ cidcodes=usedmap.unicodes
end
local ns=0
local nl=0
@@ -13108,13 +13108,13 @@ function readers.getinfo(filename,specification)
}
end
end
-function readers.rehash(fontdata,hashmethod)
+function readers.rehash()
report("the %a helper is not yet implemented","rehash")
end
-function readers.checkhash(fontdata)
+function readers.checkhash()
report("the %a helper is not yet implemented","checkhash")
end
-function readers.pack(fontdata,hashmethod)
+function readers.pack()
report("the %a helper is not yet implemented","pack")
end
function readers.unpack(fontdata)
@@ -15557,95 +15557,123 @@ local function applyaxis(glyph,shape,deltas,dowidth)
end
end
elseif cnt>0 then
- local function find(i)
- local prv=cnt
- for j=1,cnt do
- local nxt=dpoints[j]
- if nxt==i then
- return false,j,false
- elseif nxt>i then
- return prv,false,j
- end
- prv=j
- end
- return prv,false,1
- end
- for i=1,nofpoints do
- local d1,d2,d3=find(i)
- local p2=points[i]
- if d2 then
- xv[i]=xvalues[d2]
- yv[i]=yvalues[d2]
- else
- local n1=dpoints[d1]
- local n3=dpoints[d3]
- if n1>nofpoints then
- n1=nofpoints
- end
- if n3>nofpoints then
- n3=nofpoints
- end
- local p1=points[n1]
- local p3=points[n3]
- local p1x=p1[1]
- local p2x=p2[1]
- local p3x=p3[1]
- local p1y=p1[2]
- local p2y=p2[2]
- local p3y=p3[2]
- local x1=xvalues[d1]
- local y1=yvalues[d1]
- local x3=xvalues[d3]
- local y3=yvalues[d3]
- local fx
- local fy
- if p1x==p3x then
- if x1==x3 then
- fx=x1
- else
- fx=0
- end
- elseif p2x<=min(p1x,p3x) then
- if p1x<p3x then
- fx=x1
- else
- fx=x3
- end
- elseif p2x>=max(p1x,p3x) then
- if p1x>p3x then
- fx=x1
- else
- fx=x3
+ local contours=shape.contours
+ local nofcontours=#contours
+ local first=1
+ local firstindex=1
+ for contour=1,nofcontours do
+ local last=contours[contour]
+ if last>=first then
+ local lastindex=cnt
+ if firstindex<cnt then
+ for currentindex=firstindex,cnt do
+ local found=dpoints[currentindex]
+ if found<=first then
+ firstindex=currentindex
+ end
+ if found==last then
+ lastindex=currentindex
+ break;
+ elseif found>last then
+ break
+ end
end
- else
- fx=(p2x-p1x)/(p3x-p1x)
- fx=(1-fx)*x1+fx*x3
end
- if p1y==p3y then
- if y1==y3 then
- fy=y1
- else
- fy=0
- end
- elseif p2y<=min(p1y,p3y) then
- if p1y<p3y then
- fy=y1
- else
- fy=y3
+ local function find(i)
+ local prv=lastindex
+ for j=firstindex,lastindex do
+ local nxt=dpoints[j]
+ if nxt==i then
+ return false,j,false
+ elseif nxt>i then
+ return prv,false,j
+ end
+ prv=j
end
- elseif p2y>=max(p1y,p3y) then
- if p1y>p3y then
- fy=y1
+ return prv,false,firstindex
+ end
+ for point=first,last do
+ local d1,d2,d3=find(point)
+ local p2=points[point]
+ if d2 then
+ xv[point]=xvalues[d2]
+ yv[point]=yvalues[d2]
else
- fy=y3
+ local n1=dpoints[d1]
+ local n3=dpoints[d3]
+ if n1>nofpoints then
+ n1=nofpoints
+ end
+ if n3>nofpoints then
+ n3=nofpoints
+ end
+ local p1=points[n1]
+ local p3=points[n3]
+ local p1x=p1[1]
+ local p2x=p2[1]
+ local p3x=p3[1]
+ local p1y=p1[2]
+ local p2y=p2[2]
+ local p3y=p3[2]
+ local x1=xvalues[d1]
+ local y1=yvalues[d1]
+ local x3=xvalues[d3]
+ local y3=yvalues[d3]
+ local fx
+ local fy
+ if p1x==p3x then
+ if x1==x3 then
+ fx=x1
+ else
+ fx=0
+ end
+ elseif p2x<=min(p1x,p3x) then
+ if p1x<p3x then
+ fx=x1
+ else
+ fx=x3
+ end
+ elseif p2x>=max(p1x,p3x) then
+ if p1x>p3x then
+ fx=x1
+ else
+ fx=x3
+ end
+ else
+ fx=(p2x-p1x)/(p3x-p1x)
+ fx=(1-fx)*x1+fx*x3
+ end
+ if p1y==p3y then
+ if y1==y3 then
+ fy=y1
+ else
+ fy=0
+ end
+ elseif p2y<=min(p1y,p3y) then
+ if p1y<p3y then
+ fy=y1
+ else
+ fy=y3
+ end
+ elseif p2y>=max(p1y,p3y) then
+ if p1y>p3y then
+ fy=y1
+ else
+ fy=y3
+ end
+ else
+ fy=(p2y-p1y)/(p3y-p1y)
+ fy=(1-fy)*y1+fy*y3
+ end
+ xv[point]=fx
+ yv[point]=fy
end
- else
- fy=(p2y-p1y)/(p3y-p1y)
- fy=(1-fy)*y1+fy*y3
end
- xv[i]=fx
- yv[i]=fy
+ if lastindex<cnt then
+ firstindex=lastindex+1
+ end
end
+ first=last+1
end
for i=1,nofpoints do
local pi=points[i]
@@ -19792,6 +19820,7 @@ function readers.hvar(f,fontdata,specification)
local variations={}
local innerindex={}
local outerindex={}
+ local deltas={}
if variationoffset>0 then
regions,deltas=readvariationdata(f,variationoffset,factors)
end
@@ -21181,7 +21210,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.119
+otf.version=3.120
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)
@@ -23855,6 +23884,7 @@ local next,type=next,type
local P,R,S=lpeg.P,lpeg.R,lpeg.S
local lpegmatch=lpeg.match
local insert,remove,copy,unpack=table.insert,table.remove,table.copy,table.unpack
+local find=string.find
local formatters=string.formatters
local sortedkeys=table.sortedkeys
local sortedhash=table.sortedhash
@@ -24713,61 +24743,137 @@ local function unifyglyphs(fontdata,usenames)
fontdata.nofglyphs=nofglyphs
return indices,names
end
-local p_crappyname do
+local stripredundant do
local p_hex=R("af","AF","09")
local p_digit=R("09")
local p_done=S("._-")^0+P(-1)
+ local p_style=P(".")
local p_alpha=R("az","AZ")
local p_ALPHA=R("AZ")
- p_crappyname=(
+ local p_crappyname=(
lpeg.utfchartabletopattern({ "uni","u" },true)*S("Xx_")^0*p_hex^1
+lpeg.utfchartabletopattern({ "identity","glyph","jamo" },true)*p_hex^1
+lpeg.utfchartabletopattern({ "index","afii" },true)*p_digit^1
+p_digit*p_hex^3+p_alpha*p_digit^1
+P("aj")*p_digit^1+P("eh_")*(p_digit^1+p_ALPHA*p_digit^1)+(1-P("_"))^1*P("_uni")*p_hex^1+P("_")*P(1)^1
)*p_done
-end
-local forcekeep=false
-directives.register("otf.keepnames",function(v)
- report_cleanup("keeping weird glyph names, expect larger files and more memory usage")
- forcekeep=v
-end)
-local function stripredundant(fontdata)
- local descriptions=fontdata.descriptions
- if descriptions then
- local n=0
- local c=0
- if (not context and fonts.privateoffsets.keepnames) or forcekeep then
- for unicode,d in next,descriptions do
- if d.class=="base" then
- d.class=nil
- c=c+1
+ if context then
+ local forcekeep=false
+ directives.register("otf.keepnames",function(v)
+ report_cleanup("keeping weird glyph names, expect larger files and more memory usage")
+ forcekeep=v
+ end)
+ local function stripvariants(descriptions,list)
+ local n=list and #list or 0
+ if n>0 then
+ for i=1,n do
+ local g=list[i]
+ if g then
+ local d=descriptions[g]
+ if d and d.name then
+ d.name=nil
+ n=n+1
+ end
+ end
end
end
- else
- for unicode,d in next,descriptions do
- local name=d.name
- if name and lpegmatch(p_crappyname,name) then
- d.name=nil
- n=n+1
- end
- if d.class=="base" then
- d.class=nil
- c=c+1
+ return n
+ end
+ local function stripparts(descriptions,list)
+ local n=list and #list or 0
+ if n>0 then
+ for i=1,n do
+ local g=list[i].glyph
+ if g then
+ local d=descriptions[g]
+ if d and d.name then
+ d.name=nil
+ n=n+1
+ end
+ end
end
end
+ return n
end
- if trace_cleanup then
- if n>0 then
- report_cleanup("%s bogus names removed (verbose unicode)",n)
+ local function collectsimple(fontdata)
+ return nil
+ end
+ stripredundant=function(fontdata)
+ local descriptions=fontdata.descriptions
+ if descriptions then
+ local n=0
+ local c=0
+ for unicode,d in next,descriptions do
+ local m=d.math
+ if m then
+ n=n+stripvariants(descriptions,m.vvariants)
+ n=n+stripvariants(descriptions,m.hvariants)
+ n=n+stripparts (descriptions,m.vparts)
+ n=n+stripparts (descriptions,m.hparts)
+ end
+ end
+ if forcekeep then
+ for unicode,d in next,descriptions do
+ if d.class=="base" then
+ d.class=nil
+ c=c+1
+ end
+ end
+ else
+ local keeplist=collectsimple(fontdata)
+ for unicode,d in next,descriptions do
+ local name=d.name
+ if name then
+ if keeplist and keeplist[name] then
+ elseif lpegmatch(p_crappyname,name) then
+ d.name=nil
+ n=n+1
+ end
+ end
+ if d.class=="base" then
+ d.class=nil
+ c=c+1
+ end
+ end
+ end
+ if trace_cleanup then
+ if n>0 then
+ report_cleanup("%s bogus names removed (verbose unicode)",n)
+ end
+ if c>0 then
+ report_cleanup("%s base class tags removed (default is base)",c)
+ end
+ end
end
- if c>0 then
- report_cleanup("%s base class tags removed (default is base)",c)
+ end
+ else
+ stripredundant=function(fontdata)
+ local descriptions=fontdata.descriptions
+ if descriptions then
+ if fonts.privateoffsets.keepnames then
+ for unicode,d in next,descriptions do
+ if d.class=="base" then
+ d.class=nil
+ end
+ end
+ else
+ for unicode,d in next,descriptions do
+ local name=d.name
+ if name then
+ if lpegmatch(p_crappyname,name) then
+ d.name=nil
+ end
+ end
+ if d.class=="base" then
+ d.class=nil
+ end
+ end
+ end
end
end
end
+ readers.stripredundant=stripredundant
end
-readers.stripredundant=stripredundant
function readers.getcomponents(fontdata)
local resources=fontdata.resources
if resources then
@@ -24851,8 +24957,7 @@ readers.unifymissing=unifymissing
function readers.rehash(fontdata,hashmethod)
if not (fontdata and fontdata.glyphs) then
return
- end
- if hashmethod=="indices" then
+ elseif hashmethod=="indices" then
fontdata.hashmethod="indices"
elseif hashmethod=="names" then
fontdata.hashmethod="names"
@@ -30883,7 +30988,7 @@ local function validspecification(specification,name)
return specification,name
end
end
-local function addfeature(data,feature,specifications)
+local function addfeature(data,feature,specifications,prepareonly)
if not specifications then
report_otf("missing specification")
return
@@ -31182,8 +31287,6 @@ local function addfeature(data,feature,specifications)
local rules=list.rules
local coverage={}
if rules then
- local rulehash={}
- local rulesize=0
local lookuptype=types[featuretype]
for nofrules=1,#rules do
local rule=rules[nofrules]
@@ -31214,6 +31317,14 @@ local function addfeature(data,feature,specifications)
local lookups=rule.lookups or false
local subtype=nil
if lookups and sublookups then
+ if #lookups>0 then
+ local ns=stop-start+1
+ for i=1,ns do
+ if lookups[i]==nil then
+ lookups[i]=0
+ end
+ end
+ end
local l={}
for k,v in sortedhash(lookups) do
local t=type(v)
@@ -31261,8 +31372,7 @@ local function addfeature(data,feature,specifications)
hashed[i]=t
end
sequence=hashed
- rulesize=rulesize+1
- rulehash[rulesize]={
+ local ruleset={
nofrules,
lookuptype,
sequence,
@@ -31274,8 +31384,15 @@ local function addfeature(data,feature,specifications)
}
for unic in sortedhash(sequence[start]) do
local cu=coverage[unic]
- if not cu then
- coverage[unic]=rulehash
+ if cu then
+ local n=cu.n+1
+ cu[n]=ruleset
+ cu.n=n
+ else
+ coverage[unic]={
+ ruleset,
+ n=1,
+ }
end
end
sequence.n=nofsequences
@@ -31283,7 +31400,6 @@ local function addfeature(data,feature,specifications)
end
end
end
- rulehash.n=rulesize
end
return coverage
end
@@ -31504,8 +31620,11 @@ local function addfeature(data,feature,specifications)
order=featureorder,
[stepkey]=steps,
nofsteps=nofsteps,
- type=types[featuretype],
+ type=specification.handler or types[featuretype],
}
+ if prepareonly then
+ return sequence
+ end
end
end
if sequence then
@@ -31587,6 +31706,14 @@ if not modules then modules={} end modules ['font-osd']={
copyright="TAT Zetwerk / PRAGMA ADE / ConTeXt Development Team",
license="see context related readme files"
}
+local experiment1=false
+local experiment2=false
+local experiment2b1=false
+local experiment2b2=false
+experiments.register("fonts.indic.experiment1",function(v) experiment1=v end)
+experiments.register("fonts.indic.experiment2",function(v) experiment2=v end)
+experiments.register("fonts.indic.experiment2b1",function(v) experiment2b1=v end)
+experiments.register("fonts.indic.experiment2b2",function(v) experiment2b2=v end)
local insert,remove,imerge,copy,tohash=table.insert,table.remove,table.imerge,table.copy,table.tohash
local next,type,rawget=next,type,rawget
local formatters=string.formatters
@@ -33099,7 +33226,7 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
local subpos=nil
local postpos=nil
reorderreph.coverage={}
- rephbase[font]={}
+ rephbase[font]={}
for i=1,#seqsubset do
local subset=seqsubset[i]
local kind=subset[1]
@@ -33276,7 +33403,7 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
logprocess("reorder two, handle nbsp")
end
end
- else
+ else
local last=getnext(stop)
while current~=last do
local next=getnext(current)
@@ -33339,7 +33466,7 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
logprocess("reorder two, handle matra")
end
end
- if not moved[current] and dependent_vowel[char] then
+ if dependent_vowel[char] then
if pre_mark[char] then
moved[current]=true
local prev,next=getboth(current)
@@ -33518,8 +33645,8 @@ local function analyze_next_chars_one(c,font,variant)
if not n then
return c
end
+ local v=ischar(n,font)
if variant==1 then
- local v=ischar(n,font)
if v and nukta[v] then
n=getnext(n)
if n then
@@ -33552,7 +33679,6 @@ local function analyze_next_chars_one(c,font,variant)
end
end
elseif variant==2 then
- local v=ischar(n,font)
if v and nukta[v] then
c=n
end
@@ -33576,11 +33702,11 @@ local function analyze_next_chars_one(c,font,variant)
end
end
end
- local n=getnext(c)
+ n=getnext(c)
if not n then
return c
end
- local v=ischar(n,font)
+ v=ischar(n,font)
if not v then
return c
end
@@ -33685,12 +33811,11 @@ local function analyze_next_chars_one(c,font,variant)
end
end
local function analyze_next_chars_two(c,font)
- local n,v
- n=getnext(c)
+ local n=getnext(c)
if not n then
return c
end
- v=ischar(n,font)
+ local v=ischar(n,font)
if v and nukta[v] then
c=n
end
@@ -37702,12 +37827,12 @@ local function blockligatures(str)
before=before,
current={ one,two },
after=after,
- lookups={ 1 },
+ lookups={ 1,false },
}
revert[new]={
current={ one,zwj },
after={ two },
- lookups={ 1 },
+ lookups={ 1,false },
}
end
end
diff --git a/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua b/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua
index b34c56508e..eb21180902 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --TAGDATE
description = "luaotfload submodule / auxiliary functions",
license = "GPL v2.0"
}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-bcp47.lua b/macros/luatex/generic/luaotfload/luaotfload-bcp47.lua
new file mode 100644
index 0000000000..03dc65e5bc
--- /dev/null
+++ b/macros/luatex/generic/luaotfload/luaotfload-bcp47.lua
@@ -0,0 +1,85 @@
+-- Suport for parsing BCP47 based language tags into components
+local normalize_case, language_tag do
+ local l = lpeg or require'lpeg'
+ local function rep(base, num, max)
+ max = max or num
+ if num == 1 then
+ if max == 1 then
+ return base
+ else
+ return base * base^-(max-1)
+ end
+ end
+ return base * rep(base, num - 1, max - 1)
+ end
+ local eor = #(l.P'-' + -1) -- End of record
+ local alpha = l.R('az', 'AZ')
+ local alphanum = l.R('az', 'AZ', '09')
+ local digit = l.R'09'
+ normalize_case = l.Cs(
+ (alphanum^2/string.lower)
+ * (
+ ('-' * (alphanum/string.upper) * (rep(alphanum, 3)/string.lower))
+ + ('-' * alphanum^3/string.lower)
+ + ('-' * rep(alphanum, 2)/string.upper)
+ )^0
+ * ('-' * alphanum * '-' * l.P(1)^1 / string.lower)^-1
+ + alphanum * '-' * l.P(1)^1 / string.lower
+ ) * -1
+ local extlang = l.Cg(rep(alpha, 3), 'extlang')
+ local language = l.Cg(rep(alpha, 2, 3), 'language') * ('-' * extlang * eor)^-1
+ local script = l.Cg(rep(alpha, 4), 'script')
+ local region = l.Cg(rep(alpha, 2) + rep(digit, 3), 'region')
+ local variant = l.Cg(rep(alphanum, 5, 8) + digit * rep(alphanum, 3), 'variant')
+ local singleton = l.R('09', 'aw', 'yz')
+ local extension = l.Cg(l.C(singleton) * l.Ct(('-' * l.C(rep(alphanum, 2, 8)))^1))
+ local privateuse = l.P'x' * l.Cg(l.Ct(('-' * l.C(rep(alphanum, 2, 8)))^1), 'private')
+ local irregular =
+ l.P'en-GB-oed' * l.Cc{language = 'en', region = 'GB', variant = 'oxendict'}
+ + l.P'i-ami' * l.Cc{language = 'ami'}
+ + l.P'i-bnn' * l.Cc{language = 'bnn'}
+ + l.P'i-default' * l.Cc{language = 'i-default'} -- Not deprecated
+ + l.P'i-enochian' * l.Cc{language = 'i-enochian'} -- The non-existance of a non deprecated language code for enochian
+ -- demonstrates a shocking for the language of my ancestors
+ + l.P'i-hak' * l.Cc{language = 'hak'}
+ + l.P'i-klingon' * l.Cc{language = 'tlh'}
+ + l.P'i-lux' * l.Cc{language = 'lb'}
+ + l.P'i-mingo' * l.Cc{language = 'i-mingo'} -- Not deprecated
+ + l.P'i-navajo' * l.Cc{language = 'nv'}
+ + l.P'i-pwn' * l.Cc{language = 'pwn'}
+ + l.P'i-tao' * l.Cc{language = 'tao'}
+ + l.P'i-tay' * l.Cc{language = 'tay'}
+ + l.P'i-tsu' * l.Cc{language = 'tsu'}
+ + l.P'sgn-BE-FR' * l.Cc{language = 'sfb'}
+ + l.P'sgn-BE-NL' * l.Cc{language = 'vgt'}
+ + l.P'sgn-CH-DE' * l.Cc{language = 'sgg'}
+ local regular =
+ l.P'art-lojban' * l.Cc{language = 'jbo'}
+ + l.P'cel-gaulish' * l.Cc{language = '...'}
+ + l.P'no-bok' * l.Cc{language = 'nb'}
+ + l.P'no-nyn' * l.Cc{language = 'nn'}
+ + l.P'zh-guoyu' * l.Cc{language = 'cmn'}
+ + l.P'zh-hakka' * l.Cc{language = 'hak'}
+ + l.P'zh-min' * l.Cc{language = '...'}
+ + l.P'zh-min-nan' * l.Cc{language = 'nan'}
+ + l.P'zh-xiang' * l.Cc{language = 'hsn'}
+ local grandfathered = irregular + regular
+ local langtag = language * ('-' * script * eor)^-1
+ * ('-' * region * eor)^-1
+ * ('-' * variant)^0
+ * (#('-' * singleton * '-') * l.Cg(l.Cf(l.Ct'' * ('-' * extension)^0, rawset), 'extension'))^-1
+ * ('-' * privateuse)^-1
+ language_tag = (grandfathered + l.Ct(langtag + privateuse)) * l.Cp()--* -1
+end
+local function parse(tag)
+ tag = normalize_case:match(tag)
+ if not tag then return end
+ local parsed, pos = language_tag:match(tag)
+ print(require'inspect'{parsed, pos})
+ -- if not parsed then return parsed end
+ return tag, parsed
+end
+for l in io.lines() do
+ print(parse(l))
+ -- io.stdout:write(parse(l), '\n')
+end
diff --git a/macros/luatex/generic/luaotfload/luaotfload-case.lua b/macros/luatex/generic/luaotfload/luaotfload-case.lua
index 33bb1bc924..f5a147334d 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-case.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-case.lua
@@ -21,6 +21,7 @@ local setdisc = direct.setdisc
local getdisc = direct.getdisc
local getfield = direct.getfield
local remove = direct.remove
+local free = direct.free
local copy = direct.copy
local insert_after = direct.insert_after
local traverse = direct.traverse
@@ -34,41 +35,133 @@ local disc = node.id'disc'
-- * 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)
+-- (Additionally we add special mappings for de-x-eszett, el, el-x-iota, hy-x-yiwn which are not present in SpecialCasing.txt)
]]
-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 UPPER_MASK = 0x3FF
+local HAS_VOWEL = 0x200000
+local HAS_YPOGEGRAMMENI = 0x400000
+local HAS_ACCENT = 0x800000
+local HAS_DIALYTIKA = 0x1000000
+local HAS_OTHER_GREEK_DIACRITIC = 0x2000000
-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
+local greek_data
+local greek_diacritic = {
+ [0x0300] = HAS_ACCENT,
+ [0x0301] = HAS_ACCENT,
+ [0x0342] = HAS_ACCENT,
+ [0x0302] = HAS_ACCENT,
+ [0x0303] = HAS_ACCENT,
+ [0x0311] = HAS_ACCENT,
+ [0x0308] = HAS_DIALYTIKA,
+ [0x0344] = HAS_DIALYTIKA | HAS_ACCENT,
+ [0x0345] = HAS_YPOGEGRAMMENI,
+ [0x0304] = HAS_OTHER_GREEK_DIACRITIC,
+ [0x0306] = HAS_OTHER_GREEK_DIACRITIC,
+ [0x0313] = HAS_OTHER_GREEK_DIACRITIC,
+ [0x0314] = HAS_OTHER_GREEK_DIACRITIC,
+ [0x0343] = HAS_OTHER_GREEK_DIACRITIC,
+}
+
+local greek_precombined_iota = {
+ [0x0391] = 0x1FBC,
+ [0x0397] = 0x1FCC,
+ [0x03A9] = 0x1FFC,
+}
+
+-- Greek handling based on https://icu.unicode.org/design/case/greek-upper
+-- with smaller variations since we ant to preserve nodes whenever possible.
+local function init_greek_data()
+ local NFD = require'lua-uni-normalize'.NFD
+ local data = {}
+ greek_data = data
+
+ local vowels = {
+ [utf8.codepoint'Α'] = true, [utf8.codepoint'Ε'] = true,
+ [utf8.codepoint'Η'] = true, [utf8.codepoint'Ι'] = true,
+ [utf8.codepoint'Ο'] = true, [utf8.codepoint'Ω'] = true,
+ [utf8.codepoint'Υ'] = true,
+ }
+ local function handle_char(c)
+ local decomp = NFD(utf8.char(c))
+ local first = utf8.codepoint(decomp)
+ local upper = uppercase[first]
+ if upper then
+ if not tonumber(upper) then
+ upper = upper._
+ assert(#upper == 1)
+ upper = upper[1]
+ end
+ else
+ upper = first
+ end
+ if upper > UPPER_MASK then return end -- Only happens for unassigned codepoints
+ local datum = upper
+ if vowels[upper] then
+ datum = datum | HAS_VOWEL
+ end
+ if utf8.len(decomp) > 1 then
+ for _, c in utf8.codes(decomp) do
+ local dia = greek_diacritic[c]
+ if dia and dia ~= HAS_OTHER_GREEK_DIACRITIC then datum = datum | dia end
+ end
+ end
+ data[c] = datum
+ end
+ for c = 0x0370, 0x03ff do handle_char(c) end
+ for c = 0x1f00, 0x1fff do handle_char(c) end
+ for c = 0x2126, 0x2126 do handle_char(c) end
+end
+
+local function font_lang(feature)
+ return setmetatable({}, {__index = function(t, fid)
+ local f = font.getfont(fid)
+ local features = f.specification.features.normal
+ local lang = features[feature]
+ if type(lang) ~= 'string' or lang == 'auto' then
+ lang = features.language
+ lang = lang == 'lth' and 'lt'
+ or lang == 'trk' and 'tr'
+ or lang == 'aze' and 'az'
+ or lang == 'hye' and 'hy'
+ or (lang == 'ell' or lang == 'pgr') and 'el'
+ or false
+ end
+ t[fid] = lang
+ return lang
+ end})
+end
+
+local function is_followed_by_cased(font, n, after)
n = getnext(n)
repeat
while n do
local char, id = is_char(n, font)
- if id == disc then
+ if not char and id == disc then
after = getnext(n)
n = getfield(n, 'replace')
char, id = is_char(n, font)
- elseif char then
+ end
+ if char then
if not case_ignorable[char] then
- return not cased[char] and mapping
+ return cased[char]
end
n = getnext(n)
else
- return mapping
+ return false
end
end
n, after = after
until not n
- return mapping
+ return false
+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
+ return not is_followed_by_cased(font, n, after) and mapping
end
local function is_More_Above(font, mapping, n, after)
@@ -150,56 +243,181 @@ local function is_Language_Mapping(font, mapping, n, after, seen_soft_dotted, se
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 function process(table, feature)
+ local font_lang = font_lang(feature)
+ -- The other seen_... are booleans, while seen_greek has more states:
+ -- - nil: Not greek
+ -- - true: Greek. Last was not a vowel with accent and without dialytika
+ -- - node: Greek. Last vowel with accent and without dialytika
+ local function processor(head, font, after, seen_cased, seen_soft_dotted, seen_I, seen_greek)
local lang = font_lang[font]
+ local greek, greek_iota
+ if lang == 'el' or lang == 'el-x-iota' then
+ if table == uppercase then
+ if not greek_data then
+ init_greek_data()
+ end
+ greek, greek_iota = greek_data, lang == 'el-x-iota'
+ end
+ lang = false
+ end
local n = head
while n do
do
local new = has_glyph(n)
if n ~= new then
- seen_cased, seen_soft_dotted, seen_I = nil
+ seen_cased, seen_soft_dotted, seen_I, seen_greek = 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)
+ if greek and (char >= 0x0370 and char <= 0x03ff or char >= 0x1f00 and char <= 0x1fff or char == 0x2126) then
+ -- In the greek uppercase situation we want to remove diacritics except under some exceptions.
+ local first_datum = greek[char] or 0
+ local datum = first_datum
+ local upper = datum & UPPER_MASK
+ -- When a vowel ges an accent removed and does not have a dialytika and is followed by a Ι or Υ,
+ -- then this iota or ypsilon gets a dialytika.
+ if datum & HAS_VOWEL ~= 0 and seen_greek and seen_greek ~= true and (upper == 0x0399 or upper == 0x03a5) then
+ datum = datum | HAS_DIALYTIKA;
+ end
+ local has_ypogegrammeni = datum & HAS_YPOGEGRAMMENI ~= 0
+ local add_ypogegrammeni = has_ypogegrammeni
+ local post = getnext(n)
+ local last
+ local saved_tonos, saved_dialytika
+ while post do
+ local char = is_char(post, font)
+ if not char then break end
+ local diacritic_data = greek_diacritic[char]
+ if not diacritic_data then break end
+ -- Preserve flags to be aware if a dialytika has to be reinserted
+ -- TODO: Keep dialytika node around
+ datum = datum | diacritic_data
+ -- Preserve ypogegrammeni (iota subscript) but convert them into capital iotas.
+ -- If el-x-iota is active keep the combining character instead.
+ if diacritic_data & HAS_YPOGEGRAMMENI ~= 0 then
+ has_ypogegrammeni = true
+ if not greek_iota then
+ setchar(post, 0x0399)
+ end
+ last = post
+ post = getnext(post)
+ else
+ -- Otherwise they get removed
+ local old = post
+ head, post = remove(head, post)
+ if char == 0x0301 and not saved_tonos then
+ -- But if we have a tonos we might want to reinsert it later
+ saved_tonos = old
+ elseif diacritic_data & HAS_DIALYTIKA ~= 0 and not saved_dialytika then
+ -- Similar for dilytika
+ saved_dialytika = old
+ else
+ free(old)
+ end
+ end
+ end
+ -- Special case: An isolated Ή preserves the tonos.
+ if upper == 0x0397
+ and not has_ypogegrammeni
+ and not seen_cased
+ and not is_followed_by_cased(font, n, after)
+ then
+ if first_datum & HAS_ACCENT ~= 0 then
+ upper = 0x0389
+ -- If it's precomposed we don't have to keep any combining accents
+ if saved_tonos then
+ free(saved_tonos)
+ saved_tonos = nil
+ end
+ end
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
+ -- Not the special case so we don't have to keep the tonos node
+ if saved_tonos then
+ free(saved_tonos)
+ saved_tonos = nil
+ end
+ -- Handle precomposed dialytika. If both a combining ans a precomposed
+ -- dialyika are present (typically because the precomposed one is
+ -- automatically added at the beginning) prefer the combining one to
+ -- preserve attributes.
+ if datum & HAS_DIALYTIKA ~= 0 and not saved_dialytika then
+ if upper == 0x0399 then -- upper == 'Ι'
+ upper = 0x03AA
+ elseif upper == 0x03A5 then -- upper == 'Υ'
+ upper = 0x03AB
+ else
+ assert(false) -- Should not be possible
+ end
+ end
+ end
+ if greek_iota and add_ypogegrammeni then
+ local mapped = greek_precombined_iota[upper]
+ if mapped then -- AFAICT always true
+ upper = mapped
+ add_ypogegrammeni = false
+ end
+ end
+ setchar(n, upper)
+ -- Potentially reinsert accents
+ if saved_dialytika then
+ head, n = insert_after(head, n, saved_dialytika)
+ setchar(n, 0x0308) -- Needed since we might have a U+0344 (COMBINING GREEK DIALYTIKA TONOS)
+ end
+ if saved_tonos then
+ head, n = insert_after(head, n, saved_tonos)
+ end
+ if add_ypogegrammeni then
+ head, n = insert_after(head, n, copy(n))
+ setchar(n, 0x0399)
+ end
+ -- If we preserved any combining ypogegrammeni nodes, skip them now
+ n = last or n
+ seen_greek = datum & (HAS_VOWEL | HAS_ACCENT | HAS_DIALYTIKA) == HAS_VOWEL | HAS_ACCENT and n or true
+ seen_I, seen_soft_dotted = nil
+ else
+ local mapping = table[char]
+ if mapping then
+ if tonumber(mapping) then
+ setchar(n, mapping)
else
- setchar(n, mapping[1])
- for i=2, #mapping do
- head, n = insert_after(head, n, copy(n))
- setchar(n, mapping[i])
+ 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
+ local old = n
+ head, n = remove(head, n)
+ free(old)
+ 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
+ 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
+ seen_greek = nil
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)
+ pre, post, rep, seen_cased, seen_soft_dotted, seen_I, seen_greek =
+ processor(pre, font, nil, seen_cased, seen_soft_dotted, seen_I, seen_greek),
+ processor(post, font, after, seen_greek),
+ processor(rep, font, after, seen_cased, seen_soft_dotted, seen_I, seen_greek)
setdisc(n, pre, post, rep)
else
seen_cased, seen_soft_dotted, seen_I = nil
@@ -207,12 +425,12 @@ local function process(table)
n = getnext(n)
::continue::
end
- return head, seen_cased, seen_soft_dotted, seen_I
+ return head, seen_cased, seen_soft_dotted, seen_I, seen_greek
end
- return function(head, font) return (processor(head, font)) end
+ return function(head, font, ...) return (processor(head, font)) end
end
-local upper_process = process(uppercase)
+local upper_process = process(uppercase, 'upper')
otfregister {
name = 'upper',
description = 'Map to uppercase',
@@ -225,7 +443,7 @@ otfregister {
},
}
-local lower_process = process(lowercase)
+local lower_process = process(lowercase, 'lower')
otfregister {
name = 'lower',
description = 'Map to lowercase',
diff --git a/macros/luatex/generic/luaotfload/luaotfload-colors.lua b/macros/luatex/generic/luaotfload/luaotfload-colors.lua
index 05248b2a82..075b5210f5 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --TAGDATE
description = "luaotfload submodule / color",
license = "GPL v2.0",
author = "Khaled Hosny, Elie Roux, Philipp Gesang, Dohyun Kim, David Carlisle",
@@ -48,18 +48,22 @@ local nodetail = nodedirect.tail
local getattribute = nodedirect.has_attribute
local setattribute = nodedirect.set_attribute
+local call_callback = luatexbase.call_callback
+
local stringformat = string.format
local identifiers = fonts.hashes.identifiers
local add_color_callback --[[ this used to be a global‽ ]]
+local custom_setcolor, custom_settransparent
+
--[[doc--
Color string parser.
--doc]]--
local lpeg = require"lpeg"
local lpegmatch = lpeg.match
-local C, Cg, Ct, P, R, S = lpeg.C, lpeg.Cg, lpeg.Ct, lpeg.P, lpeg.R, lpeg.S
+local C, Cc, P, R, S = lpeg.C, lpeg.Cc, lpeg.P, lpeg.R, lpeg.S
local spaces = S"\t "^0
local digit16 = R("09", "af", "AF")
@@ -68,12 +72,43 @@ local octet = digit16 * digit16 / function(s)
return tonumber(s, 16) / 255
end
-local extract_color = spaces * octet * octet * octet / function(r,g,b)
+local function lpeg_repeat(patt, count)
+ patt = P(patt)
+ local result = patt
+ for i = 2, count do
+ result = result * patt
+ end
+ return result
+end
+
+local split_color = spaces * C(lpeg_repeat(digit16, 6)) * (opaque + C(lpeg_repeat(digit16, 2)))^-1 * spaces * -1
+ + spaces * (C((spaces * (1 - S', ')^1)^1) + Cc(nil)) * spaces * (',' * spaces * C((spaces * (1 - S' ,')^1)^1)^-1 * spaces)^-1 * -1
+
+luatexbase.create_callback('luaotfload.split_color', 'exclusive', function(value)
+ local rgb, a = lpegmatch(split_color, value)
+ if not rgb and not a then
+ logreport("both", 0, "color",
+ "%q is not a valid rgb[a] color expression",
+ digits)
+ end
+ return rgb, a
+end)
+
+local extract_color = octet * octet * octet / function(r,g,b)
return stringformat("%.3g %.3g %.3g rg", r, g, b)
- end * (opaque + octet)^-1 * spaces * -1
+ end * -1
+luatexbase.create_callback('luaotfload.parse_color', 'exclusive', function(value)
+ local rgb = lpegmatch(extract_color, value)
+ if not rgb then
+ logreport("both", 0, "color",
+ "Invalid color part in color expression %q",
+ value)
+ end
+ return rgb
+end)
---- something is carried around in ``res``
---- for later use by color_handler() --- but what?
+-- Keep the currently collected page resources needed for the current
+-- colors in `res`.
local res = nil
@@ -86,17 +121,37 @@ local function pageresources(alpha)
return f
end
+local extract_transparent = octet * -1
+luatexbase.create_callback('luaotfload.parse_transparent', 'exclusive', function(value)
+ local a
+ if type(value) == 'string' then
+ a = lpegmatch(extract_transparent, value)
+ if not a then
+ logreport("both", 0, "color",
+ "Invalid transparency part in color expression %q",
+ value)
+ end
+ else
+ a = value
+ end
+ if a then
+ a = pageresources(a)
+ end
+ return a
+end)
+
+
--- string -> (string | nil)
local function sanitize_color_expression (digits)
digits = tostring(digits)
- local rgb, a = lpegmatch(extract_color, digits)
- if not rgb then
- logreport("both", 0, "color",
- "%q is not a valid rgb[a] color expression",
- digits)
- return
+ local rgb, a = call_callback('luaotfload.split_color', digits)
+ if rgb then
+ rgb = call_callback('luaotfload.parse_color', rgb)
end
- return rgb, (a and pageresources(a))
+ if a then
+ a = call_callback('luaotfload.parse_transparent', a)
+ end
+ return rgb, a
end
local color_stack = 0
@@ -125,8 +180,6 @@ local colorstack_t = node.subtype("pdf_colorstack")
local color_callback
local color_attr = luatexbase.new_attribute("luaotfload_color_attribute")
-local custom_setcolor
-
-- Pass nil for new_color or old_color to indicate no color
-- If color is nil, pass tail to decide where to add whatsit
local function color_whatsit (head, curr, stack, old_color, new_color, tail)
@@ -391,8 +444,38 @@ end
function luaotfload.set_colorhandler(cb)
custom_setcolor = cb
end
+function luaotfload.set_transparenthandler(cb)
+ custom_settransparent = cb
+end
+function luaotfload.set_transparent_colorstack(stack)
+ if type(transparent_stack) == 'number' then
+ tex.error"luaotfload's transparency stack can't be changed after it has been used"
+ else
+ local t = type(stack)
+ if t == 'function' or t == 'number' then
+ function transparent_stack()
+ if t == 'function' then
+ transparent_stack = stack()
+ else
+ transparent_stack = stack
+ end
+ return transparent_stack
+ end
+ else
+ tex.error("Invalid argument in luaotfload.set_transparent_colorstack")
+ end
+ end
+end
+
+setmetatable(fonts.handlers.otf.statistics.usedfeatures.color, {
+ __index = function(t, k)
+ t[k] = k
+ return k
+ end,
+})
return function ()
+ assert(logreport == luaotfload.log.report)
logreport = luaotfload.log.report
if not fonts then
logreport ("log", 0, "color",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-conf.pdf b/macros/luatex/generic/luaotfload/luaotfload-conf.pdf
index 187f6d6542..ba983ed74c 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-conf.pdf
+++ b/macros/luatex/generic/luaotfload/luaotfload-conf.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/luaotfload-configuration.lua b/macros/luatex/generic/luaotfload/luaotfload-configuration.lua
index 5a7205ba69..8368425334 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --TAGDATE
description = "luaotfload submodule / config file reader",
license = "GPL v2.0"
}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-database.lua b/macros/luatex/generic/luaotfload/luaotfload-database.lua
index ff43b97505..63f799ca41 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --TAGDATE
description = "luaotfload submodule / database",
license = "GPL v2.0",
author = "Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Krüger",
@@ -201,7 +201,7 @@ local resolversfindfile = context_environment.resolvers.findfile
--- some of our own
local unicode = require'luaotfload-unicode'
-local casefold = unicode.casefold
+local casefold = require'lua-uni-case'.casefold
local alphnum_only = unicode.alphnum_only
local name_index = nil --> upvalue for names.data
@@ -516,8 +516,11 @@ end
local function load_lua_file (path_lua, path_luc)
local foundname, chunk = load_maybe_gzip (path_luc, true)
if foundname then
- chunk = assert (load (chunk, 'b'))
+ chunk = load (chunk, 'b')
else
+ chunk = nil
+ end
+ if not chunk then
foundname, chunk = load_maybe_gzip (path_lua, false)
if foundname then
chunk = assert (load (chunk, 't'))
@@ -2435,7 +2438,7 @@ local function count_removed (files)
local f = old[i]
if not kpsereadable_file (f) then
logreport ("log", 2, "db",
- "File %q does not exist in file system.")
+ "File %q does not exist in file system.", f)
nrem = nrem + 1
end
end
diff --git a/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua b/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua
index e0403d932c..25f79419a6 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --TAGDATE
description = "luaotfload-tool submodule / diagnostics",
license = "GPL v2.0"
}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-dvi.lua b/macros/luatex/generic/luaotfload/luaotfload-dvi.lua
index 3991eb110d..da045d1d34 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --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 5699611da3..7bc4da5a76 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --TAGDATE
description = "luaotfload submodule / embolden",
license = "GPL v2.0",
author = "Marcel Krüger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload-fallback.lua b/macros/luatex/generic/luaotfload/luaotfload-fallback.lua
index d9a85b7578..253d16051c 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --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 01c04becb1..6e64020570 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --TAGDATE
description = "luaotfload submodule / features",
license = "GPL v2.0",
author = "Hans Hagen, Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Krüger",
@@ -30,8 +30,6 @@ local table = table
local tabletohash = table.tohash
local tablesort = table.sort
-local stringunpack = string.unpack
-
--- this appears to be based in part on luatex-fonts-def.lua
local fonts = fonts
@@ -56,15 +54,6 @@ else
normalize = otf.features.normalize
end
---[[HH (font-xtx) --
- tricky: we sort of bypass the parser and directly feed all into
- the sub parser
---HH]]--
-
-function definers.getspecification(str)
- return "", str, "", ":", str
-end
-
local log = luaotfload.log
local report = log.report
@@ -76,7 +65,7 @@ local function cmp_by_idx (a, b) return a.idx < b.idx end
local defined_combos = 0
-local function handle_combination (combo, spec)
+local function handle_combination (combo, spec, size)
defined_combos = defined_combos + 1
if not combo [1] then
report ("both", 0, "features",
@@ -143,7 +132,7 @@ local function handle_combination (combo, spec)
local basechar = basefnt.characters
local baseprop = basefnt.properties
- baseprop.name = spec.name
+ baseprop.name = spec
baseprop.virtualized = true
basefnt.fonts = fontids
@@ -194,13 +183,16 @@ local function handle_combination (combo, spec)
" *> font %d / %d: imported %d glyphs into combo.",
i, nc, cnt)
end
- spec.lookup = "combo"
- spec.file = basefnt.filename
- spec.name = stringformat ("luaotfload<%d>", defined_combos)
- spec.features = { normal = { spec.specification } }
- spec.forced = "evl"
- spec.eval = function () return basefnt end
- return spec
+ return {
+ lookup = "combo",
+ file = basefnt.filename,
+ name = stringformat ("luaotfload<%d>", defined_combos),
+ specification = spec,
+ features = { normal = { } },
+ forced = "evl",
+ eval = function () return basefnt end,
+ size = size,
+ }
end
---[[ begin excerpt from font-ott.lua ]]
@@ -359,10 +351,9 @@ do
extract_subfont = full_path * sub_expr
end
---- spec -> spec
-local function handle_request (specification)
+local function analyze(spec_string, size)
local request = lpegmatch(luaotfload.parsers.font_request,
- specification.specification)
+ spec_string)
----inspect(request)
if not request then
--- happens when called with an absolute path
@@ -370,7 +361,7 @@ local function handle_request (specification)
--- we try to behave as friendly as possible
--- just go with it ...
report("log", 1, "features", "invalid request %q of type anon",
- specification.specification)
+ spec_string)
report("log", 1, "features",
"use square bracket syntax or consult the documentation.")
--- The result of \fontname must be re-feedable into \font
@@ -382,36 +373,62 @@ local function handle_request (specification)
--- parentheses).
--- https://github.com/lualatex/luaotfload/issues/57
local fullpath, sub = lpegmatch(extract_subfont,
- specification.specification)
+ spec_string)
if fullpath and sub then
- specification.sub = tonumber(sub) or sub
- specification.name = fullpath
+ return {
+ lookup = 'path',
+ sub = tonumber(sub) or sub,
+ name = fullpath,
+ size = size,
+ }
else
- specification.name = specification.specification
+ return {
+ lookup = 'path',
+ name = spec_string,
+ size = size,
+ }
end
- specification.lookup = "path"
- return specification
end
local lookup, name = request.lookup, request.name
if lookup == "combo" then
- return handle_combination (name, specification)
+ return handle_combination (name, spec_string, size)
end
- local features = specification.features
- if not features then
- features = { }
- specification.features = features
- end
+ local features = {
+ raw = request.features or {}
+ }
- features.raw = request.features or {}
- request.features = apply_default_features(features.raw)
+ local specification = {
+ specification = spec_string,
+ size = size,
+ lookup = lookup,
+ name = name,
+ sub = request.sub or false,
+ features = features,
+ }
- if name then
- specification.name = name
- specification.lookup = lookup or specification.lookup
+ if lookup == 'id' then
+ local original_font = fontidentifiers [request.id]
+ if not original_font then return end
+ local original_spec = original_font.specification
+ if not original_spec then return end
+ if size < 0 then
+ specification.size = original_spec.size * size // -1000
+ end
+ specification.lookup = original_spec.lookup
+ specification.name = original_spec.name
+ specification.sub = specification.sub or original_spec.sub
+ specification.style = original_spec.style
+ specification.optsize = original_spec.optsize
+ specification.forced = original_spec.forced
+ if original_spec.features then
+ features.raw = table.merged(original_spec.features.raw, features.raw)
+ end
end
+ local processed_features = apply_default_features(features.raw)
+
if request.modifiers then
local style, optsize = handle_slashed(request.modifiers)
specification.style, specification.optsize = style, optsize
@@ -420,11 +437,11 @@ local function handle_request (specification)
for n=1, #import_values do
local feat = import_values[n][1]
local keep = import_values[n][2]
- local newvalue = request.features[feat]
+ local newvalue = processed_features[feat]
if newvalue then
- specification[feat] = request.features[feat]
+ specification[feat] = newvalue
if not keep then
- request.features[feat] = nil
+ processed_features[feat] = nil
end
end
end
@@ -432,7 +449,7 @@ local function handle_request (specification)
--- The next line sets the “rand” feature to “random”; I haven’t
--- investigated it any further (luatex-fonts-ext), so it will
--- just stay here.
- features.normal = normalize (request.features)
+ features.normal = normalize (processed_features)
if features.normal.instance then
if features.normal.axis then
report("term and log", 0, "features", "instance and axis provided, instance will be ignored")
@@ -440,7 +457,6 @@ local function handle_request (specification)
specification.instance = features.normal.instance
end
end
- specification.sub = request.sub or specification.sub or false
local forced_mode = request.features and request.features.mode
if forced_mode then
@@ -453,8 +469,7 @@ local function handle_request (specification)
return specification
end
-fonts.names.handle_request = handle_request
-
+fonts.definers.analyze = analyze
if as_script == true then --- skip the remainder of the file
report ("log", 5, "features",
@@ -463,7 +478,7 @@ if as_script == true then --- skip the remainder of the file
end
do
- local helpers = fonts.handlers.otf.readers.helpers
+ local helpers = otf.readers.helpers
local axistofactors = helpers.axistofactors
local cleanname = helpers.cleanname
local getaxisscale = helpers.getaxisscale
@@ -479,7 +494,7 @@ do
function helpers.getfactors(tfmdata, instance) -- `instance` might refer to an `axis` value here
assert(instance == true or type(instance) == "string", "Fontloader changed interface of helpers.getfactors. This is a bug, please notify the luaotfload maintainers.")
local variabledata = tfmdata.variabledata
- if not variabledata or instance == "" then return end
+ if not variabledata then return end
local instances = variabledata.instances
local axis = variabledata.axis
local designaxis = variabledata.designaxis
@@ -525,15 +540,6 @@ do
end
end
--- MK: Added
-function fonts.definers.analyze (spec_string, size)
- return handle_request {
- size = size,
- specification = spec_string,
- }
-end
--- /MK
-
-- We assume that the other otf stuff is loaded already; though there’s
-- another check below during the initialization phase.
diff --git a/macros/luatex/generic/luaotfload/luaotfload-filelist.lua b/macros/luatex/generic/luaotfload/luaotfload-filelist.lua
index 191e6fd81b..a5dac9e640 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --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 b13d9db86f..f585e298b8 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --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 d311020cd4..c3b0a8509e 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --TAGDATE
description = "luaotfload submodule / HarfBuzz font loading",
license = "GPL v2.0",
author = "Khaled Hosny, Marcel Krüger",
@@ -87,7 +87,7 @@ local variable_pattern do
local number = l.C(l.S'+-'^-1 * (l.R'09'^1 * ('.' * l.R'09'^0)^-1 + '.' * l.R'09'^1))
local name_or_tag = l.C(l.R('AZ', 'az')^1)
local pair = l.Ct(name_or_tag * white * '=' * white * (number + l.Cc(nil) * 'auto'))
- variable_pattern = l.Ct(pair * (white * ',' * white * pair)^0)
+ variable_pattern = l.Ct(pair * (white * ',' * white * pair)^0) * -1
end
local function loadfont(spec)
diff --git a/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua b/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua
index be05980a49..df0d0cf136 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua
@@ -4,8 +4,8 @@
-----------------------------------------------------------------------
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-harf-plug",
- version = "3.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --TAGDATE
description = "luaotfload submodule / HarfBuzz shaping",
license = "GPL v2.0",
author = "Khaled Hosny, Marcel Krüger",
@@ -136,8 +136,8 @@ local function setprop(n, prop, value)
props[prop] = value
end
-local function inherit(t, base, properties)
- local n = newnode(t)
+local function inherit(t, sub, base, properties)
+ local n = newnode(t, sub)
setattrs(n, getattrs(base))
if properties then
setproperty(n, setmetatable({}, {__index = properties}))
@@ -146,7 +146,7 @@ local function inherit(t, base, properties)
end
-- New kern node of amount `v`, inheriting the properties/attributes of `n`.
local function newkern(v, n)
- local kern = inherit(kern_t, n, getproperty(n))
+ local kern = inherit(kern_t, 0, n, getproperty(n))
setkern(kern, v)
return kern
end
@@ -293,7 +293,7 @@ end
local function unsafetobreak(glyph)
return glyph
and glyph.flags
- and glyph.flags & fl_unsafe
+ and glyph.flags & fl_unsafe ~= 0
end
local shape
@@ -782,11 +782,11 @@ local function tonodes(head, node, run, glyphs)
elseif nextcluster + 1 == nodeindex then -- Oops, we went too far
nodeindex = nodeindex - 1
if node then
- local new = inherit(glyph_t, getprev(node), lastprops)
+ local new = inherit(glyph_t, 0, getprev(node), lastprops)
head, node = insertbefore(head, node, new)
else
node = tail(head)
- local new = inherit(glyph_t, node, lastprops)
+ local new = inherit(glyph_t, 0, node, lastprops)
head, node = insertafter(head, node, new)
end
setfont(node, fontid)
@@ -1050,8 +1050,8 @@ function process(head, font, _attr, direction)
return newhead or head
end
-local function pageliteral(data)
- local n = newnode(whatsit_t, pdfliteral_t)
+local function pageliteral(data, base)
+ local n = inherit(whatsit_t, pdfliteral_t, base, getproperty(base))
setwhatsitfield(n, "mode", 1) -- page
setwhatsitfield(n, "data", data) -- page
return n
@@ -1069,12 +1069,12 @@ local function post_process(head)
if startactual then
local actualtext = "/Span<</ActualText<FEFF"..startactual..">>>BDC"
- head = insertbefore(head, n, pageliteral(actualtext))
+ head = insertbefore(head, n, pageliteral(actualtext, n))
props[startactual_p] = nil
end
if endactual then
- head = insertafter(head, n, pageliteral("EMC"))
+ head = insertafter(head, n, pageliteral("EMC", n))
props[endactual_p] = nil
end
diff --git a/macros/luatex/generic/luaotfload/luaotfload-harf-var-cff2.lua b/macros/luatex/generic/luaotfload/luaotfload-harf-var-cff2.lua
index e9cff0c1ad..2ca928d32a 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-harf-var-cff2.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-harf-var-cff2.lua
@@ -5,8 +5,8 @@
do
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-harf-var-cff2",
- version = "3.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --TAGDATE
description = "luaotfload submodule / CFF2 table processing",
license = "GPL v2.0",
author = "Marcel Krüger",
@@ -371,7 +371,7 @@ local function parse_vstore(buf, offset, variation)
return variation_data
end
-function parse_cff2(buf, i0, coords)
+local function parse_cff2(buf, i0, coords)
local fontid = 1
local major, minor, hdrSize, topSize = string.unpack(">BBBH", buf, i0)
if major ~= 2 then error[[Unsupported CFF version]] end
diff --git a/macros/luatex/generic/luaotfload/luaotfload-harf-var-t2-writer.lua b/macros/luatex/generic/luaotfload/luaotfload-harf-var-t2-writer.lua
index 7b44822e59..72239343d8 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-harf-var-t2-writer.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-harf-var-t2-writer.lua
@@ -5,8 +5,8 @@
do
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-harf-var-t2-writer",
- version = "3.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --TAGDATE
description = "luaotfload submodule / Type 2 charstring writer",
license = "GPL v2.0",
author = "Marcel Krüger",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-harf-var-ttf.lua b/macros/luatex/generic/luaotfload/luaotfload-harf-var-ttf.lua
index 7835466757..b39cd753ae 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-harf-var-ttf.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-harf-var-ttf.lua
@@ -5,8 +5,8 @@
do
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-harf-var-ttf",
- version = "3.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --TAGDATE
description = "luaotfload submodule / gvar table processing",
license = "GPL v2.0",
author = "Marcel Krüger",
@@ -166,11 +166,12 @@ local function parse_glyf(loca, glyf, gid)
payload_length = payload_length + 8
end
if flags & 0x120 == 0x100 then -- Only applies to the last character
- payload_length = payload_length + 2 + sio.readcardinal2(offset + payload_length)
+ payload_length = payload_length + 2 + sio.readcardinal2(glyf, offset + payload_length)
end
component.flags = flags
component.payload = glyf:sub(offset, offset + payload_length - 1)
components[#components+1] = component
+ offset = offset + payload_length
until flags & 0x20 == 0
return components
else
@@ -328,6 +329,9 @@ local function serialize_glyf(points, map)
local x, y = component.x, component.y
x = x and math.floor(x + .5)
y = y and math.floor(y + .5)
+ if component.flags & 0x3 == 0x2 and (x >= 0x100 or x < -0x100 or y >= 0x100 or y < 0x100) then
+ component.flags = component.flags | 0x1
+ end
result = result
.. string.pack(component.flags & 0x2 == 0 and '>I2I2'
or component.flags & 0x1 == 0x1 and '>I2I2i2i2'
@@ -395,7 +399,13 @@ local function interpolate_glyf(loca, gvar_index, gvar, glyf, gid, coords, map)
if not var then
local start = loca[gid+1] + 1
local stop = loca[gid+2]
- return glyf:sub(start, stop)
+ -- If the glyph uses components then we can never just copy it but have to parse
+ -- it to rewrite the components if necessary.
+ if stop >= start + 2 and sio.readinteger2(glyf, start) < 0 then
+ return serialize_glyf(parse_glyf(loca, glyf, gid), map)
+ else
+ return glyf:sub(start, stop)
+ end
end
local points = parse_glyf(loca, glyf, gid)
if not points then return '' end
diff --git a/macros/luatex/generic/luaotfload/luaotfload-hashing.lua b/macros/luatex/generic/luaotfload/luaotfload-hashing.lua
new file mode 100644
index 0000000000..e88eab706c
--- /dev/null
+++ b/macros/luatex/generic/luaotfload/luaotfload-hashing.lua
@@ -0,0 +1,2 @@
+local constructors = fonts.constructors
+local original_hashfeatures = constructors.hashfeatures
diff --git a/macros/luatex/generic/luaotfload/luaotfload-init.lua b/macros/luatex/generic/luaotfload/luaotfload-init.lua
index 8cb2b5ad3d..ff959e3502 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --TAGDATE
description = "luaotfload submodule / initialization",
license = "GPL v2.0"
}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-latex.pdf b/macros/luatex/generic/luaotfload/luaotfload-latex.pdf
index 966f94bea2..ef2cea7a10 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-latex.pdf
+++ b/macros/luatex/generic/luaotfload/luaotfload-latex.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/luaotfload-latex.tex b/macros/luatex/generic/luaotfload/luaotfload-latex.tex
index 40b01af0de..b19fb2b665 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-latex.tex
+++ b/macros/luatex/generic/luaotfload/luaotfload-latex.tex
@@ -35,18 +35,18 @@
\makeatletter
-\usepackage {metalogo,multicol,fancyvrb,xspace}
+\usepackage {metalogo,multicol,fancyvrb}
\usepackage [x11names] {xcolor}
-\def \primarycolor {DodgerBlue4} %%-> rgb 16 78 139 | #104e8b
-\def \secondarycolor {Goldenrod4} %%-> rgb 139 105 200 | #8b6914
+\colorlet{primary}{DodgerBlue4}
+\colorlet{secondary}{Goldenrod4}
\usepackage[
bookmarks=true,
colorlinks=true,
- linkcolor=\primarycolor,
- urlcolor=\secondarycolor,
- citecolor=\primarycolor,
+ linkcolor=primary,
+ urlcolor=secondary,
+ citecolor=primary,
unicode,
pdftitle={The Luaotfload package},
pdfsubject={OpenType layout system for Plain TeX and LaTeX},
@@ -58,11 +58,8 @@
\usepackage {unicode-math}
\setmainfont[
-% Numbers = OldStyle, %% buggy with font cache
+ Numbers = OldStyle, %% buggy with font cache
Ligatures = TeX,
- BoldFont = {Linux Libertine O Bold},
- ItalicFont = {Linux Libertine O Italic},
- SlantedFont = {Linux Libertine O Italic},
]{Linux Libertine O}
\setmonofont[Ligatures=TeX,Scale=MatchLowercase]{InconsolataN-Regular.otf}
%setsansfont[Ligatures=TeX]{Linux Biolinum O}
@@ -71,15 +68,9 @@
\usepackage{hologo}
-\newcommand\TEX {\TeX\xspace}
-\newcommand\LUA {Lua\xspace}
-\newcommand\PDFTEX {pdf\TeX\xspace}
-\newcommand\LUATEX {Lua\TeX\xspace}
-\newcommand\XETEX {\XeTeX\xspace}
-\newcommand\LATEX {\LaTeX\xspace}
-\newcommand\LUALATEX {Lua\LaTeX\xspace}
-\newcommand\CONTEXT {Con\TeX t\xspace}
-\newcommand\OpenType {\identifier{Open\kern-.25ex Type}\xspace}
+\newcommand\Lua {Lua}
+\newcommand\ConTeXt {\hologo{ConTeXt}}
+\newcommand\OpenType {\identifier{Open\kern-.25ex Type}}
%% \groupedcommand, with some omissions taken from syst-aux.mkiv
\let \handlegroupnormalbefore \relax
diff --git a/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua b/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua
index 311279f09d..ef19afe384 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --TAGDATE
description = "luaotfload submodule / letterspacing",
license = "GPL v2.0",
copyright = "PRAGMA ADE / ConTeXt Development Team",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-loaders.lua b/macros/luatex/generic/luaotfload/luaotfload-loaders.lua
index fcae6e6d9e..eb09443077 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --TAGDATE
description = "luaotfload submodule / callback handling",
license = "GPL v2.0"
}
@@ -104,32 +104,80 @@ local function not_found_msg (specification, size, id)
logreport ("both", 0, "loaders",
"--------------------------------------------------------")
end
---[[doc--
- \subsection{\CONTEXT override}
- \label{define-font}
- We provide a simplified version of the original font definition
- callback.
+local definers --- (string, spec -> size -> id -> tmfdata) hash_t
+do
+ local hashed_cache = {}
+ local fontdata_cache = fonts.hashes.identifiers
+ local function register(fontdata, id)
+ if fontdata and id then
+ local hash = fontdata.properties.hash
+ if not hash then
+ logreport('both', 2, 'loaders', "Registering font %s with id %s with missing hash.", id, fontdata.properties.filename or "unknown")
+ elseif not hashed_cache[hash] then
+ hashed_cache[hash] = id
+ logreport('both', 4, 'loaders', "Registering font %s with id %s and hash %s.", id, fontdata.properties.filename or "unknown", hash)
+ end
+ fontdata_cache[id] = fontdata
+ end
+ end
+ function registered(hash)
+ local id = hashed_cache[hash]
+ return id, fontdata_cache[id]
+ end
+ fonts.definers.register = register
+ fonts.definers.registered = registered
---doc]]--
+ local extra_hash_funcs = {}
+ local function ltx_read(spec, size, id)
+ spec = type(spec) == 'string' and fonts.definers.analyze(spec, size) or spec
+ spec = fonts.definers.resolve(spec)
+
+ local hash = fonts.constructors.hashinstance(spec)
+
+ -- extra_hash_func allows the loader to determine additional hash parts
+ -- depending on the actual font. This is used e.g. for variable fonts which
+ -- should be hashed based on their designsize / modifiers too.
+ local extra_hash_func = extra_hash_funcs[hash]
+ if extra_hash_func then
+ hash = hash .. ' @ ' .. table.join(extra_hash_func(spec), ' @ ')
+ end
+
+ local cached = registered(hash)
+ if cached then return cached end -- already loaded
+
+ local fontdata = fonts.definers.loadfont(spec)
+ if not fontdata then
+ logreport('both', 2, 'loaders', 'Failed to load font ' .. spec.name)
+ return
+ end
+
+ -- If extra_hash_func was already set then the hash is already extended.
+ -- Otherwise we have to do it now if requested.
+ if not extra_hash_func then
+ extra_hash_func = fontdata.properties.extra_hash_func
+ if extra_hash_func then
+ hash = hash .. ' @ ' .. table.join(extra_hash_func(spec), ' @ ')
+ end
+ end
+ fontdata.properties.hash = hash
+ register(fontdata, id)
+ return fontdata
+ end
-local definers --- (string, spec -> size -> id -> tmfdata) hash_t
-do
- local ctx_read = fonts.definers.read
- local register = fonts.definers.register
local function read(specification, size, id)
- local tfmdata = ctx_read(specification, size, id)
- if not tfmdata or id or tonumber(tfmdata) then
- return tfmdata
+ local fontdata = ltx_read(specification, size, id)
+ if not fontdata or id or tonumber(fontdata) then
+ return fontdata
end
- id = font.define(tfmdata)
- register(tfmdata, id)
+ id = font.define(fontdata)
+ register(fontdata, id)
return id
end
local function patch (specification, size, id)
- local fontdata = ctx_read (specification, size, id)
+ local fontdata = ltx_read (specification, size, id)
----if not fontdata then not_found_msg (specification, size, id) end
if type (fontdata) == "table" and fontdata.encodingbytes == 2 then
--- We need to test for `encodingbytes` to avoid passing
diff --git a/macros/luatex/generic/luaotfload/luaotfload-log.lua b/macros/luatex/generic/luaotfload/luaotfload-log.lua
index 8622b465ef..74b364e874 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --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 9db7f4c75d..6d802cbbc2 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 {2022-03-18 v3.21}
+ \setdocumentdate {2022-06-15 v3.22}
\setdocumentauthor {LaTeX3 Project\\
Elie Roux · Khaled Hosny · Philipp Gesang · Ulrike Fischer · Marcel Krüger\\
Home: \hyperlink {https://github.com/latex3/luaotfload}}
@@ -40,14 +40,14 @@
\typesetdocumenttitle
\beginabstractcontent
- This package is an adaptation of the \CONTEXT font loading system.
- It allows for loading \OpenType fonts with an extended syntax and adds
+ This package is an adaptation of the \ConTeXt\ font loading system.
+ It allows for loading \OpenType\ fonts with an extended syntax and adds
support for a variety of font features.
After discussion of the font loading API, this manual gives an
overview of the core components of \identifier{Luaotfload}: The
packaged font loader code, the names database, configuration, and
- helper functions on the \LUA\ end.
+ helper functions on the \Lua\ end.
\endabstractcontent
\endfrontmatter
@@ -62,6 +62,16 @@ Supported is the \identifier{luatex} versions of a current TeXLive 2019 (and a c
\endsection
\beginsection{Changes}
+\beginsubsection {New in version 3.22}
+\begin{itemize}
+ \item Tailored case mappings
+ \item Avoid database rebuilds when switching Lua versions
+ \item Improved attribute settings of ActualText nodes in harf mode
+ \item Callback-based customization for color parameter
+ \item Various bug fixes
+\end{itemize}
+\endsubsection
+
\beginsubsection {New in version 3.21 (by Ulrike Fischer/Marcel Krüger)}
\begin{itemize}
\item Fix performance regression introduced in version 3.19.
@@ -80,7 +90,7 @@ Supported is the \identifier{luatex} versions of a current TeXLive 2019 (and a c
\beginsubsection {New in version 3.19 (by Ulrike Fischer/Marcel Krüger)}
\begin{itemize}
- \item When used with Lua\TeX\ 1.15.0 or newer, variable fonts are supported
+ \item When used with \LuaTeX\ 1.15.0 or newer, variable fonts are supported
when using the \texttt{harf} shaper too.
\item A new algorithm for selecting fonts based on font family names allows
to more reliably load fonts based on their family name.
@@ -105,7 +115,7 @@ Supported is the \identifier{luatex} versions of a current TeXLive 2019 (and a c
\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
+ \item The experimental support for \OpenType\ variable fonts has been extended
to more reliably support modern fonts.
\item A number of small bugfixes.
\end{itemize}
@@ -123,7 +133,7 @@ Supported is the \identifier{luatex} versions of a current TeXLive 2019 (and a c
first/second discretionaries (the mechanism described in the LuaTeX manual,
section 5.6 for the of-f-ice example) to support a limited amount of
nesting.
- \item When the \texttt{node} shaper is used, experimental support for OpenType variable
+ \item When the \texttt{node} shaper is used, experimental support for \OpenType\ variable
fonts has been added. To use them, set the font feature \texttt{axis} to
a comma separated list of axis names and values. (E.g. \texttt{axis={weight=600}})
The supported axis names and value range depend on the font (see~page~\pageref{variablefonts}).
@@ -141,7 +151,7 @@ Supported is the \identifier{luatex} versions of a current TeXLive 2019 (and a c
\item In multiple error cases, error messages are shown instead of silently
generating bad output.
\item Write glyph ids instead of internal identifiers to DVI files. This
- allows using OpenType fonts when working with \identifier{dvilualatex}.
+ allows using \OpenType\ fonts when working with \identifier{dvilualatex}.
(This requires additional support from the DVI reader)
\item The\marginpar{\mbox{}\hfill \textbf{Change!}} set of font features which
are enabled by default has been changed to be more similar to HarfBuzz.
@@ -304,14 +314,14 @@ On the other side there is a lot new:
\begindescriptions
- \beginaltitem {Fontloader} The fontloader files imported from \CONTEXT\ have been updated to the current version.
- This was necessary to make \identifier{Luaotfload} compatible with the coming \LUATEX 1.08/1.09. Compared to the previous version from february 2017 quite a number of things have changed. Most importantly the handling of arabic fonts has greatly improved. But this also means that changes in the output are possible.
+ \beginaltitem {Fontloader} The fontloader files imported from \ConTeXt\ have been updated to the current version.
+ This was necessary to make \identifier{Luaotfload} compatible with the coming \LuaTeX\ 1.08/1.09. Compared to the previous version from february 2017 quite a number of things have changed. Most importantly the handling of arabic fonts has greatly improved. But this also means that changes in the output are possible.
\endaltitem
\beginaltitem {Lualibs} The update of the fontloader files also required an update of the \identifier{Lualibs} package. This \identifier{Luaotfload} version needs version 2.6 of \identifier{Lualibs}.
\endaltitem
- \beginaltitem {Maintenance} As the current maintainer wasn't available and it was urgent to get a \identifier{Luaotfload} compatible with \LUATEX 1.08/1.09 maintenance has been transfered to Ulrike Fischer and Marcel Krüger. The package was maintained and developed at \hyperlink{https://github.com/u-fischer/luaotfload}.
+ \beginaltitem {Maintenance} As the current maintainer wasn't available and it was urgent to get a \identifier{Luaotfload} compatible with \LuaTeX\ 1.08/1.09 maintenance has been transfered to Ulrike Fischer and Marcel Krüger. The package was maintained and developed at \hyperlink{https://github.com/u-fischer/luaotfload}.
\endaltitem
\beginaltitem {Documentation}
@@ -326,16 +336,16 @@ On the other side there is a lot new:
\beginsection {Introduction}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Font management and installation has always been painful with \TEX. A
+Font management and installation has always been painful with \TeX. A
lot of files are needed for one font (\abbrev{tfm}, \abbrev{pfb},
\abbrev{map}, \abbrev{fd}, \abbrev{vf}), and due to the 8-Bit encoding
each font is limited to 256 characters.
-But the font world has evolved since the original \TEX, and new
+But the font world has evolved since the original \TeX, and new
typographic systems have appeared, most notably the so called
-\emphasis{smart font} technologies like \OpenType fonts (\abbrev{otf}).
+\emphasis{smart font} technologies like \OpenType\ fonts (\abbrev{otf}).
-These fonts can contain many more characters than \TEX fonts, as well
+These fonts can contain many more characters than \TeX\ fonts, as well
as additional functionality like ligatures, old-style numbers, small
capitals, etc., and support more complex writing systems like Arabic
and Indic\footnote{%
@@ -343,25 +353,25 @@ and Indic\footnote{%
scripts correctly. For these scripts it is recommended to use the harf mode along with the binary \identifier{luahbtex}.}
scripts.
-\OpenType fonts are widely deployed and available for all modern
+\OpenType\ fonts are widely deployed and available for all modern
operating systems.
As of 2013 they have become the de facto standard for advanced text
layout.
-However, until recently the only way to use them directly in the \TEX
-world was with the \XETEX engine.
+However, until recently the only way to use them directly in the \TeX\
+world was with the \XeTeX\ engine.
-Unlike \XETEX, \LUATEX has no built-in support for \OpenType or
-technologies other than the original \TEX fonts.
+Unlike \XeTeX, \LuaTeX\ has no built-in support for \OpenType\ or
+technologies other than the original \TeX\ fonts.
-Instead, it provides hooks for executing \LUA code during the \TEX run
+Instead, it provides hooks for executing \Lua\ code during the \TeX\ run
that allow implementing extensions for loading fonts and manipulating
how input text is processed without modifying the underlying engine.
This is where \identifier{luaotfload} comes into play:
-Based on code from \CONTEXT, it extends \LUATEX with functionality necessary
-for handling \OpenType fonts.
+Based on code from \ConTeXt, it extends \LuaTeX\ with functionality necessary
+for handling \OpenType\ fonts.
Additionally, it provides means for accessing fonts known to the operating
system conveniently by indexing the metadata.
@@ -372,9 +382,9 @@ system conveniently by indexing the metadata.
\beginsection {Thanks}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\identifier{Luaotfload} is part of \LUALATEX, the community-driven
-project to provide a foundation for using the \LATEX format with the
-full capabilites of the \LUATEX engine.
+\identifier{Luaotfload} is part of \hologo{LuaLaTeX}, the community-driven
+project to provide a foundation for using the \LaTeX\ format with the
+full capabilites of the \LuaTeX\ engine.
%
As such, the distinction between end users, contributors, and project
maintainers is intentionally kept less strict, lest we unduly
@@ -388,8 +398,8 @@ Their contributions -- be it patches, advice, or systematic
testing -- made the switch from version 1.x to 2.2 possible.
%
Also, Hans Hagen, the author of the font loader, made porting the
-code to \LATEX a breeze due to the extra effort he invested into
-isolating it from the rest of \CONTEXT, not to mention his assistance
+code to \LaTeX\ a breeze due to the extra effort he invested into
+isolating it from the rest of \ConTeXt, not to mention his assistance
in the task and willingness to respond to our suggestions.
\endsection
@@ -405,7 +415,7 @@ in the task and willingness to respond to our suggestions.
\meta{prefix}\nonproportional{:}%
\meta{font name}\nonproportional{:}%
\meta{font features}\nonproportional{\string}}%
- \meta{\TEX font features}
+ \meta{\TeX\ font features}
\endnarrower
\noindent
@@ -437,7 +447,7 @@ for a more formal description see figure \ref{font-syntax}.
\smallcaps {tfmname} is the name of a \abbrev{tfm} file.
\smallcaps {digit} again refers to bytes 48--57, and
\smallcaps {all\textunderscore characters} to all byte values.
- \smallcaps {csname} and \smallcaps {dimension} are the \TEX concepts.}
+ \smallcaps {csname} and \smallcaps {dimension} are the \TeX\ concepts.}
%
<definition> ::= `\\font', {\sc csname}, `=', <font request>, [ <size> ] ;
@@ -592,7 +602,7 @@ As is obvious from the last exception, the \inlinecode {file:} lookup will
not process paths to the font location -- only those
files found when generating the database are addressable this way.
%
-Continue below in the \XETEX section if you need to load your fonts
+Continue below in the \XeTeX\ section if you need to load your fonts
by path.
%
The file names corresponding to the example font names above are
@@ -620,7 +630,7 @@ Inside the square brackets, every character except for a closing bracket is
permitted, allowing for arbitrary paths to a font file -- including Windows
style paths with UNC or drive letter prepended -- to be specified.
%
-The \identifier{Luaotfload} syntax differs from \XETEX in that the subfont
+The \identifier{Luaotfload} syntax differs from \XeTeX\ in that the subfont
selector goes \emphasis{after} the closing bracket:
\beginnarrower
@@ -636,13 +646,13 @@ same way as an ordinary \inlinecode {file:} lookup.
\beginsubsection {Compatibility}
In addition to the regular prefixed requests, \identifier{luaotfload}
-accepts loading fonts the \XETEX way.
+accepts loading fonts the \XeTeX\ way.
%
There are again two modes: bracketed and unbracketed.
For the bracketed variety, see above, \ref{sec:bracket}.
Unbracketed (or, for lack of a better word: \emphasis{anonymous})
-font requests resemble the conventional \TEX syntax.
+font requests resemble the conventional \TeX\ syntax.
\beginnarrower
\nonproportional{\string\font\string\fontname\space= }%
@@ -653,7 +663,7 @@ font requests resemble the conventional \TEX syntax.
However, they have a broader spectrum of possible interpretations:
before anything else, \identifier{luaotfload} attempts to load a
-traditional \TEX Font Metric (\abbrev{tfm} or \abbrev{ofm}).
+traditional \TeX\ Font Metric (\abbrev{tfm} or \abbrev{ofm}).
%
If this fails, it performs a \inlinecode {path:} lookup, which itself will
fall back to a \inlinecode {file:} lookup.
@@ -665,7 +675,7 @@ The behavior of this “anonymous” lookup is configurable, see the configuatio
manpage for details.
Furthermore, \identifier{luaotfload} supports the slashed (shorthand)
-font style notation from \XETEX.
+font style notation from \XeTeX.
\beginnarrower
\nonproportional{\string\font\string\fontname\space= }%
@@ -681,8 +691,8 @@ Currently, four style modifiers are supported:
\inlinecode {B} for bold weight,
\inlinecode {BI} or \inlinecode {IB} for the combination of both.
%
-Other “slashed” modifiers are too specific to the \XETEX engine and
-have no meaning in \LUATEX.
+Other “slashed” modifiers are too specific to the \XeTeX\ engine and
+have no meaning in \LuaTeX.
\endsubsection
@@ -697,10 +707,10 @@ For example, conventional \TeX\ font can be loaded with a
\font \lmromanten = {file:ec-lmr10} at 10pt
\endlisting
-The \OpenType version of Janusz Nowacki’s font \emphasis{Antykwa
+The \OpenType\ version of Janusz Nowacki’s font \emphasis{Antykwa
Półtawskiego}\footnote{%
\hyperlink {http://jmn.pl/antykwa-poltawskiego/}, also available in
- in \TEX Live.
+ in \TeX\ Live.
}
in its condensed variant can be loaded as follows:
@@ -709,7 +719,7 @@ in its condensed variant can be loaded as follows:
\endlisting
The next example shows how to load the \emphasis{Porson} font digitized by
-the Greek Font Society using \XETEX-style syntax and an absolute path from a
+the Greek Font Society using \XeTeX-style syntax and an absolute path from a
non-standard directory:
\beginlisting
@@ -777,7 +787,7 @@ Which fits nicely with the whole set:
If the entire \emphasis{Iwona} family\footnote{%
\hyperlink {http://jmn.pl/kurier-i-iwona/},
- also in \TEX Live.
+ also in \TeX\ Live.
}
is installed in some location accessible by \identifier{luaotfload},
the regular shape can be loaded as follows:
@@ -823,12 +833,12 @@ general scheme for font requests:
\meta{font name}%
\nonproportional{:}%
\meta{font features}%
- \meta{\TEX font features}%
+ \meta{\TeX\ font features}%
\nonproportional{"}
\endnarrower
\noindent
-If style modifiers are present (\XETEX style), they must precede
+If style modifiers are present (\XeTeX\ style), they must precede
\meta{font features}.
The element \meta{font features} is a semicolon-separated list of feature
@@ -878,19 +888,19 @@ obviously, \inlinecode{random}.
\begindescriptions
\beginaltitem {mode}
- \identifier{luaotfload} had three \OpenType processing
+ \identifier{luaotfload} had three \OpenType\ processing
\emphasis{modes}:
\identifier{base}, \identifier{node} and \identifier{harf}.
- \identifier{base} mode works by mapping \OpenType
- features to traditional \TEX ligature and kerning mechanisms.
+ \identifier{base} mode works by mapping \OpenType\
+ features to traditional \TeX\ ligature and kerning mechanisms.
%
Supporting only non-contextual substitutions and kerning
pairs, it is the slightly faster, albeit somewhat limited, variant.
%
\identifier{node} mode works by processing \TeX’s internal
- node list directly at the \LUA end and supports
- a wider range of \OpenType features.
+ node list directly at the \Lua\ end and supports
+ a wider range of \OpenType\ features.
%
The downside is that the intricate operations required for
\identifier{node} mode may slow down typesetting especially
@@ -937,7 +947,7 @@ obviously, \inlinecode{random}.
\endaltitem
\beginaltitem {script} \phantomsection\label{script-tag}
- An \OpenType script tag;\footnote{%
+ An \OpenType\ script tag;\footnote{%
See \hyperlink {http://www.microsoft.com/typography/otspec/scripttags.htm}
for a list of valid values.
%
@@ -952,7 +962,7 @@ obviously, \inlinecode{random}.
\endaltitem
\beginaltitem {language}
- An \OpenType language system identifier,\footnote{%
+ An \OpenType\ language system identifier,\footnote{%
Cf. \hyperlink {http://www.microsoft.com/typography/otspec/languagetags.htm}.
}
defaulting to \inlinecode{dflt}.
@@ -1010,7 +1020,7 @@ obviously, \inlinecode{random}.
\beginaltitem {axis\&instance}
- Experimental!\marginpar{\mbox{}\hfill NEW in v3.15!} Support for OpenType variable fonts. \emph{Varible fonts are only
+ Experimental!\marginpar{\mbox{}\hfill NEW in v3.15!} Support for \OpenType\ variable fonts. \emph{Varible fonts are only
supported in \texttt{base} and \texttt{node} mode, not in \texttt{harf}
mode.}
@@ -1081,7 +1091,7 @@ obviously, \inlinecode{random}.
Context, see the file \fileent{typo-krn.lua} there.
%
The main difference is that \identifier{luaotfload} does not
- use \LUATEX attributes to assign letterspacing to regions,
+ use \LuaTeX\ attributes to assign letterspacing to regions,
but defines virtual letterspaced versions of a font.
The option \identifier{kernfactor} accepts a numeric value that
@@ -1093,7 +1103,8 @@ obviously, \inlinecode{random}.
pair of glyphs.
%
- Spaces\marginpar{\mbox{}\hfill NEW in v2.96!} between words are now stretched too. This is consistent with the \XETEX behaviour (and the amount of stretching should be similar). This
+ Spaces\marginpar{\mbox{}\hfill NEW in v2.96!} between words are now
+ stretched too. This is consistent with the \XeTeX\ behaviour (and the amount of stretching should be similar). This
naturally changes the output of a document. In case you want the old behaviour back use
\beginlisting
\directlua{luaotfload.letterspace.keepwordspacing = true}
@@ -1114,7 +1125,8 @@ obviously, \inlinecode{random}.
Ligatures\marginpar{\mbox{}\hfill NEW in v2.96!} are no longer split into their component glyphs.
- This change too make the \identifier{luaotfload} more compatible with \XETEX. It also makes it much easier to activate or deactivate ligature sets in letterspaced fonts.
+ This change too make the \identifier{luaotfload} more compatible with
+ \XeTeX. It also makes it much easier to activate or deactivate ligature sets in letterspaced fonts.
If you want to split ligatures, you should deactivate as you would do it with a not-letterspaced font, e.g. with the fontspec \identifier{Ligatures} option, or the low-level \identifier{-liga} and similar.
@@ -1128,7 +1140,7 @@ obviously, \inlinecode{random}.
\test No ligatures: fi -- ff \par
}
- For compatibility with \XETEX an alternative
+ For compatibility with \XeTeX\ an alternative
\identifier{letterspace} option is supplied that interprets the
supplied value as a \emphasis{percentage} of the font size but
is otherwise identical to \identifier{kernfactor}.
@@ -1145,7 +1157,7 @@ obviously, \inlinecode{random}.
Setting the ligatures with the font options is the recommended way, to activate or deactivate them. In case of special requirements
specific pairs of letters and ligatures may be exempt from
- letterspacing by defining the \LUA functions
+ letterspacing by defining the \Lua\ functions
\luaident{keeptogether} and \luaident{keepligature},
respectively, inside the namespace \inlinecode {luaotfload.letterspace}.
%
@@ -1162,7 +1174,7 @@ obviously, \inlinecode{random}.
analyzed into components.
%
(For details refer to the \emphasis{glyph nodes} section in the
- \LUATEX reference manual.)
+ \LuaTeX\ reference manual.)
%
The implementation of both functions is left entirely to the
user.
@@ -1180,7 +1192,7 @@ obviously, \inlinecode{random}.
namely \emphasis{character protrusion} and \emphasis{font
expansion}.
%
- Their arguments are names of \LUA tables that contain
+ Their arguments are names of \Lua\ tables that contain
values for the respective features.\footnote{%
For examples of the table layout please refer to the
section of the file \fileent{luaotfload-fonts-ext.lua} where the
@@ -1208,7 +1220,7 @@ obviously, \inlinecode{random}.
\inlinecode {pdfadjustspacing=2}
to activate protrusion and expansion, respectively.
See the
- \hyperlink [\PDFTEX manual]{http://mirrors.ctan.org/systems/pdftex/manual/pdftex-a.pdf}%
+ \hyperlink [\hologo{pdfTeX} manual]{http://mirrors.ctan.org/systems/pdftex/manual/pdftex-a.pdf}%
for details.
}:
@@ -1355,23 +1367,56 @@ obviously, \inlinecode{random}.
\beginaltitem {upper/lower}
The\phantomsection\label{upperlower}\marginpar{New in 3.16}
font features \texttt{upper} and \texttt{lower} can be used to map
- the text of a font to upper or lowercase before displaying it. Currently
- this implements the untailored Unicode case mapping algorithm, but it is
- planned to add tailoring later. For example
+ the text of a font to upper or lowercase before displaying it.
+
+ By default the casemapping is automatically tailored based on the active
+ \texttt{language} font feature. This automatic tailoring can be overwritten
+ by passing a two letter language tag to the \texttt{upper} or \texttt{lower}
+ feature. In addition to ordinary language tags, the tags \texttt{el-x-iota},
+ \texttt{hy-x-yiwn} and \texttt{de-x-eszett} can be used. \texttt{el-x-iota}
+ adapts the greek rules for uppercasing to keep iota subscripts as combining
+ characters which sufficiently well behaving fonts can render in appropriate
+ ways while the default for greek is to convert these into capital iotas.
+ \texttt{de-x-eszett} adapts uppercasing for german to use the capital eszett
+ instead of uppercasing the eszett to double capital s.
\beginlisting
- \font\test={name:LatinModernRoman:mode=node;+upper;}
+ \font\test={kpse:LinLibertine_R.otf:mode=node;+upper;}
+ \test Grüße
+ \font\test={kpse:LinLibertine_R.otf:mode=node;upper=de-x-eszett;}
\test Grüße
\endlisting
- {\Large\font\test={name:LatinModernRoman:mode=node;+upper;}\test Grüße}
+ {\Large
+ \font\test={kpse:LinLibertine\string_R.otf:mode=node;+upper;}\test Grüße
+ \font\test={kpse:LinLibertine\string_R.otf:mode=node;upper=de-x-eszett;}\test Grüße
+ }
+
+ \beginlisting
+ \font\test={kpse:LinLibertine_R.otf:mode=node;script=grek;+upper;}
+ No specified language: {\test εἰσενέγκῄς ἡμᾶς}\par
+ \font\test={kpse:LinLibertine_R.otf:mode=node;script=grek;language=ell;+upper;}
+ Greek uppercasing: {\test εἰσενέγκῄς ἡμᾶς}\par
+ \font\test={kpse:LinLibertine_R.otf:mode=node;script=grek;language=ell;+upper=el-x-iota;}
+ Greek variant: {\test εἰσενέγκῄς ἡμᾶς}\par
+ \endlisting
+
+ {%
+ \font\test={kpse:LinLibertine\string_R.otf:mode=node;script=grek;+upper;}
+ No specified language: {\test εἰσενέγκῄς ἡμᾶς}\par
+ \font\test={kpse:LinLibertine\string_R.otf:mode=node;script=grek;language=ell;+upper;}
+ Greek uppercasing: {\test εἰσενέγκῄς ἡμᾶς}\par
+ \font\test={kpse:LinLibertine\string_R.otf:mode=node;script=grek;language=ell;+upper=el-x-iota;}
+ Greek variant: {\test εἰσενέγκῄς ἡμᾶς}\par
+ }
+
\endaltitem
\beginaltitem {Variable fonts}
When\phantomsection\label{variablefonts}\marginpar{New in 3.16}
the \texttt{node} shaper is used,
- experimental support for OpenType variable
+ experimental support for \OpenType\ variable
fonts has been added. To use them, set the font feature \texttt{axis} to
a comma separated list of axis names and values. (E.g. \texttt{axis={weight=600}})
The supported axis names and value range depend on the font (see~page~\pageref{variablefonts}).
@@ -1419,8 +1464,8 @@ obviously, \inlinecode{random}.
\beginsubsection {Non-standard font features}
\identifier{luaotfload} adds a number of features that are not defined
-in the original \OpenType specification, most of them
-aiming at emulating the behavior familiar from other \TEX engines.
+in the original \OpenType\ specification, most of them
+aiming at emulating the behavior familiar from other \TeX\ engines.
%
Currently (2014) there are three of them:
@@ -1433,12 +1478,12 @@ Currently (2014) there are three of them:
\endaltitem
\beginaltitem {tlig}
- Applies legacy \TEX ligatures\footnote{%
+ Applies legacy \TeX\ ligatures\footnote{%
These contain the feature set \inlinecode {trep} of earlier
versions of \identifier{luaotfload}.
- Note to \XETEX users: this is the equivalent of the
- assignment \inlinecode {mapping=text-tex} using \XETEX's input
+ Note to \XeTeX\ users: this is the equivalent of the
+ assignment \inlinecode {mapping=text-tex} using \XeTeX's input
remapping feature.
}:
@@ -1572,13 +1617,13 @@ the respective font, if available.
\label{sec:fontdb}
As mentioned above, \identifier{luaotfload} keeps track of which
-fonts are available to \LUATEX by means of a \emphasis{database}.
+fonts are available to \LuaTeX\ by means of a \emphasis{database}.
%
This allows referring to fonts not only by explicit filenames but
also by the proper names contained in the metadata which is often
more accessible to humans.\footnote{%
The tool \hyperlink[\fileent{otfinfo}]{http://www.lcdf.org/type/}
- (comes with \TEX Live), when invoked on a font file with the
+ (comes with \TeX\ Live), when invoked on a font file with the
\inlinecode {-i} option, lists the variety of name fields defined for
it.
}
@@ -1614,12 +1659,12 @@ To this end, \identifier{luaotfload} comes with the utility
\fileent{luaotfload-tool} that offers an interface to the database
functionality.
%
-Being a \LUA script, there are two ways to run it:
+Being a \Lua\ script, there are two ways to run it:
either make it executable (\inlinecode {chmod +x} on unixoid systems) or
pass it as an argument to \fileent{texlua}.\footnote{%
Tests by the maintainer show only marginal performance gain by
running with Luigi Scarso’s
- \hyperlink [\identifier{Luajit\kern-.25ex\TEX}]{https://foundry.supelec.fr/projects/luajittex/},
+ \hyperlink [\identifier{Luajit\kern-.25ex\TeX}]{https://foundry.supelec.fr/projects/luajittex/},
which is probably due to the fact that most of the time is spent
on file system operations.
@@ -1749,8 +1794,8 @@ using the \inlinecode {-i} option (\inlinecode {--info}).
%
\noindent
The meaning of the printed values is described in section 4.4 of the
-\LUATEX reference manual.\footnote{%
- In \TEX Live: \fileent{texmf-dist/doc/luatex/base/luatexref-t.pdf}.
+\LuaTeX\ reference manual.\footnote{%
+ In \TeX\ Live: \fileent{texmf-dist/doc/luatex/base/luatexref-t.pdf}.
}
For a much more detailed report about a given font try the
@@ -1773,7 +1818,7 @@ capabilities refer to the manpage
\beginsubsection {Blacklisting Fonts}
\label{font-blacklist}
-Some fonts are problematic in general, or just in \LUATEX.
+Some fonts are problematic in general, or just in \LuaTeX.
%
If you find that compiling your document takes far too long or eats
away all your system’s memory, you can track down the culprit by
@@ -1795,7 +1840,7 @@ is ignored, so use this to add comments.
Place this file to some location where the \identifier{kpse}
library can find it, e.~g.
\fileent{texmf-local/tex/luatex/luaotfload} if you are running
-\identifier{\TEX Live},\footnote{%
+\identifier{\TeX\ Live},\footnote{%
You may have to run \inlinecode {mktexlsr} if you created a new file in
your \fileent{texmf} tree.
}
@@ -1829,19 +1874,19 @@ An example with explicit paths:
To a large extent, \identifier{luaotfload} relies on code originally
written by Hans Hagen for the
-\hyperlink[\identifier{\CONTEXT}]{http://wiki.contextgarden.net}
+\hyperlink[\identifier{\ConTeXt}]{http://wiki.contextgarden.net}
format.
%
-It integrates the font loader, written entirely in \LUA, as distributed
-in the \identifier{\LUATEX-Fonts} package.
+It integrates the font loader, written entirely in \Lua, as distributed
+in the \identifier{\LuaTeX-Fonts} package.
%
-The original \LUA source files have been combined using the \CONTEXT
+The original \Lua\ source files have been combined using the \ConTeXt\
packaging library into a single, self-contained blob. In
this form the font loader depends only on the \identifier{lualibs}
package and requires only minor adaptions to integrate into
\identifier{luaotfload}.
-The guiding principle is to let \CONTEXT/\LUATEX-Fonts take care of the
+The guiding principle is to let \ConTeXt/\LuaTeX-Fonts take care of the
implementation, and update the imported code as frequently as
necessary.
%
@@ -1850,8 +1895,8 @@ As maintainers, we aim at importing files from upstream essentially
clashes.
%
This job has been greatly alleviated since the advent of
-\LUATEX-Fonts, prior to which the individual dependencies had to be
-manually spotted and extracted from the \CONTEXT source code in a
+\LuaTeX-Fonts, prior to which the individual dependencies had to be
+manually spotted and extracted from the \ConTeXt\ source code in a
complicated and error-prone fashion.
\endsubsection
@@ -1865,16 +1910,16 @@ See see the figure on page \pageref{file-graph} for a
graphical representation of the dependencies.
%
\label{package}%
-Through the script \fileent{mkimport} a \CONTEXT library
+Through the script \fileent{mkimport} a \ConTeXt\ library
is invoked to create the \identifier{luaotfload} fontloader as a merged
(amalgamated) source file.\footnote{%
- In \CONTEXT, this facility can be accessed by means of a
+ In \ConTeXt, this facility can be accessed by means of a
\hyperlink[script]{https://bitbucket.org/phg/context-mirror/src/beta/scripts/context/lua/mtx-package.lua?at=beta}
which is integrated into \fileent{mtxrun} as a subcommand.
Run \inlinecode {mtxrun --script package --help} to display further
information.
For the actual merging code see the file
- \fileent{util-mrg.lua} that is part of \CONTEXT.
+ \fileent{util-mrg.lua} that is part of \ConTeXt.
}
%
This file constitutes the “default fontloader” and is part of the
@@ -1882,29 +1927,29 @@ This file constitutes the “default fontloader” and is part of the
where the uppercase letters are placeholders for the build date.
%
A companion to it, \fileent{luatex-basics-gen.lua} (renamed to \fileent{fontloader-basics-gen.lua} in \identifier{luaotfload})
-must be loaded beforehand to set up parts of the environment required by the \CONTEXT
-libraries.
+must be loaded beforehand to set up parts of the environment required
+by the \ConTeXt\ libraries.
%
-During a \TEX\ run, the fontloader initialization and injection happens
+During a \TeX\ run, the fontloader initialization and injection happens
in the module \fileent{luaotfload-init.lua}.
%
-Additionally, the “reference fontloader” as imported from \LUATEX-Fonts
+Additionally, the “reference fontloader” as imported from \LuaTeX-Fonts
is provided as the file \fileent{fontloader-reference.lua}.
%
-This file is self-contained in that it packages all the auxiliary \LUA
+This file is self-contained in that it packages all the auxiliary \Lua\
libraries too, as Luaotfload did up to the 2.5 series; since that job
has been offloaded to the \identifier{Lualibs} package, loading this
fontloader introduces a certain code duplication.
-A number of \emphasis{\LUA utility libraries} are not part of the
+A number of \emphasis{\Lua\ utility libraries} are not part of the
\identifier{luaotfload} fontloader, contrary to its equivalent in
-\LUATEX-Fonts. These are already provided by the \identifier{lualibs}
+\LuaTeX-Fonts. These are already provided by the \identifier{lualibs}
and have thus been omitted from the merge.\footnote{%
Faithful listeners will remember the pre-2.6 era when the fontloader
used to be integrated as-is which caused all kinds of code
duplication with the pervasive \identifier{lualibs} package.
This conceptual glitch has since been amended by tightening the
- coupling with the excellent \CONTEXT\ toolchain.
+ coupling with the excellent \ConTeXt\ toolchain.
}
\begindoublecolumns
@@ -1913,13 +1958,13 @@ and have thus been omitted from the merge.\footnote{%
\enddefinitions
\enddoublecolumns
-The reference fontloader is home to several \LUA files that can be
+The reference fontloader is home to several \Lua\ files that can be
grouped twofold as below:
\begindefinitions
\beginnormalitem
The \emphasis{font loader} itself.
- These files have been written for \LUATEX-Fonts and they are
+ These files have been written for \LuaTeX-Fonts and they are
distributed along with \identifier{luaotfload} so as to resemble
the state of the code when it was imported. Their purpose is either
to give a slightly aged version of a file if upstream considers
@@ -1936,7 +1981,7 @@ grouped twofold as below:
\beginnormalitem
Code related to \emphasis{font handling and node processing}, taken
- directly from \CONTEXT.
+ directly from \ConTeXt.
\begindoublecolumns
\begindefinitions
\directlua{printctxfontlist ()}
@@ -1946,15 +1991,15 @@ grouped twofold as below:
\enddefinitions
As an alternative to the merged file, \identifier {Luaotfload} may load
-individual unpackaged \LUA libraries that come with the source, or even
+individual unpackaged \Lua\ libraries that come with the source, or even
use the files from Context directly.
%
-Thus if you prefer running bleeding edge code from the \CONTEXT beta,
+Thus if you prefer running bleeding edge code from the \ConTeXt\ beta,
choose the \inlinecode {context} fontloader via the configuration file
(see sections \ref{sec:conf} and \ref{sec:pkg} below).
Also, the merged file at some point loads the Adobe Glyph List from a
-\LUA table that is contained in \fileent{luaotfload-glyphlist.lua},
+\Lua\ table that is contained in \fileent{luaotfload-glyphlist.lua},
which is automatically generated by the script
\fileent{mkglyphlist}.\footnote{%
See \fileent{luaotfload-font-enc.lua}.
@@ -1963,23 +2008,23 @@ which is automatically generated by the script
}
%
There is a make target \identifier{glyphs} that will create a fresh
-glyph list so we don’t need to import it from \CONTEXT any longer.
+glyph list so we don’t need to import it from \ConTeXt\ any longer.
In addition to these, \identifier{luaotfload} requires a number of
files not contained in the merge. Some of these have no equivalent in
-\LUATEX-Fonts or \CONTEXT, some were taken unmodified from the latter.
+\LuaTeX-Fonts or \ConTeXt, some were taken unmodified from the latter.
\beginfilelist
\beginaltitem {luaotfload-features.lua}
font feature handling; incorporates some of the code from
- \fileent{font-otc} from \CONTEXT;
+ \fileent{font-otc} from \ConTeXt;
\endaltitem
\beginaltitem {luaotfload-configuration.lua}
handling of \fileent{luaotfload.conf(5)}.
\endaltitem
\beginaltitem {luaotfload-log.lua}
- overrides the \CONTEXT logging functionality.
+ overrides the \ConTeXt\ logging functionality.
\endaltitem
\beginaltitem {luaotfload-loaders.lua}
registers readers in the fontloader for various kinds of
@@ -2028,13 +2073,13 @@ To specify the fontloader you wish to use, the configuration file
%
Its value can be one of the identifiers \inlinecode{default} or
\inlinecode{reference} (see above, section \ref{package}) or the name
-of a file somewhere in the search path of \LUATEX.
+of a file somewhere in the search path of \LuaTeX.
%
-This will make \identifier {Luaotfload} locate the \CONTEXT source by
+This will make \identifier {Luaotfload} locate the \ConTeXt\ source by
means of \identifier{kpathsea} lookups and use those instead of the
merged package.
%
-The parameter may be extended with a path to the \CONTEXT
+The parameter may be extended with a path to the \ConTeXt\
\fileent{texmf}, separated with a colon:
\beginlisting
@@ -2044,14 +2089,14 @@ The parameter may be extended with a path to the \CONTEXT
\noindent This setting allows accessing an installation -- e. g. the
standalone distribution or a source repository -- outside the current
-\TEX distribution.
+\TeX\ distribution.
Like the \identifier{Lualibs} package, the fontloader is deployed as a
-\emphasis{merged package} containing a series of \LUA files joined
+\emphasis{merged package} containing a series of \Lua\ files joined
together in their expected order and stripped of non-significant parts.
%
The \fileent{mkimport} utility assists in pulling the files from a
-\CONTEXT tree and packaging them for use with \identifier{Luaotfload}.%
+\ConTeXt\ tree and packaging them for use with \identifier{Luaotfload}.%
%
The state of the files currently in \identifier{Luaotfload}’s
repository can be queried:
@@ -2059,7 +2104,7 @@ repository can be queried:
./scripts/mkimport news
\endlisting
%
-The subcommand for importing takes the prefix of the desired \CONTEXT
+The subcommand for importing takes the prefix of the desired \ConTeXt\
\identifier{texmf} as an optional argument:
\beginlisting
./scripts/mkimport import ~/context/tex/texmf-context
@@ -2084,7 +2129,7 @@ Whether files have been updated in the upstream distribution can be
queried by \inlinecode{./scripts/mkimport news}.
%
This will compare the imported files with their counterparts in the
-\CONTEXT distribution and report changes.
+\ConTeXt\ distribution and report changes.
\endsubsection
@@ -2151,11 +2196,11 @@ as below:
This specifies that for the given project, \identifier{Luaotfload}
shall not attempt to automatically scan for fonts if it can’t resolve a
-request. The font-based colorization will happen during \LUATEX’s
+request. The font-based colorization will happen during \LuaTeX’s
pre-linebreak filter. The fontloader will output verbose information
about the fonts at definition time along with globally increased
verbosity. Lastly, the fontloader defaults to the less expensive
-\luaident{base} mode like it does in \CONTEXT.
+\luaident{base} mode like it does in \ConTeXt.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\beginsection {Auxiliary Functions}
@@ -2223,7 +2268,7 @@ writes an entire font object to the file \fileent{fontdump.lua}:
code, taking up 3~\abbrev{mb} of disk space.
%
By inspecting the output you can get a first impression of how a font
-is structured in \LUATEX’s memory, what elements it is composed of,
+is structured in \LuaTeX’s memory, what elements it is composed of,
and in what ways it can be rearranged.
\beginsubsubsection {Compatibility with Earlier Versions}
@@ -2247,16 +2292,16 @@ subtables in the meantime.
\beginsubsubsection{Patches}
-These are mostly concerned with establishing compatibility with \XETEX.
+These are mostly concerned with establishing compatibility with \XeTeX.
\beginfunctionlist
\beginaltitem {set_sscale_dimens}
- Calculate \texmacro{fontdimen}s 10 and 11 to emulate \XETEX.
+ Calculate \texmacro{fontdimen}s 10 and 11 to emulate \XeTeX.
\endaltitem
\beginaltitem {set_capheight}
- Calculates \texmacro{fontdimen} 8 like \XETEX.
+ Calculates \texmacro{fontdimen} 8 like \XeTeX.
\endaltitem
\beginaltitem {patch_cambria_domh}
@@ -2269,7 +2314,7 @@ These are mostly concerned with establishing compatibility with \XETEX.
\beginsubsection {Package Author’s Interface}
-As \LUATEX release 1.0 is nearing, the demand for a reliable interface
+As \LuaTeX\ release 1.0 is nearing, the demand for a reliable interface
for package authors increases.
\endsubsubsection
@@ -2334,7 +2379,7 @@ are defined for which scripts.
\beginaltitem {aux.sprint_math_dimension(id : int, dimension : string)}
Same as \luaident{get_math_dimension()}, but output the value
- in scaled points at the \TEX end.
+ in scaled points at the \TeX\ end.
\endaltitem
\endfunctionlist
@@ -2372,6 +2417,94 @@ are defined for which scripts.
\endsubsubsection
\endsubsection
+
+\beginsubsection {Format Author’s Interface}
+
+Additionally some functions are provided which should only be needed for
+format authors trying to integrate \identifier{luaotfload}'s color handling
+with the conventions of a specific format.
+
+End users should never have to work with these.
+
+\endsubsubsection
+
+\beginsubsubsection{Color setting}
+
+\identifier{luaotfload}'s \inlinecode{color} feature can apply color in two
+different ways: By default it inserts \inlinecode{pdf_colorstack} whatsits
+containing the PDF code to change the color.
+
+Alternatively a function can be provided which gets called on every glyph
+node to be colored. This function can then e.g. apply an attribute which gets
+interpreted later.
+
+This can be enabled separately for colors and transparency by passing such
+callback functions:
+
+\beginfunctionlist
+
+ \beginaltitem {luaotfload.set_colorhandler((head : node, n : node, color :
+ string) -> (head : node, n : node)}
+ Mark the node \luaident{n} in the list starting with \luaident{head}
+ to be colored with color \luaident{color}.
+
+ By default the color is represented by literal PDF code setting the
+ color.
+ \endaltitem
+
+ \beginaltitem {luaotfload.set_transparenthandler((head : node, n : node,
+ level : string) -> (head : node, n : node)}
+ Mark the node \luaident{n} in the list starting with \luaident{head}
+ to be set transparently with transparency level \luaident{level}.
+
+ By default the transparency level is represented by literal PDF code setting the
+ transparency.
+ \endaltitem
+
+\endfunctionlist
+
+When these functions aren't used, then the color is set based on colorstack 0.
+By default a new colorstack is allocated for transparency, but alternatively an
+existsing colorstack for this prpose can be set:
+
+\beginfunctionlist
+
+ \beginaltitem {luaotfload.set_transparent_colorstack(stack : int)}
+ Use colorstack \luaident{stack} for setting transparency.
+ \endaltitem
+
+\endfunctionlist
+
+\endsubsubsection
+
+\beginsubsubsection{Color selection}
+
+Additionally the translation of the argument to \inlinecode{color} to an
+actual PDF color can be customized though three \luaident{exclusive} callbacks:
+
+Since there is only a single \inlinecode{color} feature which sets both the
+color and the transparency, the first callback
+\luaident{luaotfload.split_color} gets called with a single string representing
+the feature value and is supposed to return two values representing the color
+and the transparency part.
+
+The default implementation splits the string the feature value at a comma and
+strips outer spaces for both result values, except the HTML style 8 hexdigit
+RGBA values get split into the first 6 and the last two digits.
+
+Afterwards the return values get passed to the
+\luaident{luaotfload.parse_color} respectively
+\luaident{luaotfload.parse_transparent} callbacks (except that \luaident{false}
+and \luaident{nil} skip the corresponding callback).
+
+These callbacks should translate these strings components into valid PDF
+commands applyind the described color or transparency.
+
+All error handling and reporting should be done in the callbacks.
+
+\endsubsubsection
+
+\endsubsection
\endsection
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -2425,7 +2558,7 @@ being (see above, page \pageref{font-blacklist}).
\beginsubsection {Font Features}
A common problem is the lack of features for some
-\OpenType fonts even when specified.
+\OpenType\ fonts even when specified.
%
This can be related to the fact that some fonts do not provide features
for the \inlinecode {dflt} script (see above on page \pageref{script-tag}),
@@ -2449,10 +2582,10 @@ languages by querying it in \fileent{luaotfload-tool}:
\endsubsection
-\beginsubsection {\LUATEX Programming}
+\beginsubsection {\LuaTeX\ Programming}
Another strategy that helps avoiding problems is to not access raw
-\LUATEX internals directly.
+\LuaTeX\ internals directly.
%
Some of them, even though they are dangerous to access, have not been
overridden or disabled.
@@ -2471,10 +2604,10 @@ Instead, the function \luaident{font.getfont()} should be used
because it has been replaced by a safe variant.
However, \luaident{font.getfont()} only covers fonts handled by the
-font loader, e.~g. \identifier{OpenType} and \identifier{TrueType}
+font loader, e.~g. \OpenType\ and \identifier{TrueType}
fonts, but not \abbrev{tfm} or \abbrev{ofm}.
%
-Should you absolutely require access to all fonts known to \LUATEX,
+Should you absolutely require access to all fonts known to \LuaTeX,
including the virtual and autogenerated ones, then you need to query
both \luaident{font.getfont()} and \luaident{font.fonts}.
%
@@ -2506,7 +2639,7 @@ recognizes only that exact version as its license.
The „any later version” clause of the original license text as
copyrighted by the \hyperlink [Free Software Foundation]{http://www.fsf.org/}
\emphasis {does not apply} to either \identifier {luaotfload} or the
-code imported from \CONTEXT.
+code imported from \ConTeXt.
The complete text of the license is given as a separate file \fileent
{COPYING} in the toplevel directory of the
diff --git a/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua b/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua
index c315698a56..bc3921e203 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --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 fb763390f1..418ea79d57 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --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 6219525a7f..b2cc9c30ea 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --TAGDATE
description = "luaotfload submodule / parsers",
license = "GPL v2.0"
}
@@ -498,27 +498,6 @@ local function handle_xetex_option (val)
return tostring(1 + tonumber(val))
end
---[[doc--
-
- Dirty test if a file: request is actually a path: lookup; don’t
- ask! Note this fails on Windows-style absolute paths. These will
- *really* have to use the correct request.
-
---doc]]--
-
-local function check_garbage (_,i, garbage)
- if stringfind(garbage, "/") then
- logreport("log", 0, "load", --- ffs use path!
- "warning: path in file: lookups is deprecated; ")
- logreport("log", 0, "load", "use bracket syntax instead!")
- logreport("log", 0, "load",
- "position: %d; full match: %q",
- i, garbage)
- return true
- end
- return false
-end
-
local featuresep = comma + semicolon
--- modifiers ---------------------------------------------------------
@@ -598,10 +577,12 @@ local combolist = Ct(combodef1 * (comborowsep * combodef)^1)
local subfont = P"(" * Cg(R'09'^1 / function (s)
return tonumber(s) + 1
end + (1 - S"()")^1, "sub") * P")"
+-- An optional subfont shouldn't use subfont^-1 to ensure that parens
+-- at the subfont location are never interpreted in different ways.
+local maybe_subfont = subfont + #(1 - P"(" + -1)
--- lookups -----------------------------------------------------------
local fontname = C((1-S":(/")^1) --- like luatex-fonts
-local unsupported = Cmt((1-S":(")^1, check_garbage)
local combo = Cg(P"combo", "lookup") * colon * ws
* Cg(combolist, "name")
--- initially we intended file: to emulate the behavior of
@@ -610,10 +591,10 @@ local combo = Cg(P"combo", "lookup") * colon * ws
--- turns out fontspec and other widely used packages rely on file:
--- with paths already, so we’ll add a less strict rule here. anyways,
--- we’ll emit a warning.
-local prefixed = P"file:" * ws * Cg(Cc"path", "lookup")
- * Cg(unsupported, "name")
- + Cg(P"name" + "file" + "kpse" + "my", "lookup")
+local prefixed = Cg(P"name" + "file" + "kpse" + "my", "lookup")
* colon * ws * Cg(fontname, "name")
+ + Cg(P"id", "lookup")
+ * colon * ws * Cg(R'09'^1 / tonumber, "id")
local unprefixed = Cg(Cc"anon", "lookup") * Cg(fontname, "name")
--- Bracketed “path” lookups: These may contain any character except
--- for unbalanced brackets. A backslash escapes any following
@@ -628,7 +609,6 @@ local path_balanced = { (path_content + V(2))^1
, lbrk * V(1)^-1 * rbrk }
local path_lookup = Cg(Cc"path", "lookup")
* lbrk * Cg(Cs(path_balanced), "name") * rbrk
- * subfont^-1
--- features ----------------------------------------------------------
local balanced_braces = P{((1 - S'{}') + '{' * V(1) * '}')^0}
@@ -655,12 +635,11 @@ local feature_list = Cf(Ct""
--- top-level rules ---------------------------------------------------
--- \font\foo=<specification>:<features>
local features = Cg(feature_list, "features")
-local specification = (prefixed + unprefixed)
- * subfont^-1
+local specification = (path_lookup + prefixed + unprefixed)
+ * maybe_subfont
* modifier_list
-local font_request = Ct(path_lookup * (colon^-1 * features)^-1
- + combo --> TODO: feature list needed?
- + specification * (colon * features)^-1)
+local font_request = Ct(specification * (colon^-1 * features)^-1
+ + combo) --> TODO: feature list needed?
-- lpeg.print(font_request)
--- v2.5 parser: 1065 rules
diff --git a/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua b/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua
index 0034010817..135a843cf3 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --TAGDATE
description = "luaotfload submodule / resolvers",
license = "GPL v2.0"
}
@@ -148,6 +148,10 @@ local function resolve_tex_format (specification)
local name = specification.name
for i=1, #tex_formats do
local format = tex_formats [i]
+ local name = name
+ if name:sub(-#format-1) ~= '.' .. format then -- Add an explicit extension to avoid finding local fonts in other formats
+ name = name .. '.' .. format
+ end
local resolved = resolvers_findfile(name, format)
if resolved then
return resolved, format
@@ -231,8 +235,8 @@ local function resolve_kpse (specification)
local resolved = resolvers_findfile(name, suffix)
if resolved then return resolved end
end
- for t, format in next, fonts.formats do --- brute force
- local resolved = kpsefind_file (name, format)
+ for _, t in ipairs{'otf', 'ttf', 'pfb', 'lua', 'afm'} do --- brute force
+ local resolved = resolvers_findfile (name, t)
if resolved then return resolved, t end
end
end
diff --git a/macros/luatex/generic/luaotfload/luaotfload-scripts.lua b/macros/luatex/generic/luaotfload/luaotfload-scripts.lua
index 60b6f603dc..8d98f7ce37 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --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 5bd21db80c..7ec80b14fb 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-status.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-status.lua
@@ -1,6 +1,6 @@
return {
["hashes"]={
- { "fontloader-2022-02-24.lua", "4dc8ce07471f8af7aa98d835df654768" },
+ { "fontloader-2022-06-15.lua", "1d9c716b5c1d6ff84bee5e4ba3631eac" },
{ "fontloader-util-fil.lua", "d0accf4180201efd567816a25ad5e037" },
{ "fontloader-util-str.lua", "f4a9dd15c3e40cd3915749ac13837c95" },
{ "fontloader-l-unicode.lua", "f368874f11f3c525de5864fd413e4b24" },
@@ -24,7 +24,7 @@ return {
{ "fontloader-basics-nod.lua", "1750af43148def9e7a75c6900a96f9dc" },
{ "fontloader-font-imp-effects.lua", "d05997c1826355548ec9aec1346f9f23" },
{ "fontloader-font-imp-italics.lua", "defcb415bc1e0a0999b27773902adc18" },
- { "fontloader-font-imp-ligatures.lua", "26ffcf089391445f7af59536c8814364" },
+ { "fontloader-font-imp-ligatures.lua", "250f6f4488ee770c23177afb2ff75676" },
{ "fontloader-font-imp-tex.lua", "ceb087ef6fa2f89aed7179f60ddf8f35" },
{ "fontloader-font-shp.lua", "a40862fe382d26c1f3753431254bcfdd" },
{ "fontloader-font-def.lua", "b9d908c2338b7dc443ce9d1e9fcb7139" },
@@ -33,67 +33,67 @@ return {
{ "fontloader-font-one.lua", "bd39d42055a44ca2002f8ddbbbbf27c3" },
{ "fontloader-font-onr.lua", "6d161533f3437435e12a0ad64866df44" },
{ "fontloader-font-ocl.lua", "2a377351ae23c339764ec8ce2e8e9164" },
- { "fontloader-font-osd.lua", "a67b6fb465e7a8b9ecf7c6bbf8dfda03" },
- { "fontloader-font-otc.lua", "582295d3d1e44cd4a31e8bbc1156f7c1" },
+ { "fontloader-font-osd.lua", "9b5337b0051b8e42b6c8329127c59794" },
+ { "fontloader-font-otc.lua", "57f5270b894e40efa93149c7d3fb0209" },
{ "fontloader-font-ots.lua", "55316a605d11a1d07d38795224c90a63" },
{ "fontloader-font-ota.lua", "2bb12d708e35bc05443eba791e2554e7" },
- { "fontloader-font-oup.lua", "e6e2cc0a202aec2c787d5524e64d340a" },
+ { "fontloader-font-oup.lua", "76dc3379061e5650f772909966b5759e" },
{ "fontloader-font-otj.lua", "b2c165bd6771a57633f992d07384b739" },
{ "fontloader-font-oto.lua", "9febc4d75d17a543cd73fb17918f7307" },
- { "fontloader-font-otl.lua", "67078f58bc1a612e4646523538a4e3eb" },
+ { "fontloader-font-otl.lua", "308b1aab04bc131da7eb8e8c3b0471d4" },
{ "fontloader-font-ott.lua", "3f67b1b1d40bbc222681d8db4aff0f42" },
{ "fontloader-font-oti.lua", "309a75f9c14b77d87e94eba827dc4e71" },
- { "fontloader-font-dsp.lua", "7616dae672693fd8ec0f1892358019a2" },
- { "fontloader-font-ttf.lua", "feba1fdc80160343b24f89ef978e53cb" },
+ { "fontloader-font-dsp.lua", "4935e6605ffd7bf57e66f0b6c132f883" },
+ { "fontloader-font-ttf.lua", "a3ff07150b3535fd32f68748d53fcd36" },
{ "fontloader-font-cff.lua", "e38c1a40e1d1d577cdf7920fa50d0654" },
- { "fontloader-font-otr.lua", "91f70c1216e60227e1437b6c8dcd8647" },
+ { "fontloader-font-otr.lua", "1896ac990a961f6d6fec551ca9b52a83" },
{ "fontloader-font-vfc.lua", "a81c29eda98cd62cbebdb6c93544b50d" },
- { "fontloader-font-map.lua", "c4a39db5ad822b348aa61bca5f4a599a" },
+ { "fontloader-font-map.lua", "27ee748150e56f5f0e5f0fefc864f35e" },
{ "fontloader-font-cid.lua", "22b0367742fb253deef84ef7ccf5e8de" },
{ "fontloader-font-con.lua", "724e5dd14aec2d4d189f8619898004cf" },
{ "fontloader-font-ini.lua", "5343de60613adb24cdd7a8d2ee1d153c" },
{ "fontloader-data-con.lua", "23a0f5386d46a1c157ae82a373e35fa0" },
- { "fontloader-reference.lua", "066680a4fe38fad14eb27f56d4616104" },
+ { "fontloader-reference.lua", "c256fdcc4661bf9c868002fe0f996d73" },
{ "fontloader-basics-gen.lua", "4bc43036e9796fccb0b8869f4b05bf2e" },
{ "mktests", "918cb50be9ee8bd645ac1a27dc501e8c" },
- { "mkstatus", "1ad0366dc654e0d374b13acb88bdc195" },
+ { "mkstatus", "8bffa407d2323b24683f726fc6c1a634" },
{ "mkcharacters", "bfca0e96e1e351afe7077502f9595af9" },
{ "mkglyphlist", "7a8a8fdc0eac7fac2f13ec8f4e8e7aa9" },
{ "mkimport", "7d62f1042e548f8b9368f26b9ba4be5c" },
- { "luaotfload-glyphlist.lua", "990d281cc4c46f219d34f2104bf31409" },
+ { "luaotfload-glyphlist.lua", "a1eda1d4588777f77459f86bbe1f7500" },
{ "luaotfload-characters.lua", "76415ca3ede312cad6e09038323489ae" },
- { "luaotfload-dvi.lua", "8ddc7ee49050bcef1682c054f00d3bf5" },
- { "luaotfload-tounicode.lua", "fb7b0f47a74b414177bea5f982abf1de" },
- { "luaotfload-unicode.lua", "65c7651d19fe06ec17196c22c533f768" },
- { "luaotfload-resolvers.lua", "7fd3c8d3d5a76c89227110177e7979f3" },
- { "luaotfload-parsers.lua", "a7eb408eae165d6a61d11a705cab1b98" },
- { "luaotfload-fallback.lua", "e218dc2d291d024f2d1b45da766f6cfc" },
- { "luaotfload-szss.lua", "5d97cb13052848afe1aba7e7ebc1469c" },
- { "luaotfload-scripts.lua", "b987b6592183d5cc5ec858d5792cc381" },
- { "luaotfload-multiscript.lua", "3f88fec616eb7b3f56fc5932a0f1e4d8" },
- { "luaotfload-loaders.lua", "e9f98d4904d245facab3932c505ea0f8" },
- { "luaotfload-harf-plug.lua", "09076cf26ee8160a8eb667c6be500069" },
- { "luaotfload-harf-define.lua", "16079aa19c3862e2e8f6b8cb91cf037a" },
- { "luaotfload-notdef.lua", "c06af0d71ab75a68f3445ecc6fa4e7b3" },
- { "luaotfload-embolden.lua", "04466a99226e5724ef9287ec1a28263a" },
- { "luaotfload-letterspace.lua", "000b624f54d934aff044862b7a64d4e2" },
- { "luaotfload-features.lua", "26ff83b26be22a1962db807b51a362dc" },
- { "luaotfload-database.lua", "315be26e69005984329b81aa331e1365" },
- { "luaotfload-configuration.lua", "5b294133cd45a4a6f4b94388dbfc2964" },
- { "luaotfload-colors.lua", "5989cddee9b5371697c559ec201e27e7" },
- { "luaotfload-auxiliary.lua", "56ff5ca809e974b5630cdce6d287982d" },
- { "luaotfload-filelist.lua", "007dac159b4407ea6cb04dbfbc4d4c87" },
- { "luaotfload-tool.lua", "c3dcd23a9eb499b5878381b6ec01d8c9" },
- { "luaotfload-diagnostics.lua", "90d352ac043f299aa343830084deaa00" },
- { "luaotfload-log.lua", "22964216fb42c7b07623fc43da5149ac" },
- { "luaotfload-init.lua", "8acaf9e42a9c9fa1c398a0944d1a4d50" },
+ { "luaotfload-dvi.lua", "be1944354d7a1d6d4098966c9cc276b2" },
+ { "luaotfload-tounicode.lua", "20fa6d02bae4274d7fbe18ff8683ca76" },
+ { "luaotfload-unicode.lua", "69d17d1de56d8c0abdfb77ef7c11dfd6" },
+ { "luaotfload-resolvers.lua", "490ba5d0a7b5164f9908f690507e5569" },
+ { "luaotfload-parsers.lua", "daf4e973fb452f6a24d90c9a12508445" },
+ { "luaotfload-fallback.lua", "56b58f94896f842ef46f25cad0be39bb" },
+ { "luaotfload-szss.lua", "5512c588c3e53528f430d3dcd5342c61" },
+ { "luaotfload-scripts.lua", "85cd3d5a0df9a0faaf8888fca2352d91" },
+ { "luaotfload-multiscript.lua", "e84b33ced34f4ede4549e64831ba2e14" },
+ { "luaotfload-loaders.lua", "4b5f6a7ba70f6cbe4eb10c98cc54e39e" },
+ { "luaotfload-harf-plug.lua", "061fac6736fbe443c13fa66b1780366d" },
+ { "luaotfload-harf-define.lua", "ff5743a2e17370ec42e2715e7dcd3efa" },
+ { "luaotfload-notdef.lua", "a00724307cd32649101537414600da85" },
+ { "luaotfload-embolden.lua", "2050240a6c33c2cfbb4573f2c3f25507" },
+ { "luaotfload-letterspace.lua", "da30005de64912955267159c4310e215" },
+ { "luaotfload-features.lua", "cba1c85ff9f4bb3d1af3d3e40db30536" },
+ { "luaotfload-database.lua", "306e312f8d5cdebbfc8256bad91197ad" },
+ { "luaotfload-configuration.lua", "b9f0b1bebfc3cb0e79688c101b428ba5" },
+ { "luaotfload-colors.lua", "ceca08c762415386b78bbe6621ca2ba8" },
+ { "luaotfload-auxiliary.lua", "ef7e3f0b64c4dbfc1a498ce4078195aa" },
+ { "luaotfload-filelist.lua", "fb3ab92adb3e379822ed4568429b746c" },
+ { "luaotfload-tool.lua", "e2f826b49e3baff8d46f2454b985cf39" },
+ { "luaotfload-diagnostics.lua", "d7d7005692d1499e9685ab08f6152bf2" },
+ { "luaotfload-log.lua", "20d82599e760f75a4c080d2b08dfe084" },
+ { "luaotfload-init.lua", "0cf48cf4dbb22324a4b3e449830f21c5" },
{ "luaotfload-main.lua", "b19c9cc34cf1d676c39f872cfb41aef6" },
},
["notes"]={
["committer"]="Marcel Fabian Krüger <tex@2krueger.de>",
- ["description"]="v3.21/2022-03-18",
- ["loader"]="fontloader-2022-02-24.lua",
- ["revision"]="f3b4cee7b284e3e9d780315400166c53a4579f55",
- ["timestamp"]="2022-03-18 14:09:12 +0100",
+ ["description"]="v3.22/2022-06-15",
+ ["loader"]="fontloader-2022-06-15.lua",
+ ["revision"]="deb1cfef038a70ebd5a5762394adcbc0889c5cbf",
+ ["timestamp"]="2022-06-15 19:23:05 +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 71698946c3..6b105effbb 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --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 b1d77704cc..760e5c29b8 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --TAGDATE
description = "luaotfload submodule / Special feature handling",
license = "GPL v2.0",
author = "Marcel Krüger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload-t3.lua b/macros/luatex/generic/luaotfload/luaotfload-t3.lua
new file mode 100644
index 0000000000..215ba4b918
--- /dev/null
+++ b/macros/luatex/generic/luaotfload/luaotfload-t3.lua
@@ -0,0 +1,142 @@
+-----------------------------------------------------------------------
+-- FILE: luaotfload-t3.lua
+-- DESCRIPTION: part of luaotfload / Type 3
+-----------------------------------------------------------------------
+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-t3",
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --TAGDATE
+ description = "luaotfload submodule / Type 3 font handling",
+ license = "GPL v2.0",
+ author = "Marcel Krüger",
+ copyright = "Luaotfload Development Team",
+ }
+end
+
+--[[
+local function u8_to_utf16be(s)
+ local d = {}
+ local i = 0
+ for _, cp, cp2 in utf8.codes(s) do
+ i = i + 1
+ if cp > 0x10000 then
+ cp = cp - 0x10000
+ local high = (cp>>10) | 0xD800
+ local low = (cp&0x3FF) | 0xDC00
+ d[i] = string.format('%04X%04X', high, low)
+ else
+ d[i] = string.format('%04X', cp)
+ end
+ end
+ return table.concat(d, '', 1, i)
+end
+]]
+
+local function t3factory(basename, designsize, callback)
+ local count = 0
+ local gid_to_t3 = {}
+ local t3_to_gid = {}
+ return function(size)
+ local fids = {}
+ return function(gid, width, unicode)
+ local t3id = gid_to_t3[gid]
+ if not t3id then
+ t3id = count
+ count = count + 1
+ gid_to_t3[gid] = t3id
+ t3_to_gid[t3id] = gid
+ end
+ local t3fid, t3cid = t3id >> 8, ~(t3id & 0xFF)
+ local fid = fids[t3fid + 1]
+ local fontdir = fid and font.getfont(fid)
+ local characters = fontdir and fontdir.characters
+ if not (characters and characters[t3cid]) then
+ characters = characters or {}
+ -- First create the character
+ local char = {
+ width = width,
+ height = 0, -- We never look at these two anyway
+ depth = 0,
+ tounicode = unicode,
+ }
+ characters[t3cid] = char
+ if fid then -- Font already exists
+ font.addcharacters(fid, {
+ characters = {
+ [t3cid] = char,
+ },
+ })
+ else
+ fontdir = {
+ name = basename .. '_' .. basesize .. '_' .. t3fid,
+ format = 'type3',
+ psname = 'none',
+ filename = 'not_a_real_filename', -- Can't be null to ensure reuse
+ fullname = basename .. basesize .. '_' .. t3fid,
+ characters = characters,
+ designsize = basesize,
+ size = size,
+ cidinfo = {}, -- Can't be null to ensure reuse
+ attributes = '/FontDescriptor<<\z
+ /Type/FontDescriptor\z
+ /FontName/VirtualLuaFont\z
+ /Flags 4\z
+ /ItalicAngle 0\z
+ >>', -- TODO: Needs work
+ t3_handler = function(stage, _, cid)
+ cid = cid and assert(t3_to_gid[(t3fid << 8) | ~cid])
+ return callback(stage, cid)
+ end
+ }
+ fid = font.define(fontdir)
+ fids[t3fid + 1] = fid
+ end
+ end
+ vf.font(fid)
+ vf.char(t3cid)
+ end
+ end
+end
+
+luatexbase.add_to_callback('provide_charproc_data', function(stage, fid, ...)
+ local fontdir = font.getfont(fid)
+ if not fontdir then error'Unknown font' end
+ local handler = fontdir.t3_handler
+ if not handler then error'Missing t3handler in Type 3 font' end
+ return handler(stage, fid, ...)
+end, 'luaotfload.t3')
+
+return t3factory
+--[===[
+ function callback(stage, cid)
+ if stage == 1 then
+ local char = assert(characters[cid])
+ local head = assert(char.head)
+ local resource = tex.saveboxresource(head, nil--[[attributes]], nil--[[resources]], true--[[immediate]], 0--[[mode]], nil--[[margin]])
+ local name = string.format('/F%i', pdf.getxformname(resource))
+ local resources = characters.resources
+ if resources then
+ characters.resources = string.format('%s %s %i 0 R', resources, name, resource)
+ else
+ characters.resources = string.format('%s %i 0 R', name, resource)
+ end
+ char.resource = name
+ elseif stage == 2 then
+ local char = assert(characters[cid])
+ width = char.width/65781
+ return pdf.obj{
+ type = 'stream',
+ immediate = true,
+ -- objnum =
+ -- attr =
+ -- compresslevel =
+ string = string.format('%g 0 d0 %s Do', width, char.resource)
+ }, width
+ elseif stage == 3 then
+ return 65781/655360, string.format('/XObject<<%s>>', characters.resources)
+ end
+ print(stage, fid, cid)
+ end,
+ }
+]===]
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.1 b/macros/luatex/generic/luaotfload/luaotfload-tool.1
index a450459d7a..8967467c46 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-tool.1
+++ b/macros/luatex/generic/luaotfload/luaotfload-tool.1
@@ -1,8 +1,5 @@
.\" Man page generated from reStructuredText.
.
-.TH LUAOTFLOAD-TOOL 1 "2022-03-18" "3.21" "text processing"
-.SH NAME
-luaotfload-tool \- generate and query the Luaotfload font names database
.
.nr rst2man-indent-level 0
.
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
+.TH "LUAOTFLOAD-TOOL" 1 "2022-06-15" "3.22" "text processing"
+.SH NAME
+luaotfload-tool \- generate and query the Luaotfload font names database
.SH SYNOPSIS
.sp
\fBluaotfload\-tool\fP [ \-bcDfFiIlLnpqRSuvVhw ]
@@ -77,14 +77,14 @@ the \fILuaotfload\fP package. There are two general modes: \fBupdate\fP and
.SS update mode
.INDENT 0.0
.TP
-.B \-\-update\fP,\fB \-u
+.B \-\-update\fP,\fB \-u
Update the database; indexes new fonts.
.TP
-.B \-\-force\fP,\fB \-f
+.B \-\-force\fP,\fB \-f
Force rebuilding of the database; re\-indexes
all fonts.
.TP
-.B \-\-local\fP,\fB \-L
+.B \-\-local\fP,\fB \-L
Include font files in \fB$PWD\fP\&. This option
will cause large parts of the database to be
rebuilt. Thus it is quite inefficient.
@@ -93,16 +93,16 @@ the database is prevented from being saved
to disk, so the local fonts need to be parsed
with every invocation of \fBluaotfload\-tool\fP\&.
.TP
-.B \-\-no\-reload\fP,\fB \-n
+.B \-\-no\-reload\fP,\fB \-n
Suppress auto\-updates to the database (e.g.
when \fB\-\-find\fP is passed an unknown name).
.TP
-.B \-\-no\-compress\fP,\fB \-c
+.B \-\-no\-compress\fP,\fB \-c
Do not filter the plain text version of the
font index through gzip. Useful for debugging
if your editor is built without zlib.
.TP
-.B \-\-prefer\-texmf\fP,\fB \-p
+.B \-\-prefer\-texmf\fP,\fB \-p
Organize the file name database in a way so
that it prefer fonts in the \fITEXMF\fP tree over
system fonts if they are installed in both.
@@ -139,16 +139,16 @@ mapped to.
i.e. \fB\-\-find=file:foo.otf\fP checks whether
\fBfoo.otf\fP is indexed.
.TP
-.B \-\-fuzzy\fP,\fB \-F
+.B \-\-fuzzy\fP,\fB \-F
Show approximate matches to the file name if
the lookup was unsuccessful (requires
\fB\-\-find\fP).
.TP
-.B \-\-info\fP,\fB \-i
+.B \-\-info\fP,\fB \-i
Display basic information to a resolved font
file (requires \fB\-\-find\fP).
.TP
-.B \-\-inspect\fP,\fB \-I
+.B \-\-inspect\fP,\fB \-I
Display detailed information by loading the
font and analyzing the font table; very slow!
For the meaning of the returned fields see
@@ -189,7 +189,7 @@ format:
.sp
.nf
.ft C
-\&./luaotfload\-tool.lua \-\-list="format" \-\-fields="file\->base,version"
+\&./luaotfload\-tool.lua \-\-list=\(dqformat\(dq \-\-fields=\(dqfile\->base,version\(dq
.ft P
.fi
.UNINDENT
@@ -230,7 +230,7 @@ The default is plainname,version*.
.SS font and lookup caches
.INDENT 0.0
.TP
-.B \-\-flush\-lookups
+.B \-\-flush\-lookups
Clear font name lookup cache (experimental).
.TP
.BI \-\-cache\fB= DIRECTIVE
@@ -249,15 +249,15 @@ cache;
.SS debugging methods
.INDENT 0.0
.TP
-.B \-\-show\-blacklist\fP,\fB \-b
+.B \-\-show\-blacklist\fP,\fB \-b
Show blacklisted files (not directories).
.TP
-.B \-\-dry\-run\fP,\fB \-D
+.B \-\-dry\-run\fP,\fB \-D
Don’t load fonts when updating the database;
scan directories only.
(For debugging file system related issues.)
.TP
-.B \-\-no\-strip
+.B \-\-no\-strip
Do not strip redundant information after
building the database. Warning: this will
inflate the index to about two to three times
@@ -331,7 +331,7 @@ state.
Set verbosity level to \fIn\fP or the number of
repetitions of \fB\-v\fP\&.
.TP
-.B \-\-quiet
+.B \-\-quiet
No verbose output (log level set to zero).
.TP
.BI \-\-log\fB= CHANNEL
@@ -347,11 +347,11 @@ directory (the name will be chosen
automatically.
.UNINDENT
.TP
-.B \-\-version\fP,\fB \-V
+.B \-\-version\fP,\fB \-V
Show version numbers of components as well as
some basic information and exit.
.TP
-.B \-\-help\fP,\fB \-h
+.B \-\-help\fP,\fB \-h
Show help message and exit.
.TP
.BI \-\-diagnose\fB= CHECK
@@ -387,12 +387,12 @@ Read the configuration from \fIFILE\fP\&. See
\fBluaotfload.conf\fP(%) for documentation
concerning the format and available options.
.TP
-.B \-\-dumpconf
+.B \-\-dumpconf
Print the currently active configuration; the
output can be saved to a file and used for
bootstrapping a custom configuration files.
.TP
-.B \-\-aliases
+.B \-\-aliases
Dump the font name database as a kpathsea
aliases file. This option is experimental and
might go away.
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.lua b/macros/luatex/generic/luaotfload/luaotfload-tool.lua
index c8125a8bef..56b433bf2b 100644
--- 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --TAGDATE
description = "luaotfload-tool / database functionality",
license = "GPL v2.0"
}
@@ -1155,19 +1155,7 @@ function actions.query (job)
local query = job.query
- local tmpspec = {
- name = query,
- lookup = "name",
- specification = query,
- optsize = 0,
- features = { },
- }
-
- tmpspec = fonts.names.handle_request (tmpspec)
-
- if not tmpspec.size then
- tmpspec.size = 655360 --- assume 10pt
- end
+ local tmpspec = fonts.definers.analyze (query, 655360)
local foundname, subfont, success, needle
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.pdf b/macros/luatex/generic/luaotfload/luaotfload-tool.pdf
index 931621cfc4..cb4c8141e0 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-tool.pdf
+++ b/macros/luatex/generic/luaotfload/luaotfload-tool.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.rst b/macros/luatex/generic/luaotfload/luaotfload-tool.rst
index b81c87731d..25d90cd33a 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: 2022-03-18
+:Date: 2022-06-15
:Copyright: GPL v2.0
-:Version: 3.21
+:Version: 3.22
:Manual section: 1
:Manual group: text processing
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua b/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua
index 155ffb2d94..96ffd562b0 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --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 c20c81ef8e..e504f892e2 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --TAGDATE
description = "luaotfload submodule / Unicode helpers",
license = "CC0 1.0 Universal",
author = "Marcel Krüger"
@@ -23,46 +23,6 @@ local codepoint = lpeg.S'0123456789ABCDEF'^4/function(c)return tonumber(c, 16)en
local empty = {}
local result = {}
-local casefold do
- local nl = ('#' * (1-lpeg.P'\n')^0)^-1 * '\n'
- local entry = codepoint * "; " * lpeg.C(1) * ";" * lpeg.Ct((' ' * codepoint)^1) * "; " * nl
- local file = lpeg.Cf(
- lpeg.Ct(
- lpeg.Cg(lpeg.Ct"", "C")
- * lpeg.Cg(lpeg.Ct"", "F")
- * lpeg.Cg(lpeg.Ct"", "S")
- * lpeg.Cg(lpeg.Ct"", "T"))
- * nl^0 * lpeg.Cg(entry)^0 * nl^0 * -1
- , function(t, base, class, mapping)
- rawset(rawget(t, class), base, mapping)
- return t
- end)
-
- local f = io.open(kpse.find_file"CaseFolding.txt")
- local data = file:match(f:read'*a')
- f:close()
- function casefold(s, full, special)
- local first = special and data.T or empty
- local second = data.C
- local third = full and data.F or data.S
- local result = result
- for i = #result, 1, -1 do result[i] = nil end
- local i = 1
- for _, c in utf8codes(s) do
- local datum = first[c] or second[c] or third[c]
- if datum then
- local l = #datum
- move(datum, 1, l, i, result)
- i = i + l
- else
- result[i] = c
- i = i + 1
- end
- end
- return utf8char(unpack(result))
- end
-end
-
local alphnum_only do
local niceentry = lpeg.Cg(codepoint * ';' * (1-lpeg.P';')^0 * ';' * lpeg.S'LN' * lpeg.Cc(true))
local entry = niceentry^0 * (1-lpeg.P'\n')^0 * lpeg.P'\n'
@@ -232,8 +192,58 @@ do
f:close()
end
+do
+ local function eq(a, b)
+ if not a then return false end
+ if not b then return false end
+ if a == b then return true end
+ if #a ~= #b then return false end
+ for i=1,#a do if a[i] ~= b[i] then return false end end
+ return true
+ end
+ local function collapse(t, inherited)
+ inherited = t._ or inherited
+ local empty = true
+ for k,v in next, t do
+ if k ~= '_' then
+ if eq(inherited, collapse(v, inherited)) then
+ t[k] = nil
+ else
+ empty = false
+ end
+ end
+ end
+ return empty and inherited
+ end
+ local function cleanup(t)
+ for k,v in next, t do
+ if not tonumber(v) then
+ local collapsed = collapse(v)
+ if collapsed and #collapsed == 1 then
+ v = collapsed[1]
+ if k == v then
+ v = nil
+ end
+ t[k] = v
+ end
+ end
+ end
+ end
+ cleanup(uppercase)
+ cleanup(lowercase)
+end
+
+-- Here we manipulate the uppercase table a bit to add the `de-alt` language using capital eszett.
+uppercase[0x00DF]['de-x-eszett'] = { _ = { 0x1E9E } }
+uppercase[0x00DF]['de-alt'] = uppercase[0x00DF]['de-x-eszett']
+
+-- Special handling for Eastern Armenian based on Unicode document L2/20-143.
+uppercase[0x0587]['hy'] = { _ = { 0x0535, 0x054E } }
+-- Resore Unicode behavior. This entry is redundant, but we have to be aware of it
+-- if we later start to ignore unknown private use tags
+uppercase[0x0587]['hy-x-yiwn'] = { _ = uppercase[0x0587]._ }
+
return {
- casefold = casefold,
alphnum_only = alphnum_only,
casemapping = {
uppercase = uppercase,
diff --git a/macros/luatex/generic/luaotfload/luaotfload.conf.5 b/macros/luatex/generic/luaotfload/luaotfload.conf.5
index e8445359ca..dc5b1d3e50 100644
--- a/macros/luatex/generic/luaotfload/luaotfload.conf.5
+++ b/macros/luatex/generic/luaotfload/luaotfload.conf.5
@@ -1,8 +1,5 @@
.\" Man page generated from reStructuredText.
.
-.TH LUAOTFLOAD.CONF 5 "2022-03-18" "3.21" "text processing"
-.SH NAME
-luaotfload.conf \- Luaotfload configuration file
.
.nr rst2man-indent-level 0
.
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
+.TH "LUAOTFLOAD.CONF" 5 "2022-06-15" "3.22" "text processing"
+.SH NAME
+luaotfload.conf \- Luaotfload configuration file
.SH SYNOPSIS
.INDENT 0.0
.IP \(bu 2
@@ -212,7 +212,7 @@ formats
T} T{
s
T} T{
-\fB"otf,ttf,ttc"\fP
+\fB\(dqotf,ttf,ttc\(dq\fP
T}
_
T{
@@ -285,7 +285,7 @@ containing one or more of these elements:
It corresponds loosely to the \fB\-\-formats\fP option to
\fBluaotfload\-tool\fP\&. Invalid or duplicate members are ignored; if the
list does not contain any useful identifiers, the default list
-\fB"otf,ttf,ttc"\fP will be used.
+\fB\(dqotf,ttf,ttc\(dq\fP will be used.
.sp
The variable \fBmax\-fonts\fP determines after processing how many font
files the font scanner will terminate the search. This is useful for
@@ -416,7 +416,7 @@ cache\-dir
T} T{
s
T} T{
-\fB"fonts"\fP
+\fB\(dqfonts\(dq\fP
T}
_
T{
@@ -424,7 +424,7 @@ names\-dir
T} T{
s
T} T{
-\fB"names"\fP
+\fB\(dqnames\(dq\fP
T}
_
T{
@@ -432,7 +432,7 @@ index\-file
T} T{
s
T} T{
-\fB"luaotfload\-names.lua"\fP
+\fB\(dqluaotfload\-names.lua\(dq\fP
T}
_
T{
@@ -440,7 +440,7 @@ lookups\-file
T} T{
s
T} T{
-\fB"luaotfload\-lookup\-cache.lua"\fP
+\fB\(dqluaotfload\-lookup\-cache.lua\(dq\fP
T}
_
.TE
@@ -472,7 +472,7 @@ anon\-sequence
T} T{
s
T} T{
-\fB"tex,path,name"\fP
+\fB\(dqtex,path,name\(dq\fP
T}
_
T{
@@ -480,7 +480,7 @@ color\-callback
T} T{
s
T} T{
-\fB"post_linebreak_filter"\fP
+\fB\(dqpost_linebreak_filter\(dq\fP
T}
_
T{
@@ -488,7 +488,7 @@ definer
T} T{
s
T} T{
-\fB"patch"\fP
+\fB\(dqpatch\(dq\fP
T}
_
T{
@@ -504,7 +504,7 @@ resolver
T} T{
s
T} T{
-\fB"cached"\fP
+\fB\(dqcached\(dq\fP
T}
_
T{
@@ -512,7 +512,7 @@ fontloader
T} T{
s
T} T{
-\fB"default"\fP
+\fB\(dqdefault\(dq\fP
T}
_
.TE
diff --git a/macros/luatex/generic/luaotfload/luaotfload.conf.rst b/macros/luatex/generic/luaotfload/luaotfload.conf.rst
index 3682a5789a..e7fa382899 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: 2022-03-18
+:Date: 2022-06-15
:Copyright: GPL v2.0
-:Version: 3.21
+:Version: 3.22
:Manual section: 5
:Manual group: text processing
diff --git a/macros/luatex/generic/luaotfload/luaotfload.lua b/macros/luatex/generic/luaotfload/luaotfload.lua
index 5b65b364d8..34181d0af7 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.21", --TAGVERSION
- date = "2022-03-18", --TAGDATE
+ version = "3.22", --TAGVERSION
+ date = "2022-06-15", --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 e5dba96300..6c9ceb1f43 100644
--- a/macros/luatex/generic/luaotfload/luaotfload.sty
+++ b/macros/luatex/generic/luaotfload/luaotfload.sty
@@ -39,7 +39,7 @@
\fi
\ifdefined\ProvidesPackage
\ProvidesPackage{luaotfload}%
- [2022/03/18 v3.21 OpenType layout system]
+ [2022/06/15 v3.22 OpenType layout system]
\fi
\directlua{
if xpcall(function ()%
diff --git a/macros/luatex/generic/luaotfload/scripts-demo.pdf b/macros/luatex/generic/luaotfload/scripts-demo.pdf
index b534b64a68..13825f2f01 100644
--- a/macros/luatex/generic/luaotfload/scripts-demo.pdf
+++ b/macros/luatex/generic/luaotfload/scripts-demo.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf b/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf
index d78a09c63b..7bd624fc2e 100644
--- a/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf
+++ b/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/shaper-demo.pdf b/macros/luatex/generic/luaotfload/shaper-demo.pdf
index 78e4d82361..f9b07141b5 100644
--- a/macros/luatex/generic/luaotfload/shaper-demo.pdf
+++ b/macros/luatex/generic/luaotfload/shaper-demo.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
index c8ab7dfb18..8fad479adf 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
index b0276dc230..e50d5d6f62 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French,JP,TC,use boldface,simple name]{beaulivre}
+\documentclass[title in boldface, title in scshape, simple name]{beaulivre}
%%================================
%% Import toolkit
@@ -8,8 +8,6 @@
\usepackage{hologo} % more TeX logo
\usetikzlibrary{calc}
-\usepackage{relsize}
-
\usepackage{blindtext}
\UseLanguage{Chinese}
@@ -93,7 +91,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/24}
+\def\PackageVersion{2022/06/16}
\frontmatter
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
index 85889a3583..14f05ee2d7 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
index d6acc21577..c9327150b2 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French,JP,TC,use boldface,simple name]{beaulivre}
+\documentclass[title in boldface, title in scshape, simple name]{beaulivre}
%%================================
%% Import toolkit
@@ -8,8 +8,6 @@
\usepackage{hologo} % more TeX logo
\usetikzlibrary{calc}
-\usepackage{relsize}
-
\usepackage{blindtext}
\UseLanguage{English}
@@ -93,7 +91,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/24}
+\def\PackageVersion{2022/06/16}
\frontmatter
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf
index ee1fb132a8..f91d45a4b1 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
index ff7b6b8934..dd146fc22c 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French,JP,TC,use boldface,simple name]{beaulivre}
+\documentclass[title in boldface, title in scshape, simple name]{beaulivre}
%%================================
%% Import toolkit
@@ -8,8 +8,6 @@
\usepackage{hologo} % more TeX logo
\usetikzlibrary{calc}
-\usepackage{relsize}
-
\usepackage{blindtext}
\UseLanguage{French}
@@ -93,7 +91,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/24}
+\def\PackageVersion{2022/06/16}
\frontmatter
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre.cls b/macros/unicodetex/latex/beaulivre/beaulivre.cls
index 05924ada80..7c63f73479 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre.cls
+++ b/macros/unicodetex/latex/beaulivre/beaulivre.cls
@@ -1,7 +1,7 @@
%%
%% This is file `beaulivre/beaulivre.cls',
%% generated with the docstrip utility.
-
+%%
%% Copyright (C) 2021-2022 by Jinwen XU
%%
%% This is part of the colorist class series.
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{beaulivre}
- {2022/04/24} {}
+ {2022/06/16} {}
{A colorful book style}
\tl_const:Nn \l__colorclass_base_class_tl { book }
@@ -229,43 +229,39 @@
\__colorclass_load_file_or_config:Nnn \l__colorclass_load_custom_font_file_latin_bool { \l__colorclass_custom_font_file_latin_str }
{
- \__colorclass_if_font_exist:nnn { Palatino~Linotype }
+ \bool_if:NTF \l__projlib_font_useosf_bool
{
- \bool_if:NTF \l__projlib_font_useosf_bool
- {
- \setmainfont { Palatino~Linotype } [ Numbers = OldStyle ]
- }
- {
- \setmainfont { Palatino~Linotype }
- }
+ \setmainfont { TeXGyrePagellaX-Regular.otf }
+ [
+ BoldFont = TeXGyrePagellaX-Bold.otf ,
+ ItalicFont = TeXGyrePagellaX-Italic.otf ,
+ BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
+ Numbers = OldStyle ,
+ ]
+ \setsansfont { SourceSansPro-Regular.otf }
+ [
+ Scale = 1.05 ,
+ BoldFont = SourceSansPro-Semibold.otf ,
+ ItalicFont = SourceSansPro-RegularIt.otf ,
+ BoldItalicFont = SourceSansPro-SemiboldIt.otf ,
+ Numbers = OldStyle ,
+ ]
}
{
- \bool_if:NTF \l__projlib_font_useosf_bool
- {
- \setmainfont { TeXGyrePagellaX-Regular.otf }
- [
- BoldFont = TeXGyrePagellaX-Bold.otf ,
- ItalicFont = TeXGyrePagellaX-Italic.otf ,
- BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
- Numbers = OldStyle ,
- ]
- }
- {
- \setmainfont { TeXGyrePagellaX-Regular.otf }
- [
- BoldFont = TeXGyrePagellaX-Bold.otf ,
- ItalicFont = TeXGyrePagellaX-Italic.otf ,
- BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
- ]
- }
+ \setmainfont { TeXGyrePagellaX-Regular.otf }
+ [
+ BoldFont = TeXGyrePagellaX-Bold.otf ,
+ ItalicFont = TeXGyrePagellaX-Italic.otf ,
+ BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
+ ]
+ \setsansfont { SourceSansPro-Regular.otf }
+ [
+ Scale = 1.05 ,
+ BoldFont = SourceSansPro-Semibold.otf ,
+ ItalicFont = SourceSansPro-RegularIt.otf ,
+ BoldItalicFont = SourceSansPro-SemiboldIt.otf ,
+ ]
}
- \setsansfont { SourceSansPro-Regular.otf }
- [
- Scale = 1.05 ,
- BoldFont = SourceSansPro-Bold.otf ,
- ItalicFont = SourceSansPro-RegularIt.otf ,
- BoldItalicFont = SourceSansPro-BoldIt.otf ,
- ]
\setmonofont { NewCMMono10-Regular.otf }
[
Scale = 1.05 ,
@@ -544,10 +540,8 @@
{
\bool_if:NF \g_projlib_font_already_set_bool
{
- \bool_if:NTF \l__colorclass_fast_bool
- {
- \RequirePackage { amssymb }
- }
+ \RequirePackage { amssymb }
+ \bool_if:NF \l__colorclass_fast_bool
{
\PassOptionsToPackage { warnings-off = { mathtools-colon, mathtools-overbracket } } { unicode-math }
\RequirePackage { unicode-math }
@@ -559,6 +553,11 @@
]
\setmathfont { latinmodern-math.otf }
[
+ range = { \ast } ,
+ Scale = 1.10
+ ]
+ \setmathfont { latinmodern-math.otf }
+ [
range = { frak, bffrak }
]
\DeclareMathAlphabet{\mathcal}{OMS}{cmsy}{m}{n}
@@ -571,17 +570,34 @@
[
range = { it / { Latin, latin }, bfit / { Latin, latin }, up / num, bfup / num }
]
+ \setmathfont { KpMath-Regular.otf } [ range = {} ]
+
+ \sys_if_engine_luatex:T
+ {
+ \mathitalicsmode=1
+ }
\hook_gput_code:nnn { begindocument } { colorclass }
{
- \NewCommandCopy \colorclass_backup_mid: \mid
- \RenewDocumentCommand \mid {}
- { \skip_horizontal:n {-.1em} \colorclass_backup_mid: \skip_horizontal:n {-.1em} }
- \NewCommandCopy \colorclass_backup_nmid: \nmid
- \RenewDocumentCommand \nmid {}
- { \skip_horizontal:n {-.1em} \colorclass_backup_nmid: \skip_horizontal:n {-.1em} }
+ \cs_gset_eq:NN \overline \wideoverbar
+ \cs_gset_eq:NN \square \mdwhtsquare
}
+ % A temporary hack proposed in https://tex.stackexchange.com/a/647789
+ \hook_gput_code:nnn { begindocument } { minimclass }
+ {
+ \NewCommandCopy\unicodevdots\vdots
+ \RenewDocumentCommand{\vdots}{}{\mathrel{\loweredvdots}}
+ }
+ \newcommand{\loweredvdots}{\mathpalette\loweredvdots@\relax}
+ \newcommand{\loweredvdots@}[2]{%
+ \begingroup
+ \sbox\z@{$\m@th#1\unicodevdots$}%
+ \vrule width \z@ height 2.25\ht\z@ depth 0.012\ht\z@
+ \raisebox{0.25\height}{\usebox\z@}%
+ \endgroup
+ }
+
\RequirePackage { tikz-cd }
\tikzcdset { arrow~style = tikz, diagrams = { >={Stealth[round,length=3.4pt,width=6.15pt,inset=2.25pt]} } }
@@ -650,21 +666,27 @@
}
}
+\char_set_catcode_active:n { `\· }
+\cs_new_protected:Npn · { \ensuremath\cdot }
+
\PassOptionsToPackage { all } { nowidow }
\RequirePackage { nowidow }
-\RequirePackage { regexpatch }
-\skip_new:N \g_colorclass_parfillskip_skip
-\xpatchcmd{\@trivlist}{\@flushglue}{\g_colorclass_parfillskip_skip}{}{}
-\hook_gput_code:nnn { begindocument } { colorclass }
+\sys_if_engine_xetex:T
{
- \skip_gset:Nn \g_colorclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 2\parindent } }
- \skip_gset_eq:NN \parfillskip \g_colorclass_parfillskip_skip
+ \RequirePackage { regexpatch }
+ \skip_new:N \g_colorclass_parfillskip_skip
+ \xpatchcmd{\@trivlist}{\@flushglue}{\g_colorclass_parfillskip_skip}{}{}
+ \hook_gput_code:nnn { begindocument } { colorclass }
+ {
+ \skip_gset:Nn \g_colorclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 3em } }
+ \skip_gset_eq:NN \parfillskip \g_colorclass_parfillskip_skip
+ }
}
\hook_gput_code:nnn { begindocument/before } { colorclass }
{
- \@ifpackageloaded { biblatex }
+ \IfPackageLoadedTF { biblatex }
{
\PassOptionsToPackage { biblatex } { embrac }
} {}
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf b/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
index 795e5b2afc..1cdbd80487 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
+++ b/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-cn.tex b/macros/unicodetex/latex/einfart/einfart-doc-cn.tex
index 583aa9acef..df3e6ba662 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-cn.tex
+++ b/macros/unicodetex/latex/einfart/einfart-doc-cn.tex
@@ -97,7 +97,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/24}
+\def\PackageVersion{2022/06/16}
\title{\einfart{},以极简主义风格排版你的文章}
\author{许锦文}
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-en.pdf b/macros/unicodetex/latex/einfart/einfart-doc-en.pdf
index 4a81e6d7e3..4351f108fa 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-en.pdf
+++ b/macros/unicodetex/latex/einfart/einfart-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-en.tex b/macros/unicodetex/latex/einfart/einfart-doc-en.tex
index 64288b812f..e30554fe83 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-en.tex
+++ b/macros/unicodetex/latex/einfart/einfart-doc-en.tex
@@ -97,7 +97,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/24}
+\def\PackageVersion{2022/06/16}
\title{\einfart{}, write your articles in a simple and clear way}
\author{Jinwen XU}
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf b/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf
index 63d9a75e37..3f4126eb8a 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf
+++ b/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-fr.tex b/macros/unicodetex/latex/einfart/einfart-doc-fr.tex
index 5908efb465..c1c6298c4e 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-fr.tex
+++ b/macros/unicodetex/latex/einfart/einfart-doc-fr.tex
@@ -97,7 +97,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/24}
+\def\PackageVersion{2022/06/16}
\title{\einfart{}, écrivez vos articles de manière simple et claire}
\author{Jinwen XU}
diff --git a/macros/unicodetex/latex/einfart/einfart.cls b/macros/unicodetex/latex/einfart/einfart.cls
index 37a460b9d0..c27101fa25 100644
--- a/macros/unicodetex/latex/einfart/einfart.cls
+++ b/macros/unicodetex/latex/einfart/einfart.cls
@@ -1,7 +1,7 @@
%%
%% This is file `einfart/einfart.cls',
%% generated with the docstrip utility.
-
+%%
%% Copyright (C) 2021-2022 by Jinwen XU
%%
%% This is part of the minimalist class series.
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{einfart}
- {2022/04/24} {}
+ {2022/06/16} {}
{A simple and clear article style}
\tl_const:Nn \l__minimclass_base_class_tl { article }
@@ -250,43 +250,39 @@
\__minimclass_load_file_or_config:Nnn \l__minimclass_load_custom_font_file_latin_bool { \l__minimclass_custom_font_file_latin_str }
{
- \__minimclass_if_font_exist:nnn { Palatino~Linotype }
+ \bool_if:NTF \l__projlib_font_useosf_bool
{
- \bool_if:NTF \l__projlib_font_useosf_bool
- {
- \setmainfont { Palatino~Linotype } [ Numbers = OldStyle ]
- }
- {
- \setmainfont { Palatino~Linotype }
- }
+ \setmainfont { TeXGyrePagellaX-Regular.otf }
+ [
+ BoldFont = TeXGyrePagellaX-Bold.otf ,
+ ItalicFont = TeXGyrePagellaX-Italic.otf ,
+ BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
+ Numbers = OldStyle ,
+ ]
+ \setsansfont { SourceSansPro-Regular.otf }
+ [
+ Scale = 1.05 ,
+ BoldFont = SourceSansPro-Semibold.otf ,
+ ItalicFont = SourceSansPro-RegularIt.otf ,
+ BoldItalicFont = SourceSansPro-SemiboldIt.otf ,
+ Numbers = OldStyle ,
+ ]
}
{
- \bool_if:NTF \l__projlib_font_useosf_bool
- {
- \setmainfont { TeXGyrePagellaX-Regular.otf }
- [
- BoldFont = TeXGyrePagellaX-Bold.otf ,
- ItalicFont = TeXGyrePagellaX-Italic.otf ,
- BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
- Numbers = OldStyle ,
- ]
- }
- {
- \setmainfont { TeXGyrePagellaX-Regular.otf }
- [
- BoldFont = TeXGyrePagellaX-Bold.otf ,
- ItalicFont = TeXGyrePagellaX-Italic.otf ,
- BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
- ]
- }
+ \setmainfont { TeXGyrePagellaX-Regular.otf }
+ [
+ BoldFont = TeXGyrePagellaX-Bold.otf ,
+ ItalicFont = TeXGyrePagellaX-Italic.otf ,
+ BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
+ ]
+ \setsansfont { SourceSansPro-Regular.otf }
+ [
+ Scale = 1.05 ,
+ BoldFont = SourceSansPro-Semibold.otf ,
+ ItalicFont = SourceSansPro-RegularIt.otf ,
+ BoldItalicFont = SourceSansPro-SemiboldIt.otf ,
+ ]
}
- \setsansfont { SourceSansPro-Regular.otf }
- [
- Scale = 1.05 ,
- BoldFont = SourceSansPro-Bold.otf ,
- ItalicFont = SourceSansPro-RegularIt.otf ,
- BoldItalicFont = SourceSansPro-BoldIt.otf ,
- ]
\setmonofont { NewCMMono10-Regular.otf }
[
Scale = 1.05 ,
@@ -567,10 +563,8 @@
{
\bool_if:NF \g_projlib_font_already_set_bool
{
- \bool_if:NTF \l__minimclass_fast_bool
- {
- \RequirePackage { amssymb }
- }
+ \RequirePackage { amssymb }
+ \bool_if:NF \l__minimclass_fast_bool
{
\PassOptionsToPackage { warnings-off = { mathtools-colon, mathtools-overbracket } } { unicode-math }
\RequirePackage { unicode-math }
@@ -582,6 +576,11 @@
]
\setmathfont { latinmodern-math.otf }
[
+ range = { \ast } ,
+ Scale = 1.10
+ ]
+ \setmathfont { latinmodern-math.otf }
+ [
range = { frak, bffrak }
]
\DeclareMathAlphabet{\mathcal}{OMS}{cmsy}{m}{n}
@@ -594,17 +593,34 @@
[
range = { it / { Latin, latin }, bfit / { Latin, latin }, up / num, bfup / num }
]
+ \setmathfont { KpMath-Regular.otf } [ range = {} ]
+
+ \sys_if_engine_luatex:T
+ {
+ \mathitalicsmode=1
+ }
\hook_gput_code:nnn { begindocument } { minimclass }
{
- \NewCommandCopy \minimclass_backup_mid: \mid
- \RenewDocumentCommand \mid {}
- { \skip_horizontal:n {-.1em} \minimclass_backup_mid: \skip_horizontal:n {-.1em} }
- \NewCommandCopy \minimclass_backup_nmid: \nmid
- \RenewDocumentCommand \nmid {}
- { \skip_horizontal:n {-.1em} \minimclass_backup_nmid: \skip_horizontal:n {-.1em} }
+ \cs_gset_eq:NN \overline \wideoverbar
+ \cs_gset_eq:NN \square \mdwhtsquare
}
+ % A temporary hack proposed in https://tex.stackexchange.com/a/647789
+ \hook_gput_code:nnn { begindocument } { minimclass }
+ {
+ \NewCommandCopy\unicodevdots\vdots
+ \RenewDocumentCommand{\vdots}{}{\mathrel{\loweredvdots}}
+ }
+ \newcommand{\loweredvdots}{\mathpalette\loweredvdots@\relax}
+ \newcommand{\loweredvdots@}[2]{%
+ \begingroup
+ \sbox\z@{$\m@th#1\unicodevdots$}%
+ \vrule width \z@ height 2.25\ht\z@ depth 0.012\ht\z@
+ \raisebox{0.25\height}{\usebox\z@}%
+ \endgroup
+ }
+
\RequirePackage { tikz-cd }
\tikzcdset { arrow~style = tikz, diagrams = { >={Stealth[round,length=3.4pt,width=6.15pt,inset=2.25pt]} } }
@@ -673,21 +689,27 @@
}
}
+\char_set_catcode_active:n { `\· }
+\cs_new_protected:Npn · { \ensuremath\cdot }
+
\PassOptionsToPackage { all } { nowidow }
\RequirePackage { nowidow }
-\RequirePackage { regexpatch }
-\skip_new:N \g_minimclass_parfillskip_skip
-\xpatchcmd{\@trivlist}{\@flushglue}{\g_minimclass_parfillskip_skip}{}{}
-\hook_gput_code:nnn { begindocument } { minimclass }
+\sys_if_engine_xetex:T
{
- \skip_gset:Nn \g_minimclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 2\parindent } }
- \skip_gset_eq:NN \parfillskip \g_minimclass_parfillskip_skip
+ \RequirePackage { regexpatch }
+ \skip_new:N \g_minimclass_parfillskip_skip
+ \xpatchcmd{\@trivlist}{\@flushglue}{\g_minimclass_parfillskip_skip}{}{}
+ \hook_gput_code:nnn { begindocument } { minimclass }
+ {
+ \skip_gset:Nn \g_minimclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 3em } }
+ \skip_gset_eq:NN \parfillskip \g_minimclass_parfillskip_skip
+ }
}
\hook_gput_code:nnn { begindocument/before } { minimclass }
{
- \@ifpackageloaded { biblatex }
+ \IfPackageLoadedTF { biblatex }
{
\PassOptionsToPackage { biblatex } { embrac }
} {}
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
index ec7f4c5b4d..cde237718f 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
index 650496e149..55e53b41af 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French,use boldface,simple name]{lebhart}
+\documentclass[title in boldface, title in scshape, simple name]{lebhart}
%%================================
%% Import toolkit
@@ -8,8 +8,6 @@
\usepackage{hologo} % more TeX logo
\usetikzlibrary{calc}
-\usepackage{relsize}
-
\usepackage{blindtext}
\UseLanguage{Chinese}
@@ -93,7 +91,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/24}
+\def\PackageVersion{2022/06/16}
\title{{\normalfont\bfseries\color{main-text}\lebhart{}}\\以多彩的方式排版你的文章}
\author{许锦文}
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
index daa3bd4461..08043c1346 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex b/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
index 0a50116911..b40f05cdd0 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French,use boldface,simple name]{lebhart}
+\documentclass[title in boldface, title in scshape, simple name]{lebhart}
%%================================
%% Import toolkit
@@ -8,8 +8,6 @@
\usepackage{hologo} % more TeX logo
\usetikzlibrary{calc}
-\usepackage{relsize}
-
\usepackage{blindtext}
\UseLanguage{English}
@@ -93,7 +91,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/24}
+\def\PackageVersion{2022/06/16}
\title{{\normalfont\bfseries\color{main-text}\lebhart{}}\\write your articles in a colorful way}
\author{Jinwen XU}
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf
index 5d430a9e85..a94ea9c456 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex
index fca4e4df4d..369644bf47 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex
@@ -1,4 +1,4 @@
-\documentclass[English,Chinese,French,use boldface,simple name]{lebhart}
+\documentclass[title in boldface, title in scshape, simple name]{lebhart}
%%================================
%% Import toolkit
@@ -8,8 +8,6 @@
\usepackage{hologo} % more TeX logo
\usetikzlibrary{calc}
-\usepackage{relsize}
-
\usepackage{blindtext}
\UseLanguage{French}
@@ -93,7 +91,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/24}
+\def\PackageVersion{2022/06/16}
\title{{\normalfont\bfseries\color{main-text}\lebhart{}}\\écrivez vos articles de manière colorée}
\author{Jinwen XU}
diff --git a/macros/unicodetex/latex/lebhart/lebhart.cls b/macros/unicodetex/latex/lebhart/lebhart.cls
index 7cdec242e0..9635010f70 100644
--- a/macros/unicodetex/latex/lebhart/lebhart.cls
+++ b/macros/unicodetex/latex/lebhart/lebhart.cls
@@ -1,7 +1,7 @@
%%
%% This is file `lebhart/lebhart.cls',
%% generated with the docstrip utility.
-
+%%
%% Copyright (C) 2021-2022 by Jinwen XU
%%
%% This is part of the colorist class series.
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{lebhart}
- {2022/04/24} {}
+ {2022/06/16} {}
{A colorful article style}
\tl_const:Nn \l__colorclass_base_class_tl { article }
@@ -229,43 +229,39 @@
\__colorclass_load_file_or_config:Nnn \l__colorclass_load_custom_font_file_latin_bool { \l__colorclass_custom_font_file_latin_str }
{
- \__colorclass_if_font_exist:nnn { Palatino~Linotype }
+ \bool_if:NTF \l__projlib_font_useosf_bool
{
- \bool_if:NTF \l__projlib_font_useosf_bool
- {
- \setmainfont { Palatino~Linotype } [ Numbers = OldStyle ]
- }
- {
- \setmainfont { Palatino~Linotype }
- }
+ \setmainfont { TeXGyrePagellaX-Regular.otf }
+ [
+ BoldFont = TeXGyrePagellaX-Bold.otf ,
+ ItalicFont = TeXGyrePagellaX-Italic.otf ,
+ BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
+ Numbers = OldStyle ,
+ ]
+ \setsansfont { SourceSansPro-Regular.otf }
+ [
+ Scale = 1.05 ,
+ BoldFont = SourceSansPro-Semibold.otf ,
+ ItalicFont = SourceSansPro-RegularIt.otf ,
+ BoldItalicFont = SourceSansPro-SemiboldIt.otf ,
+ Numbers = OldStyle ,
+ ]
}
{
- \bool_if:NTF \l__projlib_font_useosf_bool
- {
- \setmainfont { TeXGyrePagellaX-Regular.otf }
- [
- BoldFont = TeXGyrePagellaX-Bold.otf ,
- ItalicFont = TeXGyrePagellaX-Italic.otf ,
- BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
- Numbers = OldStyle ,
- ]
- }
- {
- \setmainfont { TeXGyrePagellaX-Regular.otf }
- [
- BoldFont = TeXGyrePagellaX-Bold.otf ,
- ItalicFont = TeXGyrePagellaX-Italic.otf ,
- BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
- ]
- }
+ \setmainfont { TeXGyrePagellaX-Regular.otf }
+ [
+ BoldFont = TeXGyrePagellaX-Bold.otf ,
+ ItalicFont = TeXGyrePagellaX-Italic.otf ,
+ BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
+ ]
+ \setsansfont { SourceSansPro-Regular.otf }
+ [
+ Scale = 1.05 ,
+ BoldFont = SourceSansPro-Semibold.otf ,
+ ItalicFont = SourceSansPro-RegularIt.otf ,
+ BoldItalicFont = SourceSansPro-SemiboldIt.otf ,
+ ]
}
- \setsansfont { SourceSansPro-Regular.otf }
- [
- Scale = 1.05 ,
- BoldFont = SourceSansPro-Bold.otf ,
- ItalicFont = SourceSansPro-RegularIt.otf ,
- BoldItalicFont = SourceSansPro-BoldIt.otf ,
- ]
\setmonofont { NewCMMono10-Regular.otf }
[
Scale = 1.05 ,
@@ -544,10 +540,8 @@
{
\bool_if:NF \g_projlib_font_already_set_bool
{
- \bool_if:NTF \l__colorclass_fast_bool
- {
- \RequirePackage { amssymb }
- }
+ \RequirePackage { amssymb }
+ \bool_if:NF \l__colorclass_fast_bool
{
\PassOptionsToPackage { warnings-off = { mathtools-colon, mathtools-overbracket } } { unicode-math }
\RequirePackage { unicode-math }
@@ -559,6 +553,11 @@
]
\setmathfont { latinmodern-math.otf }
[
+ range = { \ast } ,
+ Scale = 1.10
+ ]
+ \setmathfont { latinmodern-math.otf }
+ [
range = { frak, bffrak }
]
\DeclareMathAlphabet{\mathcal}{OMS}{cmsy}{m}{n}
@@ -571,17 +570,34 @@
[
range = { it / { Latin, latin }, bfit / { Latin, latin }, up / num, bfup / num }
]
+ \setmathfont { KpMath-Regular.otf } [ range = {} ]
+
+ \sys_if_engine_luatex:T
+ {
+ \mathitalicsmode=1
+ }
\hook_gput_code:nnn { begindocument } { colorclass }
{
- \NewCommandCopy \colorclass_backup_mid: \mid
- \RenewDocumentCommand \mid {}
- { \skip_horizontal:n {-.1em} \colorclass_backup_mid: \skip_horizontal:n {-.1em} }
- \NewCommandCopy \colorclass_backup_nmid: \nmid
- \RenewDocumentCommand \nmid {}
- { \skip_horizontal:n {-.1em} \colorclass_backup_nmid: \skip_horizontal:n {-.1em} }
+ \cs_gset_eq:NN \overline \wideoverbar
+ \cs_gset_eq:NN \square \mdwhtsquare
}
+ % A temporary hack proposed in https://tex.stackexchange.com/a/647789
+ \hook_gput_code:nnn { begindocument } { minimclass }
+ {
+ \NewCommandCopy\unicodevdots\vdots
+ \RenewDocumentCommand{\vdots}{}{\mathrel{\loweredvdots}}
+ }
+ \newcommand{\loweredvdots}{\mathpalette\loweredvdots@\relax}
+ \newcommand{\loweredvdots@}[2]{%
+ \begingroup
+ \sbox\z@{$\m@th#1\unicodevdots$}%
+ \vrule width \z@ height 2.25\ht\z@ depth 0.012\ht\z@
+ \raisebox{0.25\height}{\usebox\z@}%
+ \endgroup
+ }
+
\RequirePackage { tikz-cd }
\tikzcdset { arrow~style = tikz, diagrams = { >={Stealth[round,length=3.4pt,width=6.15pt,inset=2.25pt]} } }
@@ -650,21 +666,27 @@
}
}
+\char_set_catcode_active:n { `\· }
+\cs_new_protected:Npn · { \ensuremath\cdot }
+
\PassOptionsToPackage { all } { nowidow }
\RequirePackage { nowidow }
-\RequirePackage { regexpatch }
-\skip_new:N \g_colorclass_parfillskip_skip
-\xpatchcmd{\@trivlist}{\@flushglue}{\g_colorclass_parfillskip_skip}{}{}
-\hook_gput_code:nnn { begindocument } { colorclass }
+\sys_if_engine_xetex:T
{
- \skip_gset:Nn \g_colorclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 2\parindent } }
- \skip_gset_eq:NN \parfillskip \g_colorclass_parfillskip_skip
+ \RequirePackage { regexpatch }
+ \skip_new:N \g_colorclass_parfillskip_skip
+ \xpatchcmd{\@trivlist}{\@flushglue}{\g_colorclass_parfillskip_skip}{}{}
+ \hook_gput_code:nnn { begindocument } { colorclass }
+ {
+ \skip_gset:Nn \g_colorclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 3em } }
+ \skip_gset_eq:NN \parfillskip \g_colorclass_parfillskip_skip
+ }
}
\hook_gput_code:nnn { begindocument/before } { colorclass }
{
- \@ifpackageloaded { biblatex }
+ \IfPackageLoadedTF { biblatex }
{
\PassOptionsToPackage { biblatex } { embrac }
} {}
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
index 02fc3bdb47..4d831c22cc 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
index a0f6e3432b..e49bd7a2b0 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
@@ -97,7 +97,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/24}
+\def\PackageVersion{2022/06/16}
\frontmatter
\LocallyStopLineNumbers
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf b/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
index 6470a1ba61..7d769103fc 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex b/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
index 172e5e8d8d..a607310484 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
@@ -97,7 +97,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/24}
+\def\PackageVersion{2022/06/16}
\LocallyStopLineNumbers
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf
index e90a0ae4ad..ceba510095 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex
index ca1cae66f1..72156379c9 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex
@@ -97,7 +97,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/24}
+\def\PackageVersion{2022/06/16}
\frontmatter
\LocallyStopLineNumbers
diff --git a/macros/unicodetex/latex/simplivre/simplivre.cls b/macros/unicodetex/latex/simplivre/simplivre.cls
index 07780bdd10..25377b24b8 100644
--- a/macros/unicodetex/latex/simplivre/simplivre.cls
+++ b/macros/unicodetex/latex/simplivre/simplivre.cls
@@ -1,7 +1,7 @@
%%
%% This is file `simplivre/simplivre.cls',
%% generated with the docstrip utility.
-
+%%
%% Copyright (C) 2021-2022 by Jinwen XU
%%
%% This is part of the minimalist class series.
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{simplivre}
- {2022/04/24} {}
+ {2022/06/16} {}
{A simple and clear book style}
\tl_const:Nn \l__minimclass_base_class_tl { book }
@@ -250,43 +250,39 @@
\__minimclass_load_file_or_config:Nnn \l__minimclass_load_custom_font_file_latin_bool { \l__minimclass_custom_font_file_latin_str }
{
- \__minimclass_if_font_exist:nnn { Palatino~Linotype }
+ \bool_if:NTF \l__projlib_font_useosf_bool
{
- \bool_if:NTF \l__projlib_font_useosf_bool
- {
- \setmainfont { Palatino~Linotype } [ Numbers = OldStyle ]
- }
- {
- \setmainfont { Palatino~Linotype }
- }
+ \setmainfont { TeXGyrePagellaX-Regular.otf }
+ [
+ BoldFont = TeXGyrePagellaX-Bold.otf ,
+ ItalicFont = TeXGyrePagellaX-Italic.otf ,
+ BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
+ Numbers = OldStyle ,
+ ]
+ \setsansfont { SourceSansPro-Regular.otf }
+ [
+ Scale = 1.05 ,
+ BoldFont = SourceSansPro-Semibold.otf ,
+ ItalicFont = SourceSansPro-RegularIt.otf ,
+ BoldItalicFont = SourceSansPro-SemiboldIt.otf ,
+ Numbers = OldStyle ,
+ ]
}
{
- \bool_if:NTF \l__projlib_font_useosf_bool
- {
- \setmainfont { TeXGyrePagellaX-Regular.otf }
- [
- BoldFont = TeXGyrePagellaX-Bold.otf ,
- ItalicFont = TeXGyrePagellaX-Italic.otf ,
- BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
- Numbers = OldStyle ,
- ]
- }
- {
- \setmainfont { TeXGyrePagellaX-Regular.otf }
- [
- BoldFont = TeXGyrePagellaX-Bold.otf ,
- ItalicFont = TeXGyrePagellaX-Italic.otf ,
- BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
- ]
- }
+ \setmainfont { TeXGyrePagellaX-Regular.otf }
+ [
+ BoldFont = TeXGyrePagellaX-Bold.otf ,
+ ItalicFont = TeXGyrePagellaX-Italic.otf ,
+ BoldItalicFont = TeXGyrePagellaX-BoldItalic.otf ,
+ ]
+ \setsansfont { SourceSansPro-Regular.otf }
+ [
+ Scale = 1.05 ,
+ BoldFont = SourceSansPro-Semibold.otf ,
+ ItalicFont = SourceSansPro-RegularIt.otf ,
+ BoldItalicFont = SourceSansPro-SemiboldIt.otf ,
+ ]
}
- \setsansfont { SourceSansPro-Regular.otf }
- [
- Scale = 1.05 ,
- BoldFont = SourceSansPro-Bold.otf ,
- ItalicFont = SourceSansPro-RegularIt.otf ,
- BoldItalicFont = SourceSansPro-BoldIt.otf ,
- ]
\setmonofont { NewCMMono10-Regular.otf }
[
Scale = 1.05 ,
@@ -567,10 +563,8 @@
{
\bool_if:NF \g_projlib_font_already_set_bool
{
- \bool_if:NTF \l__minimclass_fast_bool
- {
- \RequirePackage { amssymb }
- }
+ \RequirePackage { amssymb }
+ \bool_if:NF \l__minimclass_fast_bool
{
\PassOptionsToPackage { warnings-off = { mathtools-colon, mathtools-overbracket } } { unicode-math }
\RequirePackage { unicode-math }
@@ -582,6 +576,11 @@
]
\setmathfont { latinmodern-math.otf }
[
+ range = { \ast } ,
+ Scale = 1.10
+ ]
+ \setmathfont { latinmodern-math.otf }
+ [
range = { frak, bffrak }
]
\DeclareMathAlphabet{\mathcal}{OMS}{cmsy}{m}{n}
@@ -594,17 +593,34 @@
[
range = { it / { Latin, latin }, bfit / { Latin, latin }, up / num, bfup / num }
]
+ \setmathfont { KpMath-Regular.otf } [ range = {} ]
+
+ \sys_if_engine_luatex:T
+ {
+ \mathitalicsmode=1
+ }
\hook_gput_code:nnn { begindocument } { minimclass }
{
- \NewCommandCopy \minimclass_backup_mid: \mid
- \RenewDocumentCommand \mid {}
- { \skip_horizontal:n {-.1em} \minimclass_backup_mid: \skip_horizontal:n {-.1em} }
- \NewCommandCopy \minimclass_backup_nmid: \nmid
- \RenewDocumentCommand \nmid {}
- { \skip_horizontal:n {-.1em} \minimclass_backup_nmid: \skip_horizontal:n {-.1em} }
+ \cs_gset_eq:NN \overline \wideoverbar
+ \cs_gset_eq:NN \square \mdwhtsquare
}
+ % A temporary hack proposed in https://tex.stackexchange.com/a/647789
+ \hook_gput_code:nnn { begindocument } { minimclass }
+ {
+ \NewCommandCopy\unicodevdots\vdots
+ \RenewDocumentCommand{\vdots}{}{\mathrel{\loweredvdots}}
+ }
+ \newcommand{\loweredvdots}{\mathpalette\loweredvdots@\relax}
+ \newcommand{\loweredvdots@}[2]{%
+ \begingroup
+ \sbox\z@{$\m@th#1\unicodevdots$}%
+ \vrule width \z@ height 2.25\ht\z@ depth 0.012\ht\z@
+ \raisebox{0.25\height}{\usebox\z@}%
+ \endgroup
+ }
+
\RequirePackage { tikz-cd }
\tikzcdset { arrow~style = tikz, diagrams = { >={Stealth[round,length=3.4pt,width=6.15pt,inset=2.25pt]} } }
@@ -673,21 +689,27 @@
}
}
+\char_set_catcode_active:n { `\· }
+\cs_new_protected:Npn · { \ensuremath\cdot }
+
\PassOptionsToPackage { all } { nowidow }
\RequirePackage { nowidow }
-\RequirePackage { regexpatch }
-\skip_new:N \g_minimclass_parfillskip_skip
-\xpatchcmd{\@trivlist}{\@flushglue}{\g_minimclass_parfillskip_skip}{}{}
-\hook_gput_code:nnn { begindocument } { minimclass }
+\sys_if_engine_xetex:T
{
- \skip_gset:Nn \g_minimclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 2\parindent } }
- \skip_gset_eq:NN \parfillskip \g_minimclass_parfillskip_skip
+ \RequirePackage { regexpatch }
+ \skip_new:N \g_minimclass_parfillskip_skip
+ \xpatchcmd{\@trivlist}{\@flushglue}{\g_minimclass_parfillskip_skip}{}{}
+ \hook_gput_code:nnn { begindocument } { minimclass }
+ {
+ \skip_gset:Nn \g_minimclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 3em } }
+ \skip_gset_eq:NN \parfillskip \g_minimclass_parfillskip_skip
+ }
}
\hook_gput_code:nnn { begindocument/before } { minimclass }
{
- \@ifpackageloaded { biblatex }
+ \IfPackageLoadedTF { biblatex }
{
\PassOptionsToPackage { biblatex } { embrac }
} {}
diff --git a/support/TeX4ht/source/ChangeLog b/support/TeX4ht/source/ChangeLog
index 956704a020..2bbda119db 100644
--- a/support/TeX4ht/source/ChangeLog
+++ b/support/TeX4ht/source/ChangeLog
@@ -1,3 +1,9 @@
+2022-06-16 Michal Hoftich <michal.h21@gmail.com>
+
+ * tex4ht-jats.tex (jats.4ht): added support for the quote
+ environment.
+ https://tex.stackexchange.com/q/647208/2891
+
2022-06-15 Michal Hoftich <michal.h21@gmail.com>
* tex4ht-jats.tex (jats.4ht): added support for Koma, AMS and Memoir
diff --git a/support/TeX4ht/source/tex4ht-jats.tex b/support/TeX4ht/source/tex4ht-jats.tex
index 68aed941f9..1b54ba7096 100644
--- a/support/TeX4ht/source/tex4ht-jats.tex
+++ b/support/TeX4ht/source/tex4ht-jats.tex
@@ -162,6 +162,7 @@ Configurations that are shared only for article and report
|<abstract|>
|<latex tables|>
|<latex footnotes|>
+|<latex quotes|>
>>>
\section{Configurations for Memoir}
@@ -178,6 +179,7 @@ Configurations that are shared only for article and report
|<latex floats|>
|<latex tables|>
|<latex footnotes|>
+|<latex quotes|>
>>>
\<shared article,report\><<<
@@ -656,6 +658,18 @@ about font name and size is lost.
{\EndP\RecallEndP\HCode{</fn>}}%
>>>
+%%%%%%%%%%%%%%%%%%%%
+\section{Quotes}
+%%%%%%%%%%%%%%%%%%%%
+
+\<latex quotes\><<<
+\ConfigureEnv{quote}
+ {}{}
+ {\ifvmode\IgnorePar\fi\EndP%
+ \HCode{<disp-quote>}}
+ {\IgnorePar\EndP\HCode{</disp-quote>}\ShowPar\ShowIndent}
+>>>
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Packages}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/systems/mac/mactex/ExtrasFolder.pdf b/systems/mac/mactex/ExtrasFolder.pdf
index a57c5dcd25..9e9f7e76c8 100644
--- a/systems/mac/mactex/ExtrasFolder.pdf
+++ b/systems/mac/mactex/ExtrasFolder.pdf
Binary files differ
diff --git a/systems/mac/mactex/Licenses.txt b/systems/mac/mactex/Licenses.txt
index 07020276c7..db2f522b02 100644
--- a/systems/mac/mactex/Licenses.txt
+++ b/systems/mac/mactex/Licenses.txt
@@ -1,10 +1,10 @@
$Id: Licenses.txt,v 1.14 2007/02/28 14:23:19 herbs Exp $
-Brief summary of the licensing of the various applications included as of 2022/06/15
+Brief summary of the licensing of the various applications included as of 2022/06/16
Aquamacs Emacs (Intel) - 3.6 - gpl - http://aquamacs.org/
Aquatkbibtex - 1.3 - gpl - http://aquatkbibtex.sourceforge.net/
-BibDesk (10.9+) - 1.8.10 - bsd - http://bibdesk.sourceforge.net/
+BibDesk (10.9+) - 1.8.11 - bsd - http://bibdesk.sourceforge.net/
BBEdit LaTeX Glossary - 3.03 - free? - from http://www.barebones.com/index.shtml
BBEdit TeX Scripts - - free? - from http://msneep.home.xs4all.nl/latex/
CocoAspell (10.11+) - 2.5 - free? - http://people.ict.usc.edu/~leuski/cocoaspell/
diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini
index 5703d3ad03..6f57c830c3 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=1655324370
+date=1655410721
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=86e2aca33113117807fc2b6f3ecafb3e
+lstdigest=c3e8d9d0c2a69ce60d1d1ae06088c810
numpkg=5684
relstate=next
-version=8201
+version=8202
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: uX+EPZzRcyUz4lDaSpZ4QnkpLvnTgF58zj4l4e1rw8VpgWEWj1fraD61xU7vJ9hjRnSK5CNYj83Bzr04j5y+tJswfUuc0VeWd92S+bn2XpipCrMW5I+PCy//C6CKHXJPiZbb4zcD3bvO4YU/Qz+Bxxcl3iq72GyY+o+OknkablaM7cz9gaRaOh/iS4pTnubx0xrwWt5il11Rn1BOHq4gSeNxAROpWmXbMP/sIH7Qj58BG86/zZQnkXrEjNKKCKfnweIrFV2lMxTaAA5kXV5icqva6adCskuO2tHVkiM6Mf/UPnWVFNOjdr5Co6jgb7tymYw7xfTE4/kW4gxXEqshSQ==
+;;;; signature/miktex: BtXSZYdFHYM8nlwaRN3c/xrqUckqdfIJFWOYnuhgFbLo5n9tiPt5y9LJHeUPbG4EV5Ygi4xBRHGTirnPmiK9ig9kq0ShvEQJdWR2bWLlfxRzgR5j1WnfzCmDz4Hf+22kKXNRdsqjtW/4s0ipzrFVCdZs7tmdiuhQ5el7r43cVjHSHdoNocCrdyAEKdHQ4vTAYQ0ZeboJduJ3x29TZfYOunKHcG3l6+YqJOalIHyu1ZBls23z4vu7f28yYh5NIIUyIePZrqa2tNDaeyhlYHwDQ8OrEvtIQRYE+Q6sqLtKsxbtpbyWNiq9H+fpK8Nl48cYhSIOVi9ixfehNPtj+QAOQw==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index d9a5610ae7..24483efc7b 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1655323923
+date=1655410311
lastupd=acmart acmart__doc acmart__source amsmath amsmath__doc amsmath__source aomart aomart__doc aomart__source arabtex arabtex__doc arabtex__source babel babel__doc babel__source bath-bst bath-bst__doc bath-bst__source beamerthemeamurmaple beamerthemeamurmaple__doc
-lstdigest=48e551379ec6f9943534d7d9a561b8e1
+lstdigest=06386562d67ea04b52f6dbc3f76d5a65
numpkg=5684
relstate=stable
-version=8201
+version=8202
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: mgjVBndIaeM2jf2f9LGf2LD/NtCx5TxSanssf/PykQSbt3ATfYdin3HSVv5L4Z+jyydifk9wh97XyESuqEbg+sgm9q8fkm47eKS7tjsIRdH6x10UPklTTTjrGmCOuYqEeJX/ULbzrlZ6q5NEaa4lvRzfWe639iNYTzJkHKNo62aPwzzFfw9rx23Vgt77X0o3YxfWlfaLg/Cq/BfPY6fWiDduEbJ1i4f5hswixkRE2mu19eC90PJSCShd3xgDfc6gGW5enkneBSMB15uNTH5BcCvuXnJ2/r7DEa/aex2+Qp+jgDX5mWUo3dh3uFEt8QVaXKL3v07tp6eEsSA9/zTgag==
+;;;; signature/miktex: iAy0xwH+6yWeZ3Lm2/QhL5bgii9b0CN49fK8RqSS6AcMQDPg3oF8KOJtX/Fn+9thHKNWeTMhhFFWUzUo21Be+Z5R7R3DQFjLZGHdOao44jX3XHkeEbpTBNZzRf5XpLmRKeXzbTTWyAWMg3POKigqPWZggDXrIZLaWW4te/mvvWyRqBv925gRpdDVNRoQ+gMJ5gUDvwOfhIQtzweyBs4gEYtoqv4yY/PG00X49mTLgg115f/I7CuMrzFzWYjAB7teaX1GUdGFQOEt+CEOH5YPebJRqOXcPufgectmCOVfrQmgnk39zgTpBy6SEbhuCG7lzBe1kW++iAXUcboICUFdJw==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/timestamp b/timestamp
index c3fef65e2d..dda36be831 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2022-06-16-02-02
+2022-06-17-02-02