summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
Diffstat (limited to 'macros')
-rw-r--r--macros/jptex/latex/japanese-otf/COPYRIGHT4
-rw-r--r--macros/jptex/latex/japanese-otf/README4
-rw-r--r--macros/jptex/latex/japanese-otf/doc/00otf-uptex.txt24
-rw-r--r--macros/jptex/latex/japanese-otf/doc/test/uplatex/Makefile95
-rw-r--r--macros/jptex/latex/japanese-otf/doc/test/uplatex/sp_jp_text.tex32
-rw-r--r--macros/jptex/latex/japanese-otf/doc/test/uplatex/sp_jp_utf.tex32
-rw-r--r--macros/jptex/latex/japanese-otf/doc/test/uplatex/uotftest-utf8.tex40
-rw-r--r--macros/jptex/latex/japanese-otf/doc/test/uplatex/upkanatest1.tex2
-rw-r--r--macros/jptex/latex/japanese-otf/doc/test/uplatex/utfmacro-kozuka.map144
-rw-r--r--macros/jptex/latex/japanese-otf/src/script/CheckDVICode.pm17
-rw-r--r--macros/jptex/latex/japanese-otf/src/script/MakeSPList.pm4
-rwxr-xr-xmacros/jptex/latex/japanese-otf/src/script/mktfm_sp.pl2
-rwxr-xr-xmacros/jptex/latex/japanese-otf/src/script/mkutf32list.pl2
-rwxr-xr-xmacros/jptex/latex/japanese-otf/src/script/mkutfvf_sp.pl2
-rw-r--r--macros/jptex/latex/japanese-otf/src/script/sp_list_j.txt32
-rwxr-xr-xmacros/jptex/latex/japanese-otf/src/script/umkpkana.pl13
-rwxr-xr-xmacros/jptex/latex/japanese-otf/src/script/umkvpkana.pl13
-rwxr-xr-xmacros/jptex/latex/japanese-otf/src/umakeotf2
-rwxr-xr-xmacros/jptex/latex/japanese-otf/src/umakeotf_brsg2
-rwxr-xr-xmacros/jptex/latex/japanese-otf/src/umakeotf_jis042
-rw-r--r--macros/jptex/latex/japanese-otf/src/umakeotf_pre2
-rwxr-xr-xmacros/jptex/latex/japanese-otf/src/umakeotf_prop6
-rwxr-xr-xmacros/jptex/latex/japanese-otf/src/umkjvf11
-rw-r--r--macros/jptex/latex/japanese-otf/sty/mlutf.sty2
-rw-r--r--macros/jptex/latex/japanese-otf/sty/otf.sty27
-rw-r--r--macros/jptex/latex/japanese-otf/tfm/utfgrg-h.tfmbin0 -> 172 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/tfm/utfgrg-v.tfmbin0 -> 172 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/tfm/utfjgbg-h.tfmbin0 -> 172 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/tfm/utfjgbg-v.tfmbin0 -> 172 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/tfm/utfjgeg-h.tfmbin0 -> 172 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/tfm/utfjgeg-v.tfmbin0 -> 172 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/tfm/utfjgrg-h.tfmbin0 -> 172 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/tfm/utfjgrg-v.tfmbin0 -> 172 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/tfm/utfjmbg-h.tfmbin0 -> 172 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/tfm/utfjmbg-v.tfmbin0 -> 172 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/tfm/utfjmgrg-h.tfmbin0 -> 172 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/tfm/utfjmgrg-v.tfmbin0 -> 172 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/tfm/utfjmlg-h.tfmbin0 -> 172 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/tfm/utfjmlg-v.tfmbin0 -> 172 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/tfm/utfjmrg-h.tfmbin0 -> 172 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/tfm/utfjmrg-v.tfmbin0 -> 172 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/tfm/utfmrg-h.tfmbin0 -> 172 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/tfm/utfmrg-v.tfmbin0 -> 172 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpgothb-h.vfbin6712 -> 6748 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpgothb-v.vfbin5728 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpgothbn-h.vfbin6712 -> 6748 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpgothbn-v.vfbin5732 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpgotheb-h.vfbin6712 -> 6748 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpgotheb-v.vfbin5732 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpgothebn-h.vfbin6716 -> 6748 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpgothebn-v.vfbin5732 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpgothr-h.vfbin6712 -> 6748 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpgothr-v.vfbin5728 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpgothrn-h.vfbin6712 -> 6748 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpgothrn-v.vfbin5732 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpmgothr-h.vfbin6716 -> 6752 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpmgothr-v.vfbin5736 -> 5768 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpmgothrn-h.vfbin6716 -> 6752 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpmgothrn-v.vfbin5736 -> 5768 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpminb-h.vfbin6712 -> 6744 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpminb-v.vfbin5728 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpminbn-h.vfbin6712 -> 6748 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpminbn-v.vfbin5728 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpminl-h.vfbin6712 -> 6744 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpminl-v.vfbin5728 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpminln-h.vfbin6712 -> 6748 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpminln-v.vfbin5728 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpminr-h.vfbin6712 -> 6744 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpminr-v.vfbin5728 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpminrn-h.vfbin6712 -> 6748 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upbrsgexpminrn-v.vfbin5728 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpgothb-h.vfbin6712 -> 6748 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpgothb-v.vfbin5728 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpgothbn-h.vfbin6712 -> 6748 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpgothbn-v.vfbin5732 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpgotheb-h.vfbin6712 -> 6748 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpgotheb-v.vfbin5732 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpgothebn-h.vfbin6716 -> 6748 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpgothebn-v.vfbin5732 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpgothr-h.vfbin6712 -> 6748 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpgothr-v.vfbin5728 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpgothrn-h.vfbin6712 -> 6748 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpgothrn-v.vfbin5732 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpmgothr-h.vfbin6716 -> 6752 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpmgothr-v.vfbin5736 -> 5768 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpmgothrn-h.vfbin6716 -> 6752 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpmgothrn-v.vfbin5736 -> 5768 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpminb-h.vfbin6712 -> 6744 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpminb-v.vfbin5728 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpminbn-h.vfbin6712 -> 6748 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpminbn-v.vfbin5728 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpminl-h.vfbin6712 -> 6744 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpminl-v.vfbin5728 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpminln-h.vfbin6712 -> 6748 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpminln-v.vfbin5728 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpminr-h.vfbin6712 -> 6744 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpminr-v.vfbin5728 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpminrn-h.vfbin6712 -> 6748 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upexpminrn-v.vfbin5728 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlgothb-h.vfbin651088 -> 651120 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlgothb-v.vfbin651112 -> 651144 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlgothbn-h.vfbin651088 -> 651120 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlgothbn-v.vfbin651112 -> 651148 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlgotheb-h.vfbin651088 -> 651120 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlgotheb-v.vfbin651112 -> 651148 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlgothebn-h.vfbin651088 -> 651124 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlgothebn-v.vfbin651112 -> 651148 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlgothr-h.vfbin651088 -> 651120 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlgothr-v.vfbin651112 -> 651144 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlgothrn-h.vfbin651088 -> 651120 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlgothrn-v.vfbin651112 -> 651148 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlmgothr-h.vfbin651088 -> 651124 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlmgothr-v.vfbin651116 -> 651148 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlmgothrn-h.vfbin651088 -> 651124 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlmgothrn-v.vfbin651116 -> 651148 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlminb-h.vfbin651084 -> 651120 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlminb-v.vfbin651112 -> 651144 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlminbn-h.vfbin651088 -> 651120 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlminbn-v.vfbin651112 -> 651144 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlminl-h.vfbin651084 -> 651120 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlminl-v.vfbin651112 -> 651144 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlminln-h.vfbin651088 -> 651120 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlminln-v.vfbin651112 -> 651144 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlminr-h.vfbin651084 -> 651120 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlminr-v.vfbin651112 -> 651144 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlminrn-h.vfbin651088 -> 651120 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/upnmlminrn-v.vfbin651112 -> 651144 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/uprubygothb-h.vfbin6712 -> 6748 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/uprubygothb-v.vfbin5728 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/uprubygotheb-h.vfbin6712 -> 6748 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/uprubygotheb-v.vfbin5732 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/uprubygothr-h.vfbin6712 -> 6748 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/uprubygothr-v.vfbin5728 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/uprubymgothr-h.vfbin6716 -> 6752 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/uprubymgothr-v.vfbin5736 -> 5768 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/uprubyminb-h.vfbin6712 -> 6744 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/uprubyminb-v.vfbin5728 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/uprubyminl-h.vfbin6712 -> 6744 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/uprubyminl-v.vfbin5728 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/uprubyminr-h.vfbin6712 -> 6744 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/uprubyminr-v.vfbin5728 -> 5764 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/utfgrg-h.vfbin0 -> 88 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/utfgrg-v.vfbin0 -> 88 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/utfjgbg-h.vfbin0 -> 88 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/utfjgbg-v.vfbin0 -> 88 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/utfjgeg-h.vfbin0 -> 88 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/utfjgeg-v.vfbin0 -> 88 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/utfjgrg-h.vfbin0 -> 88 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/utfjgrg-v.vfbin0 -> 88 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/utfjmbg-h.vfbin0 -> 88 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/utfjmbg-v.vfbin0 -> 88 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/utfjmgrg-h.vfbin0 -> 88 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/utfjmgrg-v.vfbin0 -> 88 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/utfjmlg-h.vfbin0 -> 88 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/utfjmlg-v.vfbin0 -> 88 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/utfjmrg-h.vfbin0 -> 88 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/utfjmrg-v.vfbin0 -> 88 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/utfmrg-h.vfbin0 -> 88 bytes
-rw-r--r--macros/jptex/latex/japanese-otf/vf/utfmrg-v.vfbin0 -> 88 bytes
-rw-r--r--macros/jptex/latex/jlreq-deluxe/LICENSE2
-rw-r--r--macros/jptex/latex/jlreq-deluxe/README-ja.md2
-rw-r--r--macros/jptex/latex/jlreq-deluxe/README.md2
-rw-r--r--macros/jptex/latex/jlreq-deluxe/jlreq-deluxe.pdfbin63604 -> 63709 bytes
-rw-r--r--macros/jptex/latex/jlreq-deluxe/jlreq-deluxe.sty8
-rw-r--r--macros/jptex/latex/jlreq-deluxe/jlreq-deluxe.tex4
-rw-r--r--macros/jptex/latex/jsclasses/README.md2
-rw-r--r--macros/jptex/latex/jsclasses/jsclasses.dtx4
-rw-r--r--macros/jptex/latex/jsclasses/jsclasses.pdfbin415344 -> 415282 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv3-JS.pdfbin35063 -> 0 bytes
-rw-r--r--macros/latex/contrib/l3kernel/CHANGELOG.md15
-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.pdfbin622668 -> 622500 bytes
-rw-r--r--macros/latex/contrib/l3kernel/interface3.pdfbin1778236 -> 1740152 bytes
-rw-r--r--macros/latex/contrib/l3kernel/interface3.tex10
-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.dtx66
-rw-r--r--macros/latex/contrib/l3kernel/l3candidates.dtx24
-rw-r--r--macros/latex/contrib/l3kernel/l3cctab.dtx6
-rw-r--r--macros/latex/contrib/l3kernel/l3clist.dtx10
-rw-r--r--macros/latex/contrib/l3kernel/l3coffins.dtx16
-rw-r--r--macros/latex/contrib/l3kernel/l3color.dtx3
-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.pdfbin557684 -> 557491 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3docstrip.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3docstrip.pdfbin151708 -> 151517 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3expan.dtx4
-rw-r--r--macros/latex/contrib/l3kernel/l3file.dtx6
-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.dtx6
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-random.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-round.dtx4
-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.dtx268
-rw-r--r--macros/latex/contrib/l3kernel/l3fparray.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3int.dtx230
-rw-r--r--macros/latex/contrib/l3kernel/l3intarray.dtx4
-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.pdfbin395876 -> 395876 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news01.pdfbin122710 -> 122710 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news02.pdfbin150674 -> 150674 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news03.pdfbin148706 -> 148706 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news04.pdfbin114586 -> 114586 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news05.pdfbin112485 -> 112485 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news06.pdfbin151569 -> 151569 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news07.pdfbin128316 -> 128316 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news08.pdfbin163456 -> 163456 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news09.pdfbin250136 -> 250136 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news10.pdfbin150283 -> 150283 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news11.pdfbin170076 -> 170076 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news12.pdfbin204992 -> 204992 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3pdf.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3prefixes.csv2
-rw-r--r--macros/latex/contrib/l3kernel/l3prefixes.pdfbin81614 -> 81640 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3prg.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3prop.dtx4
-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.dtx209
-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.dtx34
-rw-r--r--macros/latex/contrib/l3kernel/l3styleguide.pdfbin296142 -> 295977 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3styleguide.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3syntax-changes.pdfbin242810 -> 242645 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3syntax-changes.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3sys.dtx4
-rw-r--r--macros/latex/contrib/l3kernel/l3term-glossary.pdfbin215352 -> 215187 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3term-glossary.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3text-case.dtx14
-rw-r--r--macros/latex/contrib/l3kernel/l3text-map.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3text-purify.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3text.dtx140
-rw-r--r--macros/latex/contrib/l3kernel/l3tl-analysis.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3tl.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3token.dtx27
-rw-r--r--macros/latex/contrib/l3kernel/l3unicode.dtx30
-rw-r--r--macros/latex/contrib/l3kernel/source3.pdfbin7322241 -> 7327606 bytes
-rw-r--r--macros/latex/contrib/l3kernel/source3.tex2
-rw-r--r--macros/latex/contrib/wrapfig2/README.txt13
-rw-r--r--macros/latex/contrib/wrapfig2/wrapfig2.dtx218
-rw-r--r--macros/latex/contrib/wrapfig2/wrapfig2.pdfbin697282 -> 706149 bytes
-rw-r--r--macros/xetex/latex/xduts/xduts.dtx225
-rw-r--r--macros/xetex/latex/xduts/xduts.pdfbin330444 -> 331874 bytes
261 files changed, 1368 insertions, 848 deletions
diff --git a/macros/jptex/latex/japanese-otf/COPYRIGHT b/macros/jptex/latex/japanese-otf/COPYRIGHT
index c4c8fb7048..aa57e578d4 100644
--- a/macros/jptex/latex/japanese-otf/COPYRIGHT
+++ b/macros/jptex/latex/japanese-otf/COPYRIGHT
@@ -1,6 +1,6 @@
Copyright (C) 2003--2019 SAITO Shuzaburo and INOUE Koichi
-Copyright (C) 2007--2022 TANAKA Takuji
-Copyright (C) 2017--2022 Japanese TeX Development Community
+Copyright (C) 2007--2023 TANAKA Takuji
+Copyright (C) 2017--2023 Japanese TeX Development Community
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/macros/jptex/latex/japanese-otf/README b/macros/jptex/latex/japanese-otf/README
index be383b2747..1d6034b23d 100644
--- a/macros/jptex/latex/japanese-otf/README
+++ b/macros/jptex/latex/japanese-otf/README
@@ -14,7 +14,7 @@ consists of following packages:
- author: Tanaka Takuji
- upstream: http://www.t-lab.opal.ne.jp/tex/uptex_en.html
https://github.com/t-tk/japanese-otf-uptex
- - currently japanese-otf-uptex Ver.0.27 (2022/02/16)
+ - currently japanese-otf-uptex Ver.0.28 (2023/02/23)
- readme by the author: 00otf-uptex.txt
In addition, several patches were applied to support extended
@@ -29,4 +29,4 @@ The contents of this package is under the license given in the
COPYRIGHT file, which is the 3-clause BSD license.
Japanese TeX Development Community
-20220305.0
+20230223.0
diff --git a/macros/jptex/latex/japanese-otf/doc/00otf-uptex.txt b/macros/jptex/latex/japanese-otf/doc/00otf-uptex.txt
index 036cfbe3cd..d81e7f80ec 100644
--- a/macros/jptex/latex/japanese-otf/doc/00otf-uptex.txt
+++ b/macros/jptex/latex/japanese-otf/doc/00otf-uptex.txt
@@ -1,5 +1,5 @@
[ Title ]
-japanese-otf-uptex Ver.0.27 2022/02/16
+japanese-otf-uptex Ver.0.28 2022/02/23
[ Abstract ]
@@ -480,4 +480,26 @@ https://github.com/t-tk/japanese-otf-uptex
Add new tests for CK multi-weight plain texts.
COPYRIGHT ::
Update year.
+2023.02.23 Ver0.28
+ sty/otf.sty, sty/mlutf.sty ::
+ Bump version number.
+ Set option autodetect-engine default.
+ Add a new option platex to check if engine is platex.
+ umkjvf, umakeotf{,_brsg,_jis04,_pre,_prop},
+ script/{CheckDVICode,MakeSPList}.pm,
+ script/{mktfm_sp,mkutf32list,mkutfvf_sp,umk{,v}pkana}.pl ::
+ Update header comments.
+ script/CheckDVICode.pm, script/sp_list_j.txt,
+ test/uplatex/sp_jp_{utf,text}.tex ::
+ Update references:
+ Unicode Blocks-15.0.0.txt (Date: 2022-01-28, 20:58:00 GMT [KW])
+ Adobe-Japan1-7 cid2code.txt (Version 05/18/2022).
+ script/{CheckDVICode,MakeSPList}.pm, script/umk{,v}pkana}.pl,
+ umkjvf, umakeotf_prop ::
+ Support Kana Letter Small Ko defined by Unicode 15.0.
+ test/uplatex/Makefile, test/uplatex/utfmacro-kozuka.map,
+ test/uplatex/{uotftest-utf8,upkanatest1}.tex ::
+ Add new tests for Small Kana Extension & Adobe fonts.
+ COPYRIGHT ::
+ Update year.
diff --git a/macros/jptex/latex/japanese-otf/doc/test/uplatex/Makefile b/macros/jptex/latex/japanese-otf/doc/test/uplatex/Makefile
index bb5ba6d3f6..d3337fb3fe 100644
--- a/macros/jptex/latex/japanese-otf/doc/test/uplatex/Makefile
+++ b/macros/jptex/latex/japanese-otf/doc/test/uplatex/Makefile
@@ -6,6 +6,53 @@ DVIPS = dvips
DVIPDFMX = dvipdfmx -v
PDVITYPE = pdvitype
+JPOTF = ../../..
+MYFONTDIR = /please/set/personal/fontdir
+
+export TEXINPUTS := .;${JPOTF}/japanese-otf-uptex/sty/;${JPOTF}/japanese-otf/sty/;$$TEXMF/tex/{platex,latex,generic,}//
+export VFFONTS := .;${JPOTF}//vf/;$$TEXMF/fonts/vf//
+export TFMFONTS := .;${JPOTF}//tfm/;{$$TEXMF/fonts,$$VARTEXFONTS}/tfm//
+export OFMFONTS := .;${JPOTF}//ofm/;{$$TEXMF/fonts,$$VARTEXFONTS}/{ofm,tfm}//
+export OPENTYPEFONTS := .;${MYFONTDIR}//;$$TEXMF/fonts/{opentype,truetype}//;$$OSFONTDIR//
+
+which-otf:
+ kpsewhich otf.sty
+
+which-exp-vf:
+ kpsewhich -format vf upexpminr-h.vf
+
+which-exp-tfm:
+ kpsewhich -format tfm upexpminr-h.tfm
+
+which-cmr-tfm:
+ kpsewhich -format tfm cmr10.tfm
+
+which-cjmr-tfm:
+ kpsewhich -format tfm otf-cjmr-h.tfm
+
+which-cjmr-ofm:
+ kpsewhich -format ofm otf-cjmr-h.ofm
+
+which-hara-otf:
+ kpsewhich -format "opentype fonts" HaranoAjiMincho-Regular.otf
+ kpsewhich -format "opentype fonts" HaranoAjiGothic-Medium.otf
+
+which-hara-ck-otf:
+ kpsewhich -format "opentype fonts" HaranoAjiMinchoCN-Regular.otf
+ kpsewhich -format "opentype fonts" HaranoAjiGothicCN-Medium.otf
+ kpsewhich -format "opentype fonts" HaranoAjiMinchoTW-Regular.otf
+ kpsewhich -format "opentype fonts" HaranoAjiGothicTW-Medium.otf
+ kpsewhich -format "opentype fonts" HaranoAjiMinchoK1-Regular.otf
+ kpsewhich -format "opentype fonts" HaranoAjiGothicK1-Medium.otf
+
+which-koz-otf:
+ kpsewhich -format "opentype fonts" KozMinPr6N-Regular.otf
+ kpsewhich -format "opentype fonts" KozGoPr6N-Medium.otf
+ kpsewhich -format "opentype fonts" AdobeSongStd-Light.otf
+ kpsewhich -format "opentype fonts" AdobeMingStd-Light.otf
+ kpsewhich -format "opentype fonts" AdobeMyungjoStd-Medium.otf
+
+
all: otf sp art brsg jis04 scale prop punct exclam dir
otf: uplatex-otf platex-otf
@@ -39,6 +86,30 @@ platex-otf:
$(DVIPDFMX) uotftest-$$opt-v-platex.dvi ; \
done
+uplatex-otf-haranoaji: uplatex-otf
+ for opt in deluxe expert; do \
+ $(DVIPDFMX) -f utfmacro-haranoaji.map -o uotftest-$$opt-h-hara-uplatex.pdf uotftest-$$opt-h-uplatex.dvi ; \
+ $(DVIPDFMX) -f utfmacro-haranoaji.map -o uotftest-$$opt-v-hara-uplatex.pdf uotftest-$$opt-v-uplatex.dvi ; \
+ done
+
+uplatex-otf-kozuka: uplatex-otf
+ for opt in deluxe expert; do \
+ $(DVIPDFMX) -f utfmacro-kozuka.map -o uotftest-$$opt-h-koz-uplatex.pdf uotftest-$$opt-h-uplatex.dvi ; \
+ $(DVIPDFMX) -f utfmacro-kozuka.map -o uotftest-$$opt-v-koz-uplatex.pdf uotftest-$$opt-v-uplatex.dvi ; \
+ done
+
+platex-otf-haranoaji: platex-otf
+ for opt in deluxe expert; do \
+ $(DVIPDFMX) -f utfmacro-haranoaji.map -o uotftest-$$opt-h-hara-platex.pdf uotftest-$$opt-h-platex.dvi ; \
+ $(DVIPDFMX) -f utfmacro-haranoaji.map -o uotftest-$$opt-v-hara-platex.pdf uotftest-$$opt-v-platex.dvi ; \
+ done
+
+platex-otf-kozuka: platex-otf
+ for opt in deluxe expert; do \
+ $(DVIPDFMX) -f utfmacro-kozuka.map -o uotftest-$$opt-h-koz-platex.pdf uotftest-$$opt-h-platex.dvi ; \
+ $(DVIPDFMX) -f utfmacro-kozuka.map -o uotftest-$$opt-v-koz-platex.pdf uotftest-$$opt-v-platex.dvi ; \
+ done
+
uplatex-sp:
for opt in default deluxe expert bold noreplace; do \
$(UPLATEX) "\def\option{$$opt}\def\class{ujarticle}\input" uotf-sp-utf8.tex ; \
@@ -59,6 +130,30 @@ platex-sp:
$(DVIPDFMX) uotf-sp-$$opt-v-platex.dvi ; \
done
+uplatex-sp-haranoaji: uplatex-sp
+ for opt in deluxe expert; do \
+ $(DVIPDFMX) -f utfmacro-haranoaji.map -o uotf-sp-$$opt-h-hara-uplatex.pdf uotf-sp-$$opt-h-uplatex.dvi ; \
+ $(DVIPDFMX) -f utfmacro-haranoaji.map -o uotf-sp-$$opt-v-hara-uplatex.pdf uotf-sp-$$opt-v-uplatex.dvi ; \
+ done
+
+uplatex-sp-kozuka: uplatex-sp
+ for opt in deluxe expert; do \
+ $(DVIPDFMX) -f utfmacro-kozuka.map -o uotf-sp-$$opt-h-koz-uplatex.pdf uotf-sp-$$opt-h-uplatex.dvi ; \
+ $(DVIPDFMX) -f utfmacro-kozuka.map -o uotf-sp-$$opt-v-koz-uplatex.pdf uotf-sp-$$opt-v-uplatex.dvi ; \
+ done
+
+platex-sp-haranoaji: platex-sp
+ for opt in deluxe expert; do \
+ $(DVIPDFMX) -f utfmacro-haranoaji.map -o uotf-sp-$$opt-h-hara-platex.pdf uotf-sp-$$opt-h-platex.dvi ; \
+ $(DVIPDFMX) -f utfmacro-haranoaji.map -o uotf-sp-$$opt-v-hara-platex.pdf uotf-sp-$$opt-v-platex.dvi ; \
+ done
+
+platex-sp-kozuka: platex-sp
+ for opt in deluxe expert; do \
+ $(DVIPDFMX) -f utfmacro-kozuka.map -o uotf-sp-$$opt-h-koz-platex.pdf uotf-sp-$$opt-h-platex.dvi ; \
+ $(DVIPDFMX) -f utfmacro-kozuka.map -o uotf-sp-$$opt-v-koz-platex.pdf uotf-sp-$$opt-v-platex.dvi ; \
+ done
+
uplatex-article:
for opt in noreplace; do \
$(UPLATEX) "\def\option{$$opt}\def\class{article}\input" uotftest-utf8.tex ; \
diff --git a/macros/jptex/latex/japanese-otf/doc/test/uplatex/sp_jp_text.tex b/macros/jptex/latex/japanese-otf/doc/test/uplatex/sp_jp_text.tex
index 24203b59b9..5fc7ae1d8c 100644
--- a/macros/jptex/latex/japanese-otf/doc/test/uplatex/sp_jp_text.tex
+++ b/macros/jptex/latex/japanese-otf/doc/test/uplatex/sp_jp_text.tex
@@ -1,6 +1,6 @@
%
% This file is generated from the data of UniJIS-UTF32
-% in cid2code.txt (Version 07/30/2019)
+% in cid2code.txt (Version 05/18/2022)
% for Adobe-Japan1-7
%
% Reference:
@@ -26,15 +26,15 @@ Adobe-Japan1-4\\
🅂🅃🅄🅅🅆🅇🅈🅉🈂🈷
🅰🅱🅲🅳🅴🅵🅶🅷🅸🅹
🅺🅻🅼🅽🅾🅿🆀🆁🆂🆃
-🆄🆅🆆🆇🆈🆉🞜眞𠤎𦥑
-𫟘沿芽槪割𦈢𠮷𩵋卿𫞎
-憲𠩤浩𫝆𫝷滋𠮟勺爵周
-将𭕄𠀋城𩙿真𠆢𮕩𫝑成
-𧾷𣳾炭𥫗彫潮𡈽冬𤴔姬
-𫞉諭輸𥙿𦚰𠘨𠂊𠦄卉寃
-拔𦦙𣏌杞𪧦𫞽絣𮉸𠔿𦉪
-𠂰𮛪𨦇𨸗𫠚𤋮桒𣲾𠘑嶲
-你𣘺𣏾𢘉
+🆄🆅🆆🆇🆈🆉🞜𛄲𛅕眞
+𠤎𦥑𫟘沿芽槪割𦈢𠮷𩵋
+卿𫞎憲𠩤浩𫝆𫝷滋𠮟勺
+爵周将𭕄𠀋城𩙿真𠆢𮕩
+𫝑成𧾷𣳾炭𥫗彫潮𡈽冬
+𤴔姬𫞉諭輸𥙿𦚰𠘨𠂊𠦄
+卉寃拔𦦙𣏌杞𪧦𫞽絣𮉸
+𠔿𦉪𠂰𮛪𨦇𨸗𫠚𤋮桒𣲾
+𠘑嶲你𣘺𣏾𢘉
Adobe-Japan1-5\\
𡌛𡑮𡢽𡚴𡸴𣇄𣗄𣜿𣝣𤟱
@@ -65,11 +65,11 @@ Adobe-Japan1-5\\
𨯯𨴐𨵱𨷻𨸟𨸶𨺉𨻫𨼲𨿸
𩊠𩊱𩒐𩗏𩛰𩜙𩝐𩣆𩩲𩷛
𩸕𩺊𩹉𩻄𩻩𩻛𩿎𩿗𪀯𪀚
-𪃹𪂂𢈘𪎌𪐷𪗱𪘂𪚲𠃵𤸄
-𤿲𧵳再善形慈栟軔𪊲𠅘
-𠖱𠛬𫝓𠵘𫝚𫝜𥧌𫝶𢹂𫝼
-𠟈𢿫𧦴𫞂𫞋𣟱𫞔𤁋𫞬𫞯
-𫟉𫟏𫟒𦲞𧰼𫟰𫝥𫠍𫠗𦍌
-𩸽𪘚
+𪃹𪂂𢈘𪎌𪐷𪗱𪘂𪚲𱍐𠃵
+𤸄𤿲𧵳再善形慈栟軔𪊲
+𠅘𠖱𠛬𫝓𠵘𫝚𫝜𥧌𫝶𢹂
+𫝼𠟈𢿫𧦴𫞂𫞋𣟱𫞔𤁋𫞬
+𫞯𫟉𫟏𫟒𦲞𧰼𫟰𫝥𫠍𫠗
+𦍌𩸽𪘚
% end
diff --git a/macros/jptex/latex/japanese-otf/doc/test/uplatex/sp_jp_utf.tex b/macros/jptex/latex/japanese-otf/doc/test/uplatex/sp_jp_utf.tex
index 3f9a1e6fcb..7570f6686a 100644
--- a/macros/jptex/latex/japanese-otf/doc/test/uplatex/sp_jp_utf.tex
+++ b/macros/jptex/latex/japanese-otf/doc/test/uplatex/sp_jp_utf.tex
@@ -1,6 +1,6 @@
%
% This file is generated from the data of UniJIS-UTF32
-% in cid2code.txt (Version 07/30/2019)
+% in cid2code.txt (Version 05/18/2022)
% for Adobe-Japan1-7
%
% Reference:
@@ -26,15 +26,15 @@ Adobe-Japan1-4\\
\UTF{1F142}\UTF{1F143}\UTF{1F144}\UTF{1F145}\UTF{1F146}\UTF{1F147}\UTF{1F148}\UTF{1F149}\UTF{1F202}\UTF{1F237}%
\UTF{1F170}\UTF{1F171}\UTF{1F172}\UTF{1F173}\UTF{1F174}\UTF{1F175}\UTF{1F176}\UTF{1F177}\UTF{1F178}\UTF{1F179}%
\UTF{1F17A}\UTF{1F17B}\UTF{1F17C}\UTF{1F17D}\UTF{1F17E}\UTF{1F17F}\UTF{1F180}\UTF{1F181}\UTF{1F182}\UTF{1F183}%
-\UTF{1F184}\UTF{1F185}\UTF{1F186}\UTF{1F187}\UTF{1F188}\UTF{1F189}\UTF{1F79C}\UTF{2F945}\UTF{2090E}\UTF{26951}%
-\UTF{2B7D8}\UTF{2F8FC}\UTF{2F995}\UTF{2F8EA}\UTF{2F822}\UTF{26222}\UTF{20BB7}\UTF{29D4B}\UTF{2F833}\UTF{2B78E}%
-\UTF{2F8AC}\UTF{20A64}\UTF{2F903}\UTF{2B746}\UTF{2B777}\UTF{2F90B}\UTF{20B9F}\UTF{2F828}\UTF{2F921}\UTF{2F83F}%
-\UTF{2F873}\UTF{2D544}\UTF{2000B}\UTF{2F852}\UTF{2967F}\UTF{2F947}\UTF{201A2}\UTF{2E569}\UTF{2B751}\UTF{2F8B2}%
-\UTF{27FB7}\UTF{23CFE}\UTF{2F91A}\UTF{25AD7}\UTF{2F89A}\UTF{2F90F}\UTF{2123D}\UTF{2F81A}\UTF{24D14}\UTF{2F862}%
-\UTF{2B789}\UTF{2F9D0}\UTF{2F9DF}\UTF{2567F}\UTF{266B0}\UTF{20628}\UTF{2008A}\UTF{20984}\UTF{2F82C}\UTF{2F86D}%
-\UTF{2F8B6}\UTF{26999}\UTF{233CC}\UTF{2F8DB}\UTF{2A9E6}\UTF{2B7BD}\UTF{2F96C}\UTF{2E278}\UTF{2053F}\UTF{2626A}%
-\UTF{200B0}\UTF{2E6EA}\UTF{28987}\UTF{28E17}\UTF{2B81A}\UTF{242EE}\UTF{2F8E1}\UTF{23CBE}\UTF{20611}\UTF{2F9F4}%
-\UTF{2F804}\UTF{2363A}\UTF{233FE}\UTF{22609}
+\UTF{1F184}\UTF{1F185}\UTF{1F186}\UTF{1F187}\UTF{1F188}\UTF{1F189}\UTF{1F79C}\UTF{1B132}\UTF{1B155}\UTF{2F945}%
+\UTF{2090E}\UTF{26951}\UTF{2B7D8}\UTF{2F8FC}\UTF{2F995}\UTF{2F8EA}\UTF{2F822}\UTF{26222}\UTF{20BB7}\UTF{29D4B}%
+\UTF{2F833}\UTF{2B78E}\UTF{2F8AC}\UTF{20A64}\UTF{2F903}\UTF{2B746}\UTF{2B777}\UTF{2F90B}\UTF{20B9F}\UTF{2F828}%
+\UTF{2F921}\UTF{2F83F}\UTF{2F873}\UTF{2D544}\UTF{2000B}\UTF{2F852}\UTF{2967F}\UTF{2F947}\UTF{201A2}\UTF{2E569}%
+\UTF{2B751}\UTF{2F8B2}\UTF{27FB7}\UTF{23CFE}\UTF{2F91A}\UTF{25AD7}\UTF{2F89A}\UTF{2F90F}\UTF{2123D}\UTF{2F81A}%
+\UTF{24D14}\UTF{2F862}\UTF{2B789}\UTF{2F9D0}\UTF{2F9DF}\UTF{2567F}\UTF{266B0}\UTF{20628}\UTF{2008A}\UTF{20984}%
+\UTF{2F82C}\UTF{2F86D}\UTF{2F8B6}\UTF{26999}\UTF{233CC}\UTF{2F8DB}\UTF{2A9E6}\UTF{2B7BD}\UTF{2F96C}\UTF{2E278}%
+\UTF{2053F}\UTF{2626A}\UTF{200B0}\UTF{2E6EA}\UTF{28987}\UTF{28E17}\UTF{2B81A}\UTF{242EE}\UTF{2F8E1}\UTF{23CBE}%
+\UTF{20611}\UTF{2F9F4}\UTF{2F804}\UTF{2363A}\UTF{233FE}\UTF{22609}
Adobe-Japan1-5\\
\UTF{2131B}\UTF{2146E}\UTF{218BD}\UTF{216B4}\UTF{21E34}\UTF{231C4}\UTF{235C4}\UTF{2373F}\UTF{23763}\UTF{247F1}%
@@ -65,11 +65,11 @@ Adobe-Japan1-5\\
\UTF{28BEF}\UTF{28D10}\UTF{28D71}\UTF{28DFB}\UTF{28E1F}\UTF{28E36}\UTF{28E89}\UTF{28EEB}\UTF{28F32}\UTF{28FF8}%
\UTF{292A0}\UTF{292B1}\UTF{29490}\UTF{295CF}\UTF{296F0}\UTF{29719}\UTF{29750}\UTF{298C6}\UTF{29A72}\UTF{29DDB}%
\UTF{29E15}\UTF{29E8A}\UTF{29E49}\UTF{29EC4}\UTF{29EE9}\UTF{29EDB}\UTF{29FCE}\UTF{29FD7}\UTF{2A02F}\UTF{2A01A}%
-\UTF{2A0F9}\UTF{2A082}\UTF{22218}\UTF{2A38C}\UTF{2A437}\UTF{2A5F1}\UTF{2A602}\UTF{2A6B2}\UTF{200F5}\UTF{24E04}%
-\UTF{24FF2}\UTF{27D73}\UTF{2F815}\UTF{2F846}\UTF{2F899}\UTF{2F8A6}\UTF{2F8E5}\UTF{2F9DE}\UTF{2A2B2}\UTF{20158}%
-\UTF{205B1}\UTF{206EC}\UTF{2B753}\UTF{20D58}\UTF{2B75A}\UTF{2B75C}\UTF{259CC}\UTF{2B776}\UTF{22E42}\UTF{2B77C}%
-\UTF{207C8}\UTF{22FEB}\UTF{279B4}\UTF{2B782}\UTF{2B78B}\UTF{237F1}\UTF{2B794}\UTF{2404B}\UTF{2B7AC}\UTF{2B7AF}%
-\UTF{2B7C9}\UTF{2B7CF}\UTF{2B7D2}\UTF{26C9E}\UTF{27C3C}\UTF{2B7F0}\UTF{2B765}\UTF{2B80D}\UTF{2B817}\UTF{2634C}%
-\UTF{29E3D}\UTF{2A61A}
+\UTF{2A0F9}\UTF{2A082}\UTF{22218}\UTF{2A38C}\UTF{2A437}\UTF{2A5F1}\UTF{2A602}\UTF{2A6B2}\UTF{31350}\UTF{200F5}%
+\UTF{24E04}\UTF{24FF2}\UTF{27D73}\UTF{2F815}\UTF{2F846}\UTF{2F899}\UTF{2F8A6}\UTF{2F8E5}\UTF{2F9DE}\UTF{2A2B2}%
+\UTF{20158}\UTF{205B1}\UTF{206EC}\UTF{2B753}\UTF{20D58}\UTF{2B75A}\UTF{2B75C}\UTF{259CC}\UTF{2B776}\UTF{22E42}%
+\UTF{2B77C}\UTF{207C8}\UTF{22FEB}\UTF{279B4}\UTF{2B782}\UTF{2B78B}\UTF{237F1}\UTF{2B794}\UTF{2404B}\UTF{2B7AC}%
+\UTF{2B7AF}\UTF{2B7C9}\UTF{2B7CF}\UTF{2B7D2}\UTF{26C9E}\UTF{27C3C}\UTF{2B7F0}\UTF{2B765}\UTF{2B80D}\UTF{2B817}%
+\UTF{2634C}\UTF{29E3D}\UTF{2A61A}
% end
diff --git a/macros/jptex/latex/japanese-otf/doc/test/uplatex/uotftest-utf8.tex b/macros/jptex/latex/japanese-otf/doc/test/uplatex/uotftest-utf8.tex
index 2b112b0834..e8fdc9965e 100644
--- a/macros/jptex/latex/japanese-otf/doc/test/uplatex/uotftest-utf8.tex
+++ b/macros/jptex/latex/japanese-otf/doc/test/uplatex/uotftest-utf8.tex
@@ -133,13 +133,13 @@ UTFM:%
ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのは
ばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんヽヾゝゞー
\ifuptexmode
-ゔゕゖ
+ゔゕゖ𛄲
\fi
ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハ
バパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ
\ifuptexmode
-ヷヸヹヺㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ
+ヷヸヹヺㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ𛅕
\fi
“回”、‘回’。“回”,‘回’.
@@ -150,13 +150,13 @@ UTFM:%
ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのは
ばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんヽヾゝゞー
\ifuptexmode
-ゔゕゖ
+ゔゕゖ𛄲
\fi
ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハ
バパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ
\ifuptexmode
-ヷヸヹヺㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ
+ヷヸヹヺㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ𛅕
\fi
“回”、‘回’。“回”,‘回’.
@@ -168,13 +168,13 @@ UTFM:%
ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのは
ばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんヽヾゝゞー
\ifuptexmode
-ゔゕゖ
+ゔゕゖ𛄲
\fi
ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハ
バパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ
\ifuptexmode
-ヷヸヹヺㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ
+ヷヸヹヺㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ𛅕
\fi
“回”、‘回’。“回”,‘回’.
@@ -185,13 +185,13 @@ UTFM:%
ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのは
ばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんヽヾゝゞー
\ifuptexmode
-ゔゕゖ
+ゔゕゖ𛄲
\fi
ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハ
バパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ
\ifuptexmode
-ヷヸヹヺㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ
+ヷヸヹヺㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ𛅕
\fi
“回”、‘回’。“回”,‘回’.
@@ -203,13 +203,13 @@ UTFM:%
ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのは
ばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんヽヾゝゞー
\ifuptexmode
-ゔゕゖ
+ゔゕゖ𛄲
\fi
ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハ
バパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ
\ifuptexmode
-ヷヸヹヺㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ
+ヷヸヹヺㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ𛅕
\fi
“回”、‘回’。“回”,‘回’.
@@ -221,7 +221,7 @@ UTFM:%
ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのは
ばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんヽヾゝゞー
\ifuptexmode
-ゔゕゖ
+ゔゕゖ𛄲
\fbox{\hbox{\tate\Huge ㇰ}}
@@ -232,7 +232,7 @@ UTFM:%
ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハ
バパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ
\ifuptexmode
-ヷヸヹヺㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ
+ヷヸヹヺㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ𛅕
\fi
“回”、‘回’。“回”,‘回’.
@@ -243,13 +243,13 @@ UTFM:%
ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのは
ばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんヽヾゝゞー
\ifuptexmode
-ゔゕゖ
+ゔゕゖ𛄲
\fi
ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハ
バパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ
\ifuptexmode
-ヷヸヹヺㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ
+ヷヸヹヺㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ𛅕
\fi
“回”、‘回’。“回”,‘回’.
@@ -261,13 +261,13 @@ UTFM:%
ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのは
ばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんヽヾゝゞー
\ifuptexmode
-ゔゕゖ
+ゔゕゖ𛄲
\fi
ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハ
バパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ
\ifuptexmode
-ヷヸヹヺㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ
+ヷヸヹヺㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ𛅕
\fi
“回”、‘回’。“回”,‘回’.
@@ -282,13 +282,13 @@ UTFM:%
ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのは
ばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんヽヾゝゞー
\ifuptexmode
-ゔゕゖ
+ゔゕゖ𛄲
\fi
ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハ
バパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ
\ifuptexmode
-ヷヸヹヺㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ
+ヷヸヹヺㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ𛅕
\fi
“回”、‘回’。“回”,‘回’.
@@ -300,13 +300,13 @@ UTFM:%
ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのは
ばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんヽヾゝゞー
\ifuptexmode
-ゔゕゖ
+ゔゕゖ𛄲
\fi
ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハ
バパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ
\ifuptexmode
-ヷヸヹヺㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ
+ヷヸヹヺㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ𛅕
\fi
“回”、‘回’。“回”,‘回’.
diff --git a/macros/jptex/latex/japanese-otf/doc/test/uplatex/upkanatest1.tex b/macros/jptex/latex/japanese-otf/doc/test/uplatex/upkanatest1.tex
index 087bcbcece..0f0d8d18d8 100644
--- a/macros/jptex/latex/japanese-otf/doc/test/uplatex/upkanatest1.tex
+++ b/macros/jptex/latex/japanese-otf/doc/test/uplatex/upkanatest1.tex
@@ -58,7 +58,7 @@
otfbeta-uptex (japanese-otf-uptex) Ver.0.18でProportional仮名を、
Ver.0.21で半角片仮名を拡張しました。
-\long\def\testA{〃〆ヿゟゔゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿヷヸヹヺ
+\long\def\testA{〃〆ヿゟゔゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿヷヸヹヺ𛄲𛅕
𨳝櫛𥡴𨻶杓巽屠兔冕冤𡨚𤏐爨🄀
🄐🄑🄒🄓🄔🄕🄖🄗🄘🄙🄚🄛🄜🄝🄞🄟🄠🄡🄢🄣
🄤🄥🄦🄧🄨🄩🅐🅑🅒🅓🅔🅕🅖🅗🅘🅙🅚🅛🅜🅝
diff --git a/macros/jptex/latex/japanese-otf/doc/test/uplatex/utfmacro-kozuka.map b/macros/jptex/latex/japanese-otf/doc/test/uplatex/utfmacro-kozuka.map
new file mode 100644
index 0000000000..06050a030c
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/doc/test/uplatex/utfmacro-kozuka.map
@@ -0,0 +1,144 @@
+rml H KozMinPr6N-Regular.otf
+rmlv V KozMinPr6N-Regular.otf
+
+uprml-h UniJISup-UTF16-H KozMinPr6N-Regular.otf
+uprml-v UniJISup-UTF16-V KozMinPr6N-Regular.otf
+
+hminr-h H KozMinPr6N-Regular.otf
+hminb-h H KozMinPr6N-Regular.otf
+hminl-h H KozMinPr6N-Regular.otf
+hgothr-h H KozGoPr6N-Medium.otf
+hgothb-h H KozGoPr6N-Medium.otf
+hgotheb-h H KozGoPr6N-Medium.otf
+hmgothr-h H KozGoPr6N-Medium.otf
+hminr-v V KozMinPr6N-Regular.otf
+hminb-v V KozMinPr6N-Regular.otf
+hminl-v V KozMinPr6N-Regular.otf
+hgothr-v V KozGoPr6N-Medium.otf
+hgothb-v V KozGoPr6N-Medium.otf
+hgotheb-v V KozGoPr6N-Medium.otf
+hmgothr-v V KozGoPr6N-Medium.otf
+
+hminrn-h H KozMinPr6N-Regular.otf
+hminbn-h H KozMinPr6N-Regular.otf
+hminln-h H KozMinPr6N-Regular.otf
+hgothrn-h H KozGoPr6N-Medium.otf
+hgothbn-h H KozGoPr6N-Medium.otf
+hgothebn-h H KozGoPr6N-Medium.otf
+hmgothrn-h H KozGoPr6N-Medium.otf
+hminrn-v V KozMinPr6N-Regular.otf
+hminbn-v V KozMinPr6N-Regular.otf
+hminln-v V KozMinPr6N-Regular.otf
+hgothrn-v V KozGoPr6N-Medium.otf
+hgothbn-v V KozGoPr6N-Medium.otf
+hgothebn-v V KozGoPr6N-Medium.otf
+hmgothrn-v V KozGoPr6N-Medium.otf
+
+uphminr-h UniJISup-UTF16-H KozMinPr6N-Regular.otf
+uphminb-h UniJISup-UTF16-H KozMinPr6N-Regular.otf
+uphminl-h UniJISup-UTF16-H KozMinPr6N-Regular.otf
+uphgothr-h UniJISup-UTF16-H KozGoPr6N-Medium.otf
+uphgothb-h UniJISup-UTF16-H KozGoPr6N-Medium.otf
+uphgotheb-h UniJISup-UTF16-H KozGoPr6N-Medium.otf
+uphmgothr-h UniJISup-UTF16-H KozGoPr6N-Medium.otf
+uphminr-v UniJISup-UTF16-V KozMinPr6N-Regular.otf
+uphminb-v UniJISup-UTF16-V KozMinPr6N-Regular.otf
+uphminl-v UniJISup-UTF16-V KozMinPr6N-Regular.otf
+uphgothr-v UniJISup-UTF16-V KozGoPr6N-Medium.otf
+uphgothb-v UniJISup-UTF16-V KozGoPr6N-Medium.otf
+uphgotheb-v UniJISup-UTF16-V KozGoPr6N-Medium.otf
+uphmgothr-v UniJISup-UTF16-V KozGoPr6N-Medium.otf
+
+uphminrn-h UniJIS2004up-UTF16-H KozMinPr6N-Regular.otf
+uphminbn-h UniJIS2004up-UTF16-H KozMinPr6N-Regular.otf
+uphminln-h UniJIS2004up-UTF16-H KozMinPr6N-Regular.otf
+uphgothrn-h UniJIS2004up-UTF16-H KozGoPr6N-Medium.otf
+uphgothbn-h UniJIS2004up-UTF16-H KozGoPr6N-Medium.otf
+uphgothebn-h UniJIS2004up-UTF16-H KozGoPr6N-Medium.otf
+uphmgothrn-h UniJIS2004up-UTF16-H KozGoPr6N-Medium.otf
+uphminrn-v UniJIS2004up-UTF16-V KozMinPr6N-Regular.otf
+uphminbn-v UniJIS2004up-UTF16-V KozMinPr6N-Regular.otf
+uphminln-v UniJIS2004up-UTF16-V KozMinPr6N-Regular.otf
+uphgothrn-v UniJIS2004up-UTF16-V KozGoPr6N-Medium.otf
+uphgothbn-v UniJIS2004up-UTF16-V KozGoPr6N-Medium.otf
+uphgothebn-v UniJIS2004up-UTF16-V KozGoPr6N-Medium.otf
+uphmgothrn-v UniJIS2004up-UTF16-V KozGoPr6N-Medium.otf
+
+otf-ujmr-h UniJISup-UTF16-H KozMinPr6N-Regular.otf
+otf-ujmb-h UniJISup-UTF16-H KozMinPr6N-Regular.otf
+otf-ujml-h UniJISup-UTF16-H KozMinPr6N-Regular.otf
+otf-ujgr-h UniJISup-UTF16-H KozGoPr6N-Medium.otf
+otf-ujgb-h UniJISup-UTF16-H KozGoPr6N-Medium.otf
+otf-ujge-h UniJISup-UTF16-H KozGoPr6N-Medium.otf
+otf-ujmgr-h UniJISup-UTF16-H KozGoPr6N-Medium.otf
+
+otf-ujmrn-h UniJIS2004up-UTF16-H KozMinPr6N-Regular.otf
+otf-ujmbn-h UniJIS2004up-UTF16-H KozMinPr6N-Regular.otf
+otf-ujmln-h UniJIS2004up-UTF16-H KozMinPr6N-Regular.otf
+otf-ujgrn-h UniJIS2004up-UTF16-H KozGoPr6N-Medium.otf
+otf-ujgbn-h UniJIS2004up-UTF16-H KozGoPr6N-Medium.otf
+otf-ujgen-h UniJIS2004up-UTF16-H KozGoPr6N-Medium.otf
+otf-ujmgrn-h UniJIS2004up-UTF16-H KozGoPr6N-Medium.otf
+
+otf-ujmr-v UniJISup-UTF16-V KozMinPr6N-Regular.otf
+otf-ujmb-v UniJISup-UTF16-V KozMinPr6N-Regular.otf
+otf-ujml-v UniJISup-UTF16-V KozMinPr6N-Regular.otf
+otf-ujgr-v UniJISup-UTF16-V KozGoPr6N-Medium.otf
+otf-ujgb-v UniJISup-UTF16-V KozGoPr6N-Medium.otf
+otf-ujge-v UniJISup-UTF16-V KozGoPr6N-Medium.otf
+otf-ujmgr-v UniJISup-UTF16-V KozGoPr6N-Medium.otf
+
+otf-ujmrn-v UniJIS2004up-UTF16-V KozMinPr6N-Regular.otf
+otf-ujmbn-v UniJIS2004up-UTF16-V KozMinPr6N-Regular.otf
+otf-ujmln-v UniJIS2004up-UTF16-V KozMinPr6N-Regular.otf
+otf-ujgrn-v UniJIS2004up-UTF16-V KozGoPr6N-Medium.otf
+otf-ujgbn-v UniJIS2004up-UTF16-V KozGoPr6N-Medium.otf
+otf-ujgen-v UniJIS2004up-UTF16-V KozGoPr6N-Medium.otf
+otf-ujmgrn-v UniJIS2004up-UTF16-V KozGoPr6N-Medium.otf
+
+otf-cjmr-h Identity-H KozMinPr6N-Regular.otf
+otf-cjmb-h Identity-H KozMinPr6N-Regular.otf
+otf-cjml-h Identity-H KozMinPr6N-Regular.otf
+otf-cjgr-h Identity-H KozGoPr6N-Medium.otf
+otf-cjgb-h Identity-H KozGoPr6N-Medium.otf
+otf-cjge-h Identity-H KozGoPr6N-Medium.otf
+otf-cjmgr-h Identity-H KozGoPr6N-Medium.otf
+
+otf-cjmr-v Identity-V KozMinPr6N-Regular.otf
+otf-cjmb-v Identity-V KozMinPr6N-Regular.otf
+otf-cjml-v Identity-V KozMinPr6N-Regular.otf
+otf-cjgr-v Identity-V KozGoPr6N-Medium.otf
+otf-cjgb-v Identity-V KozGoPr6N-Medium.otf
+otf-cjge-v Identity-V KozGoPr6N-Medium.otf
+otf-cjmgr-v Identity-V KozGoPr6N-Medium.otf
+
+
+otf-ucmr-h UniGB-UTF16-H AdobeSongStd-Light.otf
+otf-ucmr-v UniGB-UTF16-V AdobeSongStd-Light.otf
+otf-ucgr-h UniGB-UTF16-H AdobeHeitiStd-Regular.otf
+otf-ucgr-v UniGB-UTF16-V AdobeHeitiStd-Regular.otf
+
+otf-utmr-h UniCNS-UTF16-H AdobeMingStd-Light.otf
+otf-utmr-v UniCNS-UTF16-V AdobeMingStd-Light.otf
+otf-utgr-h UniCNS-UTF16-H AdobeFanHeitiStd-Bold.otf
+otf-utgr-v UniCNS-UTF16-V AdobeFanHeitiStd-Bold.otf
+
+otf-ukmr-h UniKS-UTF16-H AdobeMyungjoStd-Medium.otf
+otf-ukmr-v UniKS-UTF16-V AdobeMyungjoStd-Medium.otf
+otf-ukgr-h UniKS-UTF16-H AdobeMyungjoStd-Medium.otf
+otf-ukgr-v UniKS-UTF16-V AdobeMyungjoStd-Medium.otf
+
+otf-ccmr-h Identity-H AdobeSongStd-Light.otf
+otf-ccmr-v Identity-V AdobeSongStd-Light.otf
+otf-ccgr-h Identity-H AdobeHeitiStd-Regular.otf
+otf-ccgr-v Identity-V AdobeHeitiStd-Regular.otf
+
+otf-ctmr-h Identity-H AdobeMingStd-Light.otf
+otf-ctmr-v Identity-V AdobeMingStd-Light.otf
+otf-ctgr-h Identity-H AdobeFanHeitiStd-Bold.otf
+otf-ctgr-v Identity-V AdobeFanHeitiStd-Bold.otf
+
+otf-ckmr-h Identity-H AdobeMyungjoStd-Medium.otf
+otf-ckmr-v Identity-V AdobeMyungjoStd-Medium.otf
+otf-ckgr-h Identity-H AdobeMyungjoStd-Medium.otf
+otf-ckgr-v Identity-V AdobeMyungjoStd-Medium.otf
diff --git a/macros/jptex/latex/japanese-otf/src/script/CheckDVICode.pm b/macros/jptex/latex/japanese-otf/src/script/CheckDVICode.pm
index 3af7198b94..2ff357b65d 100644
--- a/macros/jptex/latex/japanese-otf/src/script/CheckDVICode.pm
+++ b/macros/jptex/latex/japanese-otf/src/script/CheckDVICode.pm
@@ -12,7 +12,7 @@ CheckDVICode.pm
=head1 NOTE
-This software is a part of otfbeta-uptex (a.k.a. japanese-otf-uptex).
+This software is a part of japanese-otf-uptex.
=cut
@@ -94,6 +94,7 @@ sub is_dvicode($){
if ($key eq 'hira-Vu') { return ($code == 0x3094);} # large JIS X 0213
if ($key eq 'hira-ka') { return ($code == 0x3095);} # small JIS X 0213
if ($key eq 'hira-ke') { return ($code == 0x3096);} # small JIS X 0213
+ if ($key eq 'hira-ko') { return ($code == 0x1B132);}# small Unicode 15.0
if ($key eq 'kata-a') { return ($code == 0x30A1);} # small
if ($key eq 'kata-i') { return ($code == 0x30A3);} # :
if ($key eq 'kata-u') { return ($code == 0x30A5);} # :
@@ -106,6 +107,7 @@ sub is_dvicode($){
if ($key eq 'kata-wa') { return ($code == 0x30EE);} # :
if ($key eq 'kata-ka') { return ($code == 0x30F5);} # :
if ($key eq 'kata-ke') { return ($code == 0x30F6);} # small
+ if ($key eq 'kata-ko') { return ($code == 0x1B155);}# small Unicode 15.0
if ($key eq 'kata-Va') { return ($code == 0x30F7);} # large JIS X 0213
if ($key eq 'kata-Vi') { return ($code == 0x30F8);} # : JIS X 0213
if ($key eq 'kata-Ve') { return ($code == 0x30F9);} # : JIS X 0213
@@ -197,6 +199,7 @@ sub is_ucs_hira{
return 1 if ($dvicode>=0x3041 && $dvicode<=0x3093);
return 1 if ($dvicode>=0x3094 && $dvicode<=0x3096); # Vu, small Ka, small Ke
# return 1 if ($dvicode==0x309F); # Yori :: It is omitted because it is not included in "Tuned" in AJ1-6
+ return 1 if ($dvicode==0x1B132); # small Ko Unicode 15.0
return 0;
}
@@ -205,6 +208,7 @@ sub is_ucs_kata{
return 1 if ($dvicode>=0x30F7 && $dvicode<=0x30FA); # Va, Vi, Ve, Vo
return 1 if ($dvicode>=0x31F0 && $dvicode<=0x31FF); # small Ku, small Shi, ... , Small Re, Small Ro
# return 1 if ($dvicode==0x30FF); # Koto :: It is omitted because it is not included in "Tuned" in AJ1-6
+ return 1 if ($dvicode==0x1B155); # small Ko Unicode 15.0
return 0;
}
@@ -215,8 +219,8 @@ sub is_ucs_hankana{
# Reference:
# http://www.unicode.org/Public/UNIDATA/Blocks.txt
-# Blocks-12.0.0.txt
-# Date: 2018-07-30, 19:40:00 GMT [KW]
+# Blocks-15.0.0.txt
+# Date: 2022-01-28, 20:58:00 GMT [KW]
sub is_ucs_jpn_range{
return 1 if ($dvicode<=0x04FF); # Cyrillic
@@ -259,7 +263,8 @@ sub is_ucs_jpn_range{
return 0 if ($dvicode< 0xFF00);
return 1 if ($dvicode<=0xFFEF); # Halfwidth and Fullwidth Forms
- return 0 if ($dvicode< 0x1B000);
+ return 0 if ($dvicode< 0x1AFF0);
+ return 1 if ($dvicode<=0x1AFFF); # Kana Extended-B
return 1 if ($dvicode<=0x1B0FF); # Kana Supplement
return 1 if ($dvicode<=0x1B12F); # Kana Extended-A
return 1 if ($dvicode<=0x1B16F); # Small Kana Extension
@@ -281,6 +286,10 @@ sub is_ucs_jpn_range{
return 0 if ($dvicode< 0x2F800);
return 1 if ($dvicode<=0x2FA1F); # CJK Compatibility Ideographs Supplement
+ return 0 if ($dvicode< 0x30000);
+ return 1 if ($dvicode<=0x3134F); # CJK Unified Ideographs Extension G
+ return 1 if ($dvicode<=0x323AF); # CJK Unified Ideographs Extension H
+
return 0;
}
diff --git a/macros/jptex/latex/japanese-otf/src/script/MakeSPList.pm b/macros/jptex/latex/japanese-otf/src/script/MakeSPList.pm
index 8dc9ce0e3a..29e79a3792 100644
--- a/macros/jptex/latex/japanese-otf/src/script/MakeSPList.pm
+++ b/macros/jptex/latex/japanese-otf/src/script/MakeSPList.pm
@@ -12,13 +12,13 @@ MakeSPList.pm
=head1 NOTE
-This software is a part of otfbeta-uptex (a.k.a. japanese-otf-uptex).
+This software is a part of japanese-otf-uptex.
=cut
our ($r_exist_head, $r_exist_char);
-my $num = '[12][0-9A-F]{4}';
+my $num = '[123][0-9A-F]{4}';
sub make_sp_char_list(@) {
my (@lang)=@_;
diff --git a/macros/jptex/latex/japanese-otf/src/script/mktfm_sp.pl b/macros/jptex/latex/japanese-otf/src/script/mktfm_sp.pl
index 90f464d13a..d14bd5866d 100755
--- a/macros/jptex/latex/japanese-otf/src/script/mktfm_sp.pl
+++ b/macros/jptex/latex/japanese-otf/src/script/mktfm_sp.pl
@@ -10,7 +10,7 @@ script/mktfm_sp.pl
=head1 NOTE
-This software is a part of otfbeta-uptex (a.k.a. japanese-otf-uptex).
+This software is a part of japanese-otf-uptex.
=cut
diff --git a/macros/jptex/latex/japanese-otf/src/script/mkutf32list.pl b/macros/jptex/latex/japanese-otf/src/script/mkutf32list.pl
index 377659d398..2a05252074 100755
--- a/macros/jptex/latex/japanese-otf/src/script/mkutf32list.pl
+++ b/macros/jptex/latex/japanese-otf/src/script/mkutf32list.pl
@@ -19,7 +19,7 @@ Takuji Tanaka
=head1 NOTE
-This software is a part of otfbeta-uptex (a.k.a. japanese-otf-uptex).
+This software is a part of japanese-otf-uptex.
=cut
diff --git a/macros/jptex/latex/japanese-otf/src/script/mkutfvf_sp.pl b/macros/jptex/latex/japanese-otf/src/script/mkutfvf_sp.pl
index 97ea89f2af..cf6379f957 100755
--- a/macros/jptex/latex/japanese-otf/src/script/mkutfvf_sp.pl
+++ b/macros/jptex/latex/japanese-otf/src/script/mkutfvf_sp.pl
@@ -12,7 +12,7 @@ script/mkutfvf_sp.pl -ovp2ovf='wovp2ovf'
=head1 NOTE
-This software is a part of otfbeta-uptex (a.k.a. japanese-otf-uptex).
+This software is a part of japanese-otf-uptex.
=cut
diff --git a/macros/jptex/latex/japanese-otf/src/script/sp_list_j.txt b/macros/jptex/latex/japanese-otf/src/script/sp_list_j.txt
index 2092c5767a..ad1db44239 100644
--- a/macros/jptex/latex/japanese-otf/src/script/sp_list_j.txt
+++ b/macros/jptex/latex/japanese-otf/src/script/sp_list_j.txt
@@ -1,6 +1,6 @@
%
% This file is generated from the data of UniJIS-UTF32
-% in cid2code.txt (Version 07/30/2019)
+% in cid2code.txt (Version 05/18/2022)
% for Adobe-Japan1-7
%
% Reference:
@@ -26,15 +26,15 @@
1F142,1F143,1F144,1F145,1F146,1F147,1F148,1F149,1F202,1F237
1F170,1F171,1F172,1F173,1F174,1F175,1F176,1F177,1F178,1F179
1F17A,1F17B,1F17C,1F17D,1F17E,1F17F,1F180,1F181,1F182,1F183
-1F184,1F185,1F186,1F187,1F188,1F189,1F79C,2F945,2090E,26951
-2B7D8,2F8FC,2F995,2F8EA,2F822,26222,20BB7,29D4B,2F833,2B78E
-2F8AC,20A64,2F903,2B746,2B777,2F90B,20B9F,2F828,2F921,2F83F
-2F873,2D544,2000B,2F852,2967F,2F947,201A2,2E569,2B751,2F8B2
-27FB7,23CFE,2F91A,25AD7,2F89A,2F90F,2123D,2F81A,24D14,2F862
-2B789,2F9D0,2F9DF,2567F,266B0,20628,2008A,20984,2F82C,2F86D
-2F8B6,26999,233CC,2F8DB,2A9E6,2B7BD,2F96C,2E278,2053F,2626A
-200B0,2E6EA,28987,28E17,2B81A,242EE,2F8E1,23CBE,20611,2F9F4
-2F804,2363A,233FE,22609
+1F184,1F185,1F186,1F187,1F188,1F189,1F79C,1B132,1B155,2F945
+2090E,26951,2B7D8,2F8FC,2F995,2F8EA,2F822,26222,20BB7,29D4B
+2F833,2B78E,2F8AC,20A64,2F903,2B746,2B777,2F90B,20B9F,2F828
+2F921,2F83F,2F873,2D544,2000B,2F852,2967F,2F947,201A2,2E569
+2B751,2F8B2,27FB7,23CFE,2F91A,25AD7,2F89A,2F90F,2123D,2F81A
+24D14,2F862,2B789,2F9D0,2F9DF,2567F,266B0,20628,2008A,20984
+2F82C,2F86D,2F8B6,26999,233CC,2F8DB,2A9E6,2B7BD,2F96C,2E278
+2053F,2626A,200B0,2E6EA,28987,28E17,2B81A,242EE,2F8E1,23CBE
+20611,2F9F4,2F804,2363A,233FE,22609
%Adobe-Japan1-5
2131B,2146E,218BD,216B4,21E34,231C4,235C4,2373F,23763,247F1
@@ -65,11 +65,11 @@
28BEF,28D10,28D71,28DFB,28E1F,28E36,28E89,28EEB,28F32,28FF8
292A0,292B1,29490,295CF,296F0,29719,29750,298C6,29A72,29DDB
29E15,29E8A,29E49,29EC4,29EE9,29EDB,29FCE,29FD7,2A02F,2A01A
-2A0F9,2A082,22218,2A38C,2A437,2A5F1,2A602,2A6B2,200F5,24E04
-24FF2,27D73,2F815,2F846,2F899,2F8A6,2F8E5,2F9DE,2A2B2,20158
-205B1,206EC,2B753,20D58,2B75A,2B75C,259CC,2B776,22E42,2B77C
-207C8,22FEB,279B4,2B782,2B78B,237F1,2B794,2404B,2B7AC,2B7AF
-2B7C9,2B7CF,2B7D2,26C9E,27C3C,2B7F0,2B765,2B80D,2B817,2634C
-29E3D,2A61A
+2A0F9,2A082,22218,2A38C,2A437,2A5F1,2A602,2A6B2,31350,200F5
+24E04,24FF2,27D73,2F815,2F846,2F899,2F8A6,2F8E5,2F9DE,2A2B2
+20158,205B1,206EC,2B753,20D58,2B75A,2B75C,259CC,2B776,22E42
+2B77C,207C8,22FEB,279B4,2B782,2B78B,237F1,2B794,2404B,2B7AC
+2B7AF,2B7C9,2B7CF,2B7D2,26C9E,27C3C,2B7F0,2B765,2B80D,2B817
+2634C,29E3D,2A61A
% end
diff --git a/macros/jptex/latex/japanese-otf/src/script/umkpkana.pl b/macros/jptex/latex/japanese-otf/src/script/umkpkana.pl
index 2620888454..c72e56fc64 100755
--- a/macros/jptex/latex/japanese-otf/src/script/umkpkana.pl
+++ b/macros/jptex/latex/japanese-otf/src/script/umkpkana.pl
@@ -2,7 +2,7 @@
=head1 NOTE
-This software is a part of otfbeta-uptex (a.k.a. japanese-otf-uptex).
+This software is a part of japanese-otf-uptex.
=cut
@@ -373,7 +373,7 @@ sub print_type_prop{
sub get_charwidth{
my ($i,$dvicode)=@_;
- my ($char,$u,$l);
+ my ($char,$t,$u,$l);
if (!$ucs) {
if ($dvicode>=0x2474 && $dvicode<=0x2476) {
@@ -384,10 +384,11 @@ sub get_charwidth{
$char = pack("C*",$u,$l);
Encode::from_to($char,'euc-jp','utf-8');
} else {
+ $t = ($dvicode >>16) & 0xFF;
$u = ($dvicode >> 8) & 0xFF;
$l = $dvicode & 0xFF;
- $char = pack("C*",$u,$l);
- Encode::from_to($char,'utf-16be','utf-8');
+ $char = pack("C*",0x00,$t,$u,$l);
+ Encode::from_to($char,'utf-32','utf-8');
}
if (!exists($charwidth[$i]{$char})) {
return 0;
@@ -397,7 +398,7 @@ sub get_charwidth{
__DATA__
-character cid min_w3 min_w6 goth_w3 goth_w6 maru_w4
+character cid min_w3 min_w6 goth_w3 goth_w6 maru_w4 comment
ヽ 15449 7.11 7.54 7.19 7.49 7.45
ヾ 15450 7.68 7.95 7.69 8 8.15
ゝ 15451 7.17 7.43 7.23 7.53 7.63
@@ -599,4 +600,6 @@ character cid min_w3 min_w6 goth_w3 goth_w6 maru_w4
ヸ 15720 9.41 9.75 9.6 9.7 9.75
ヹ 15721 9.47 9.7 9.65 9.7 9.8
ヺ 15722 8.91 9.32 9.34 9.39 9.73
+𛄲 15723 7.53 7.76 7.9 8.18 8.33 U+1B132 小書き「こ」
+𛅕 15724 8.04 8.35 8.4 8.65 8.65 U+1B155 小書き「コ」
end
diff --git a/macros/jptex/latex/japanese-otf/src/script/umkvpkana.pl b/macros/jptex/latex/japanese-otf/src/script/umkvpkana.pl
index da4d0d7d8a..60e1712662 100755
--- a/macros/jptex/latex/japanese-otf/src/script/umkvpkana.pl
+++ b/macros/jptex/latex/japanese-otf/src/script/umkvpkana.pl
@@ -2,7 +2,7 @@
=head1 NOTE
-This software is a part of otfbeta-uptex (a.k.a. japanese-otf-uptex).
+This software is a part of japanese-otf-uptex.
=cut
@@ -340,7 +340,7 @@ sub print_type_prop{
sub get_charwidth{
my ($i,$dvicode)=@_;
- my ($char,$u,$l);
+ my ($char,$t,$u,$l);
if (!$ucs) {
if ($dvicode>=0x2474 && $dvicode<=0x2476) {
@@ -351,10 +351,11 @@ sub get_charwidth{
$char = pack("C*",$u,$l);
Encode::from_to($char,'euc-jp','utf-8');
} else {
+ $t = ($dvicode >>16) & 0xFF;
$u = ($dvicode >> 8) & 0xFF;
$l = $dvicode & 0xFF;
- $char = pack("C*",$u,$l);
- Encode::from_to($char,'utf-16be','utf-8');
+ $char = pack("C*",0x00,$t,$u,$l);
+ Encode::from_to($char,'utf-32','utf-8');
}
if (!exists($charwidth[$i]{$char})) {
return 0;
@@ -364,7 +365,7 @@ sub get_charwidth{
__DATA__
-character cid min_w3 min_w6 goth_w3 goth_w6 maru_w4
+character cid min_w3 min_w6 goth_w3 goth_w6 maru_w4 comment
ヽ 15976 7.17 7.46 7.92 8.27 8.13
ヾ 15977 8.34 8.44 8.46 8.62 8.5
ゝ 15978 7.77 7.98 8.44 8.69 8.62
@@ -566,4 +567,6 @@ character cid min_w3 min_w6 goth_w3 goth_w6 maru_w4
ヸ 16188 9.61 9.8 9.73 9.84 9.77
ヹ 16189 8.94 9.28 9.56 9.80 9.88
ヺ 16190 9.54 9.71 9.67 9.82 9.74
+𛄲 16191 8.72 8.88 8.83 9.13 9.04 U+1B132 小書き「こ」
+𛅕 16192 8 8.23 8.65 8.95 8.91 U+1B155 小書き「コ」
end
diff --git a/macros/jptex/latex/japanese-otf/src/umakeotf b/macros/jptex/latex/japanese-otf/src/umakeotf
index 5749e6fcb7..d675f106d2 100755
--- a/macros/jptex/latex/japanese-otf/src/umakeotf
+++ b/macros/jptex/latex/japanese-otf/src/umakeotf
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# This script is a part of otfbeta-uptex (a.k.a. japanese-otf-uptex).
+# This script is a part of japanese-otf-uptex.
#
# setting for ovp2ovf & uppltotf
diff --git a/macros/jptex/latex/japanese-otf/src/umakeotf_brsg b/macros/jptex/latex/japanese-otf/src/umakeotf_brsg
index 2296dc7929..d4d6fabffb 100755
--- a/macros/jptex/latex/japanese-otf/src/umakeotf_brsg
+++ b/macros/jptex/latex/japanese-otf/src/umakeotf_brsg
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# This script is a part of otfbeta-uptex (a.k.a. japanese-otf-uptex).
+# This script is a part of japanese-otf-uptex.
#
# setting for ovp2ovf & uppltotf
diff --git a/macros/jptex/latex/japanese-otf/src/umakeotf_jis04 b/macros/jptex/latex/japanese-otf/src/umakeotf_jis04
index f02e69fd63..13b7fdc102 100755
--- a/macros/jptex/latex/japanese-otf/src/umakeotf_jis04
+++ b/macros/jptex/latex/japanese-otf/src/umakeotf_jis04
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# This script is a part of otfbeta-uptex (a.k.a. japanese-otf-uptex).
+# This script is a part of japanese-otf-uptex.
#
# setting for ovp2ovf & uppltotf
diff --git a/macros/jptex/latex/japanese-otf/src/umakeotf_pre b/macros/jptex/latex/japanese-otf/src/umakeotf_pre
index 1336cc2182..c9bcb8b5d4 100644
--- a/macros/jptex/latex/japanese-otf/src/umakeotf_pre
+++ b/macros/jptex/latex/japanese-otf/src/umakeotf_pre
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# This script is a part of otfbeta-uptex (a.k.a. japanese-otf-uptex).
+# This script is a part of japanese-otf-uptex.
#
# setting for ovp2ovf & uppltotf
diff --git a/macros/jptex/latex/japanese-otf/src/umakeotf_prop b/macros/jptex/latex/japanese-otf/src/umakeotf_prop
index 13b27d5152..b83a6e0742 100755
--- a/macros/jptex/latex/japanese-otf/src/umakeotf_prop
+++ b/macros/jptex/latex/japanese-otf/src/umakeotf_prop
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# This script is a part of otfbeta-uptex (a.k.a. japanese-otf-uptex).
+# This script is a part of japanese-otf-uptex.
#
# setting for ovp2ovf & uppltotf
@@ -18,8 +18,8 @@ mkdir ovp
fi
echo "making proportional kana tfm/vf ..."
-perl -s script/umkpkana.pl -omitfw -hk
-perl -s script/umkvpkana.pl -omitfw
+perl -s script/umkpkana.pl -omitfw -sp -hk
+perl -s script/umkvpkana.pl -omitfw -sp
for face in minw3 minw6 kakuw3 kakuw6 maruw4
do
diff --git a/macros/jptex/latex/japanese-otf/src/umkjvf b/macros/jptex/latex/japanese-otf/src/umkjvf
index f90f4a5a0a..229d70e304 100755
--- a/macros/jptex/latex/japanese-otf/src/umkjvf
+++ b/macros/jptex/latex/japanese-otf/src/umkjvf
@@ -775,6 +775,8 @@ sub print_ruby_hira_char{
if (&is_dvicode('hira-Vu')){$ruby_hira_code=0x3744;}
if (&is_dvicode('hira-ka')){$ruby_hira_code=0x363A;}
if (&is_dvicode('hira-ke')){$ruby_hira_code=0x3641;}
+ if (&is_dvicode('hira-ko')){$ruby_hira_code=0x3130;
+ $ruby_font_map=3;} # Unicode 15.0
$ruby_hira_code_orig=$ruby_hira_code;
if ($direction eq "t"){&fix_ruby_hira_code;}
printf OVP "(CHARACTER H %X\n", $dvicode;
@@ -800,6 +802,7 @@ sub print_ruby_kata_char{
$ruby_font_map=3;} # JIS X 0213
if (&is_dvicode('kata-ku')){$ruby_kata_code_orig=$ruby_kata_code=0x305B;} # JIS X 0213
if (&is_dvicode('kata-mu')){$ruby_kata_code_orig=$ruby_kata_code=0x3066;} # JIS X 0213
+ if (&is_dvicode('kata-ko')){$ruby_kata_code_orig=$ruby_kata_code=0x3131;} # Unicode 15.0
if ($direction eq "t"){&fix_ruby_kata_code;}
printf OVP "(CHARACTER H %X\n", $dvicode;
printf OVP " (CHARWD R %f)\n",$font_at;
@@ -819,6 +822,7 @@ sub exp_hira_h_char{
if (&is_dvicode('hira-Vu')){$exp_hira_code_h=0x3139;$exp_font_map=3;} # JIS X 0213
if (&is_dvicode('hira-ka')){$exp_hira_code_h=0x6f6d;$exp_font_map=2;} # JIS X 0213
if (&is_dvicode('hira-ke')){$exp_hira_code_h=0x3034;$exp_font_map=3;} # JIS X 0213
+ if (&is_dvicode('hira-ko')){$exp_hira_code_h=0x3037;$exp_font_map=3;} # Unicode 15.0
printf OVP "(CHARACTER H %X\n", $dvicode;
printf OVP " (CHARWD R %f)\n",$font_at;
print OVP " (MAP\n";
@@ -838,6 +842,7 @@ sub exp_hira_h_char{
sub exp_kata_h_char{
if (&is_dvicode('kata-ka')){$exp_kata_code_h=0x3147;}
if (&is_dvicode('kata-ke')){$exp_kata_code_h=0x314e;}
+ if (&is_dvicode('kata-ko')){$exp_kata_code_h=0x3151;} # Unicode 15.0
if (&is_dvicode('kata-Va')){$exp_kata_code_h=0x3254;} # JIS X 0213
if (&is_dvicode('kata-ku')){$exp_kata_code_h=0x6f5d;} # JIS X 0213
if (&is_dvicode('kata-mu')){$exp_kata_code_h=0x6f68;} # JIS X 0213
@@ -860,6 +865,7 @@ sub exp_hira_v_char{
if (&is_dvicode('hira-Vu')){$exp_hira_code_v=0x3430;$exp_font_map=2;} # JIS X 0213
if (&is_dvicode('hira-ka')){$exp_hira_code_v=0x3264;$exp_font_map=2;} # JIS X 0213
if (&is_dvicode('hira-ke')){$exp_hira_code_v=0x326b;$exp_font_map=2;} # JIS X 0213
+ if (&is_dvicode('hira-ko')){$exp_hira_code_v=0x326e;$exp_font_map=2;} # Unicode 15.0
printf OVP "(CHARACTER H %X\n", $dvicode;
printf OVP " (CHARWD R %f)\n",$font_at;
print OVP " (MAP\n";
@@ -881,6 +887,7 @@ sub exp_kata_v_char{
if (&is_dvicode('kata-Va')){$exp_kata_code_v=0x354b;} # JIS X 0213
if (&is_dvicode('kata-ku')){$exp_kata_code_v=0x303b;$exp_font_map=3;} # JIS X 0213
if (&is_dvicode('kata-mu')){$exp_kata_code_v=0x3046;} # JIS X 0213
+ if (&is_dvicode('kata-ko')){$exp_kata_code_v=0x3448;$exp_font_map=2;} # Unicode 15.0
printf OVP "(CHARACTER H %X\n", $dvicode;
printf OVP " (CHARWD R %f)\n",$font_at;
print OVP " (MAP\n";
@@ -909,6 +916,7 @@ sub fix_ruby_hira_code{
if (&is_dvicode('hira-wa' )){$ruby_hira_code=0x3750;}#wa
if (&is_dvicode('hira-ka' )){$ruby_hira_code=0x374a;} # JIS X 0213
if (&is_dvicode('hira-ke' )){$ruby_hira_code=0x374b;} # JIS X 0213
+ if (&is_dvicode('hira-ko' )){$ruby_hira_code=0x3143;} # Unicode 15.0
}
sub fix_ruby_kata_code{
if (&is_dvicode('kata-a' )){$ruby_kata_code=0x3867;}#a
@@ -922,8 +930,9 @@ sub fix_ruby_kata_code{
if (&is_dvicode('kata-yo' )){$ruby_kata_code=0x3931;}#yo
if (&is_dvicode('kata-wa' )){$ruby_kata_code=0x3932;}#wa
if (&is_dvicode('kata-ka' )){$ruby_kata_code=0x386c;}#ka
- if (&is_dvicode('kata-ke' )){$ruby_kata_code=0x386d;}#ke
+ if (&is_dvicode('kata-ke' )){$ruby_kata_code=0x386d;}#ke
if (&is_dvicode('kata-ku..ro')){$ruby_kata_code+=215;} # JIS X 0213
+ if (&is_dvicode('kata-ko' )){$ruby_kata_code=0x3144;} # Unicode 15.0
}
sub get_shift_jiscode{
$c1=$ku+32;
diff --git a/macros/jptex/latex/japanese-otf/sty/mlutf.sty b/macros/jptex/latex/japanese-otf/sty/mlutf.sty
index 78a6b2353d..28538d0d28 100644
--- a/macros/jptex/latex/japanese-otf/sty/mlutf.sty
+++ b/macros/jptex/latex/japanese-otf/sty/mlutf.sty
@@ -1,5 +1,5 @@
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{mlutf}[2004/04/17 v1.1.2 psitau, u0.27 ttk]
+\ProvidesPackage{mlutf}[2004/04/17 v1.1.2 psitau, u0.28 ttk]
%force catcode of \" be 12
\count@\catcode`\"
\catcode`\"=12
diff --git a/macros/jptex/latex/japanese-otf/sty/otf.sty b/macros/jptex/latex/japanese-otf/sty/otf.sty
index e302cea886..27ceb01d0d 100644
--- a/macros/jptex/latex/japanese-otf/sty/otf.sty
+++ b/macros/jptex/latex/japanese-otf/sty/otf.sty
@@ -1,7 +1,7 @@
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{otf}[2022/03/05 TeX JP org, v1.7b8 psitau, u0.27 ttk]
+\ProvidesPackage{otf}[2023/02/23 TeX JP org, v1.7b8 psitau, u0.28 ttk]
\RequirePackage{keyval}
-%for processing options
+%for processing options
\newif\if@kana \@kanafalse
\newif\if@macro \@macrotrue
\newif\if@deluxe \@deluxefalse
@@ -10,7 +10,6 @@
\newif\if@burasage \@burasagefalse
\newif\if@newglyph \@newglyphfalse
\newif\if@otf@uplatex \@otf@uplatexfalse
-\newif\if@otf@autodetect \@otf@autodetectfalse
\newif\if@otf@scale \@otf@scalefalse
\newif\if@jsclasses \@jsclassesfalse
@@ -22,8 +21,10 @@
\DeclareOption{deluxe}{\@boldfalse\@replacetrue\@deluxetrue}
\DeclareOption{multi}{\AtEndOfPackage{\RequirePackage{mlutf}\RequirePackage{mlcid}}}
\DeclareOption{burasage}{\@burasagetrue}
-\DeclareOption{uplatex}{\@otf@uplatextrue}
-\DeclareOption{autodetect-engine}{\@otf@autodetecttrue}
+\let\@otf@engine@given=*
+\DeclareOption{platex}{\let\@otf@engine@given=p\@otf@uplatexfalse}
+\DeclareOption{uplatex}{\let\@otf@engine@given=u\@otf@uplatextrue}
+\DeclareOption{autodetect-engine}{\let\@otf@engine@given=*}
\DeclareOption{jis2004}{\@newglyphtrue}
\DeclareOption*{\otfpkg@setkey}
\def\otfpkg@setkey{\expandafter\otfpkg@setkey@a\expandafter{\CurrentOption}}
@@ -40,23 +41,33 @@
% Autodetect engine
\ifnum \ifx\ucs\@undefined\z@\else\ucs"3000 \fi ="3000 %upTeX
- \if@otf@autodetect
+ \ifx *\@otf@engine@given
\PackageInfo{otf}{Autodetected engine: upLaTeX}
\@otf@uplatextrue
\fi
+ \ifx p\@otf@engine@given
+ \PackageError{otf}
+ {Option 'platex' is specified but you are running upLaTeX.}
+ {\@ehc}
+ \fi
\if@otf@uplatex\else
\PackageError{otf}
{You are running upLaTeX.\MessageBreak
- Please use pLaTeX instead, or add 'uplatex' to\MessageBreak
+ Please use pLaTeX instead, or remove 'platex' from\MessageBreak
the package option list}
{\@ehc}
\@otf@uplatextrue
\fi
\else %pTeX
- \if@otf@autodetect
+ \ifx *\@otf@engine@given
\PackageInfo{otf}{Autodetected engine: pLaTeX}
\@otf@uplatexfalse
\fi
+ \ifx u\@otf@engine@given
+ \PackageError{otf}
+ {Option 'uplatex' is specified but you are running pLaTeX.}
+ {\@ehc}
+ \fi
\if@otf@uplatex
\PackageError{otf}
{You are running pLaTeX.\MessageBreak
diff --git a/macros/jptex/latex/japanese-otf/tfm/utfgrg-h.tfm b/macros/jptex/latex/japanese-otf/tfm/utfgrg-h.tfm
new file mode 100644
index 0000000000..29cb2cd42d
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/tfm/utfgrg-h.tfm
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/tfm/utfgrg-v.tfm b/macros/jptex/latex/japanese-otf/tfm/utfgrg-v.tfm
new file mode 100644
index 0000000000..00f00ca892
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/tfm/utfgrg-v.tfm
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/tfm/utfjgbg-h.tfm b/macros/jptex/latex/japanese-otf/tfm/utfjgbg-h.tfm
new file mode 100644
index 0000000000..29cb2cd42d
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/tfm/utfjgbg-h.tfm
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/tfm/utfjgbg-v.tfm b/macros/jptex/latex/japanese-otf/tfm/utfjgbg-v.tfm
new file mode 100644
index 0000000000..00f00ca892
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/tfm/utfjgbg-v.tfm
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/tfm/utfjgeg-h.tfm b/macros/jptex/latex/japanese-otf/tfm/utfjgeg-h.tfm
new file mode 100644
index 0000000000..29cb2cd42d
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/tfm/utfjgeg-h.tfm
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/tfm/utfjgeg-v.tfm b/macros/jptex/latex/japanese-otf/tfm/utfjgeg-v.tfm
new file mode 100644
index 0000000000..00f00ca892
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/tfm/utfjgeg-v.tfm
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/tfm/utfjgrg-h.tfm b/macros/jptex/latex/japanese-otf/tfm/utfjgrg-h.tfm
new file mode 100644
index 0000000000..29cb2cd42d
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/tfm/utfjgrg-h.tfm
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/tfm/utfjgrg-v.tfm b/macros/jptex/latex/japanese-otf/tfm/utfjgrg-v.tfm
new file mode 100644
index 0000000000..00f00ca892
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/tfm/utfjgrg-v.tfm
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/tfm/utfjmbg-h.tfm b/macros/jptex/latex/japanese-otf/tfm/utfjmbg-h.tfm
new file mode 100644
index 0000000000..29cb2cd42d
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/tfm/utfjmbg-h.tfm
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/tfm/utfjmbg-v.tfm b/macros/jptex/latex/japanese-otf/tfm/utfjmbg-v.tfm
new file mode 100644
index 0000000000..00f00ca892
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/tfm/utfjmbg-v.tfm
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/tfm/utfjmgrg-h.tfm b/macros/jptex/latex/japanese-otf/tfm/utfjmgrg-h.tfm
new file mode 100644
index 0000000000..29cb2cd42d
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/tfm/utfjmgrg-h.tfm
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/tfm/utfjmgrg-v.tfm b/macros/jptex/latex/japanese-otf/tfm/utfjmgrg-v.tfm
new file mode 100644
index 0000000000..00f00ca892
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/tfm/utfjmgrg-v.tfm
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/tfm/utfjmlg-h.tfm b/macros/jptex/latex/japanese-otf/tfm/utfjmlg-h.tfm
new file mode 100644
index 0000000000..29cb2cd42d
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/tfm/utfjmlg-h.tfm
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/tfm/utfjmlg-v.tfm b/macros/jptex/latex/japanese-otf/tfm/utfjmlg-v.tfm
new file mode 100644
index 0000000000..00f00ca892
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/tfm/utfjmlg-v.tfm
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/tfm/utfjmrg-h.tfm b/macros/jptex/latex/japanese-otf/tfm/utfjmrg-h.tfm
new file mode 100644
index 0000000000..29cb2cd42d
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/tfm/utfjmrg-h.tfm
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/tfm/utfjmrg-v.tfm b/macros/jptex/latex/japanese-otf/tfm/utfjmrg-v.tfm
new file mode 100644
index 0000000000..00f00ca892
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/tfm/utfjmrg-v.tfm
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/tfm/utfmrg-h.tfm b/macros/jptex/latex/japanese-otf/tfm/utfmrg-h.tfm
new file mode 100644
index 0000000000..29cb2cd42d
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/tfm/utfmrg-h.tfm
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/tfm/utfmrg-v.tfm b/macros/jptex/latex/japanese-otf/tfm/utfmrg-v.tfm
new file mode 100644
index 0000000000..00f00ca892
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/tfm/utfmrg-v.tfm
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothb-h.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothb-h.vf
index 8995843b3d..b8607babbd 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothb-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothb-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothb-v.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothb-v.vf
index 3a62ae9a4d..49cabeef6b 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothb-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothb-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothbn-h.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothbn-h.vf
index 894fac8889..6333c506e5 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothbn-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothbn-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothbn-v.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothbn-v.vf
index 7ee87ff11a..54951b67da 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothbn-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothbn-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgotheb-h.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgotheb-h.vf
index bf9be0a01f..6831b29c23 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgotheb-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgotheb-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgotheb-v.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgotheb-v.vf
index dc7dc36032..089c196842 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgotheb-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgotheb-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothebn-h.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothebn-h.vf
index beea53f470..f1a09d9e38 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothebn-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothebn-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothebn-v.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothebn-v.vf
index f390c3db7d..ed0278ebf8 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothebn-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothebn-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothr-h.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothr-h.vf
index 111b3eb99f..1943956026 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothr-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothr-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothr-v.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothr-v.vf
index b9e590ac53..3be74db00e 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothr-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothr-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothrn-h.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothrn-h.vf
index 056e9daf8e..3b6697f872 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothrn-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothrn-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothrn-v.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothrn-v.vf
index 7bcdd86ca5..415cb9d349 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothrn-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpgothrn-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpmgothr-h.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpmgothr-h.vf
index 16a7a60dee..2520ca77ae 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpmgothr-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpmgothr-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpmgothr-v.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpmgothr-v.vf
index 9efb8f69dc..53c00470ff 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpmgothr-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpmgothr-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpmgothrn-h.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpmgothrn-h.vf
index 02cdb7bf9c..8344ed97ea 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpmgothrn-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpmgothrn-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpmgothrn-v.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpmgothrn-v.vf
index 90e938fa79..e49e90a70e 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpmgothrn-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpmgothrn-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminb-h.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminb-h.vf
index b0edcb1473..d863022e38 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminb-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminb-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminb-v.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminb-v.vf
index 98e5c838c5..3f607ce1d0 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminb-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminb-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminbn-h.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminbn-h.vf
index aed6596e72..1c3e9caaab 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminbn-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminbn-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminbn-v.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminbn-v.vf
index 4a6cf39f2b..0b10c2ae52 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminbn-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminbn-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminl-h.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminl-h.vf
index 2801803629..c60a79151f 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminl-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminl-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminl-v.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminl-v.vf
index a6b2d511d4..7eecba150b 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminl-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminl-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminln-h.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminln-h.vf
index a13eecd29a..04ffd96fc8 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminln-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminln-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminln-v.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminln-v.vf
index 3a1850cd6e..f2bde5f99c 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminln-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminln-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminr-h.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminr-h.vf
index 6c0f3af64f..1c878a72a5 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminr-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminr-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminr-v.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminr-v.vf
index 7ee0f520c5..ddf9e7ccc8 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminr-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminr-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminrn-h.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminrn-h.vf
index cfb159fcce..245154b65a 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminrn-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminrn-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminrn-v.vf b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminrn-v.vf
index 5a41ee7162..8c2cecd4c4 100644
--- a/macros/jptex/latex/japanese-otf/vf/upbrsgexpminrn-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upbrsgexpminrn-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpgothb-h.vf b/macros/jptex/latex/japanese-otf/vf/upexpgothb-h.vf
index 0ac0212df2..bcadcb3c08 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpgothb-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpgothb-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpgothb-v.vf b/macros/jptex/latex/japanese-otf/vf/upexpgothb-v.vf
index fc0f0f0bc4..62b791e07d 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpgothb-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpgothb-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpgothbn-h.vf b/macros/jptex/latex/japanese-otf/vf/upexpgothbn-h.vf
index cc6598608d..73cca22e88 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpgothbn-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpgothbn-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpgothbn-v.vf b/macros/jptex/latex/japanese-otf/vf/upexpgothbn-v.vf
index fb1c975772..b750fc94e2 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpgothbn-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpgothbn-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpgotheb-h.vf b/macros/jptex/latex/japanese-otf/vf/upexpgotheb-h.vf
index fca53d7197..f0425ac226 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpgotheb-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpgotheb-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpgotheb-v.vf b/macros/jptex/latex/japanese-otf/vf/upexpgotheb-v.vf
index b9d20f6ed5..f890e98bc4 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpgotheb-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpgotheb-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpgothebn-h.vf b/macros/jptex/latex/japanese-otf/vf/upexpgothebn-h.vf
index 18304945b4..be753c2359 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpgothebn-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpgothebn-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpgothebn-v.vf b/macros/jptex/latex/japanese-otf/vf/upexpgothebn-v.vf
index 5e63410631..f54677d601 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpgothebn-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpgothebn-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpgothr-h.vf b/macros/jptex/latex/japanese-otf/vf/upexpgothr-h.vf
index 87800e0a86..8d9645966c 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpgothr-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpgothr-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpgothr-v.vf b/macros/jptex/latex/japanese-otf/vf/upexpgothr-v.vf
index d903d20b81..f443b97884 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpgothr-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpgothr-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpgothrn-h.vf b/macros/jptex/latex/japanese-otf/vf/upexpgothrn-h.vf
index afb4dc1356..c965fcaed4 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpgothrn-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpgothrn-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpgothrn-v.vf b/macros/jptex/latex/japanese-otf/vf/upexpgothrn-v.vf
index 58b0297566..e0abcd0a96 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpgothrn-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpgothrn-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpmgothr-h.vf b/macros/jptex/latex/japanese-otf/vf/upexpmgothr-h.vf
index 9766958a9e..ae90f6f7cc 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpmgothr-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpmgothr-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpmgothr-v.vf b/macros/jptex/latex/japanese-otf/vf/upexpmgothr-v.vf
index 3ab44b2fd9..daa44c4509 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpmgothr-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpmgothr-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpmgothrn-h.vf b/macros/jptex/latex/japanese-otf/vf/upexpmgothrn-h.vf
index 4c27e900b5..d309f59b2e 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpmgothrn-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpmgothrn-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpmgothrn-v.vf b/macros/jptex/latex/japanese-otf/vf/upexpmgothrn-v.vf
index 2d68a70368..a392c38217 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpmgothrn-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpmgothrn-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpminb-h.vf b/macros/jptex/latex/japanese-otf/vf/upexpminb-h.vf
index dee6fe7304..e065232c5c 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpminb-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpminb-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpminb-v.vf b/macros/jptex/latex/japanese-otf/vf/upexpminb-v.vf
index f75b4cdb2e..7c70f1c197 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpminb-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpminb-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpminbn-h.vf b/macros/jptex/latex/japanese-otf/vf/upexpminbn-h.vf
index 2d5cde2154..3818915245 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpminbn-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpminbn-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpminbn-v.vf b/macros/jptex/latex/japanese-otf/vf/upexpminbn-v.vf
index 6afb336afb..e23c0a8dc4 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpminbn-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpminbn-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpminl-h.vf b/macros/jptex/latex/japanese-otf/vf/upexpminl-h.vf
index cec1093175..a1c61cc9bd 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpminl-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpminl-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpminl-v.vf b/macros/jptex/latex/japanese-otf/vf/upexpminl-v.vf
index 71e8081aa3..2eb98966ec 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpminl-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpminl-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpminln-h.vf b/macros/jptex/latex/japanese-otf/vf/upexpminln-h.vf
index 03db7b2307..38b7fa9529 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpminln-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpminln-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpminln-v.vf b/macros/jptex/latex/japanese-otf/vf/upexpminln-v.vf
index b413419bbf..8c973afb09 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpminln-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpminln-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpminr-h.vf b/macros/jptex/latex/japanese-otf/vf/upexpminr-h.vf
index 87bcd4f10c..cab1c7f7b5 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpminr-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpminr-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpminr-v.vf b/macros/jptex/latex/japanese-otf/vf/upexpminr-v.vf
index 413ae22939..8c6181546d 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpminr-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpminr-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpminrn-h.vf b/macros/jptex/latex/japanese-otf/vf/upexpminrn-h.vf
index 149fef2bf9..95b1faf3bb 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpminrn-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpminrn-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upexpminrn-v.vf b/macros/jptex/latex/japanese-otf/vf/upexpminrn-v.vf
index 68e4c2dbc6..6b6351a811 100644
--- a/macros/jptex/latex/japanese-otf/vf/upexpminrn-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upexpminrn-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlgothb-h.vf b/macros/jptex/latex/japanese-otf/vf/upnmlgothb-h.vf
index a5781acd0f..140e5f9447 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlgothb-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlgothb-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlgothb-v.vf b/macros/jptex/latex/japanese-otf/vf/upnmlgothb-v.vf
index ba2b280bec..e508fa680f 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlgothb-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlgothb-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlgothbn-h.vf b/macros/jptex/latex/japanese-otf/vf/upnmlgothbn-h.vf
index 0084a01481..9a28081bf3 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlgothbn-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlgothbn-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlgothbn-v.vf b/macros/jptex/latex/japanese-otf/vf/upnmlgothbn-v.vf
index 98ce4bd20a..890106e9d8 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlgothbn-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlgothbn-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlgotheb-h.vf b/macros/jptex/latex/japanese-otf/vf/upnmlgotheb-h.vf
index 59d14920fd..7f2fa29644 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlgotheb-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlgotheb-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlgotheb-v.vf b/macros/jptex/latex/japanese-otf/vf/upnmlgotheb-v.vf
index 45159fc605..6bce3f7318 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlgotheb-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlgotheb-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlgothebn-h.vf b/macros/jptex/latex/japanese-otf/vf/upnmlgothebn-h.vf
index 89ad1d0d8d..2a6d09a4af 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlgothebn-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlgothebn-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlgothebn-v.vf b/macros/jptex/latex/japanese-otf/vf/upnmlgothebn-v.vf
index faebc355aa..f66830bef7 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlgothebn-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlgothebn-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlgothr-h.vf b/macros/jptex/latex/japanese-otf/vf/upnmlgothr-h.vf
index 3ff7fb00db..4be6f677cc 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlgothr-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlgothr-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlgothr-v.vf b/macros/jptex/latex/japanese-otf/vf/upnmlgothr-v.vf
index 70570b4816..0044e2a02e 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlgothr-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlgothr-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlgothrn-h.vf b/macros/jptex/latex/japanese-otf/vf/upnmlgothrn-h.vf
index 4f1868d5b5..a0a2ac271c 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlgothrn-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlgothrn-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlgothrn-v.vf b/macros/jptex/latex/japanese-otf/vf/upnmlgothrn-v.vf
index 90874681ca..d79ed7dead 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlgothrn-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlgothrn-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlmgothr-h.vf b/macros/jptex/latex/japanese-otf/vf/upnmlmgothr-h.vf
index 4ac9b03745..d31637e0db 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlmgothr-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlmgothr-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlmgothr-v.vf b/macros/jptex/latex/japanese-otf/vf/upnmlmgothr-v.vf
index ce6e080a89..001cd31680 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlmgothr-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlmgothr-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlmgothrn-h.vf b/macros/jptex/latex/japanese-otf/vf/upnmlmgothrn-h.vf
index c4b111b6f9..ab7675ebf9 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlmgothrn-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlmgothrn-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlmgothrn-v.vf b/macros/jptex/latex/japanese-otf/vf/upnmlmgothrn-v.vf
index 1921de3f87..68939d0e39 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlmgothrn-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlmgothrn-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlminb-h.vf b/macros/jptex/latex/japanese-otf/vf/upnmlminb-h.vf
index b393789b18..bd85684f74 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlminb-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlminb-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlminb-v.vf b/macros/jptex/latex/japanese-otf/vf/upnmlminb-v.vf
index bab92c9778..9003a8aa22 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlminb-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlminb-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlminbn-h.vf b/macros/jptex/latex/japanese-otf/vf/upnmlminbn-h.vf
index e97d138fa9..d00af2baf8 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlminbn-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlminbn-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlminbn-v.vf b/macros/jptex/latex/japanese-otf/vf/upnmlminbn-v.vf
index 2f9bf3f4aa..5e6ddcfe05 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlminbn-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlminbn-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlminl-h.vf b/macros/jptex/latex/japanese-otf/vf/upnmlminl-h.vf
index 9c9e014075..bfb9401431 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlminl-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlminl-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlminl-v.vf b/macros/jptex/latex/japanese-otf/vf/upnmlminl-v.vf
index b6523316e6..571a7e26ea 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlminl-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlminl-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlminln-h.vf b/macros/jptex/latex/japanese-otf/vf/upnmlminln-h.vf
index 55374728d7..87f9d72a92 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlminln-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlminln-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlminln-v.vf b/macros/jptex/latex/japanese-otf/vf/upnmlminln-v.vf
index cdf4b64eb8..2eaee8e4e3 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlminln-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlminln-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlminr-h.vf b/macros/jptex/latex/japanese-otf/vf/upnmlminr-h.vf
index 9c36f040b7..4f7837c20e 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlminr-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlminr-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlminr-v.vf b/macros/jptex/latex/japanese-otf/vf/upnmlminr-v.vf
index f5322eb1b1..1a1f8f18bf 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlminr-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlminr-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlminrn-h.vf b/macros/jptex/latex/japanese-otf/vf/upnmlminrn-h.vf
index c7989f92f7..4a84bd574d 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlminrn-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlminrn-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/upnmlminrn-v.vf b/macros/jptex/latex/japanese-otf/vf/upnmlminrn-v.vf
index 08778a48d4..ef0eed7151 100644
--- a/macros/jptex/latex/japanese-otf/vf/upnmlminrn-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/upnmlminrn-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/uprubygothb-h.vf b/macros/jptex/latex/japanese-otf/vf/uprubygothb-h.vf
index 65423f155f..d0dcf2e623 100644
--- a/macros/jptex/latex/japanese-otf/vf/uprubygothb-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/uprubygothb-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/uprubygothb-v.vf b/macros/jptex/latex/japanese-otf/vf/uprubygothb-v.vf
index 5d92fbda1d..6b1a3f1ba0 100644
--- a/macros/jptex/latex/japanese-otf/vf/uprubygothb-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/uprubygothb-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/uprubygotheb-h.vf b/macros/jptex/latex/japanese-otf/vf/uprubygotheb-h.vf
index ed7c860694..43bf92f912 100644
--- a/macros/jptex/latex/japanese-otf/vf/uprubygotheb-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/uprubygotheb-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/uprubygotheb-v.vf b/macros/jptex/latex/japanese-otf/vf/uprubygotheb-v.vf
index 574b09daae..f48736b485 100644
--- a/macros/jptex/latex/japanese-otf/vf/uprubygotheb-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/uprubygotheb-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/uprubygothr-h.vf b/macros/jptex/latex/japanese-otf/vf/uprubygothr-h.vf
index 844de9ad22..e63d144017 100644
--- a/macros/jptex/latex/japanese-otf/vf/uprubygothr-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/uprubygothr-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/uprubygothr-v.vf b/macros/jptex/latex/japanese-otf/vf/uprubygothr-v.vf
index aa2bf7a74a..789cd4acec 100644
--- a/macros/jptex/latex/japanese-otf/vf/uprubygothr-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/uprubygothr-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/uprubymgothr-h.vf b/macros/jptex/latex/japanese-otf/vf/uprubymgothr-h.vf
index 71fe042ae9..892c88a972 100644
--- a/macros/jptex/latex/japanese-otf/vf/uprubymgothr-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/uprubymgothr-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/uprubymgothr-v.vf b/macros/jptex/latex/japanese-otf/vf/uprubymgothr-v.vf
index f8d1aa4b5e..5b0da0cf19 100644
--- a/macros/jptex/latex/japanese-otf/vf/uprubymgothr-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/uprubymgothr-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/uprubyminb-h.vf b/macros/jptex/latex/japanese-otf/vf/uprubyminb-h.vf
index e5f403e442..c697a7e801 100644
--- a/macros/jptex/latex/japanese-otf/vf/uprubyminb-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/uprubyminb-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/uprubyminb-v.vf b/macros/jptex/latex/japanese-otf/vf/uprubyminb-v.vf
index 3d927c801c..4c4810e945 100644
--- a/macros/jptex/latex/japanese-otf/vf/uprubyminb-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/uprubyminb-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/uprubyminl-h.vf b/macros/jptex/latex/japanese-otf/vf/uprubyminl-h.vf
index 837e5bd6a7..ad053697fe 100644
--- a/macros/jptex/latex/japanese-otf/vf/uprubyminl-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/uprubyminl-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/uprubyminl-v.vf b/macros/jptex/latex/japanese-otf/vf/uprubyminl-v.vf
index 5b689e5340..73b0cf162f 100644
--- a/macros/jptex/latex/japanese-otf/vf/uprubyminl-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/uprubyminl-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/uprubyminr-h.vf b/macros/jptex/latex/japanese-otf/vf/uprubyminr-h.vf
index 4fcb83b59a..5c310d4959 100644
--- a/macros/jptex/latex/japanese-otf/vf/uprubyminr-h.vf
+++ b/macros/jptex/latex/japanese-otf/vf/uprubyminr-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/uprubyminr-v.vf b/macros/jptex/latex/japanese-otf/vf/uprubyminr-v.vf
index 21e6eaaa3b..b4992b6144 100644
--- a/macros/jptex/latex/japanese-otf/vf/uprubyminr-v.vf
+++ b/macros/jptex/latex/japanese-otf/vf/uprubyminr-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/utfgrg-h.vf b/macros/jptex/latex/japanese-otf/vf/utfgrg-h.vf
new file mode 100644
index 0000000000..762285ed63
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/vf/utfgrg-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/utfgrg-v.vf b/macros/jptex/latex/japanese-otf/vf/utfgrg-v.vf
new file mode 100644
index 0000000000..eb6ca6a547
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/vf/utfgrg-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/utfjgbg-h.vf b/macros/jptex/latex/japanese-otf/vf/utfjgbg-h.vf
new file mode 100644
index 0000000000..e289aa7d16
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/vf/utfjgbg-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/utfjgbg-v.vf b/macros/jptex/latex/japanese-otf/vf/utfjgbg-v.vf
new file mode 100644
index 0000000000..c564ba401f
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/vf/utfjgbg-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/utfjgeg-h.vf b/macros/jptex/latex/japanese-otf/vf/utfjgeg-h.vf
new file mode 100644
index 0000000000..96507a6d49
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/vf/utfjgeg-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/utfjgeg-v.vf b/macros/jptex/latex/japanese-otf/vf/utfjgeg-v.vf
new file mode 100644
index 0000000000..ff729a0254
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/vf/utfjgeg-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/utfjgrg-h.vf b/macros/jptex/latex/japanese-otf/vf/utfjgrg-h.vf
new file mode 100644
index 0000000000..762285ed63
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/vf/utfjgrg-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/utfjgrg-v.vf b/macros/jptex/latex/japanese-otf/vf/utfjgrg-v.vf
new file mode 100644
index 0000000000..eb6ca6a547
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/vf/utfjgrg-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/utfjmbg-h.vf b/macros/jptex/latex/japanese-otf/vf/utfjmbg-h.vf
new file mode 100644
index 0000000000..9ea4b04476
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/vf/utfjmbg-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/utfjmbg-v.vf b/macros/jptex/latex/japanese-otf/vf/utfjmbg-v.vf
new file mode 100644
index 0000000000..09c161ff58
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/vf/utfjmbg-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/utfjmgrg-h.vf b/macros/jptex/latex/japanese-otf/vf/utfjmgrg-h.vf
new file mode 100644
index 0000000000..6165c1352c
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/vf/utfjmgrg-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/utfjmgrg-v.vf b/macros/jptex/latex/japanese-otf/vf/utfjmgrg-v.vf
new file mode 100644
index 0000000000..dcd596486c
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/vf/utfjmgrg-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/utfjmlg-h.vf b/macros/jptex/latex/japanese-otf/vf/utfjmlg-h.vf
new file mode 100644
index 0000000000..c6806239d9
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/vf/utfjmlg-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/utfjmlg-v.vf b/macros/jptex/latex/japanese-otf/vf/utfjmlg-v.vf
new file mode 100644
index 0000000000..57cbbab4d6
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/vf/utfjmlg-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/utfjmrg-h.vf b/macros/jptex/latex/japanese-otf/vf/utfjmrg-h.vf
new file mode 100644
index 0000000000..e5d4a5f9ed
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/vf/utfjmrg-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/utfjmrg-v.vf b/macros/jptex/latex/japanese-otf/vf/utfjmrg-v.vf
new file mode 100644
index 0000000000..23046c13d0
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/vf/utfjmrg-v.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/utfmrg-h.vf b/macros/jptex/latex/japanese-otf/vf/utfmrg-h.vf
new file mode 100644
index 0000000000..e5d4a5f9ed
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/vf/utfmrg-h.vf
Binary files differ
diff --git a/macros/jptex/latex/japanese-otf/vf/utfmrg-v.vf b/macros/jptex/latex/japanese-otf/vf/utfmrg-v.vf
new file mode 100644
index 0000000000..23046c13d0
--- /dev/null
+++ b/macros/jptex/latex/japanese-otf/vf/utfmrg-v.vf
Binary files differ
diff --git a/macros/jptex/latex/jlreq-deluxe/LICENSE b/macros/jptex/latex/jlreq-deluxe/LICENSE
index 72664ec02a..fb51f9cba4 100644
--- a/macros/jptex/latex/jlreq-deluxe/LICENSE
+++ b/macros/jptex/latex/jlreq-deluxe/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2019-2021 Yukimasa Morimi (h20y6m)
+Copyright (c) 2019-2023 Yukimasa Morimi (h20y6m)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/macros/jptex/latex/jlreq-deluxe/README-ja.md b/macros/jptex/latex/jlreq-deluxe/README-ja.md
index e8ed5ad0a8..699a661133 100644
--- a/macros/jptex/latex/jlreq-deluxe/README-ja.md
+++ b/macros/jptex/latex/jlreq-deluxe/README-ja.md
@@ -71,6 +71,8 @@ jlreq クラスでは [JLReq](https://www.w3.org/TR/jlreq/?lang=ja) に従った
更新履歴
-------
+* Version 0.4.1 <2023/02/23>
+ - e-upTeX ベースの pLaTeX をサポート
* Version 0.4.0 <2021/03/13>
- 仮想フォントの軽量化
- ルビ用かなのサポート
diff --git a/macros/jptex/latex/jlreq-deluxe/README.md b/macros/jptex/latex/jlreq-deluxe/README.md
index f9eaf29dc4..5d33f536eb 100644
--- a/macros/jptex/latex/jlreq-deluxe/README.md
+++ b/macros/jptex/latex/jlreq-deluxe/README.md
@@ -32,6 +32,8 @@ This package is distributed under [the MIT License](LICENSE).
History
-------
+* Version 0.4.1 <2023/02/23>
+ - Support e-upTeX based pLaTeX.
* Version 0.4.0 <2021/03/13>
- Compact virtual fonts.
- Add support for the ruby family.
diff --git a/macros/jptex/latex/jlreq-deluxe/jlreq-deluxe.pdf b/macros/jptex/latex/jlreq-deluxe/jlreq-deluxe.pdf
index e06d0246e8..2ed89d8c0a 100644
--- a/macros/jptex/latex/jlreq-deluxe/jlreq-deluxe.pdf
+++ b/macros/jptex/latex/jlreq-deluxe/jlreq-deluxe.pdf
Binary files differ
diff --git a/macros/jptex/latex/jlreq-deluxe/jlreq-deluxe.sty b/macros/jptex/latex/jlreq-deluxe/jlreq-deluxe.sty
index bad7995b90..d7b5fe53d2 100644
--- a/macros/jptex/latex/jlreq-deluxe/jlreq-deluxe.sty
+++ b/macros/jptex/latex/jlreq-deluxe/jlreq-deluxe.sty
@@ -1,7 +1,7 @@
%%
%% jlreq-deluxe.sty
%%
-%% Copyright 2019-2021 Yukimasa Morimi (h20y6m)
+%% Copyright (c) 2019-2023 Yukimasa Morimi (h20y6m)
%% GitHub: https://github.com/h20y6m
%%
%% This package is distributed under the MIT License.
@@ -11,7 +11,7 @@
\NeedsTeXFormat{pLaTeX2e}
\RequirePackage{expl3}[2019-05-03]
-\ProvidesExplPackage {jlreq-deluxe} {2021-03-13} {0.4.0}
+\ProvidesExplPackage {jlreq-deluxe} {2023-02-23} {0.4.1}
{Multi-weight Japanese font for jlreq class}
% --------------------------------------------------
@@ -95,7 +95,9 @@
\__jldx_if_class_loaded:nT { jlreq }
{
% uplatex
- \sys_if_engine_uptex:T
+ \bool_lazy_and:nnT
+ { \token_if_primitive_p:N \ucs }
+ { \int_compare_p:n { \ucs"FA4A = "FA4A } }
{
\bool_set_true:N \l__jldx_uplatex_bool
}
diff --git a/macros/jptex/latex/jlreq-deluxe/jlreq-deluxe.tex b/macros/jptex/latex/jlreq-deluxe/jlreq-deluxe.tex
index 4ab05347f8..f9dddc6e3f 100644
--- a/macros/jptex/latex/jlreq-deluxe/jlreq-deluxe.tex
+++ b/macros/jptex/latex/jlreq-deluxe/jlreq-deluxe.tex
@@ -18,7 +18,7 @@
\title{\pkg{jlreq-deluxe}パッケージ}
\author{Yukimasa Morimi (h20y6m)\thanks{\url{https://github.com/h20y6m}}}
-\date{2021-03-13}
+\date{2023-02-23}
\begin{document}
@@ -106,4 +106,4 @@
\end{itemize}
-\end{document} \ No newline at end of file
+\end{document}
diff --git a/macros/jptex/latex/jsclasses/README.md b/macros/jptex/latex/jsclasses/README.md
index 5c022354f5..ab0a7981ab 100644
--- a/macros/jptex/latex/jsclasses/README.md
+++ b/macros/jptex/latex/jsclasses/README.md
@@ -37,7 +37,7 @@ distributed separately.
## Release Date
-2023-02-12
+2023-02-23
Haruhiko Okumura,
Japanese TeX Development Community
diff --git a/macros/jptex/latex/jsclasses/jsclasses.dtx b/macros/jptex/latex/jsclasses/jsclasses.dtx
index b84449ac8c..d0bfcdbcb8 100644
--- a/macros/jptex/latex/jsclasses/jsclasses.dtx
+++ b/macros/jptex/latex/jsclasses/jsclasses.dtx
@@ -32,7 +32,7 @@
%<*driver>
\ProvidesFile{jsclasses.dtx}
%</driver>
- [2023/02/12 jsclasses (okumura, texjporg)]
+ [2023/02/23 jsclasses (okumura, texjporg)]
%<*driver>
\RequirePackage{plautopatch}
\documentclass[dvipdfmx]{jsarticle}
@@ -730,7 +730,7 @@
\if@jsc@uplatex\else
\ClassError\jsc@clsname
{You are running upLaTeX.\MessageBreak
- Please use pLaTeX instead, or add 'uplatex' to\MessageBreak
+ Please use pLaTeX instead, or remove 'platex' from\MessageBreak
the class option list}
{\@ehc}
\@jsc@uplatextrue
diff --git a/macros/jptex/latex/jsclasses/jsclasses.pdf b/macros/jptex/latex/jsclasses/jsclasses.pdf
index 18b0d895d6..c567977a9c 100644
--- a/macros/jptex/latex/jsclasses/jsclasses.pdf
+++ b/macros/jptex/latex/jsclasses/jsclasses.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv3-JS.pdf b/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv3-JS.pdf
deleted file mode 100644
index e84827104b..0000000000
--- a/macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRv3-JS.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/CHANGELOG.md b/macros/latex/contrib/l3kernel/CHANGELOG.md
index 82278061e3..492a1ea3a5 100644
--- a/macros/latex/contrib/l3kernel/CHANGELOG.md
+++ b/macros/latex/contrib/l3kernel/CHANGELOG.md
@@ -7,6 +7,15 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2023-02-22]
+
+### Changed
+- More defensive approach in `\codepoint_to_nfd:n`
+
+### Fixed
+- CJK character handling for (u)pTeX (issue
+ [\#1171](https://github.com/latex3/latex3/issues/1171))
+
## [2023-02-07]
### Changed
@@ -20,7 +29,8 @@ this project uses date-based 'snapshot' version identifiers.
### Fixed
- Handling of multiple accents when uppercasing Greek
- (see https://github.com/latex3/latex2e/issues/987)
+ (see LaTeX2e issue
+ [\#987](https://github.com/latex3/latex2e/issues/987))
## [2023-02-01]
@@ -1294,7 +1304,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/2023-02-07...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2023-02-22...HEAD
+[2023-02-22]: https://github.com/latex3/latex3/compare/2023-02-07...2023-02-22
[2023-02-07]: https://github.com/latex3/latex3/compare/2023-02-02...2023-02-07
[2023-02-02]: https://github.com/latex3/latex3/compare/2023-02-01...2023-02-02
[2023-02-01]: https://github.com/latex3/latex3/compare/2023-01-24...2023-02-01
diff --git a/macros/latex/contrib/l3kernel/README.md b/macros/latex/contrib/l3kernel/README.md
index 9bcc6c0a9d..3cd8f9c155 100644
--- a/macros/latex/contrib/l3kernel/README.md
+++ b/macros/latex/contrib/l3kernel/README.md
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================
-Release 2023-02-07
+Release 2023-02-22
Overview
--------
diff --git a/macros/latex/contrib/l3kernel/expl3.dtx b/macros/latex/contrib/l3kernel/expl3.dtx
index 4d0e803169..269b471a76 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{2023-02-07}%
+\def\ExplFileDate{2023-02-22}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/expl3.pdf b/macros/latex/contrib/l3kernel/expl3.pdf
index 90d00b4e66..56e6b0f952 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 e1fee791bd..4d6d16de01 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 d97dc1ba20..70fc48ed44 100644
--- a/macros/latex/contrib/l3kernel/interface3.tex
+++ b/macros/latex/contrib/l3kernel/interface3.tex
@@ -41,6 +41,14 @@ for those people who are interested.
\documentclass[kernel]{l3doc}
+
+% fix for l3doc class
+\ExplSyntaxOn
+\DeclareDocumentCommand \meta { m }
+ { \texttt{ \__codedoc_meta:n {#1} } }
+\ExplSyntaxOff
+
+
\listfiles
\begin{document}
@@ -54,7 +62,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2023-02-07}
+\date{Released 2023-02-22}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex/contrib/l3kernel/l3basics.dtx b/macros/latex/contrib/l3kernel/l3basics.dtx
index d7b2bcc207..6188e7b7cc 100644
--- a/macros/latex/contrib/l3kernel/l3basics.dtx
+++ b/macros/latex/contrib/l3kernel/l3basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3bootstrap.dtx b/macros/latex/contrib/l3kernel/l3bootstrap.dtx
index da2ddd858f..2760747db3 100644
--- a/macros/latex/contrib/l3kernel/l3bootstrap.dtx
+++ b/macros/latex/contrib/l3kernel/l3bootstrap.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3box.dtx b/macros/latex/contrib/l3kernel/l3box.dtx
index ed7b1f499a..2ab05edbc6 100644
--- a/macros/latex/contrib/l3kernel/l3box.dtx
+++ b/macros/latex/contrib/l3kernel/l3box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
@@ -142,12 +142,12 @@
%
% \begin{function}{\box_move_right:nn, \box_move_left:nn}
% \begin{syntax}
-% \cs{box_move_right:nn} \Arg{dimexpr} \Arg{box function}
+% \cs{box_move_right:nn} \Arg{dim expr} \Arg{box function}
% \end{syntax}
% This function operates in vertical mode, and inserts the
% material specified by the \meta{box function}
% such that its reference point is displaced horizontally by the given
-% \meta{dimexpr} from the reference point for typesetting, to the right
+% \meta{dim expr} from the reference point for typesetting, to the right
% or left as appropriate. The \meta{box function} should be
% a box operation such as \cs{box_use:N} |\<box>| or a \enquote{raw}
% box specification such as \cs{vbox:n} |{ xyz }|.
@@ -155,12 +155,12 @@
%
% \begin{function}{\box_move_up:nn, \box_move_down:nn}
% \begin{syntax}
-% \cs{box_move_up:nn} \Arg{dimexpr} \Arg{box function}
+% \cs{box_move_up:nn} \Arg{dim expr} \Arg{box function}
% \end{syntax}
% This function operates in horizontal mode, and inserts the
% material specified by the \meta{box function}
% such that its reference point is displaced vertically by the given
-% \meta{dimexpr} from the reference point for typesetting, up
+% \meta{dim expr} from the reference point for typesetting, up
% or down as appropriate. The \meta{box function} should be
% a box operation such as \cs{box_use:N} |\<box>| or a \enquote{raw}
% box specification such as \cs{vbox:n} |{ xyz }|.
@@ -173,7 +173,7 @@
% \cs{box_dp:N} \meta{box}
% \end{syntax}
% Calculates the depth (below the baseline) of the \meta{box}
-% in a form suitable for use in a \meta{dimension expression}.
+% in a form suitable for use in a \meta{dim expr}.
% \begin{texnote}
% This is the \TeX{} primitive \tn{dp}.
% \end{texnote}
@@ -184,7 +184,7 @@
% \cs{box_ht:N} \meta{box}
% \end{syntax}
% Calculates the height (above the baseline) of the \meta{box}
-% in a form suitable for use in a \meta{dimension expression}.
+% in a form suitable for use in a \meta{dim expr}.
% \begin{texnote}
% This is the \TeX{} primitive \tn{ht}.
% \end{texnote}
@@ -195,7 +195,7 @@
% \cs{box_wd:N} \meta{box}
% \end{syntax}
% Calculates the width of the \meta{box} in a form
-% suitable for use in a \meta{dimension expression}.
+% suitable for use in a \meta{dim expr}.
% \begin{texnote}
% This is the \TeX{} primitive \tn{wd}.
% \end{texnote}
@@ -206,7 +206,7 @@
% \cs{box_ht_plus_dp:N} \meta{box}
% \end{syntax}
% Calculates the total vertical size (height plus depth) of the \meta{box}
-% in a form suitable for use in a \meta{dimension expression}.
+% in a form suitable for use in a \meta{dim expr}.
% \end{function}
%
% \begin{function}[updated = 2019-01-22]
@@ -215,10 +215,10 @@
% \box_gset_dp:Nn, \box_gset_dp:cn
% }
% \begin{syntax}
-% \cs{box_set_dp:Nn} \meta{box} \Arg{dimension expression}
+% \cs{box_set_dp:Nn} \meta{box} \Arg{dim expr}
% \end{syntax}
% Set the depth (below the baseline) of the \meta{box} to the value of
-% the \Arg{dimension expression}.
+% the \Arg{dim expr}.
% \end{function}
%
% \begin{function}[updated = 2019-01-22]
@@ -227,10 +227,10 @@
% \box_gset_ht:Nn, \box_gset_ht:cn
% }
% \begin{syntax}
-% \cs{box_set_ht:Nn} \meta{box} \Arg{dimension expression}
+% \cs{box_set_ht:Nn} \meta{box} \Arg{dim expr}
% \end{syntax}
% Set the height (above the baseline) of the \meta{box} to the value of
-% the \Arg{dimension expression}.
+% the \Arg{dim expr}.
% \end{function}
%
% \begin{function}[updated = 2019-01-22]
@@ -239,10 +239,10 @@
% \box_gset_wd:Nn, \box_gset_wd:cn
% }
% \begin{syntax}
-% \cs{box_set_wd:Nn} \meta{box} \Arg{dimension expression}
+% \cs{box_set_wd:Nn} \meta{box} \Arg{dim expr}
% \end{syntax}
% Set the width of the \meta{box} to the value of the
-% \Arg{dimension expression}.
+% \Arg{dim expr}.
% \end{function}
%
% \section{Box conditionals}
@@ -324,10 +324,10 @@
%
% \begin{function}[added = 2012-05-11]{\box_show:Nnn, \box_show:cnn}
% \begin{syntax}
-% \cs{box_show:Nnn} \meta{box} \Arg{intexpr_1} \Arg{intexpr_2}
+% \cs{box_show:Nnn} \meta{box} \Arg{int expr_1} \Arg{int expr_2}
% \end{syntax}
% Display the contents of \meta{box} in the terminal, showing the first
-% \meta{intexpr_1} items of the box, and descending into \meta{intexpr_2}
+% \meta{int expr_1} items of the box, and descending into \meta{int expr_2}
% group levels.
% \end{function}
%
@@ -340,10 +340,10 @@
%
% \begin{function}[added = 2012-05-11]{\box_log:Nnn, \box_log:cnn}
% \begin{syntax}
-% \cs{box_log:Nnn} \meta{box} \Arg{intexpr_1} \Arg{intexpr_2}
+% \cs{box_log:Nnn} \meta{box} \Arg{int expr_1} \Arg{int expr_2}
% \end{syntax}
% Writes the contents of \meta{box} to the log, showing the first
-% \meta{intexpr_1} items of the box, and descending into \meta{intexpr_2}
+% \meta{int expr_1} items of the box, and descending into \meta{int expr_2}
% group levels.
% \end{function}
%
@@ -364,10 +364,10 @@
%
% \begin{function}[updated = 2017-04-05]{\hbox_to_wd:nn}
% \begin{syntax}
-% \cs{hbox_to_wd:nn} \Arg{dimexpr} \Arg{contents}
+% \cs{hbox_to_wd:nn} \Arg{dim expr} \Arg{contents}
% \end{syntax}
% Typesets the \meta{contents} into a horizontal box of width
-% \meta{dimexpr} and then includes this box in the current list for
+% \meta{dim expr} and then includes this box in the current list for
% typesetting.
% \end{function}
%
@@ -394,9 +394,9 @@
% \hbox_gset_to_wd:Nnn, \hbox_gset_to_wd:cnn
% }
% \begin{syntax}
-% \cs{hbox_set_to_wd:Nnn} \meta{box} \Arg{dimexpr} \Arg{contents}
+% \cs{hbox_set_to_wd:Nnn} \meta{box} \Arg{dim expr} \Arg{contents}
% \end{syntax}
-% Typesets the \meta{contents} to the width given by the \meta{dimexpr}
+% Typesets the \meta{contents} to the width given by the \meta{dim expr}
% and then stores the result inside the \meta{box}.
% \end{function}
%
@@ -447,9 +447,9 @@
% \hbox_gset_to_wd:Nnw, \hbox_gset_to_wd:cnw
% }
% \begin{syntax}
-% \cs{hbox_set_to_wd:Nnw} \meta{box} \Arg{dimexpr} \meta{contents} \cs{hbox_set_end:}
+% \cs{hbox_set_to_wd:Nnw} \meta{box} \Arg{dim expr} \meta{contents} \cs{hbox_set_end:}
% \end{syntax}
-% Typesets the \meta{contents} to the width given by the \meta{dimexpr}
+% Typesets the \meta{contents} to the width given by the \meta{dim expr}
% and then stores the result inside the \meta{box}. In contrast
% to \cs{hbox_set_to_wd:Nnn} this function does not absorb the argument
% when finding the \meta{content}, and so can be used in circumstances
@@ -498,10 +498,10 @@
%
% \begin{function}[updated = 2017-04-05]{\vbox_to_ht:nn}
% \begin{syntax}
-% \cs{vbox_to_ht:nn} \Arg{dimexpr} \Arg{contents}
+% \cs{vbox_to_ht:nn} \Arg{dim expr} \Arg{contents}
% \end{syntax}
% Typesets the \meta{contents} into a vertical box of height
-% \meta{dimexpr} and then includes this box in the current list for
+% \meta{dim expr} and then includes this box in the current list for
% typesetting.
% \end{function}
%
@@ -538,10 +538,10 @@
% \vbox_gset_to_ht:Nnn, \vbox_gset_to_ht:cnn
% }
% \begin{syntax}
-% \cs{vbox_set_to_ht:Nnn} \meta{box} \Arg{dimexpr} \Arg{contents}
+% \cs{vbox_set_to_ht:Nnn} \meta{box} \Arg{dim expr} \Arg{contents}
% \end{syntax}
% Typesets the \meta{contents} to the height given by the
-% \meta{dimexpr} and then stores the result inside the \meta{box}.
+% \meta{dim expr} and then stores the result inside the \meta{box}.
% \end{function}
%
% \begin{function}[updated = 2017-04-05]
@@ -567,9 +567,9 @@
% \vbox_gset_to_ht:Nnw, \vbox_gset_to_ht:cnw
% }
% \begin{syntax}
-% \cs{vbox_set_to_ht:Nnw} \meta{box} \Arg{dimexpr} \meta{contents} \cs{vbox_set_end:}
+% \cs{vbox_set_to_ht:Nnw} \meta{box} \Arg{dim expr} \meta{contents} \cs{vbox_set_end:}
% \end{syntax}
-% Typesets the \meta{contents} to the height given by the \meta{dimexpr}
+% Typesets the \meta{contents} to the height given by the \meta{dim expr}
% and then stores the result inside the \meta{box}. In contrast
% to \cs{vbox_set_to_ht:Nnn} this function does not absorb the argument
% when finding the \meta{content}, and so can be used in circumstances
@@ -585,10 +585,10 @@
% \vbox_gset_split_to_ht:Ncn, \vbox_gset_split_to_ht:ccn
% }
% \begin{syntax}
-% \cs{vbox_set_split_to_ht:NNn} \meta{box_1} \meta{box_2} \Arg{dimexpr}
+% \cs{vbox_set_split_to_ht:NNn} \meta{box_1} \meta{box_2} \Arg{dim expr}
% \end{syntax}
% Sets \meta{box_1} to contain material to the height given by the
-% \meta{dimexpr} by removing content from the top of \meta{box_2}
+% \meta{dim expr} by removing content from the top of \meta{box_2}
% (which must be a vertical box).
% \end{function}
%
diff --git a/macros/latex/contrib/l3kernel/l3candidates.dtx b/macros/latex/contrib/l3kernel/l3candidates.dtx
index d7a9faaf36..7b4ce3695c 100644
--- a/macros/latex/contrib/l3kernel/l3candidates.dtx
+++ b/macros/latex/contrib/l3kernel/l3candidates.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
@@ -117,7 +117,7 @@
% \end{syntax}
% Adjusts the bounding box of the \meta{box} \meta{left} is removed from
% the left-hand edge of the bounding box, \meta{right} from the right-hand
-% edge and so fourth. All adjustments are \meta{dimension expressions}.
+% edge and so fourth. All adjustments are \meta{dim exprs}.
% Material outside of the bounding box is still displayed in the output
% unless \cs{box_clip:N} is subsequently applied.
% The updated \meta{box} is an
@@ -138,7 +138,7 @@
% Adjusts the bounding box of the \meta{box} such that it has lower-left
% co-ordinates (\meta{llx}, \meta{lly}) and upper-right co-ordinates
% (\meta{urx}, \meta{ury}). All four co-ordinate positions are
-% \meta{dimension expressions}. Material outside of the bounding box is
+% \meta{dim exprs}. Material outside of the bounding box is
% still displayed in the output unless \cs{box_clip:N} is
% subsequently applied.
% The updated \meta{box} is an
@@ -166,9 +166,9 @@
%
% \begin{function}[pTF, added = 2019-08-25]{\fp_if_nan:n}
% \begin{syntax}
-% \cs{fp_if_nan:n} \Arg{fpexpr}
+% \cs{fp_if_nan:n} \Arg{fp expr}
% \end{syntax}
-% Evaluates the \meta{fpexpr} and tests whether the result is exactly
+% Evaluates the \meta{fp expr} and tests whether the result is exactly
% \nan{}. The test returns \texttt{false} for any other result, even
% a tuple containing \nan{}.
% \end{function}
@@ -437,14 +437,14 @@
% \begin{function}[added = 2021-04-29, noTF]
% {\seq_set_item:Nnn, \seq_set_item:cnn, \seq_gset_item:Nnn, \seq_gset_item:cnn}
% \begin{syntax}
-% \cs{seq_set_item:Nnn} \meta{seq~var} \Arg{intexpr} \Arg{item}
-% \cs{seq_set_item:NnnTF} \meta{seq~var} \Arg{intexpr} \Arg{item} \Arg{true code} \Arg{false code}
+% \cs{seq_set_item:Nnn} \meta{seq~var} \Arg{int expr} \Arg{item}
+% \cs{seq_set_item:NnnTF} \meta{seq~var} \Arg{int expr} \Arg{item} \Arg{true code} \Arg{false code}
% \end{syntax}
% Removes the item of \meta{sequence} at the position given by
-% evaluating the \meta{integer expression} and replaces it by
+% evaluating the \meta{int expr} and replaces it by
% \meta{item}. Items are indexed from $1$ on the left/top of the
% \meta{sequence}, or from $-1$ on the right/bottom. If the
-% \meta{integer expression} is zero or is larger (in absolute value)
+% \meta{int expr} is zero or is larger (in absolute value)
% than the number of items in the sequence, the \meta{sequence} is not
% modified. In these cases, \cs{seq_set_item:Nnn} raises an error
% while \cs{seq_set_item:NnnTF} runs the \meta{false code}. In cases
@@ -455,10 +455,10 @@
% \begin{function}[added = 2021-04-28, noTF]
% {\seq_pop_item:NnN, \seq_pop_item:cnN, \seq_gpop_item:NnN, \seq_gpop_item:cnN}
% \begin{syntax}
-% \cs{seq_pop_item:NnN} \meta{seq~var} \Arg{intexpr} \Arg{tl~var}
-% \cs{seq_pop_item:NnNTF} \meta{seq~var} \Arg{intexpr} \Arg{tl~var} \Arg{true code} \Arg{false code}
+% \cs{seq_pop_item:NnN} \meta{seq~var} \Arg{int expr} \Arg{tl~var}
+% \cs{seq_pop_item:NnNTF} \meta{seq~var} \Arg{int expr} \Arg{tl~var} \Arg{true code} \Arg{false code}
% \end{syntax}
-% Removes the \meta{item} at position \meta{integer expression} in the
+% Removes the \meta{item} at position \meta{int expr} in the
% \meta{sequence}, and places it in the \meta{token list variable}.
% Items are indexed from $1$ on the left/top of the \meta{sequence},
% or from $-1$ on the right/bottom. If the position is zero or is
diff --git a/macros/latex/contrib/l3kernel/l3cctab.dtx b/macros/latex/contrib/l3kernel/l3cctab.dtx
index a014eca213..a03c9ffced 100644
--- a/macros/latex/contrib/l3kernel/l3cctab.dtx
+++ b/macros/latex/contrib/l3kernel/l3cctab.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
@@ -122,10 +122,10 @@
%
% \begin{function}[EXP, added = 2021-05-10]{\cctab_item:Nn, \cctab_item:cn}
% \begin{syntax}
-% \cs{cctab_item:Nn} \meta{category code table} \Arg{integer expression}
+% \cs{cctab_item:Nn} \meta{category code table} \Arg{int expr}
% \end{syntax}
% Determines the \meta{character} with character code given by the
-% \meta{integer expression} and expands to its category code specified
+% \meta{int expr} and expands to its category code specified
% by the \meta{category code table}.
% \end{function}
%
diff --git a/macros/latex/contrib/l3kernel/l3clist.dtx b/macros/latex/contrib/l3kernel/l3clist.dtx
index 18b0bbbf41..4c9dc79db2 100644
--- a/macros/latex/contrib/l3kernel/l3clist.dtx
+++ b/macros/latex/contrib/l3kernel/l3clist.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
@@ -716,13 +716,13 @@
% \begin{function}[added = 2014-07-17, EXP]
% {\clist_item:Nn, \clist_item:cn, \clist_item:nn}
% \begin{syntax}
-% \cs{clist_item:Nn} \meta{comma list} \Arg{integer expression}
+% \cs{clist_item:Nn} \meta{comma list} \Arg{int expr}
% \end{syntax}
% Indexing items in the \meta{comma list} from~$1$ at the top (left), this
-% function evaluates the \meta{integer expression} and leaves the
+% function evaluates the \meta{int expr} and leaves the
% appropriate item from the comma list in the input stream. If the
-% \meta{integer expression} is negative, indexing occurs from the
-% bottom (right) of the comma list. When the \meta{integer expression}
+% \meta{int expr} is negative, indexing occurs from the
+% bottom (right) of the comma list. When the \meta{int expr}
% is larger than the number of items in the \meta{comma list} (as
% calculated by \cs{clist_count:N}) then the function expands to
% nothing.
diff --git a/macros/latex/contrib/l3kernel/l3coffins.dtx b/macros/latex/contrib/l3kernel/l3coffins.dtx
index 6cd5f2f30e..2166c0bfde 100644
--- a/macros/latex/contrib/l3kernel/l3coffins.dtx
+++ b/macros/latex/contrib/l3kernel/l3coffins.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
@@ -305,7 +305,7 @@
% \cs{coffin_dp:N} \meta{coffin}
% \end{syntax}
% Calculates the depth (below the baseline) of the \meta{coffin}
-% in a form suitable for use in a \meta{dimension expression}.
+% in a form suitable for use in a \meta{dim expr}.
% \end{function}
%
% \begin{function}{\coffin_ht:N, \coffin_ht:c}
@@ -313,7 +313,7 @@
% \cs{coffin_ht:N} \meta{coffin}
% \end{syntax}
% Calculates the height (above the baseline) of the \meta{coffin}
-% in a form suitable for use in a \meta{dimension expression}.
+% in a form suitable for use in a \meta{dim expr}.
% \end{function}
%
% \begin{function}{\coffin_wd:N, \coffin_wd:c}
@@ -321,7 +321,7 @@
% \cs{coffin_wd:N} \meta{coffin}
% \end{syntax}
% Calculates the width of the \meta{coffin} in a form
-% suitable for use in a \meta{dimension expression}.
+% suitable for use in a \meta{dim expr}.
% \end{function}
%
% \section{Coffin diagnostics}
@@ -396,12 +396,12 @@
% \begin{function}[added = 2021-05-11]
% {\coffin_show:Nnn, \coffin_show:cnn, \coffin_log:Nnn, \coffin_log:cnn}
% \begin{syntax}
-% \cs{coffin_show:Nnn} \meta{coffin} \Arg{intexpr_1} \Arg{intexpr_2}
-% \cs{coffin_log:Nnn} \meta{coffin} \Arg{intexpr_1} \Arg{intexpr_2}
+% \cs{coffin_show:Nnn} \meta{coffin} \Arg{int expr_1} \Arg{int expr_2}
+% \cs{coffin_log:Nnn} \meta{coffin} \Arg{int expr_1} \Arg{int expr_2}
% \end{syntax}
% Shows poles and contents of the \meta{coffin} in the terminal or log
-% file, showing the first \meta{intexpr_1} items in the coffin, and
-% descending into \meta{intexpr_2} group levels. See
+% file, showing the first \meta{int expr_1} items in the coffin, and
+% descending into \meta{int expr_2} group levels. See
% \cs{coffin_show_structure:N} and \cs{box_show:Nnn} to show
% separately the pole structure and the contents.
% \end{function}
diff --git a/macros/latex/contrib/l3kernel/l3color.dtx b/macros/latex/contrib/l3kernel/l3color.dtx
index 8bb2c04496..218f560acb 100644
--- a/macros/latex/contrib/l3kernel/l3color.dtx
+++ b/macros/latex/contrib/l3kernel/l3color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
@@ -606,7 +606,6 @@
\tl_set:Nn \l_@@_current_tl { { gray } { 0 } }
% \end{macrocode}
% \end{variable}
-
%
% \subsection{Predefined color names}
%
diff --git a/macros/latex/contrib/l3kernel/l3debug.dtx b/macros/latex/contrib/l3kernel/l3debug.dtx
index 654dc67d82..fbba62fa36 100644
--- a/macros/latex/contrib/l3kernel/l3debug.dtx
+++ b/macros/latex/contrib/l3kernel/l3debug.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3deprecation.dtx b/macros/latex/contrib/l3kernel/l3deprecation.dtx
index 6edda3b0e3..e002e78421 100644
--- a/macros/latex/contrib/l3kernel/l3deprecation.dtx
+++ b/macros/latex/contrib/l3kernel/l3deprecation.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3doc.dtx b/macros/latex/contrib/l3kernel/l3doc.dtx
index fc8f8a4f6f..9143ccc7df 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 2023-02-07}
+% \date{Released 2023-02-22}
% \maketitle
% \tableofcontents
%
diff --git a/macros/latex/contrib/l3kernel/l3doc.pdf b/macros/latex/contrib/l3kernel/l3doc.pdf
index e5ea0ed020..a9e6f09376 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 eaf08a66a2..ec8530dd71 100644
--- a/macros/latex/contrib/l3kernel/l3docstrip.dtx
+++ b/macros/latex/contrib/l3kernel/l3docstrip.dtx
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3docstrip.pdf b/macros/latex/contrib/l3kernel/l3docstrip.pdf
index 67b30abda3..b68f9145a7 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 f0f2be2c6c..d89d8192ff 100644
--- a/macros/latex/contrib/l3kernel/l3expan.dtx
+++ b/macros/latex/contrib/l3kernel/l3expan.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
@@ -629,7 +629,7 @@
% tokens (|{| or |}| assuming normal \TeX{} category codes). Unless
% specifically required this should be avoided: expansion should be carried out using an
% appropriate argument specifier variant or the appropriate
-% \cs[no-index]{exp_arg:N} function.
+% \cs[no-index]{exp_args:N\meta{variant}} function.
% \begin{texnote}
% This is the \TeX{} primitive \tn{expandafter} renamed.
% \end{texnote}
diff --git a/macros/latex/contrib/l3kernel/l3file.dtx b/macros/latex/contrib/l3kernel/l3file.dtx
index b353f4d692..411ac9f3d7 100644
--- a/macros/latex/contrib/l3kernel/l3file.dtx
+++ b/macros/latex/contrib/l3kernel/l3file.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
@@ -2075,8 +2075,8 @@
% \@@_wrap_line_end:nw,
% \@@_wrap_end_chunk:w
% }
-% This is followed by \Arg{string} \meta{intexpr} |;|. It stores the
-% \meta{string} and up to \meta{intexpr} characters from the current
+% This is followed by \Arg{string} \meta{int expr} |;|. It stores the
+% \meta{string} and up to \meta{int expr} characters from the current
% chunk into \cs{l_@@_line_part_tl}. Characters are grabbed 8~at a
% time and left in \cs{l_@@_line_part_tl} by the \texttt{line_loop}
% auxiliary. When $k<8$ remain to be found, the \texttt{line_aux}
diff --git a/macros/latex/contrib/l3kernel/l3flag.dtx b/macros/latex/contrib/l3kernel/l3flag.dtx
index 4c80bf9c8a..5f1ba43313 100644
--- a/macros/latex/contrib/l3kernel/l3flag.dtx
+++ b/macros/latex/contrib/l3kernel/l3flag.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-assign.dtx b/macros/latex/contrib/l3kernel/l3fp-assign.dtx
index adf9beb783..c1836f77ca 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 2023-02-07}
+% \date{Released 2023-02-22}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex/contrib/l3kernel/l3fp-aux.dtx b/macros/latex/contrib/l3kernel/l3fp-aux.dtx
index 56944602e4..a10f589f67 100644
--- a/macros/latex/contrib/l3kernel/l3fp-aux.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-aux.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-basics.dtx b/macros/latex/contrib/l3kernel/l3fp-basics.dtx
index 5fc4cb3638..a9798f492e 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 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-convert.dtx b/macros/latex/contrib/l3kernel/l3fp-convert.dtx
index d456f93ec4..31a53d3b86 100644
--- a/macros/latex/contrib/l3kernel/l3fp-convert.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-convert.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-expo.dtx b/macros/latex/contrib/l3kernel/l3fp-expo.dtx
index 098b706e98..da1d0e77b3 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 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-extended.dtx b/macros/latex/contrib/l3kernel/l3fp-extended.dtx
index 22a35fb02b..0ab976ed16 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 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-logic.dtx b/macros/latex/contrib/l3kernel/l3fp-logic.dtx
index 22f83cecb8..5f513092be 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 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-parse.dtx b/macros/latex/contrib/l3kernel/l3fp-parse.dtx
index 0c8f552371..1d5eac4aa4 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 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
@@ -74,9 +74,9 @@
%
% \begin{macro}[EXP]{\@@_parse:n}
% \begin{syntax}
-% \cs{@@_parse:n} \Arg{fpexpr}
+% \cs{@@_parse:n} \Arg{fp expr}
% \end{syntax}
-% Evaluates the \meta{floating point expression} and leaves the result
+% Evaluates the \meta{fp expr} and leaves the result
% in the input stream as a floating point object. This
% function forms the basis of almost all public \pkg{l3fp} functions.
% During evaluation, each token is fully \texttt{f}-expanded.
diff --git a/macros/latex/contrib/l3kernel/l3fp-random.dtx b/macros/latex/contrib/l3kernel/l3fp-random.dtx
index 44f57195d4..9be2dae96f 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 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-round.dtx b/macros/latex/contrib/l3kernel/l3fp-round.dtx
index ba4ea77f47..0e6342be59 100644
--- a/macros/latex/contrib/l3kernel/l3fp-round.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-round.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
@@ -298,7 +298,7 @@
%
% \begin{macro}[EXP]{\@@_round_digit:Nw}
% \begin{syntax}
-% \cs{int_value:w} \cs{@@_round_digit:Nw} \meta{digit} \meta{intexpr} |;|
+% \cs{int_value:w} \cs{@@_round_digit:Nw} \meta{digit} \meta{int expr} |;|
% \end{syntax}
% This function should always be called within an \cs{int_value:w}
% or \cs{@@_int_eval:w} expansion; it may add an extra
diff --git a/macros/latex/contrib/l3kernel/l3fp-traps.dtx b/macros/latex/contrib/l3kernel/l3fp-traps.dtx
index 3bb294c1c8..999cd850a2 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 2023-02-07}
+% \date{Released 2023-02-22}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex/contrib/l3kernel/l3fp-trig.dtx b/macros/latex/contrib/l3kernel/l3fp-trig.dtx
index c52460da1a..48a2f06385 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 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp.dtx b/macros/latex/contrib/l3kernel/l3fp.dtx
index 9f871243bd..e721465593 100644
--- a/macros/latex/contrib/l3kernel/l3fp.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
@@ -58,8 +58,8 @@
% A decimal floating point number is one which is stored as a significand and a
% separate exponent. The module implements expandably a wide set of
% arithmetic, trigonometric, and other operations on decimal floating point
-% numbers, to be used within floating point expressions. Floating point
-% expressions support the following operations with their usual
+% numbers, to be used within floating point expressions. \emph{Floating point
+% expressions} (\enquote{\meta{fp expr}}) support the following operations with their usual
% precedence.
% \begin{itemize}
% \item Basic arithmetic: addition $x+y$, subtraction $x-y$,
@@ -170,11 +170,11 @@
% \begin{function}[updated = 2012-05-08, tested = m3fp001]
% {\fp_const:Nn, \fp_const:cn}
% \begin{syntax}
-% \cs{fp_const:Nn} \meta{fp~var} \Arg{floating point expression}
+% \cs{fp_const:Nn} \meta{fp~var} \Arg{fp expr}
% \end{syntax}
% Creates a new constant \meta{fp~var} or raises an error if the name
% is already taken. The \meta{fp~var} is set globally equal to
-% the result of evaluating the \meta{floating point expression}.
+% the result of evaluating the \meta{fp expr}.
% \end{function}
%
% \begin{function}[updated = 2012-05-08, tested = m3fp001]
@@ -200,10 +200,10 @@
% \begin{function}[updated = 2012-05-08, tested = m3fp002]
% {\fp_set:Nn, \fp_set:cn, \fp_gset:Nn, \fp_gset:cn}
% \begin{syntax}
-% \cs{fp_set:Nn} \meta{fp~var} \Arg{floating point expression}
+% \cs{fp_set:Nn} \meta{fp~var} \Arg{fp expr}
% \end{syntax}
% Sets \meta{fp~var} equal to the result of computing the
-% \meta{floating point expression}.
+% \meta{fp expr}.
% \end{function}
%
% \begin{function}[updated = 2012-05-08, tested = m3fp002]
@@ -221,9 +221,9 @@
% \begin{function}[updated = 2012-05-08, tested = m3fp002]
% {\fp_add:Nn, \fp_add:cn, \fp_gadd:Nn, \fp_gadd:cn}
% \begin{syntax}
-% \cs{fp_add:Nn} \meta{fp~var} \Arg{floating point expression}
+% \cs{fp_add:Nn} \meta{fp~var} \Arg{fp expr}
% \end{syntax}
-% Adds the result of computing the \meta{floating point expression} to
+% Adds the result of computing the \meta{fp expr} to
% the \meta{fp~var}.
% This also applies if \meta{fp~var} and \meta{floating point
% expression} evaluate to tuples of the same size.
@@ -232,7 +232,7 @@
% \begin{function}[updated = 2012-05-08, tested = m3fp002]
% {\fp_sub:Nn, \fp_sub:cn, \fp_gsub:Nn, \fp_gsub:cn}
% \begin{syntax}
-% \cs{fp_sub:Nn} \meta{fp~var} \Arg{floating point expression}
+% \cs{fp_sub:Nn} \meta{fp~var} \Arg{fp expr}
% \end{syntax}
% Subtracts the result of computing the \meta{floating point
% expression} from the \meta{fp~var}.
@@ -245,9 +245,9 @@
% \begin{function}[EXP, added = 2012-05-08, updated = 2012-07-08,
% tested = m3fp-convert003]{\fp_eval:n}
% \begin{syntax}
-% \cs{fp_eval:n} \Arg{floating point expression}
+% \cs{fp_eval:n} \Arg{fp expr}
% \end{syntax}
-% Evaluates the \meta{floating point expression} and expresses the
+% Evaluates the \meta{fp expr} and expresses the
% result as a decimal number with no
% exponent. Leading or trailing zeros may be inserted to compensate
% for the exponent. Non-significant trailing zeros are trimmed, and
@@ -262,9 +262,9 @@
%
% \begin{function}[EXP, added = 2018-11-03]{\fp_sign:n}
% \begin{syntax}
-% \cs{fp_sign:n} \Arg{fpexpr}
+% \cs{fp_sign:n} \Arg{fp expr}
% \end{syntax}
-% Evaluates the \meta{fpexpr} and leaves its sign in the input stream
+% Evaluates the \meta{fp expr} and leaves its sign in the input stream
% using \cs{fp_eval:n} |{sign(|\meta{result}|)}|: $+1$ for positive
% numbers and for $+\infty$, $-1$ for negative numbers and for
% $-\infty$, $\pm 0$ for $\pm 0$. If the operand is a tuple or is
@@ -276,9 +276,9 @@
% {\fp_to_decimal:N, \fp_to_decimal:c, \fp_to_decimal:n}
% \begin{syntax}
% \cs{fp_to_decimal:N} \meta{fp~var}
-% \cs{fp_to_decimal:n} \Arg{floating point expression}
+% \cs{fp_to_decimal:n} \Arg{fp expr}
% \end{syntax}
-% Evaluates the \meta{floating point expression} and expresses the
+% Evaluates the \meta{fp expr} and expresses the
% result as a decimal number with no
% exponent. Leading or trailing zeros may be inserted to compensate
% for the exponent. Non-significant trailing zeros are trimmed, and
@@ -294,9 +294,9 @@
% {\fp_to_dim:N, \fp_to_dim:c, \fp_to_dim:n}
% \begin{syntax}
% \cs{fp_to_dim:N} \meta{fp~var}
-% \cs{fp_to_dim:n} \Arg{floating point expression}
+% \cs{fp_to_dim:n} \Arg{fp expr}
% \end{syntax}
-% Evaluates the \meta{floating point expression} and expresses the
+% Evaluates the \meta{fp expr} and expresses the
% result as a dimension (in~\texttt{pt}) suitable for use in dimension
% expressions. The output is identical to \cs{fp_to_decimal:n}, with
% an additional trailing~\texttt{pt} (both letter tokens).
@@ -311,9 +311,9 @@
% {\fp_to_int:N, \fp_to_int:c, \fp_to_int:n}
% \begin{syntax}
% \cs{fp_to_int:N} \meta{fp~var}
-% \cs{fp_to_int:n} \Arg{floating point expression}
+% \cs{fp_to_int:n} \Arg{fp expr}
% \end{syntax}
-% Evaluates the \meta{floating point expression}, and rounds the
+% Evaluates the \meta{fp expr}, and rounds the
% result to the closest integer, rounding exact ties to an even
% integer.
% The result may be outside the range $[- 2^{31} + 1, 2^{31} - 1]$ of
@@ -326,9 +326,9 @@
% {\fp_to_scientific:N, \fp_to_scientific:c, \fp_to_scientific:n}
% \begin{syntax}
% \cs{fp_to_scientific:N} \meta{fp~var}
-% \cs{fp_to_scientific:n} \Arg{floating point expression}
+% \cs{fp_to_scientific:n} \Arg{fp expr}
% \end{syntax}
-% Evaluates the \meta{floating point expression} and expresses the
+% Evaluates the \meta{fp expr} and expresses the
% result in scientific notation:
% \begin{quote}
% \meta{optional \texttt{-}}\meta{digit}\texttt{.}\meta{15 digits}\texttt{e}\meta{optional sign}\meta{exponent}
@@ -346,9 +346,9 @@
% {\fp_to_tl:N, \fp_to_tl:c, \fp_to_tl:n}
% \begin{syntax}
% \cs{fp_to_tl:N} \meta{fp~var}
-% \cs{fp_to_tl:n} \Arg{floating point expression}
+% \cs{fp_to_tl:n} \Arg{fp expr}
% \end{syntax}
-% Evaluates the \meta{floating point expression} and expresses the
+% Evaluates the \meta{fp expr} and expresses the
% result in (almost) the shortest possible form. Numbers in the
% ranges $(0,10^{-3})$ and $[10^{16},\infty)$ are expressed in
% scientific notation with trailing zeros trimmed and no decimal
@@ -398,10 +398,10 @@
% \begin{function}[EXP, pTF, updated = 2012-05-08,
% tested = m3fp-logic001]{\fp_compare:nNn}
% \begin{syntax}
-% \cs{fp_compare_p:nNn} \Arg{fpexpr_1} \meta{relation} \Arg{fpexpr_2}
-% \cs{fp_compare:nNnTF} \Arg{fpexpr_1} \meta{relation} \Arg{fpexpr_2} \Arg{true code} \Arg{false code}
+% \cs{fp_compare_p:nNn} \Arg{fp expr_1} \meta{relation} \Arg{fp expr_2}
+% \cs{fp_compare:nNnTF} \Arg{fp expr_1} \meta{relation} \Arg{fp expr_2} \Arg{true code} \Arg{false code}
% \end{syntax}
-% Compares the \meta{fpexpr_1} and the \meta{fpexpr_2}, and returns
+% Compares the \meta{fp expr_1} and the \meta{fp expr_2}, and returns
% \texttt{true} if the \meta{relation} is obeyed. Two floating points
% $x$ and~$y$ may obey four mutually exclusive relations:
% $x<y$, $x=y$, $x>y$, or $x?y$ (\enquote{not ordered}). The last
@@ -430,30 +430,30 @@
% \begin{syntax}
% \cs{fp_compare_p:n} \\
% ~~\{ \\
-% ~~~~\meta{fpexpr_1} \meta{relation_1} \\
+% ~~~~\meta{fp expr_1} \meta{relation_1} \\
% ~~~~\ldots{} \\
-% ~~~~\meta{fpexpr_N} \meta{relation_N} \\
-% ~~~~\meta{fpexpr_{N+1}} \\
+% ~~~~\meta{fp expr_N} \meta{relation_N} \\
+% ~~~~\meta{fp expr_{N+1}} \\
% ~~\} \\
% \cs{fp_compare:nTF}
% ~~\{ \\
-% ~~~~\meta{fpexpr_1} \meta{relation_1} \\
+% ~~~~\meta{fp expr_1} \meta{relation_1} \\
% ~~~~\ldots{} \\
-% ~~~~\meta{fpexpr_N} \meta{relation_N} \\
-% ~~~~\meta{fpexpr_{N+1}} \\
+% ~~~~\meta{fp expr_N} \meta{relation_N} \\
+% ~~~~\meta{fp expr_{N+1}} \\
% ~~\} \\
% ~~\Arg{true code} \Arg{false code}
% \end{syntax}
-% Evaluates the \meta{floating point expressions} as described for
+% Evaluates the \meta{fp exprs} as described for
% \cs{fp_eval:n} and compares consecutive result using the
-% corresponding \meta{relation}, namely it compares \meta{fpexpr_1}
-% and \meta{fpexpr_2} using the \meta{relation_1}, then
-% \meta{fpexpr_2} and \meta{fpexpr_3} using the \meta{relation_2},
-% until finally comparing \meta{fpexpr_N} and \meta{fpexpr_{N+1}}
+% corresponding \meta{relation}, namely it compares \meta{fp expr_1}
+% and \meta{fp expr_2} using the \meta{relation_1}, then
+% \meta{fp expr_2} and \meta{fp expr_3} using the \meta{relation_2},
+% until finally comparing \meta{fp expr_N} and \meta{fp expr_{N+1}}
% using the \meta{relation_N}. The test yields \texttt{true} if all
% comparisons are \texttt{true}. Each \meta{floating point
% expression} is evaluated only once. Contrarily to
-% \cs{int_compare:nTF}, all \meta{floating point expressions} are
+% \cs{int_compare:nTF}, all \meta{fp exprs} are
% computed, even if one comparison is \texttt{false}. Two floating
% points $x$ and~$y$ may obey four mutually exclusive
% relations: $x<y$, $x=y$, $x>y$, or $x?y$ (\enquote{not ordered}).
@@ -481,7 +481,7 @@
% \begin{function}[rEXP, added = 2012-08-16, tested = m3fp-logic003]
% {\fp_do_until:nNnn}
% \begin{syntax}
-% \cs{fp_do_until:nNnn} \Arg{fpexpr_1} \meta{relation} \Arg{fpexpr_2} \Arg{code}
+% \cs{fp_do_until:nNnn} \Arg{fp expr_1} \meta{relation} \Arg{fp expr_2} \Arg{code}
% \end{syntax}
% Places the \meta{code} in the input stream for \TeX{} to process,
% and then evaluates the relationship between the two \meta{floating
@@ -494,7 +494,7 @@
% \begin{function}[rEXP, added = 2012-08-16, tested = m3fp-logic003]
% {\fp_do_while:nNnn}
% \begin{syntax}
-% \cs{fp_do_while:nNnn} \Arg{fpexpr_1} \meta{relation} \Arg{fpexpr_2} \Arg{code}
+% \cs{fp_do_while:nNnn} \Arg{fp expr_1} \meta{relation} \Arg{fp expr_2} \Arg{code}
% \end{syntax}
% Places the \meta{code} in the input stream for \TeX{} to process,
% and then evaluates the relationship between the two \meta{floating
@@ -507,7 +507,7 @@
% \begin{function}[rEXP, added = 2012-08-16, tested = m3fp-logic003]
% {\fp_until_do:nNnn}
% \begin{syntax}
-% \cs{fp_until_do:nNnn} \Arg{fpexpr_1} \meta{relation} \Arg{fpexpr_2} \Arg{code}
+% \cs{fp_until_do:nNnn} \Arg{fp expr_1} \meta{relation} \Arg{fp expr_2} \Arg{code}
% \end{syntax}
% Evaluates the relationship between the two \meta{floating point
% expressions} as described for \cs{fp_compare:nNnTF}, and then
@@ -520,7 +520,7 @@
% \begin{function}[rEXP, added = 2012-08-16, tested = m3fp-logic003]
% {\fp_while_do:nNnn}
% \begin{syntax}
-% \cs{fp_while_do:nNnn} \Arg{fpexpr_1} \meta{relation} \Arg{fpexpr_2} \Arg{code}
+% \cs{fp_while_do:nNnn} \Arg{fp expr_1} \meta{relation} \Arg{fp expr_2} \Arg{code}
% \end{syntax}
% Evaluates the relationship between the two \meta{floating point
% expressions} as described for \cs{fp_compare:nNnTF}, and then
@@ -533,7 +533,7 @@
% \begin{function}[rEXP, added = 2012-08-16, updated = 2013-12-14, tested = m3fp-logic003]
% {\fp_do_until:nn}
% \begin{syntax}
-% \cs{fp_do_until:nn} \{ \meta{fpexpr_1} \meta{relation} \meta{fpexpr_2} \} \Arg{code}
+% \cs{fp_do_until:nn} \{ \meta{fp expr_1} \meta{relation} \meta{fp expr_2} \} \Arg{code}
% \end{syntax}
% Places the \meta{code} in the input stream for \TeX{} to process,
% and then evaluates the relationship between the two \meta{floating
@@ -546,7 +546,7 @@
% \begin{function}[rEXP, added = 2012-08-16, updated = 2013-12-14, tested = m3fp-logic003]
% {\fp_do_while:nn}
% \begin{syntax}
-% \cs{fp_do_while:nn} \{ \meta{fpexpr_1} \meta{relation} \meta{fpexpr_2} \} \Arg{code}
+% \cs{fp_do_while:nn} \{ \meta{fp expr_1} \meta{relation} \meta{fp expr_2} \} \Arg{code}
% \end{syntax}
% Places the \meta{code} in the input stream for \TeX{} to process,
% and then evaluates the relationship between the two \meta{floating
@@ -559,7 +559,7 @@
% \begin{function}[rEXP, added = 2012-08-16, updated = 2013-12-14, tested = m3fp-logic003]
% {\fp_until_do:nn}
% \begin{syntax}
-% \cs{fp_until_do:nn} \{ \meta{fpexpr_1} \meta{relation} \meta{fpexpr_2} \} \Arg{code}
+% \cs{fp_until_do:nn} \{ \meta{fp expr_1} \meta{relation} \meta{fp expr_2} \} \Arg{code}
% \end{syntax}
% Evaluates the relationship between the two \meta{floating point
% expressions} as described for \cs{fp_compare:nTF}, and then places
@@ -572,7 +572,7 @@
% \begin{function}[rEXP, added = 2012-08-16, updated = 2013-12-14, tested = m3fp-logic003]
% {\fp_while_do:nn}
% \begin{syntax}
-% \cs{fp_while_do:nn} \{ \meta{fpexpr_1} \meta{relation} \meta{fpexpr_2} \} \Arg{code}
+% \cs{fp_while_do:nn} \{ \meta{fp expr_1} \meta{relation} \meta{fp expr_2} \} \Arg{code}
% \end{syntax}
% Evaluates the relationship between the two \meta{floating point
% expressions} as described for \cs{fp_compare:nTF}, and then places
@@ -773,9 +773,9 @@
% tested = m3fp002]{\fp_show:N, \fp_show:c, \fp_show:n}
% \begin{syntax}
% \cs{fp_show:N} \meta{fp~var}
-% \cs{fp_show:n} \Arg{floating point expression}
+% \cs{fp_show:n} \Arg{fp expr}
% \end{syntax}
-% Evaluates the \meta{floating point expression} and displays the
+% Evaluates the \meta{fp expr} and displays the
% result in the terminal.
% \end{function}
%
@@ -783,9 +783,9 @@
% {\fp_log:N, \fp_log:c, \fp_log:n}
% \begin{syntax}
% \cs{fp_log:N} \meta{fp~var}
-% \cs{fp_log:n} \Arg{floating point expression}
+% \cs{fp_log:n} \Arg{fp expr}
% \end{syntax}
-% Evaluates the \meta{floating point expression} and writes the
+% Evaluates the \meta{fp expr} and writes the
% result in the log file.
% \end{function}
%
@@ -1036,27 +1036,27 @@
%
% \begin{function}[tested = m3fp-basics004]{abs}
% \begin{syntax}
-% \cs{fp_eval:n} \{ |abs(| \meta{fpexpr} |)| \}
+% \cs{fp_eval:n} \{ |abs(| \meta{fp expr} |)| \}
% \end{syntax}
-% Computes the absolute value of the \meta{fpexpr}. If the operand is
+% Computes the absolute value of the \meta{fp expr}. If the operand is
% a tuple, \enquote{invalid operation} occurs. This operation does
% not raise exceptions in other cases. See also \cs{fp_abs:n}.
% \end{function}
%
% \begin{function}[tested = m3fp-expo001]{exp}
% \begin{syntax}
-% \cs{fp_eval:n} \{ |exp(| \meta{fpexpr} |)| \}
+% \cs{fp_eval:n} \{ |exp(| \meta{fp expr} |)| \}
% \end{syntax}
-% Computes the exponential of the \meta{fpexpr}. \enquote{Underflow}
+% Computes the exponential of the \meta{fp expr}. \enquote{Underflow}
% and \enquote{overflow} occur when appropriate.
% If the operand is a tuple, \enquote{invalid operation} occurs.
% \end{function}
%
% \begin{function}[tested = m3fp-expo001]{fact}
% \begin{syntax}
-% \cs{fp_eval:n} \{ |fact(| \meta{fpexpr} |)| \}
+% \cs{fp_eval:n} \{ |fact(| \meta{fp expr} |)| \}
% \end{syntax}
-% Computes the factorial of the \meta{fpexpr}. If the \meta{fpexpr}
+% Computes the factorial of the \meta{fp expr}. If the \meta{fp expr}
% is an integer between $-0$ and $3248$ included, the result is finite
% and correctly rounded. Larger positive integers give $+\infty$ with
% \enquote{overflow}, while $|fact(|{+\infty}|)|=+\infty$ and
@@ -1066,9 +1066,9 @@
%
% \begin{function}[tested = m3fp-expo001]{ln}
% \begin{syntax}
-% \cs{fp_eval:n} \{ |ln(| \meta{fpexpr} |)| \}
+% \cs{fp_eval:n} \{ |ln(| \meta{fp expr} |)| \}
% \end{syntax}
-% Computes the natural logarithm of the \meta{fpexpr}. Negative
+% Computes the natural logarithm of the \meta{fp expr}. Negative
% numbers have no (real) logarithm, hence the \enquote{invalid
% operation} is raised in that case, including for $\ln(-0)$.
% \enquote{Division by zero} occurs when evaluating
@@ -1079,9 +1079,9 @@
%
% \begin{function}[EXP, added = 2018-11-03]{logb}
% \begin{syntax}
-% \cs{fp_eval:n} \{ |logb(| \meta{fpexpr} |)| \}
+% \cs{fp_eval:n} \{ |logb(| \meta{fp expr} |)| \}
% \end{syntax}
-% Determines the exponent of the \meta{fpexpr}, namely the floor of
+% Determines the exponent of the \meta{fp expr}, namely the floor of
% the base-$10$ logarithm of its absolute value. \enquote{Division by
% zero} occurs when evaluating $\operatorname{logb}(\pm 0) = -\infty$.
% Other special values are $\operatorname{logb}(\pm\infty)=+\infty$
@@ -1092,11 +1092,11 @@
%
% \begin{function}[tested = m3fp-logic002]{max, min}
% \begin{syntax}
-% \cs{fp_eval:n} \{ |max(| \meta{fpexpr_1} |,| \meta{fpexpr_2} |,| \ldots{} |)| \}
-% \cs{fp_eval:n} \{ |min(| \meta{fpexpr_1} |,| \meta{fpexpr_2} |,| \ldots{} |)| \}
+% \cs{fp_eval:n} \{ |max(| \meta{fp expr_1} |,| \meta{fp expr_2} |,| \ldots{} |)| \}
+% \cs{fp_eval:n} \{ |min(| \meta{fp expr_1} |,| \meta{fp expr_2} |,| \ldots{} |)| \}
% \end{syntax}
-% Evaluates each \meta{fpexpr} and computes the largest (smallest) of
-% those. If any of the \meta{fpexpr} is a \nan{} or tuple, the result
+% Evaluates each \meta{fp expr} and computes the largest (smallest) of
+% those. If any of the \meta{fp expr} is a \nan{} or tuple, the result
% is \nan{}. If any operand is a tuple, \enquote{invalid operation}
% occurs; these operations do not raise exceptions in other cases.
% \end{function}
@@ -1105,19 +1105,19 @@
% [tested = {m3fp-round001, m3fp-round002}, added = 2013-12-14, updated = 2015-08-08]
% {round, trunc, ceil, floor}
% \begin{syntax}
-% \cs{fp_eval:n} \{ |round| |(| \meta{fpexpr} |)| \}
-% \cs{fp_eval:n} \{ |round| |(| \meta{fpexpr_1} , \meta{fpexpr_2} |)| \}
-% \cs{fp_eval:n} \{ |round| |(| \meta{fpexpr_1} , \meta{fpexpr_2} , \meta{fpexpr_3} |)| \}
+% \cs{fp_eval:n} \{ |round| |(| \meta{fp expr} |)| \}
+% \cs{fp_eval:n} \{ |round| |(| \meta{fp expr_1} , \meta{fp expr_2} |)| \}
+% \cs{fp_eval:n} \{ |round| |(| \meta{fp expr_1} , \meta{fp expr_2} , \meta{fp expr_3} |)| \}
% \end{syntax}
% Only |round| accepts a third argument.
-% Evaluates $\meta{fpexpr_1}=x$ and $\meta{fpexpr_2}=n$ and $\meta{fpexpr_3}=t$ then rounds
+% Evaluates $\meta{fp expr_1}=x$ and $\meta{fp expr_2}=n$ and $\meta{fp expr_3}=t$ then rounds
% $x$~to $n$~places. If $n$~is an integer, this rounds~$x$ to a
% multiple of~$10^{-n}$; if $n=+\infty$, this always yields~$x$; if
% $n=-\infty$, this yields one of $\pm 0$, $\pm\infty$, or~\nan{}; if
% $n=\nan{}$, this yields \nan{}; if
% $n$~is neither $\pm\infty$ nor an integer, then an \enquote{invalid
-% operation} exception is raised. When \meta{fpexpr_2} is omitted,
-% $n=0$, \emph{i.e.}, \meta{fpexpr_1} is rounded to an integer. The
+% operation} exception is raised. When \meta{fp expr_2} is omitted,
+% $n=0$, \emph{i.e.}, \meta{fp expr_1} is rounded to an integer. The
% rounding direction depends on the function.
% \begin{itemize}
% \item |round| yields the multiple of~$10^{-n}$ closest to~$x$,
@@ -1139,15 +1139,15 @@
% zero}).
% \end{itemize}
% \enquote{Overflow} occurs if $x$~is finite and the result is
-% infinite (this can only happen if $\meta{fpexpr_2}\string<-9984$).
+% infinite (this can only happen if $\meta{fp expr_2}\string<-9984$).
% If any operand is a tuple, \enquote{invalid operation} occurs.
% \end{function}
%
% \begin{function}[tested = m3fp-logic002]{sign}
% \begin{syntax}
-% \cs{fp_eval:n} \{ |sign(| \meta{fpexpr} |)| \}
+% \cs{fp_eval:n} \{ |sign(| \meta{fp expr} |)| \}
% \end{syntax}
-% Evaluates the \meta{fpexpr} and determines its sign: $+1$ for
+% Evaluates the \meta{fp expr} and determines its sign: $+1$ for
% positive numbers and for $+\infty$, $-1$ for negative numbers and
% for $-\infty$, $\pm 0$ for $\pm 0$, and \nan{} for \nan{}.
% If the operand is a tuple, \enquote{invalid operation} occurs.
@@ -1157,15 +1157,15 @@
% \begin{function}[updated = 2013-11-17, tested = m3fp-trig001]
% {sin, cos, tan, cot, csc, sec}
% \begin{syntax}
-% \cs{fp_eval:n} \{ |sin(| \meta{fpexpr} |)| \}
-% \cs{fp_eval:n} \{ |cos(| \meta{fpexpr} |)| \}
-% \cs{fp_eval:n} \{ |tan(| \meta{fpexpr} |)| \}
-% \cs{fp_eval:n} \{ |cot(| \meta{fpexpr} |)| \}
-% \cs{fp_eval:n} \{ |csc(| \meta{fpexpr} |)| \}
-% \cs{fp_eval:n} \{ |sec(| \meta{fpexpr} |)| \}
+% \cs{fp_eval:n} \{ |sin(| \meta{fp expr} |)| \}
+% \cs{fp_eval:n} \{ |cos(| \meta{fp expr} |)| \}
+% \cs{fp_eval:n} \{ |tan(| \meta{fp expr} |)| \}
+% \cs{fp_eval:n} \{ |cot(| \meta{fp expr} |)| \}
+% \cs{fp_eval:n} \{ |csc(| \meta{fp expr} |)| \}
+% \cs{fp_eval:n} \{ |sec(| \meta{fp expr} |)| \}
% \end{syntax}
% Computes the sine, cosine, tangent, cotangent, cosecant, or secant
-% of the \meta{fpexpr} given in radians. For arguments given in
+% of the \meta{fp expr} given in radians. For arguments given in
% degrees, see \texttt{sind}, \texttt{cosd}, \emph{etc.} Note that
% since $\pi$~is irrational, $\operatorname{sin}(8\mathrm{pi})$ is not quite
% zero, while its analogue $\operatorname{sind}(8\times 180)$ is exactly
@@ -1181,15 +1181,15 @@
% \begin{function}[added = 2013-11-02, tested = m3fp-trig003]
% {sind, cosd, tand, cotd, cscd, secd}
% \begin{syntax}
-% \cs{fp_eval:n} \{ |sind(| \meta{fpexpr} |)| \}
-% \cs{fp_eval:n} \{ |cosd(| \meta{fpexpr} |)| \}
-% \cs{fp_eval:n} \{ |tand(| \meta{fpexpr} |)| \}
-% \cs{fp_eval:n} \{ |cotd(| \meta{fpexpr} |)| \}
-% \cs{fp_eval:n} \{ |cscd(| \meta{fpexpr} |)| \}
-% \cs{fp_eval:n} \{ |secd(| \meta{fpexpr} |)| \}
+% \cs{fp_eval:n} \{ |sind(| \meta{fp expr} |)| \}
+% \cs{fp_eval:n} \{ |cosd(| \meta{fp expr} |)| \}
+% \cs{fp_eval:n} \{ |tand(| \meta{fp expr} |)| \}
+% \cs{fp_eval:n} \{ |cotd(| \meta{fp expr} |)| \}
+% \cs{fp_eval:n} \{ |cscd(| \meta{fp expr} |)| \}
+% \cs{fp_eval:n} \{ |secd(| \meta{fp expr} |)| \}
% \end{syntax}
% Computes the sine, cosine, tangent, cotangent, cosecant, or secant
-% of the \meta{fpexpr} given in degrees. For arguments given in
+% of the \meta{fp expr} given in degrees. For arguments given in
% radians, see \texttt{sin}, \texttt{cos}, \emph{etc.} Note that
% since $\pi$~is irrational, $\operatorname{sin}(8\mathrm{pi})$ is not quite
% zero, while its analogue $\operatorname{sind}(8\times 180)$ is exactly
@@ -1205,13 +1205,13 @@
% \begin{function}[added = 2013-11-02, tested = m3fp-trig002]
% {asin, acos, acsc, asec}
% \begin{syntax}
-% \cs{fp_eval:n} \{ |asin(| \meta{fpexpr} |)| \}
-% \cs{fp_eval:n} \{ |acos(| \meta{fpexpr} |)| \}
-% \cs{fp_eval:n} \{ |acsc(| \meta{fpexpr} |)| \}
-% \cs{fp_eval:n} \{ |asec(| \meta{fpexpr} |)| \}
+% \cs{fp_eval:n} \{ |asin(| \meta{fp expr} |)| \}
+% \cs{fp_eval:n} \{ |acos(| \meta{fp expr} |)| \}
+% \cs{fp_eval:n} \{ |acsc(| \meta{fp expr} |)| \}
+% \cs{fp_eval:n} \{ |asec(| \meta{fp expr} |)| \}
% \end{syntax}
% Computes the arcsine, arccosine, arccosecant, or arcsecant of the
-% \meta{fpexpr} and returns the result in radians, in the range
+% \meta{fp expr} and returns the result in radians, in the range
% $[-\pi/2,\pi/2]$ for \texttt{asin} and \texttt{acsc} and $[0,\pi]$
% for \texttt{acos} and \texttt{asec}. For a result in degrees, use
% \texttt{asind}, \emph{etc.} If the argument of |asin| or |acos|
@@ -1225,13 +1225,13 @@
% \begin{function}[added = 2013-11-02, tested = m3fp-trig004]
% {asind, acosd, acscd, asecd}
% \begin{syntax}
-% \cs{fp_eval:n} \{ |asind(| \meta{fpexpr} |)| \}
-% \cs{fp_eval:n} \{ |acosd(| \meta{fpexpr} |)| \}
-% \cs{fp_eval:n} \{ |acscd(| \meta{fpexpr} |)| \}
-% \cs{fp_eval:n} \{ |asecd(| \meta{fpexpr} |)| \}
+% \cs{fp_eval:n} \{ |asind(| \meta{fp expr} |)| \}
+% \cs{fp_eval:n} \{ |acosd(| \meta{fp expr} |)| \}
+% \cs{fp_eval:n} \{ |acscd(| \meta{fp expr} |)| \}
+% \cs{fp_eval:n} \{ |asecd(| \meta{fp expr} |)| \}
% \end{syntax}
% Computes the arcsine, arccosine, arccosecant, or arcsecant of the
-% \meta{fpexpr} and returns the result in degrees, in the range
+% \meta{fp expr} and returns the result in degrees, in the range
% $[-90,90]$ for \texttt{asin} and \texttt{acsc} and $[0,180]$ for
% \texttt{acos} and \texttt{asec}. For a result in radians, use
% \texttt{asin}, \emph{etc.} If the argument of |asin| or |acos| lies
@@ -1245,26 +1245,26 @@
% \begin{function}[added = 2013-11-02, tested = m3fp-trig002]
% {atan, acot}
% \begin{syntax}
-% \cs{fp_eval:n} \{ |atan(| \meta{fpexpr} |)| \}
-% \cs{fp_eval:n} \{ |atan(| \meta{fpexpr_1} , \meta{fpexpr_2} |)| \}
-% \cs{fp_eval:n} \{ |acot(| \meta{fpexpr} |)| \}
-% \cs{fp_eval:n} \{ |acot(| \meta{fpexpr_1} , \meta{fpexpr_2} |)| \}
+% \cs{fp_eval:n} \{ |atan(| \meta{fp expr} |)| \}
+% \cs{fp_eval:n} \{ |atan(| \meta{fp expr_1} , \meta{fp expr_2} |)| \}
+% \cs{fp_eval:n} \{ |acot(| \meta{fp expr} |)| \}
+% \cs{fp_eval:n} \{ |acot(| \meta{fp expr_1} , \meta{fp expr_2} |)| \}
% \end{syntax}
% Those functions yield an angle in radians: \texttt{atand} and
% \texttt{acotd} are their analogs in degrees. The one-argument
% versions compute the arctangent or arccotangent of the
-% \meta{fpexpr}: arctangent takes values in the range
+% \meta{fp expr}: arctangent takes values in the range
% $[-\pi/2,\pi/2]$, and arccotangent in the range $[0,\pi]$. The
% two-argument arctangent computes the angle in polar coordinates of
-% the point with Cartesian coordinates $(\meta{fpexpr_2},
-% \meta{fpexpr_1})$: this is the arctangent of
-% $\meta{fpexpr_1}/\meta{fpexpr_2}$, possibly shifted by~$\pi$
-% depending on the signs of \meta{fpexpr_1} and \meta{fpexpr_2}. The
+% the point with Cartesian coordinates $(\meta{fp expr_2},
+% \meta{fp expr_1})$: this is the arctangent of
+% $\meta{fp expr_1}/\meta{fp expr_2}$, possibly shifted by~$\pi$
+% depending on the signs of \meta{fp expr_1} and \meta{fp expr_2}. The
% two-argument arccotangent computes the angle in polar coordinates of
-% the point $(\meta{fpexpr_1}, \meta{fpexpr_2})$, equal to the
-% arccotangent of $\meta{fpexpr_1}/\meta{fpexpr_2}$, possibly shifted
+% the point $(\meta{fp expr_1}, \meta{fp expr_2})$, equal to the
+% arccotangent of $\meta{fp expr_1}/\meta{fp expr_2}$, possibly shifted
% by~$\pi$. Both two-argument functions take values in the wider
-% range $[-\pi,\pi]$. The ratio $\meta{fpexpr_1}/\meta{fpexpr_2}$
+% range $[-\pi,\pi]$. The ratio $\meta{fp expr_1}/\meta{fp expr_2}$
% need not be defined for the two-argument arctangent: when both
% expressions yield~$\pm 0$, or when both yield~$\pm\infty$, the
% resulting angle is one of $\{\pm\pi/4,\pm 3\pi/4\}$ depending on
@@ -1275,26 +1275,26 @@
% \begin{function}[added = 2013-11-02, tested = m3fp-trig004]
% {atand, acotd}
% \begin{syntax}
-% \cs{fp_eval:n} \{ |atand(| \meta{fpexpr} |)| \}
-% \cs{fp_eval:n} \{ |atand(| \meta{fpexpr_1} , \meta{fpexpr_2} |)| \}
-% \cs{fp_eval:n} \{ |acotd(| \meta{fpexpr} |)| \}
-% \cs{fp_eval:n} \{ |acotd(| \meta{fpexpr_1} , \meta{fpexpr_2} |)| \}
+% \cs{fp_eval:n} \{ |atand(| \meta{fp expr} |)| \}
+% \cs{fp_eval:n} \{ |atand(| \meta{fp expr_1} , \meta{fp expr_2} |)| \}
+% \cs{fp_eval:n} \{ |acotd(| \meta{fp expr} |)| \}
+% \cs{fp_eval:n} \{ |acotd(| \meta{fp expr_1} , \meta{fp expr_2} |)| \}
% \end{syntax}
% Those functions yield an angle in degrees: \texttt{atand} and
% \texttt{acotd} are their analogs in radians. The one-argument
% versions compute the arctangent or arccotangent of the
-% \meta{fpexpr}: arctangent takes values in the range $[-90,90]$, and
+% \meta{fp expr}: arctangent takes values in the range $[-90,90]$, and
% arccotangent in the range $[0,180]$. The two-argument arctangent
% computes the angle in polar coordinates of the point with Cartesian
-% coordinates $(\meta{fpexpr_2}, \meta{fpexpr_1})$: this is the
-% arctangent of $\meta{fpexpr_1}/\meta{fpexpr_2}$, possibly shifted
-% by~$180$ depending on the signs of \meta{fpexpr_1} and
-% \meta{fpexpr_2}. The two-argument arccotangent computes the angle
-% in polar coordinates of the point $(\meta{fpexpr_1},
-% \meta{fpexpr_2})$, equal to the arccotangent of
-% $\meta{fpexpr_1}/\meta{fpexpr_2}$, possibly shifted by~$180$. Both
+% coordinates $(\meta{fp expr_2}, \meta{fp expr_1})$: this is the
+% arctangent of $\meta{fp expr_1}/\meta{fp expr_2}$, possibly shifted
+% by~$180$ depending on the signs of \meta{fp expr_1} and
+% \meta{fp expr_2}. The two-argument arccotangent computes the angle
+% in polar coordinates of the point $(\meta{fp expr_1},
+% \meta{fp expr_2})$, equal to the arccotangent of
+% $\meta{fp expr_1}/\meta{fp expr_2}$, possibly shifted by~$180$. Both
% two-argument functions take values in the wider range $[-180,180]$.
-% The ratio $\meta{fpexpr_1}/\meta{fpexpr_2}$ need not be defined for
+% The ratio $\meta{fp expr_1}/\meta{fp expr_2}$ need not be defined for
% the two-argument arctangent: when both expressions yield~$\pm 0$, or
% when both yield~$\pm\infty$, the resulting angle is one of $\{\pm
% 45,\pm 135\}$ depending on signs. The \enquote{underflow}
@@ -1304,10 +1304,10 @@
%
% \begin{function}[added = 2013-12-14, tested = m3fp-basics005]{sqrt}
% \begin{syntax}
-% \cs{fp_eval:n} \{ |sqrt(| \meta{fpexpr} |)| \}
+% \cs{fp_eval:n} \{ |sqrt(| \meta{fp expr} |)| \}
% \end{syntax}
-% Computes the square root of the \meta{fpexpr}. The \enquote{invalid
-% operation} is raised when the \meta{fpexpr} is negative or is a tuple; no other
+% Computes the square root of the \meta{fp expr}. The \enquote{invalid
+% operation} is raised when the \meta{fp expr} is negative or is a tuple; no other
% exception can occur. Special values yield $\sqrt{-0} = -0$,
% $\sqrt{+0} = +0$, $\sqrt{+\infty} = +\infty$ and
% $\sqrt{\text{\nan{}}}=\text{\nan{}}$.
@@ -1338,11 +1338,11 @@
%
% \begin{function}[added = 2016-12-05]{randint}
% \begin{syntax}
-% \cs{fp_eval:n} \{ |randint(| \meta{fpexpr} |)| \}
-% \cs{fp_eval:n} \{ |randint(| \meta{fpexpr_1} , \meta{fpexpr_2} |)| \}
+% \cs{fp_eval:n} \{ |randint(| \meta{fp expr} |)| \}
+% \cs{fp_eval:n} \{ |randint(| \meta{fp expr_1} , \meta{fp expr_2} |)| \}
% \end{syntax}
-% Produces a pseudo-random integer between $1$~and \meta{fpexpr} or
-% between \meta{fpexpr_1} and \meta{fpexpr_2} inclusive. The bounds
+% Produces a pseudo-random integer between $1$~and \meta{fp expr} or
+% between \meta{fp expr_1} and \meta{fp expr_2} inclusive. The bounds
% must be integers in the range $(-10^{16},10^{16})$ and the first
% must be smaller or equal to the second. See \texttt{rand} for
% important comments on how these pseudo-random numbers are generated.
@@ -1392,9 +1392,9 @@
% \begin{function}[EXP, added = 2012-05-14, updated = 2012-07-08,
% tested = m3fp-convert003]{\fp_abs:n}
% \begin{syntax}
-% \cs{fp_abs:n} \Arg{floating point expression}
+% \cs{fp_abs:n} \Arg{fp expr}
% \end{syntax}
-% Evaluates the \meta{floating point expression} as described for
+% Evaluates the \meta{fp expr} as described for
% \cs{fp_eval:n} and leaves the absolute value of the result in the
% input stream. If the argument is $\pm\infty$, \nan{} or a tuple,
% \enquote{invalid operation} occurs. Within floating point
@@ -1407,7 +1407,7 @@
% \begin{syntax}
% \cs{fp_max:nn} \Arg{fp expression 1} \Arg{fp expression 2}
% \end{syntax}
-% Evaluates the \meta{floating point expressions} as described for
+% Evaluates the \meta{fp exprs} as described for
% \cs{fp_eval:n} and leaves the resulting larger (\texttt{max}) or
% smaller (\texttt{min}) value in the input stream. If the argument
% is a tuple, \enquote{invalid operation} occurs, but no other case
@@ -1427,7 +1427,7 @@
% \item Decide what exponent range to consider.
% \item Support signalling \texttt{nan}.
% \item Modulo and remainder, and rounding function |quantize| (and its friends analogous to |trunc|, |ceil|, |floor|).
-% \item \cs{fp_format:nn} \Arg{fpexpr} \Arg{format}, but what should
+% \item \cs{fp_format:nn} \Arg{fp expr} \Arg{format}, but what should
% \meta{format} be? More general pretty printing?
% \item Add |and|, |or|, |xor|? Perhaps under the names \texttt{all},
% \texttt{any}, and \texttt{xor}?
diff --git a/macros/latex/contrib/l3kernel/l3fparray.dtx b/macros/latex/contrib/l3kernel/l3fparray.dtx
index 044792037b..9a6d43d7ef 100644
--- a/macros/latex/contrib/l3kernel/l3fparray.dtx
+++ b/macros/latex/contrib/l3kernel/l3fparray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3int.dtx b/macros/latex/contrib/l3kernel/l3int.dtx
index 7fe87163cb..0d35d20c1d 100644
--- a/macros/latex/contrib/l3kernel/l3int.dtx
+++ b/macros/latex/contrib/l3kernel/l3int.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
@@ -55,7 +55,7 @@
% \texttt{+}, \texttt{-}, \texttt{/} and \texttt{*} and
% parentheses can be used within such expressions to carry
% arithmetic operations. This module carries out these functions
-% on \emph{integer expressions} (\enquote{\texttt{intexpr}}).
+% on \emph{integer expressions} (\enquote{\meta{int expr}}).
%
% \section{Integer expressions}
%
@@ -118,20 +118,70 @@
%
% \begin{function}[EXP]{\int_eval:n}
% \begin{syntax}
-% \cs{int_eval:n} \Arg{integer expression}
+% \cs{int_eval:n} \Arg{int expr}
% \end{syntax}
-% Evaluates the \meta{integer expression} and leaves the result in the
+% Evaluates the \meta{int expr} and leaves the result in the
% input stream as an integer denotation: for positive results an
% explicit sequence of decimal digits not starting with~\texttt{0},
% for negative results \texttt{-}~followed by such a sequence, and
-% \texttt{0}~for zero.
+% \texttt{0}~for zero. The \meta{int expr} should consist,
+% after expansion, of \texttt{+}, \texttt{-}, \texttt{*}, \texttt{/},
+% \texttt{(}, \texttt{)} and of course integer operands. The result
+% is calculated by applying standard mathematical rules with the
+% following peculiarities:
+% \begin{itemize}
+% \item \texttt{/} denotes division rounded to the closest integer with
+% ties rounded away from zero;
+% \item there is an error and the overall expression evaluates to zero
+% whenever the absolute value of any intermediate result exceeds
+% $2^{31}-1$, except in the case of scaling operations
+% $a$\texttt{*}$b$\texttt{/}$c$, for which $a$\texttt{*}$b$ may be
+% arbitrarily large;
+% \item parentheses may not appear after unary \texttt{+} or
+% \texttt{-}, namely placing \texttt{+(} or \texttt{-(} at the start
+% of an expression or after \texttt{+}, \texttt{-}, \texttt{*},
+% \texttt{/} or~\texttt{(} leads to an error.
+% \end{itemize}
+% Each integer operand can be either an integer variable (with no need
+% for \cs{int_use:N}) or an integer denotation. For example both
+% \begin{verbatim}
+% \int_eval:n { 5 + 4 * 3 - ( 3 + 4 * 5 ) }
+% \end{verbatim}
+% and
+% \begin{verbatim}
+% \tl_new:N \l_my_tl
+% \tl_set:Nn \l_my_tl { 5 }
+% \int_new:N \l_my_int
+% \int_set:Nn \l_my_int { 4 }
+% \int_eval:n { \l_my_tl + \l_my_int * 3 - ( 3 + 4 * 5 ) }
+% \end{verbatim}
+% evaluate to $-6$ because \cs[no-index]{l_my_tl} expands to the
+% integer denotation~|5|. As the \meta{int expr} is fully
+% expanded from left to right during evaluation, fully expandable and
+% restricted-expandable functions can both be used, and \cs{exp_not:n}
+% and its variants have no effect while \cs{exp_not:N} may incorrectly
+% interrupt the expression.
+% \begin{texnote}
+% Exactly two expansions are needed to evaluate \cs{int_eval:n}.
+% The result is \emph{not} an \meta{internal integer}, and therefore
+% requires suitable termination if used in a \TeX{}-style integer
+% assignment.
+%
+% As all \TeX{} integers, integer operands can also be dimension or
+% skip variables, converted to integers in~\texttt{sp}, or octal
+% numbers given as \texttt{'} followed by digits other than
+% \texttt{8} and \texttt{9}, or hexadecimal numbers given as
+% |"| followed by digits or upper case letters from
+% \texttt{A} to~\texttt{F}, or the character code of some character
+% or one-character control sequence, given as \texttt{`}\meta{char}.
+% \end{texnote}
% \end{function}
%
% \begin{function}[EXP, added = 2018-03-30]{\int_eval:w}
% \begin{syntax}
-% \cs{int_eval:w} \meta{integer expression}
+% \cs{int_eval:w} \meta{int expr}
% \end{syntax}
-% Evaluates the \meta{integer expression} as described for
+% Evaluates the \meta{int expr} as described for
% \cs{int_eval:n}. The end of the expression is the first token
% encountered that cannot form part of such an expression. If that
% token is \cs{scan_stop:} it is removed, otherwise not. Spaces do
@@ -144,17 +194,17 @@
%
% \begin{function}[EXP, added = 2018-11-03]{\int_sign:n}
% \begin{syntax}
-% \cs{int_sign:n} \Arg{intexpr}
+% \cs{int_sign:n} \Arg{int expr}
% \end{syntax}
-% Evaluates the \meta{integer expression} then leaves $1$ or $0$ or
+% Evaluates the \meta{int expr} then leaves $1$ or $0$ or
% $-1$ in the input stream according to the sign of the result.
% \end{function}
%
% \begin{function}[EXP, updated = 2012-09-26]{\int_abs:n}
% \begin{syntax}
-% \cs{int_abs:n} \Arg{integer expression}
+% \cs{int_abs:n} \Arg{int expr}
% \end{syntax}
-% Evaluates the \meta{integer expression} as described for
+% Evaluates the \meta{int expr} as described for
% \cs{int_eval:n} and leaves the absolute value of the result in
% the input stream as an \meta{integer denotation} after two
% expansions.
@@ -162,21 +212,21 @@
%
% \begin{function}[EXP, updated = 2012-09-26]{\int_div_round:nn}
% \begin{syntax}
-% \cs{int_div_round:nn} \Arg{intexpr_1} \Arg{intexpr_2}
+% \cs{int_div_round:nn} \Arg{int expr_1} \Arg{int expr_2}
% \end{syntax}
-% Evaluates the two \meta{integer expressions} as described earlier,
+% Evaluates the two \meta{int expr}s as described earlier,
% then divides the first value by the second, and rounds the result
% to the closest integer. Ties are rounded away from zero.
% Note that this is identical to using
-% |/| directly in an \meta{integer expression}. The result is left in
+% |/| directly in an \meta{int expr}. The result is left in
% the input stream as an \meta{integer denotation} after two expansions.
% \end{function}
%
% \begin{function}[EXP, updated = 2012-02-09]{\int_div_truncate:nn}
% \begin{syntax}
-% \cs{int_div_truncate:nn} \Arg{intexpr_1} \Arg{intexpr_2}
+% \cs{int_div_truncate:nn} \Arg{int expr_1} \Arg{int expr_2}
% \end{syntax}
-% Evaluates the two \meta{integer expressions} as described earlier,
+% Evaluates the two \meta{int expr}s as described earlier,
% then divides the first value by the second, and rounds the result
% towards zero. Note that division using |/|
% rounds to the closest integer instead.
@@ -186,10 +236,10 @@
%
% \begin{function}[EXP, updated = 2012-09-26]{\int_max:nn, \int_min:nn}
% \begin{syntax}
-% \cs{int_max:nn} \Arg{intexpr_1} \Arg{intexpr_2}
-% \cs{int_min:nn} \Arg{intexpr_1} \Arg{intexpr_2}
+% \cs{int_max:nn} \Arg{int expr_1} \Arg{int expr_2}
+% \cs{int_min:nn} \Arg{int expr_1} \Arg{int expr_2}
% \end{syntax}
-% Evaluates the \meta{integer expressions} as described for
+% Evaluates the \meta{int expr}s as described for
% \cs{int_eval:n} and leaves either the larger or smaller value
% in the input stream as an \meta{integer denotation} after two
% expansions.
@@ -197,15 +247,15 @@
%
% \begin{function}[EXP, updated = 2012-09-26]{\int_mod:nn}
% \begin{syntax}
-% \cs{int_mod:nn} \Arg{intexpr_1} \Arg{intexpr_2}
+% \cs{int_mod:nn} \Arg{int expr_1} \Arg{int expr_2}
% \end{syntax}
-% Evaluates the two \meta{integer expressions} as described earlier,
+% Evaluates the two \meta{int expr}s as described earlier,
% then calculates the integer remainder of dividing the first
% expression by the second. This is obtained by subtracting
-% \cs{int_div_truncate:nn} \Arg{intexpr_1} \Arg{intexpr_2} times
-% \meta{intexpr_2} from \meta{intexpr_1}. Thus, the result has the
-% same sign as \meta{intexpr_1} and its absolute value is strictly
-% less than that of \meta{intexpr_2}. The result is left in the input
+% \cs{int_div_truncate:nn} \Arg{int expr_1} \Arg{int expr_2} times
+% \meta{int expr_2} from \meta{int expr_1}. Thus, the result has the
+% same sign as \meta{int expr_1} and its absolute value is strictly
+% less than that of \meta{int expr_2}. The result is left in the input
% stream as an \meta{integer denotation} after two expansions.
% \end{function}
%
@@ -222,11 +272,11 @@
%
% \begin{function}[updated = 2011-10-22]{\int_const:Nn, \int_const:cn}
% \begin{syntax}
-% \cs{int_const:Nn} \meta{integer} \Arg{integer expression}
+% \cs{int_const:Nn} \meta{integer} \Arg{int expr}
% \end{syntax}
% Creates a new constant \meta{integer} or raises an error if the name
% is already taken. The value of the \meta{integer} is set
-% globally to the \meta{integer expression}.
+% globally to the \meta{int expr}.
% \end{function}
%
% \begin{function}{\int_zero:N, \int_zero:c, \int_gzero:N, \int_gzero:c}
@@ -274,9 +324,9 @@
% \begin{function}[updated = 2011-10-22]
% {\int_add:Nn, \int_add:cn, \int_gadd:Nn, \int_gadd:cn}
% \begin{syntax}
-% \cs{int_add:Nn} \meta{integer} \Arg{integer expression}
+% \cs{int_add:Nn} \meta{integer} \Arg{int expr}
% \end{syntax}
-% Adds the result of the \meta{integer expression} to the current
+% Adds the result of the \meta{int expr} to the current
% content of the \meta{integer}.
% \end{function}
%
@@ -297,9 +347,9 @@
% \begin{function}[updated = 2011-10-22]
% {\int_set:Nn, \int_set:cn, \int_gset:Nn, \int_gset:cn}
% \begin{syntax}
-% \cs{int_set:Nn} \meta{integer} \Arg{integer expression}
+% \cs{int_set:Nn} \meta{integer} \Arg{int expr}
% \end{syntax}
-% Sets \meta{integer} to the value of \meta{integer expression},
+% Sets \meta{integer} to the value of \meta{int expr},
% which must evaluate to an integer (as described for
% \cs{int_eval:n}).
% \end{function}
@@ -307,9 +357,9 @@
% \begin{function}[updated = 2011-10-22]
% {\int_sub:Nn, \int_sub:cn, \int_gsub:Nn, \int_gsub:cn}
% \begin{syntax}
-% \cs{int_sub:Nn} \meta{integer} \Arg{integer expression}
+% \cs{int_sub:Nn} \meta{integer} \Arg{int expr}
% \end{syntax}
-% Subtracts the result of the \meta{integer expression} from the
+% Subtracts the result of the \meta{int expr} from the
% current content of the \meta{integer}.
% \end{function}
%
@@ -334,12 +384,12 @@
%
% \begin{function}[EXP,pTF]{\int_compare:nNn}
% \begin{syntax}
-% \cs{int_compare_p:nNn} \Arg{intexpr_1} \meta{relation} \Arg{intexpr_2} \\
+% \cs{int_compare_p:nNn} \Arg{int expr_1} \meta{relation} \Arg{int expr_2} \\
% \cs{int_compare:nNnTF}
-% ~~\Arg{intexpr_1} \meta{relation} \Arg{intexpr_2}
+% ~~\Arg{int expr_1} \meta{relation} \Arg{int expr_2}
% ~~\Arg{true code} \Arg{false code}
% \end{syntax}
-% This function first evaluates each of the \meta{integer expressions}
+% This function first evaluates each of the \meta{int expr}s
% as described for \cs{int_eval:n}. The two results are then
% compared using the \meta{relation}:
% \begin{center}
@@ -357,28 +407,28 @@
% \begin{syntax}
% \cs{int_compare_p:n} \\
% ~~\{ \\
-% ~~~~\meta{intexpr_1} \meta{relation_1} \\
+% ~~~~\meta{int expr_1} \meta{relation_1} \\
% ~~~~\ldots{} \\
-% ~~~~\meta{intexpr_N} \meta{relation_N} \\
-% ~~~~\meta{intexpr_{N+1}} \\
+% ~~~~\meta{int expr_N} \meta{relation_N} \\
+% ~~~~\meta{int expr_{N+1}} \\
% ~~\} \\
% \cs{int_compare:nTF}
% ~~\{ \\
-% ~~~~\meta{intexpr_1} \meta{relation_1} \\
+% ~~~~\meta{int expr_1} \meta{relation_1} \\
% ~~~~\ldots{} \\
-% ~~~~\meta{intexpr_N} \meta{relation_N} \\
-% ~~~~\meta{intexpr_{N+1}} \\
+% ~~~~\meta{int expr_N} \meta{relation_N} \\
+% ~~~~\meta{int expr_{N+1}} \\
% ~~\} \\
% ~~\Arg{true code} \Arg{false code}
% \end{syntax}
-% This function evaluates the \meta{integer expressions} as described
+% This function evaluates the \meta{int expr}s as described
% for \cs{int_eval:n} and compares consecutive result using the
-% corresponding \meta{relation}, namely it compares \meta{intexpr_1}
-% and \meta{intexpr_2} using the \meta{relation_1}, then
-% \meta{intexpr_2} and \meta{intexpr_3} using the \meta{relation_2},
-% until finally comparing \meta{intexpr_N} and \meta{intexpr_{N+1}}
+% corresponding \meta{relation}, namely it compares \meta{int expr_1}
+% and \meta{int expr_2} using the \meta{relation_1}, then
+% \meta{int expr_2} and \meta{int expr_3} using the \meta{relation_2},
+% until finally comparing \meta{int expr_N} and \meta{int expr_{N+1}}
% using the \meta{relation_N}. The test yields \texttt{true} if all
-% comparisons are \texttt{true}. Each \meta{integer expression} is
+% comparisons are \texttt{true}. Each \meta{int expr} is
% evaluated only once, and the evaluation is lazy, in the sense that
% if one comparison is \texttt{false}, then no other \meta{integer
% expression} is evaluated and no other comparison is performed.
@@ -399,19 +449,19 @@
%
% \begin{function}[added = 2013-07-24, EXP, noTF]{\int_case:nn}
% \begin{syntax}
-% \cs{int_case:nnTF} \Arg{test integer expression} \\
+% \cs{int_case:nnTF} \Arg{test int expr} \\
% ~~|{| \\
-% ~~~~\Arg{intexpr case_1} \Arg{code case_1} \\
-% ~~~~\Arg{intexpr case_2} \Arg{code case_2} \\
+% ~~~~\Arg{int expr case_1} \Arg{code case_1} \\
+% ~~~~\Arg{int expr case_2} \Arg{code case_2} \\
% ~~~~\ldots \\
-% ~~~~\Arg{intexpr case_n} \Arg{code case_n} \\
+% ~~~~\Arg{int expr case_n} \Arg{code case_n} \\
% ~~|}| \\
% ~~\Arg{true code}
% ~~\Arg{false code}
% \end{syntax}
-% This function evaluates the \meta{test integer expression} and
+% This function evaluates the \meta{test int expr} and
% compares this in turn to each of the
-% \meta{integer expression cases}. If the two are equal then the
+% \meta{int expr cases}. If the two are equal then the
% associated \meta{code} is left in the input stream
% and other cases are discarded. If any of the
% cases are matched, the \meta{true code} is also inserted into the
@@ -434,11 +484,11 @@
%
% \begin{function}[EXP,pTF]{\int_if_even:n, \int_if_odd:n}
% \begin{syntax}
-% \cs{int_if_odd_p:n} \Arg{integer expression}
-% \cs{int_if_odd:nTF} \Arg{integer expression}
+% \cs{int_if_odd_p:n} \Arg{int expr}
+% \cs{int_if_odd:nTF} \Arg{int expr}
% ~~\Arg{true code} \Arg{false code}
% \end{syntax}
-% This function first evaluates the \meta{integer expression}
+% This function first evaluates the \meta{int expr}
% as described for \cs{int_eval:n}. It then evaluates if this
% is odd or even, as appropriate.
% \end{function}
@@ -447,11 +497,11 @@
%
% \begin{function}[rEXP]{\int_do_until:nNnn}
% \begin{syntax}
-% \cs{int_do_until:nNnn} \Arg{intexpr_1} \meta{relation} \Arg{intexpr_2} \Arg{code}
+% \cs{int_do_until:nNnn} \Arg{int expr_1} \meta{relation} \Arg{int expr_2} \Arg{code}
% \end{syntax}
% Places the \meta{code} in the input stream for \TeX{} to process, and
% then evaluates the relationship between the two
-% \meta{integer expressions} as described for \cs{int_compare:nNnTF}.
+% \meta{int expr}s as described for \cs{int_compare:nNnTF}.
% If the test is \texttt{false} then the \meta{code} is inserted
% into the input stream again and a loop occurs until the
% \meta{relation} is \texttt{true}.
@@ -459,11 +509,11 @@
%
% \begin{function}[rEXP]{\int_do_while:nNnn}
% \begin{syntax}
-% \cs{int_do_while:nNnn} \Arg{intexpr_1} \meta{relation} \Arg{intexpr_2} \Arg{code}
+% \cs{int_do_while:nNnn} \Arg{int expr_1} \meta{relation} \Arg{int expr_2} \Arg{code}
% \end{syntax}
% Places the \meta{code} in the input stream for \TeX{} to process, and
% then evaluates the relationship between the two
-% \meta{integer expressions} as described for \cs{int_compare:nNnTF}.
+% \meta{int expr}s as described for \cs{int_compare:nNnTF}.
% If the test is \texttt{true} then the \meta{code} is inserted
% into the input stream again and a loop occurs until the
% \meta{relation} is \texttt{false}.
@@ -471,9 +521,9 @@
%
% \begin{function}[rEXP]{\int_until_do:nNnn}
% \begin{syntax}
-% \cs{int_until_do:nNnn} \Arg{intexpr_1} \meta{relation} \Arg{intexpr_2} \Arg{code}
+% \cs{int_until_do:nNnn} \Arg{int expr_1} \meta{relation} \Arg{int expr_2} \Arg{code}
% \end{syntax}
-% Evaluates the relationship between the two \meta{integer expressions}
+% Evaluates the relationship between the two \meta{int expr}s
% as described for \cs{int_compare:nNnTF}, and then places the
% \meta{code} in the input stream if the \meta{relation} is
% \texttt{false}. After the \meta{code} has been processed by \TeX{} the
@@ -483,9 +533,9 @@
%
% \begin{function}[rEXP]{\int_while_do:nNnn}
% \begin{syntax}
-% \cs{int_while_do:nNnn} \Arg{intexpr_1} \meta{relation} \Arg{intexpr_2} \Arg{code}
+% \cs{int_while_do:nNnn} \Arg{int expr_1} \meta{relation} \Arg{int expr_2} \Arg{code}
% \end{syntax}
-% Evaluates the relationship between the two \meta{integer expressions}
+% Evaluates the relationship between the two \meta{int expr}s
% as described for \cs{int_compare:nNnTF}, and then places the
% \meta{code} in the input stream if the \meta{relation} is
% \texttt{true}. After the \meta{code} has been processed by \TeX{} the
@@ -628,17 +678,17 @@
%
% \begin{function}[updated = 2011-10-22, EXP]{\int_to_arabic:n}
% \begin{syntax}
-% \cs{int_to_arabic:n} \Arg{integer expression}
+% \cs{int_to_arabic:n} \Arg{int expr}
% \end{syntax}
-% Places the value of the \meta{integer expression} in the input
+% Places the value of the \meta{int expr} in the input
% stream as digits, with category code $12$ (other).
% \end{function}
%
% \begin{function}[updated = 2011-09-17, EXP]{\int_to_alph:n, \int_to_Alph:n}
% \begin{syntax}
-% \cs{int_to_alph:n} \Arg{integer expression}
+% \cs{int_to_alph:n} \Arg{int expr}
% \end{syntax}
-% Evaluates the \meta{integer expression} and converts the result
+% Evaluates the \meta{int expr} and converts the result
% into a series of letters, which are then left in the input stream.
% The conversion rule uses the $26$ letters of the English
% alphabet, in order, adding letters when necessary to increase the total
@@ -665,11 +715,11 @@
% \begin{function}[updated = 2011-09-17, EXP]{\int_to_symbols:nnn}
% \begin{syntax}
% \cs{int_to_symbols:nnn}
-% ~~\Arg{integer expression} \Arg{total symbols}
+% ~~\Arg{int expr} \Arg{total symbols}
% ~~\Arg{value to symbol mapping}
% \end{syntax}
% This is the low-level function for conversion of an
-% \meta{integer expression} into a symbolic form (often
+% \meta{int expr} into a symbolic form (often
% letters). The \meta{total symbols} available should be given
% as an integer expression. Values are actually converted to symbols
% according to the \meta{value to symbol mapping}. This should be given
@@ -692,17 +742,17 @@
%
% \begin{function}[added = 2014-02-11, EXP]{\int_to_bin:n}
% \begin{syntax}
-% \cs{int_to_bin:n} \Arg{integer expression}
+% \cs{int_to_bin:n} \Arg{int expr}
% \end{syntax}
-% Calculates the value of the \meta{integer expression} and places
+% Calculates the value of the \meta{int expr} and places
% the binary representation of the result in the input stream.
% \end{function}
%
% \begin{function}[added = 2014-02-11, EXP]{\int_to_hex:n, \int_to_Hex:n}
% \begin{syntax}
-% \cs{int_to_hex:n} \Arg{integer expression}
+% \cs{int_to_hex:n} \Arg{int expr}
% \end{syntax}
-% Calculates the value of the \meta{integer expression} and places
+% Calculates the value of the \meta{int expr} and places
% the hexadecimal (base~$16$) representation of the result in the
% input stream. Letters are used for digits beyond~$9$: lower
% case letters for \cs{int_to_hex:n} and upper case ones for
@@ -713,9 +763,9 @@
%
% \begin{function}[added = 2014-02-11, EXP]{\int_to_oct:n}
% \begin{syntax}
-% \cs{int_to_oct:n} \Arg{integer expression}
+% \cs{int_to_oct:n} \Arg{int expr}
% \end{syntax}
-% Calculates the value of the \meta{integer expression} and places
+% Calculates the value of the \meta{int expr} and places
% the octal (base~$8$) representation of the result in the input
% stream.
% The resulting tokens are digits with category code $12$ (other) and
@@ -725,9 +775,9 @@
% \begin{function}[updated = 2014-02-11, EXP]
% {\int_to_base:nn, \int_to_Base:nn}
% \begin{syntax}
-% \cs{int_to_base:nn} \Arg{integer expression} \Arg{base}
+% \cs{int_to_base:nn} \Arg{int expr} \Arg{base}
% \end{syntax}
-% Calculates the value of the \meta{integer expression} and
+% Calculates the value of the \meta{int expr} and
% converts it into the appropriate representation in the \meta{base};
% the later may be given as an integer expression. For bases greater
% than $10$ the higher \enquote{digits} are represented by
@@ -744,9 +794,9 @@
%
% \begin{function}[updated = 2011-10-22, rEXP]{\int_to_roman:n, \int_to_Roman:n}
% \begin{syntax}
-% \cs{int_to_roman:n} \Arg{integer expression}
+% \cs{int_to_roman:n} \Arg{int expr}
% \end{syntax}
-% Places the value of the \meta{integer expression} in the input
+% Places the value of the \meta{int expr} in the input
% stream as Roman numerals, either lower case (\cs{int_to_roman:n}) or
% upper case (\cs{int_to_Roman:n}). If the value is negative or zero,
% the output is empty. The Roman numerals are letters with category
@@ -843,19 +893,19 @@
%
% \begin{function}[EXP, added = 2016-12-06, updated = 2018-04-27]{\int_rand:nn}
% \begin{syntax}
-% \cs{int_rand:nn} \Arg{intexpr_1} \Arg{intexpr_2}
+% \cs{int_rand:nn} \Arg{int expr_1} \Arg{int expr_2}
% \end{syntax}
-% Evaluates the two \meta{integer expressions} and produces a
+% Evaluates the two \meta{int expr}s and produces a
% pseudo-random number between the two (with bounds included).
% This is not available in older versions of \XeTeX{}.
% \end{function}
%
% \begin{function}[EXP, added = 2018-05-05]{\int_rand:n}
% \begin{syntax}
-% \cs{int_rand:n} \Arg{intexpr}
+% \cs{int_rand:n} \Arg{int expr}
% \end{syntax}
-% Evaluates the \meta{integer expression} then produces a
-% pseudo-random number between $1$ and the \meta{intexpr} (included).
+% Evaluates the \meta{int expr} then produces a
+% pseudo-random number between $1$ and the \meta{int expr} (included).
% This is not available in older versions of \XeTeX{}.
% \end{function}
%
@@ -870,9 +920,9 @@
%
% \begin{function}[added = 2011-11-22, updated = 2015-08-07]{\int_show:n}
% \begin{syntax}
-% \cs{int_show:n} \Arg{integer expression}
+% \cs{int_show:n} \Arg{int expr}
% \end{syntax}
-% Displays the result of evaluating the \meta{integer expression}
+% Displays the result of evaluating the \meta{int expr}
% on the terminal.
% \end{function}
%
@@ -885,9 +935,9 @@
%
% \begin{function}[added = 2014-08-22, updated = 2015-08-07]{\int_log:n}
% \begin{syntax}
-% \cs{int_log:n} \Arg{integer expression}
+% \cs{int_log:n} \Arg{int expr}
% \end{syntax}
-% Writes the result of evaluating the \meta{integer expression}
+% Writes the result of evaluating the \meta{int expr}
% in the log file.
% \end{function}
%
diff --git a/macros/latex/contrib/l3kernel/l3intarray.dtx b/macros/latex/contrib/l3kernel/l3intarray.dtx
index b6c902814f..1f3a7ecac7 100644
--- a/macros/latex/contrib/l3kernel/l3intarray.dtx
+++ b/macros/latex/contrib/l3kernel/l3intarray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
@@ -99,7 +99,7 @@
% \begin{function}[added = 2018-05-04]
% {\intarray_const_from_clist:Nn, \intarray_const_from_clist:cn}
% \begin{syntax}
-% \cs{intarray_const_from_clist:Nn} \meta{intarray~var} \meta{intexpr clist}
+% \cs{intarray_const_from_clist:Nn} \meta{intarray~var} \meta{int expr clist}
% \end{syntax}
% Creates a new constant \meta{integer array variable} or raises an
% error if the name is already taken. The \meta{integer array
diff --git a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx
index f3707adfba..884b51bd90 100644
--- a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx
+++ b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3keys.dtx b/macros/latex/contrib/l3kernel/l3keys.dtx
index ed30315940..80fb0e087d 100644
--- a/macros/latex/contrib/l3kernel/l3keys.dtx
+++ b/macros/latex/contrib/l3kernel/l3keys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3legacy.dtx b/macros/latex/contrib/l3kernel/l3legacy.dtx
index 8c1f7f79c3..f98c7e3e01 100644
--- a/macros/latex/contrib/l3kernel/l3legacy.dtx
+++ b/macros/latex/contrib/l3kernel/l3legacy.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3luatex.dtx b/macros/latex/contrib/l3kernel/l3luatex.dtx
index dd31c52398..7820193676 100644
--- a/macros/latex/contrib/l3kernel/l3luatex.dtx
+++ b/macros/latex/contrib/l3kernel/l3luatex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3msg.dtx b/macros/latex/contrib/l3kernel/l3msg.dtx
index bb4f895b28..c2fea024e3 100644
--- a/macros/latex/contrib/l3kernel/l3msg.dtx
+++ b/macros/latex/contrib/l3kernel/l3msg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3names.dtx b/macros/latex/contrib/l3kernel/l3names.dtx
index bd52590502..109a2aebe4 100644
--- a/macros/latex/contrib/l3kernel/l3names.dtx
+++ b/macros/latex/contrib/l3kernel/l3names.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3news.pdf b/macros/latex/contrib/l3kernel/l3news.pdf
index aff1b227c4..31924b129f 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 203189c5d6..d51ff57a3a 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 3b801b0869..398e509d94 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 50b9fa7a66..0e9547634b 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 19b7903852..a79913bc01 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 0d0d1ab94b..327963f635 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 afc88af47c..1c95a06b05 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 9fba5965b9..8920dbeb7d 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 5db8d5e6b9..17b29f7368 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 309a3a0e4c..b65b916525 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 07719156f3..1cd0211dbe 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 d88ae99e25..fcf4d6f416 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 6de636c397..92dcad751f 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 711a0356d4..21a114b272 100644
--- a/macros/latex/contrib/l3kernel/l3pdf.dtx
+++ b/macros/latex/contrib/l3kernel/l3pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3prefixes.csv b/macros/latex/contrib/l3kernel/l3prefixes.csv
index c69216e094..00e59e10de 100644
--- a/macros/latex/contrib/l3kernel/l3prefixes.csv
+++ b/macros/latex/contrib/l3kernel/l3prefixes.csv
@@ -83,6 +83,7 @@ fdulogo,fduthesis,Xiangdong Zeng,https://github.com/stone-zeng/fduthesis,https:/
fi,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-28,2012-09-28,
file,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
filehook,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex2e.git,https://github.com/latex3/latex2e/issues,2020-10-01,2021-03-03,
+fingering,recorder-fingering,Alan Munn,https://github.com/amunn/recorder-fingering,https://github.com/amunn/recorder-fingering,https://github.com/amunn/recorder-fingering/issues,2023-02-17,2023-02-17,
flag,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2017-02-13,
fltr,newlfm,Paul Thomson,,,,2013-01-29,2013-01-29,
fmdug,dashundergaps,Frank Mittelbach,https://www.latex-project.org/,https://github.com/FrankMittelbach/fmitex-dashundergaps.git,https://github.com/FrankMittelbach/fmitex-dashundergaps/issues,2018-06-24,2021-10-11,
@@ -235,6 +236,7 @@ term,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https:
tex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
text,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2020-01-15,2020-01-15,
tikzfill,tikzfill,Thomas F. Sturm,https://github.com/T-F-S/tikzfill,https://github.com/T-F-S/tikzfill.git,https://github.com/T-F-S/tikzfill/issues,2022-07-19,2022-07-19,
+tikzlings,tikzlings,samcarter,https://github.com/samcarter/tikzlings,git@github.com:samcarter/tikzlings.git,https://github.com/samcarter/tikzlings/issues,2023-02-17,2023-02-17,
tikzsymbols,tikzsymbols,Ben Vitecek,https://github.com/Vidabe/tikzsymbols,https://github.com/Vidabe/tikzsymbols.git,https://github.com/Vidabe/tikzsymbols/issues,2018-09-26,2018-09-26,
tilde,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
tl,"l3kernel,l3tl-build",The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
diff --git a/macros/latex/contrib/l3kernel/l3prefixes.pdf b/macros/latex/contrib/l3kernel/l3prefixes.pdf
index 1109d4214a..0b11501b37 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 9d93c1ba4c..76bda184a8 100644
--- a/macros/latex/contrib/l3kernel/l3prg.dtx
+++ b/macros/latex/contrib/l3kernel/l3prg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3prop.dtx b/macros/latex/contrib/l3kernel/l3prop.dtx
index cde6c2e9b5..5e9779b3d6 100644
--- a/macros/latex/contrib/l3kernel/l3prop.dtx
+++ b/macros/latex/contrib/l3kernel/l3prop.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
@@ -167,7 +167,7 @@
% {
% \prop_put:Nnn, \prop_put:NnV, \prop_put:Nno, \prop_put:Nnx,
% \prop_put:NVn, \prop_put:NVV, \prop_put:NVx, \prop_put:Nvx,
-% \prop_put:Non, \prop_put:Noo,, \prop_put:Nxx,
+% \prop_put:Non, \prop_put:Noo, \prop_put:Nxx,
% \prop_put:cnn, \prop_put:cnV, \prop_put:cno, \prop_put:cnx,
% \prop_put:cVn, \prop_put:cVV, \prop_put:cVx, \prop_put:cvx,
% \prop_put:con, \prop_put:coo, \prop_put:cxx,
diff --git a/macros/latex/contrib/l3kernel/l3quark.dtx b/macros/latex/contrib/l3kernel/l3quark.dtx
index 9f23be6c1c..fa9bc7f606 100644
--- a/macros/latex/contrib/l3kernel/l3quark.dtx
+++ b/macros/latex/contrib/l3kernel/l3quark.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3regex.dtx b/macros/latex/contrib/l3kernel/l3regex.dtx
index a9388f5983..8c0006ec8e 100644
--- a/macros/latex/contrib/l3kernel/l3regex.dtx
+++ b/macros/latex/contrib/l3kernel/l3regex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3seq.dtx b/macros/latex/contrib/l3kernel/l3seq.dtx
index 18a0e3ede9..88a69a9ea5 100644
--- a/macros/latex/contrib/l3kernel/l3seq.dtx
+++ b/macros/latex/contrib/l3kernel/l3seq.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3skip.dtx b/macros/latex/contrib/l3kernel/l3skip.dtx
index 41b0811306..7c9b2177db 100644
--- a/macros/latex/contrib/l3kernel/l3skip.dtx
+++ b/macros/latex/contrib/l3kernel/l3skip.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
@@ -60,6 +60,11 @@
% length variables, but for clarity the functions are grouped by variable
% type.
%
+% Many functions take
+% \emph{dimension expressions} (\enquote{\meta{dim expr}}) or
+% \emph{skip expressions} (\enquote{\meta{skip expr}}) as arguments.
+%
+%
% \section{Creating and initialising \texttt{dim} variables}
%
% \begin{function}{\dim_new:N, \dim_new:c}
@@ -73,11 +78,11 @@
%
% \begin{function}[added = 2012-03-05]{\dim_const:Nn, \dim_const:cn}
% \begin{syntax}
-% \cs{dim_const:Nn} \meta{dimension} \Arg{dimension expression}
+% \cs{dim_const:Nn} \meta{dimension} \Arg{dim expr}
% \end{syntax}
% Creates a new constant \meta{dimension} or raises an error if the
% name is already taken. The value of the \meta{dimension} is set
-% globally to the \meta{dimension expression}.
+% globally to the \meta{dim expr}.
% \end{function}
%
% \begin{function}{\dim_zero:N, \dim_zero:c, \dim_gzero:N, \dim_gzero:c}
@@ -112,18 +117,18 @@
% \begin{function}[updated = 2011-10-22]
% {\dim_add:Nn, \dim_add:cn, \dim_gadd:Nn, \dim_gadd:cn}
% \begin{syntax}
-% \cs{dim_add:Nn} \meta{dimension} \Arg{dimension expression}
+% \cs{dim_add:Nn} \meta{dimension} \Arg{dim expr}
% \end{syntax}
-% Adds the result of the \meta{dimension expression} to the current
+% Adds the result of the \meta{dim expr} to the current
% content of the \meta{dimension}.
% \end{function}
%
% \begin{function}[updated = 2011-10-22]
% {\dim_set:Nn, \dim_set:cn, \dim_gset:Nn, \dim_gset:cn}
% \begin{syntax}
-% \cs{dim_set:Nn} \meta{dimension} \Arg{dimension expression}
+% \cs{dim_set:Nn} \meta{dimension} \Arg{dim expr}
% \end{syntax}
-% Sets \meta{dimension} to the value of \meta{dimension expression}, which
+% Sets \meta{dimension} to the value of \meta{dim expr}, which
% must evaluate to a length with units.
% \end{function}
%
@@ -142,9 +147,9 @@
% \begin{function}[updated = 2011-10-22]
% {\dim_sub:Nn, \dim_sub:cn, \dim_gsub:Nn, \dim_gsub:cn}
% \begin{syntax}
-% \cs{dim_sub:Nn} \meta{dimension} \Arg{dimension expression}
+% \cs{dim_sub:Nn} \meta{dimension} \Arg{dim expr}
% \end{syntax}
-% Subtracts the result of the \meta{dimension expression} from the
+% Subtracts the result of the \meta{dim expr} from the
% current content of the \meta{dimension}.
% \end{function}
%
@@ -152,29 +157,29 @@
%
% \begin{function}[updated = 2012-09-26, EXP]{\dim_abs:n}
% \begin{syntax}
-% \cs{dim_abs:n} \Arg{dimexpr}
+% \cs{dim_abs:n} \Arg{dim expr}
% \end{syntax}
-% Converts the \meta{dimexpr} to its absolute value, leaving the result
+% Converts the \meta{dim expr} to its absolute value, leaving the result
% in the input stream as a \meta{dimension denotation}.
% \end{function}
%
% \begin{function}[added = 2012-09-09, updated = 2012-09-26, EXP]
% {\dim_max:nn, \dim_min:nn}
% \begin{syntax}
-% \cs{dim_max:nn} \Arg{dimexpr_1} \Arg{dimexpr_2}
-% \cs{dim_min:nn} \Arg{dimexpr_1} \Arg{dimexpr_2}
+% \cs{dim_max:nn} \Arg{dim expr_1} \Arg{dim expr_2}
+% \cs{dim_min:nn} \Arg{dim expr_1} \Arg{dim expr_2}
% \end{syntax}
-% Evaluates the two \meta{dimension expressions} and leaves either the
+% Evaluates the two \meta{dim exprs} and leaves either the
% maximum or minimum value in the input stream as appropriate, as a
% \meta{dimension denotation}.
% \end{function}
%
% \begin{function}[updated = 2011-10-22, rEXP]{\dim_ratio:nn}
% \begin{syntax}
-% \cs{dim_ratio:nn} \Arg{dimexpr_1} \Arg{dimexpr_2}
+% \cs{dim_ratio:nn} \Arg{dim expr_1} \Arg{dim expr_2}
% \end{syntax}
-% Parses the two \meta{dimension expressions} and converts the ratio of
-% the two to a form suitable for use inside a \meta{dimension expression}.
+% Parses the two \meta{dim exprs} and converts the ratio of
+% the two to a form suitable for use inside a \meta{dim expr}.
% This ratio is then left in the input stream, allowing syntax such as
% \begin{verbatim}
% \dim_set:Nn \l_my_dim
@@ -194,12 +199,12 @@
%
% \begin{function}[EXP,pTF]{\dim_compare:nNn}
% \begin{syntax}
-% \cs{dim_compare_p:nNn} \Arg{dimexpr_1} \meta{relation} \Arg{dimexpr_2} \\
+% \cs{dim_compare_p:nNn} \Arg{dim expr_1} \meta{relation} \Arg{dim expr_2} \\
% \cs{dim_compare:nNnTF}
-% ~~\Arg{dimexpr_1} \meta{relation} \Arg{dimexpr_2}
+% ~~\Arg{dim expr_1} \meta{relation} \Arg{dim expr_2}
% ~~\Arg{true code} \Arg{false code}
% \end{syntax}
-% This function first evaluates each of the \meta{dimension expressions}
+% This function first evaluates each of the \meta{dim exprs}
% as described for \cs{dim_eval:n}. The two results are then
% compared using the \meta{relation}:
% \begin{center}
@@ -217,31 +222,31 @@
% \begin{syntax}
% \cs{dim_compare_p:n} \\
% ~~\{ \\
-% ~~~~\meta{dimexpr_1} \meta{relation_1} \\
+% ~~~~\meta{dim expr_1} \meta{relation_1} \\
% ~~~~\ldots{} \\
-% ~~~~\meta{dimexpr_N} \meta{relation_N} \\
-% ~~~~\meta{dimexpr_{N+1}} \\
+% ~~~~\meta{dim expr_N} \meta{relation_N} \\
+% ~~~~\meta{dim expr_{N+1}} \\
% ~~\} \\
% \cs{dim_compare:nTF}
% ~~\{ \\
-% ~~~~\meta{dimexpr_1} \meta{relation_1} \\
+% ~~~~\meta{dim expr_1} \meta{relation_1} \\
% ~~~~\ldots{} \\
-% ~~~~\meta{dimexpr_N} \meta{relation_N} \\
-% ~~~~\meta{dimexpr_{N+1}} \\
+% ~~~~\meta{dim expr_N} \meta{relation_N} \\
+% ~~~~\meta{dim expr_{N+1}} \\
% ~~\} \\
% ~~\Arg{true code} \Arg{false code}
% \end{syntax}
-% This function evaluates the \meta{dimension expressions} as
+% This function evaluates the \meta{dim exprs} as
% described for \cs{dim_eval:n} and compares consecutive result using
% the corresponding \meta{relation}, namely it compares
-% \meta{dimexpr_1} and \meta{dimexpr_2} using the \meta{relation_1},
-% then \meta{dimexpr_2} and \meta{dimexpr_3} using the
-% \meta{relation_2}, until finally comparing \meta{dimexpr_N} and
-% \meta{dimexpr_{N+1}} using the \meta{relation_N}. The test yields
+% \meta{dim expr_1} and \meta{dim expr_2} using the \meta{relation_1},
+% then \meta{dim expr_2} and \meta{dim expr_3} using the
+% \meta{relation_2}, until finally comparing \meta{dim expr_N} and
+% \meta{dim expr_{N+1}} using the \meta{relation_N}. The test yields
% \texttt{true} if all comparisons are \texttt{true}. Each
-% \meta{dimension expression} is evaluated only once, and the
+% \meta{dim expr} is evaluated only once, and the
% evaluation is lazy, in the sense that if one comparison is
-% \texttt{false}, then no other \meta{dimension expression} is
+% \texttt{false}, then no other \meta{dim expr} is
% evaluated and no other comparison is performed. The
% \meta{relations} can be any of the following:
% \begin{center}
@@ -260,19 +265,19 @@
%
% \begin{function}[added = 2013-07-24, EXP, noTF]{\dim_case:nn}
% \begin{syntax}
-% \cs{dim_case:nnTF} \Arg{test dimension expression} \\
+% \cs{dim_case:nnTF} \Arg{test dim expr} \\
% ~~|{| \\
-% ~~~~\Arg{dimexpr case_1} \Arg{code case_1} \\
-% ~~~~\Arg{dimexpr case_2} \Arg{code case_2} \\
+% ~~~~\Arg{dim expr case_1} \Arg{code case_1} \\
+% ~~~~\Arg{dim expr case_2} \Arg{code case_2} \\
% ~~~~\ldots \\
-% ~~~~\Arg{dimexpr case_n} \Arg{code case_n} \\
+% ~~~~\Arg{dim expr case_n} \Arg{code case_n} \\
% ~~|}| \\
% ~~\Arg{true code}
% ~~\Arg{false code}
% \end{syntax}
-% This function evaluates the \meta{test dimension expression} and
+% This function evaluates the \meta{test dim expr} and
% compares this in turn to each of the
-% \meta{dimension expression cases}. If the two are equal then the
+% \meta{dim expr cases}. If the two are equal then the
% associated \meta{code} is left in the input stream
% and other cases are discarded. If any of the
% cases are matched, the \meta{true code} is also inserted into the
@@ -298,11 +303,11 @@
%
% \begin{function}[rEXP]{\dim_do_until:nNnn}
% \begin{syntax}
-% \cs{dim_do_until:nNnn} \Arg{dimexpr_1} \meta{relation} \Arg{dimexpr_2} \Arg{code}
+% \cs{dim_do_until:nNnn} \Arg{dim expr_1} \meta{relation} \Arg{dim expr_2} \Arg{code}
% \end{syntax}
% Places the \meta{code} in the input stream for \TeX{} to process, and
% then evaluates the relationship between the two
-% \meta{dimension expressions} as described for \cs{dim_compare:nNnTF}.
+% \meta{dim exprs} as described for \cs{dim_compare:nNnTF}.
% If the test is \texttt{false} then the \meta{code} is inserted
% into the input stream again and a loop occurs until the
% \meta{relation} is \texttt{true}.
@@ -310,11 +315,11 @@
%
% \begin{function}[rEXP]{\dim_do_while:nNnn}
% \begin{syntax}
-% \cs{dim_do_while:nNnn} \Arg{dimexpr_1} \meta{relation} \Arg{dimexpr_2} \Arg{code}
+% \cs{dim_do_while:nNnn} \Arg{dim expr_1} \meta{relation} \Arg{dim expr_2} \Arg{code}
% \end{syntax}
% Places the \meta{code} in the input stream for \TeX{} to process, and
% then evaluates the relationship between the two
-% \meta{dimension expressions} as described for \cs{dim_compare:nNnTF}.
+% \meta{dim exprs} as described for \cs{dim_compare:nNnTF}.
% If the test is \texttt{true} then the \meta{code} is inserted
% into the input stream again and a loop occurs until the
% \meta{relation} is \texttt{false}.
@@ -322,9 +327,9 @@
%
% \begin{function}[rEXP]{\dim_until_do:nNnn}
% \begin{syntax}
-% \cs{dim_until_do:nNnn} \Arg{dimexpr_1} \meta{relation} \Arg{dimexpr_2} \Arg{code}
+% \cs{dim_until_do:nNnn} \Arg{dim expr_1} \meta{relation} \Arg{dim expr_2} \Arg{code}
% \end{syntax}
-% Evaluates the relationship between the two \meta{dimension expressions}
+% Evaluates the relationship between the two \meta{dim exprs}
% as described for \cs{dim_compare:nNnTF}, and then places the
% \meta{code} in the input stream if the \meta{relation} is
% \texttt{false}. After the \meta{code} has been processed by \TeX{} the
@@ -334,9 +339,9 @@
%
% \begin{function}[rEXP]{\dim_while_do:nNnn}
% \begin{syntax}
-% \cs{dim_while_do:nNnn} \Arg{dimexpr_1} \meta{relation} \Arg{dimexpr_2} \Arg{code}
+% \cs{dim_while_do:nNnn} \Arg{dim expr_1} \meta{relation} \Arg{dim expr_2} \Arg{code}
% \end{syntax}
-% Evaluates the relationship between the two \meta{dimension expressions}
+% Evaluates the relationship between the two \meta{dim exprs}
% as described for \cs{dim_compare:nNnTF}, and then places the
% \meta{code} in the input stream if the \meta{relation} is
% \texttt{true}. After the \meta{code} has been processed by \TeX{} the
@@ -444,9 +449,9 @@
%
% \begin{function}[updated = 2011-10-22, EXP]{\dim_eval:n}
% \begin{syntax}
-% \cs{dim_eval:n} \Arg{dimension expression}
+% \cs{dim_eval:n} \Arg{dim expr}
% \end{syntax}
-% Evaluates the \meta{dimension expression}, expanding any
+% Evaluates the \meta{dim expr}, expanding any
% dimensions and token list variables within the \meta{expression}
% to their content (without requiring \cs{dim_use:N}/\cs{tl_use:N})
% and applying the standard mathematical rules. The result of the
@@ -459,9 +464,9 @@
%
% \begin{function}[EXP, added = 2018-11-03]{\dim_sign:n}
% \begin{syntax}
-% \cs{dim_sign:n} \Arg{dimexpr}
+% \cs{dim_sign:n} \Arg{dim expr}
% \end{syntax}
-% Evaluates the \meta{dimexpr} then leaves $1$ or $0$ or $-1$ in the
+% Evaluates the \meta{dim expr} then leaves $1$ or $0$ or $-1$ in the
% input stream according to the sign of the result.
% \end{function}
%
@@ -482,9 +487,9 @@
%
% \begin{function}[added = 2014-07-15, EXP]{\dim_to_decimal:n}
% \begin{syntax}
-% \cs{dim_to_decimal:n} \Arg{dimexpr}
+% \cs{dim_to_decimal:n} \Arg{dim expr}
% \end{syntax}
-% Evaluates the \meta{dimension expression}, and leaves the result,
+% Evaluates the \meta{dim expr}, and leaves the result,
% expressed in points (\texttt{pt}) in the input stream, with \emph{no
% units}. The result is rounded by \TeX{} to four or five decimal
% places. If the decimal part of the result is zero, it is omitted,
@@ -500,9 +505,9 @@
%
% \begin{function}[added = 2014-07-15, EXP]{\dim_to_decimal_in_bp:n}
% \begin{syntax}
-% \cs{dim_to_decimal_in_bp:n} \Arg{dimexpr}
+% \cs{dim_to_decimal_in_bp:n} \Arg{dim expr}
% \end{syntax}
-% Evaluates the \meta{dimension expression}, and leaves the result,
+% Evaluates the \meta{dim expr}, and leaves the result,
% expressed in big points (\texttt{bp}) in the input stream, with \emph{no
% units}. The result is rounded by \TeX{} to four or five decimal
% places. If the decimal part of the result is zero, it is omitted,
@@ -518,9 +523,9 @@
%
% \begin{function}[added = 2015-05-18, EXP]{\dim_to_decimal_in_sp:n}
% \begin{syntax}
-% \cs{dim_to_decimal_in_sp:n} \Arg{dimexpr}
+% \cs{dim_to_decimal_in_sp:n} \Arg{dim expr}
% \end{syntax}
-% Evaluates the \meta{dimension expression}, and leaves the result,
+% Evaluates the \meta{dim expr}, and leaves the result,
% expressed in scaled points (\texttt{sp}) in the input stream, with \emph{no
% units}. The result is necessarily an integer.
% \end{function}
@@ -528,10 +533,10 @@
% \begin{function}[added = 2014-07-15, EXP]
% {\dim_to_decimal_in_unit:nn}
% \begin{syntax}
-% \cs{dim_to_decimal_in_unit:nn} \Arg{dimexpr_1} \Arg{dimexpr_2}
+% \cs{dim_to_decimal_in_unit:nn} \Arg{dim expr_1} \Arg{dim expr_2}
% \end{syntax}
-% Evaluates the \meta{dimension expressions}, and leaves the value of
-% \meta{dimexpr_1}, expressed in a unit given by \meta{dimexpr_2}, in
+% Evaluates the \meta{dim exprs}, and leaves the value of
+% \meta{dim expr_1}, expressed in a unit given by \meta{dim expr_2}, in
% the input stream. The result is a decimal number, rounded by \TeX{}
% to four or five decimal places. If the decimal part of the result
% is zero, it is omitted, together with the decimal marker.
@@ -554,10 +559,10 @@
% \begin{function}[EXP, added = 2012-05-08, tested = m3fp-convert002]
% {\dim_to_fp:n}
% \begin{syntax}
-% \cs{dim_to_fp:n} \Arg{dimexpr}
+% \cs{dim_to_fp:n} \Arg{dim expr}
% \end{syntax}
% Expands to an internal floating point number equal to the value of
-% the \meta{dimexpr} in \texttt{pt}. Since dimension expressions are
+% the \meta{dim expr} in \texttt{pt}. Since dimension expressions are
% evaluated much faster than their floating point equivalent,
% \cs{dim_to_fp:n} can be used to speed up parts of a computation
% where a low precision and a smaller range are acceptable.
@@ -574,9 +579,9 @@
%
% \begin{function}[added = 2011-11-22, updated = 2015-08-07]{\dim_show:n}
% \begin{syntax}
-% \cs{dim_show:n} \Arg{dimension expression}
+% \cs{dim_show:n} \Arg{dim expr}
% \end{syntax}
-% Displays the result of evaluating the \meta{dimension expression}
+% Displays the result of evaluating the \meta{dim expr}
% on the terminal.
% \end{function}
%
@@ -589,9 +594,9 @@
%
% \begin{function}[added = 2014-08-22, updated = 2015-08-07]{\dim_log:n}
% \begin{syntax}
-% \cs{dim_log:n} \Arg{dimension expression}
+% \cs{dim_log:n} \Arg{dim expr}
% \end{syntax}
-% Writes the result of evaluating the \meta{dimension expression}
+% Writes the result of evaluating the \meta{dim expr}
% in the log file.
% \end{function}
%
@@ -636,11 +641,11 @@
%
% \begin{function}[added = 2012-03-05]{\skip_const:Nn, \skip_const:cn}
% \begin{syntax}
-% \cs{skip_const:Nn} \meta{skip} \Arg{skip expression}
+% \cs{skip_const:Nn} \meta{skip} \Arg{skip expr}
% \end{syntax}
% Creates a new constant \meta{skip} or raises an error if the
% name is already taken. The value of the \meta{skip} is set
-% globally to the \meta{skip expression}.
+% globally to the \meta{skip expr}.
% \end{function}
%
% \begin{function}{\skip_zero:N, \skip_zero:c, \skip_gzero:N, \skip_gzero:c}
@@ -676,18 +681,18 @@
% \begin{function}[updated = 2011-10-22]
% {\skip_add:Nn, \skip_add:cn, \skip_gadd:Nn, \skip_gadd:cn}
% \begin{syntax}
-% \cs{skip_add:Nn} \meta{skip} \Arg{skip expression}
+% \cs{skip_add:Nn} \meta{skip} \Arg{skip expr}
% \end{syntax}
-% Adds the result of the \meta{skip expression} to the current
+% Adds the result of the \meta{skip expr} to the current
% content of the \meta{skip}.
% \end{function}
%
% \begin{function}[updated = 2011-10-22]
% {\skip_set:Nn, \skip_set:cn, \skip_gset:Nn, \skip_gset:cn}
% \begin{syntax}
-% \cs{skip_set:Nn} \meta{skip} \Arg{skip expression}
+% \cs{skip_set:Nn} \meta{skip} \Arg{skip expr}
% \end{syntax}
-% Sets \meta{skip} to the value of \meta{skip expression}, which
+% Sets \meta{skip} to the value of \meta{skip expr}, which
% must evaluate to a length with units and may include a rubber
% component (for example |1 cm plus 0.5 cm|.
% \end{function}
@@ -706,9 +711,9 @@
% \begin{function}[updated = 2011-10-22]
% {\skip_sub:Nn, \skip_sub:cn, \skip_gsub:Nn, \skip_gsub:cn}
% \begin{syntax}
-% \cs{skip_sub:Nn} \meta{skip} \Arg{skip expression}
+% \cs{skip_sub:Nn} \meta{skip} \Arg{skip expr}
% \end{syntax}
-% Subtracts the result of the \meta{skip expression} from the
+% Subtracts the result of the \meta{skip expr} from the
% current content of the \meta{skip}.
% \end{function}
%
@@ -716,13 +721,13 @@
%
% \begin{function}[EXP,pTF]{\skip_if_eq:nn}
% \begin{syntax}
-% \cs{skip_if_eq_p:nn} \Arg{skipexpr_1} \Arg{skipexpr_2}
+% \cs{skip_if_eq_p:nn} \Arg{skip expr_1} \Arg{skip expr_2}
% \cs{skip_if_eq:nnTF}
-% ~~\Arg{skipexpr_1} \Arg{skipexpr_2}
+% ~~\Arg{skip expr_1} \Arg{skip expr_2}
% ~~\Arg{true code} \Arg{false code}
% \end{syntax}
% This function first evaluates each of the
-% \meta{skip expressions} as described for \cs{skip_eval:n}.
+% \meta{skip exprs} as described for \cs{skip_eval:n}.
% The two results are then compared for exact equality,
% \emph{i.e.}~both the fixed and rubber components must be the same
% for the test to be true.
@@ -730,10 +735,10 @@
%
% \begin{function}[EXP, pTF, added = 2012-03-05]{\skip_if_finite:n}
% \begin{syntax}
-% \cs{skip_if_finite_p:n} \Arg{skipexpr}
-% \cs{skip_if_finite:nTF} \Arg{skipexpr} \Arg{true code} \Arg{false code}
+% \cs{skip_if_finite_p:n} \Arg{skip expr}
+% \cs{skip_if_finite:nTF} \Arg{skip expr} \Arg{true code} \Arg{false code}
% \end{syntax}
-% Evaluates the \meta{skip expression} as described for \cs{skip_eval:n},
+% Evaluates the \meta{skip expr} as described for \cs{skip_eval:n},
% and then tests if all of its components are finite.
% \end{function}
%
@@ -741,9 +746,9 @@
%
% \begin{function}[updated = 2011-10-22, EXP]{\skip_eval:n}
% \begin{syntax}
-% \cs{skip_eval:n} \Arg{skip expression}
+% \cs{skip_eval:n} \Arg{skip expr}
% \end{syntax}
-% Evaluates the \meta{skip expression}, expanding any skips
+% Evaluates the \meta{skip expr}, expanding any skips
% and token list variables within the \meta{expression}
% to their content (without requiring \cs{skip_use:N}/\cs{tl_use:N})
% and applying the standard mathematical rules. The result of the
@@ -779,9 +784,9 @@
%
% \begin{function}[added = 2011-11-22, updated = 2015-08-07]{\skip_show:n}
% \begin{syntax}
-% \cs{skip_show:n} \Arg{skip expression}
+% \cs{skip_show:n} \Arg{skip expr}
% \end{syntax}
-% Displays the result of evaluating the \meta{skip expression}
+% Displays the result of evaluating the \meta{skip expr}
% on the terminal.
% \end{function}
%
@@ -794,9 +799,9 @@
%
% \begin{function}[added = 2014-08-22, updated = 2015-08-07]{\skip_log:n}
% \begin{syntax}
-% \cs{skip_log:n} \Arg{skip expression}
+% \cs{skip_log:n} \Arg{skip expr}
% \end{syntax}
-% Writes the result of evaluating the \meta{skip expression}
+% Writes the result of evaluating the \meta{skip expr}
% in the log file.
% \end{function}
%
@@ -833,7 +838,7 @@
% {\skip_horizontal:N, \skip_horizontal:c, \skip_horizontal:n}
% \begin{syntax}
% \cs{skip_horizontal:N} \meta{skip}
-% \cs{skip_horizontal:n} \Arg{skipexpr}
+% \cs{skip_horizontal:n} \Arg{skip expr}
% \end{syntax}
% Inserts a horizontal \meta{skip} into the current list.
% The argument can also be a \meta{dim}.
@@ -846,7 +851,7 @@
% {\skip_vertical:N, \skip_vertical:c, \skip_vertical:n}
% \begin{syntax}
% \cs{skip_vertical:N} \meta{skip}
-% \cs{skip_vertical:n} \Arg{skipexpr}
+% \cs{skip_vertical:n} \Arg{skip expr}
% \end{syntax}
% Inserts a vertical \meta{skip} into the current list.
% The argument can also be a \meta{dim}.
@@ -868,11 +873,11 @@
%
% \begin{function}[added = 2012-03-05]{\muskip_const:Nn, \muskip_const:cn}
% \begin{syntax}
-% \cs{muskip_const:Nn} \meta{muskip} \Arg{muskip expression}
+% \cs{muskip_const:Nn} \meta{muskip} \Arg{muskip expr}
% \end{syntax}
% Creates a new constant \meta{muskip} or raises an error if the
% name is already taken. The value of the \meta{muskip} is set
-% globally to the \meta{muskip expression}.
+% globally to the \meta{muskip expr}.
% \end{function}
%
% \begin{function}
@@ -912,18 +917,18 @@
% \begin{function}[updated = 2011-10-22]
% {\muskip_add:Nn, \muskip_add:cn, \muskip_gadd:Nn, \muskip_gadd:cn}
% \begin{syntax}
-% \cs{muskip_add:Nn} \meta{muskip} \Arg{muskip expression}
+% \cs{muskip_add:Nn} \meta{muskip} \Arg{muskip expr}
% \end{syntax}
-% Adds the result of the \meta{muskip expression} to the current
+% Adds the result of the \meta{muskip expr} to the current
% content of the \meta{muskip}.
% \end{function}
%
% \begin{function}[updated = 2011-10-22]
% {\muskip_set:Nn, \muskip_set:cn, \muskip_gset:Nn, \muskip_gset:cn}
% \begin{syntax}
-% \cs{muskip_set:Nn} \meta{muskip} \Arg{muskip expression}
+% \cs{muskip_set:Nn} \meta{muskip} \Arg{muskip expr}
% \end{syntax}
-% Sets \meta{muskip} to the value of \meta{muskip expression}, which
+% Sets \meta{muskip} to the value of \meta{muskip expr}, which
% must evaluate to a math length with units and may include a rubber
% component (for example |1 mu plus 0.5 mu|.
% \end{function}
@@ -945,9 +950,9 @@
% \begin{function}[updated = 2011-10-22]
% {\muskip_sub:Nn, \muskip_sub:cn, \muskip_gsub:Nn, \muskip_gsub:cn}
% \begin{syntax}
-% \cs{muskip_sub:Nn} \meta{muskip} \Arg{muskip expression}
+% \cs{muskip_sub:Nn} \meta{muskip} \Arg{muskip expr}
% \end{syntax}
-% Subtracts the result of the \meta{muskip expression} from the
+% Subtracts the result of the \meta{muskip expr} from the
% current content of the \meta{muskip}.
% \end{function}
%
@@ -955,9 +960,9 @@
%
% \begin{function}[updated = 2011-10-22, EXP]{\muskip_eval:n}
% \begin{syntax}
-% \cs{muskip_eval:n} \Arg{muskip expression}
+% \cs{muskip_eval:n} \Arg{muskip expr}
% \end{syntax}
-% Evaluates the \meta{muskip expression}, expanding any skips
+% Evaluates the \meta{muskip expr}, expanding any skips
% and token list variables within the \meta{expression}
% to their content (without requiring \cs{muskip_use:N}/\cs{tl_use:N})
% and applying the standard mathematical rules. The result of the
@@ -993,9 +998,9 @@
%
% \begin{function}[added = 2011-11-22, updated = 2015-08-07]{\muskip_show:n}
% \begin{syntax}
-% \cs{muskip_show:n} \Arg{muskip expression}
+% \cs{muskip_show:n} \Arg{muskip expr}
% \end{syntax}
-% Displays the result of evaluating the \meta{muskip expression}
+% Displays the result of evaluating the \meta{muskip expr}
% on the terminal.
% \end{function}
%
@@ -1008,9 +1013,9 @@
%
% \begin{function}[added = 2014-08-22, updated = 2015-08-07]{\muskip_log:n}
% \begin{syntax}
-% \cs{muskip_log:n} \Arg{muskip expression}
+% \cs{muskip_log:n} \Arg{muskip expr}
% \end{syntax}
-% Writes the result of evaluating the \meta{muskip expression}
+% Writes the result of evaluating the \meta{muskip expr}
% in the log file.
% \end{function}
%
diff --git a/macros/latex/contrib/l3kernel/l3sort.dtx b/macros/latex/contrib/l3kernel/l3sort.dtx
index 42350bbacb..f833f789da 100644
--- a/macros/latex/contrib/l3kernel/l3sort.dtx
+++ b/macros/latex/contrib/l3kernel/l3sort.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3str-convert.dtx b/macros/latex/contrib/l3kernel/l3str-convert.dtx
index fdad7cda0f..b09bc5f3c0 100644
--- a/macros/latex/contrib/l3kernel/l3str-convert.dtx
+++ b/macros/latex/contrib/l3kernel/l3str-convert.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3str.dtx b/macros/latex/contrib/l3kernel/l3str.dtx
index 55f9bd7f6c..60a5d4763b 100644
--- a/macros/latex/contrib/l3kernel/l3str.dtx
+++ b/macros/latex/contrib/l3kernel/l3str.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
@@ -1917,7 +1917,8 @@
% \begin{macro}[EXP]{\@@_change_case_end:nw}
% \begin{macro}[EXP]{\@@_change_case_loop:nw}
% \begin{macro}[EXP]{\@@_change_case_space:n}
-% \begin{macro}[EXP]{\@@_change_case_char:nN, \@@_change_case_char_aux:nN}
+% \begin{macro}[EXP]
+% {\@@_change_case_char:nN, \@@_change_case_char_auxi:nN, \@@_change_case_char_auxii:nN}
% \begin{macro}[EXP]{\@@_change_case_codepoint:nN}
% \begin{macro}[EXP]{\@@_change_case_codepoint:nNN}
% \begin{macro}[EXP]{\@@_change_case_codepoint:nNNN}
@@ -1977,22 +1978,33 @@
\cs_new:Npn \@@_change_case_codepoint:nN #1#2
{ \@@_change_case_char:fnn { \int_eval:n {`#2} } {#1} {#2} }
\else:
- \cs_new:Npn \@@_change_case_codepoint:nN #1#2
+ \cs_new:Npx \@@_change_case_codepoint:nN #1#2
{
- \int_compare:nNnTF {`#2} > { "80 }
+ \exp_not:N \int_compare:nNnTF {`#2} > { "80 }
{
- \int_compare:nNnTF {`#2} < { "E0 }
- { \@@_change_case_codepoint:nNN }
+ \cs_if_exist:NTF \tex_pdftexversion:D
+ { \exp_not:N \@@_change_case_char_auxi:nN }
{
- \int_compare:nNnTF {`#2} < { "F0 }
- { \@@_change_case_codepoint:nNNN }
- { \@@_change_case_codepoint:nNNNNN }
+ \exp_not:N \int_compare:nNnTF {`#2} > { "FF }
+ { \exp_not:N \@@_change_case_char_auxii:nN }
+ { \exp_not:N \@@_change_case_char_auxi:nN }
}
}
- { \@@_change_case_char_aux:nN }
+ { \exp_not:N \@@_change_case_char_auxii:nN }
+ {#1} #2
+ }
+ \cs_new:Npn \@@_change_case_char_auxi:nN #1#2
+ {
+ \int_compare:nNnTF {`#2} < { "E0 }
+ { \@@_change_case_codepoint:nNN }
+ {
+ \int_compare:nNnTF {`#2} < { "F0 }
+ { \@@_change_case_codepoint:nNNN }
+ { \@@_change_case_codepoint:nNNNNN }
+ }
{#1} #2
}
- \cs_new:Npn \@@_change_case_char_aux:nN #1#2
+ \cs_new:Npn \@@_change_case_char_auxii:nN #1#2
{ \@@_change_case_char:fnn { \int_eval:n {`#2} } {#1} {#2} }
\cs_new:Npn \@@_change_case_codepoint:nNN #1#2#3
{
diff --git a/macros/latex/contrib/l3kernel/l3styleguide.pdf b/macros/latex/contrib/l3kernel/l3styleguide.pdf
index be3d8f1838..41b8870510 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 93da6a38a6..0ab54f7810 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 2023-02-07}
+\date{Released 2023-02-22}
\begin{document}
diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf
index 2a250fbb38..4b418f6330 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 dfc0ec169e..f6ac35361a 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 2023-02-07}
+\date{Released 2023-02-22}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex/contrib/l3kernel/l3sys.dtx b/macros/latex/contrib/l3kernel/l3sys.dtx
index 006f044bd0..3c7415c50d 100644
--- a/macros/latex/contrib/l3kernel/l3sys.dtx
+++ b/macros/latex/contrib/l3kernel/l3sys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
@@ -187,7 +187,7 @@
%
% \begin{function}[added = 2017-05-27]{\sys_gset_rand_seed:n}
% \begin{syntax}
-% \cs{sys_gset_rand_seed:n} \Arg{intexpr}
+% \cs{sys_gset_rand_seed:n} \Arg{int expr}
% \end{syntax}
% Globally sets the seed for the engine's pseudo-random number
% generator to the \meta{integer expression}. This random seed
diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.pdf b/macros/latex/contrib/l3kernel/l3term-glossary.pdf
index 52b130b915..c19451ed83 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 d0ed2cadb5..cf0e3743e2 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 2023-02-07}
+\date{Released 2023-02-22}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex/contrib/l3kernel/l3text-case.dtx b/macros/latex/contrib/l3kernel/l3text-case.dtx
index 72ecd8c335..e8e07d236c 100644
--- a/macros/latex/contrib/l3kernel/l3text-case.dtx
+++ b/macros/latex/contrib/l3kernel/l3text-case.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
@@ -882,7 +882,7 @@
% \begin{macro}[EXP]{\@@_change_case_upper_el_gobble:nnw}
% \begin{macro}[EXP]{\@@_change_case_upper_el_gobble:nnN}
% \begin{macro}[EXP]{\@@_change_case_upper_el_gobble:nnn}
-% \begin{macro}[EXP,TF]{\@@_change_case_if_greek:n}
+% \begin{macro}[EXP,pTF]{\@@_change_case_if_greek:n}
% \begin{macro}[EXP]{\@@_change_case_if_greek:n}
% \begin{macro}[EXP,pTF]{\@@_change_case_if_greek:n}
% \begin{macro}[EXP,pTF]{\@@_change_case_if_greek_accent:n}
@@ -902,11 +902,15 @@
% (\url{https://icu.unicode.org/design/case/greek-upper}),
% although necessarily the implementation is somewhat different. The
% \emph{ypogegrammeni} is filtered out here as it is not actually in the
-% Greek range, so gets lost if we leave until later.
+% Greek range, so gets lost if we leave until later. The one Greek codepoint
+% we skip is the numeral sign: it's got an awkward NFD for \pdfTeX{} so is
+% best left unchanged.
% \begin{macrocode}
\cs_new:Npn \@@_change_case_upper_el:nnnn #1#2#3#4
{
- \@@_change_case_if_greek:nTF {#4}
+ \bool_lazy_and:nnTF
+ { \@@_change_case_if_greek_p:n {#4} }
+ { ! \@@_codepoint_compare_p:nNn {#4} = { "0374 } }
{
\exp_args:Ne \@@_change_case_upper_el:nnn
{
@@ -1178,7 +1182,7 @@
% \end{macrocode}
% Luckily the Greek range is limited and clear.
% \begin{macrocode}
-\prg_new_conditional:Npnn \@@_change_case_if_greek:n #1 { TF }
+\prg_new_conditional:Npnn \@@_change_case_if_greek:n #1 { p , TF }
{
\exp_args:Nf \@@_change_case_if_greek:n
{ \int_eval:n { \@@_codepoint_from_chars:Nw #1 } }
diff --git a/macros/latex/contrib/l3kernel/l3text-map.dtx b/macros/latex/contrib/l3kernel/l3text-map.dtx
index 9b8a706db4..00ac1655c3 100644
--- a/macros/latex/contrib/l3kernel/l3text-map.dtx
+++ b/macros/latex/contrib/l3kernel/l3text-map.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3text-purify.dtx b/macros/latex/contrib/l3kernel/l3text-purify.dtx
index 01b69e2e95..3fcc7dccf1 100644
--- a/macros/latex/contrib/l3kernel/l3text-purify.dtx
+++ b/macros/latex/contrib/l3kernel/l3text-purify.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3text.dtx b/macros/latex/contrib/l3kernel/l3text.dtx
index c9121e6750..8440ecbdbc 100644
--- a/macros/latex/contrib/l3kernel/l3text.dtx
+++ b/macros/latex/contrib/l3kernel/l3text.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
@@ -633,7 +633,7 @@
%
% For working with codepoints in an engine-neutral way.
%
-% \begin{macro}[EXP]{\@@_codepoint_process:nN}
+% \begin{macro}[EXP]{\@@_codepoint_process:nN, \@@_codepoint_process_aux:nN}
% \begin{macro}[EXP]{\@@_codepoint_process:nNN}
% \begin{macro}[EXP]{\@@_codepoint_process:nNNN}
% \begin{macro}[EXP]{\@@_codepoint_process:nNNNN}
@@ -647,43 +647,38 @@
\cs_new:Npn \@@_codepoint_process:nN #1#2 { #1 {#2} }
}
{
- \cs_new:Npn \@@_codepoint_process:nN #1#2
+ \cs_new:Npx \@@_codepoint_process:nN #1#2
{
- \int_compare:nNnTF { `#2 } > { "80 }
+ \exp_not:N \int_compare:nNnTF {`#2} > { "80 }
{
- \int_compare:nNnTF { `#2 } < { "E0 }
- { \@@_codepoint_process:nNN }
+ \sys_if_engine_pdftex:TF
+ { \exp_not:N \@@_codepoint_process_aux:nN }
{
- \int_compare:nNnTF { `#2 } < { "F0 }
- { \@@_codepoint_process:nNNN }
- { \@@_codepoint_process:nNNNN }
+ \exp_not:N \int_compare:nNnTF {`#2} > { "FF }
+ { \exp_not:N \use:n }
+ { \exp_not:N \@@_codepoint_process_aux:nN }
}
}
- { \use:n }
+ { \exp_not:N \use:n }
{#1} #2
}
- \cs_new:Npn \@@_codepoint_process:nNN #1#2#3
- { #1 {#2#3} }
- \sys_if_engine_ptex:TF
+ \cs_new:Npn \@@_codepoint_process_aux:nN #1#2
{
- \cs_gset:Npn \@@_codepoint_process:nN #1#2
+ \int_compare:nNnTF { `#2 } < { "E0 }
+ { \@@_codepoint_process:nNN }
{
- \int_compare:nNnTF { `#2 } > { "80 }
- {
- \int_compare:nNnTF { `#2 } < { "E0 }
- { \@@_codepoint_process:nNN }
- { \use:n }
- }
- { \use:n }
+ \int_compare:nNnTF { `#2 } < { "F0 }
+ { \@@_codepoint_process:nNNN }
+ { \@@_codepoint_process:nNNNN }
+ }
{#1} #2
}
- }
- {
- \cs_new:Npn \@@_codepoint_process:nNNN #1#2#3#4
- { #1 {#2#3#4} }
- \cs_new:Npn \@@_codepoint_process:nNNNN #1#2#3#4#5
- { #1 {#2#3#4#5} }
- }
+ \cs_new:Npn \@@_codepoint_process:nNN #1#2#3
+ { #1 {#2#3} }
+ \cs_new:Npn \@@_codepoint_process:nNNN #1#2#3#4
+ { #1 {#2#3#4} }
+ \cs_new:Npn \@@_codepoint_process:nNNNN #1#2#3#4#5
+ { #1 {#2#3#4#5} }
}
% \end{macrocode}
% \end{macro}
@@ -692,7 +687,8 @@
% \end{macro}
%
% \begin{macro}[EXP, pTF]{\@@_codepoint_compare:nNn}
-% \begin{macro}[EXP]{\@@_codepoint_from_chars:Nw}
+% \begin{macro}[EXP]
+% {\@@_codepoint_from_chars:Nw, \@@_codepoint_from_chars_aux:Nw}
% \begin{macro}[EXP]{\@@_codepoint_from_chars:N}
% \begin{macro}[EXP]{\@@_codepoint_from_chars:NN}
% \begin{macro}[EXP]{\@@_codepoint_from_chars:NNN}
@@ -720,62 +716,56 @@
#2 {#3}
\prg_return_true: \prg_return_false:
}
- \cs_new:Npn \@@_codepoint_from_chars:Nw #1
+ \cs_new:Npx \@@_codepoint_from_chars:Nw #1
+ {
+ \exp_not:N \if_int_compare:w `#1 > "80 \exp_not:N \exp_stop_f:
+ \sys_if_engine_pdftex:TF
+ {
+ \exp_not:N \exp_after:wN
+ \exp_not:N \@@_codepoint_from_chars_aux:Nw
+ }
+ {
+ \exp_not:N \if_int_compare:w `#1 > "FF \exp_not:N \exp_stop_f:
+ \exp_not:N \exp_after:wN \exp_not:N \exp_after:wN
+ \exp_not:N \exp_after:wN
+ \exp_not:N \@@_codepoint_from_chars:N
+ \exp_not:N \else:
+ \exp_not:N \exp_after:wN \exp_not:N \exp_after:wN
+ \exp_not:N \exp_after:wN
+ \exp_not:N \@@_codepoint_from_chars_aux:Nw
+ \exp_not:N \fi:
+ }
+ \exp_not:N \else:
+ \exp_not:N \exp_after:wN \exp_not:N \@@_codepoint_from_chars:N
+ \exp_not:N \fi:
+ #1
+ }
+ \cs_new:Npn \@@_codepoint_from_chars_aux:Nw #1
{
- \if_int_compare:w `#1 > "80 \exp_stop_f:
- \if_int_compare:w `#1 < "E0 \exp_stop_f:
+ \if_int_compare:w `#1 < "E0 \exp_stop_f:
+ \exp_after:wN \@@_codepoint_from_chars:NN
+ \else:
+ \if_int_compare:w `#1 < "F0 \exp_stop_f:
\exp_after:wN \exp_after:wN \exp_after:wN
- \@@_codepoint_from_chars:NN
+ \@@_codepoint_from_chars:NNN
\else:
- \if_int_compare:w `#1 < "F0 \exp_stop_f:
- \exp_after:wN \exp_after:wN \exp_after:wN
- \exp_after:wN \exp_after:wN \exp_after:wN
- \exp_after:wN \@@_codepoint_from_chars:NNN
- \else:
- \exp_after:wN \exp_after:wN \exp_after:wN
- \exp_after:wN \exp_after:wN \exp_after:wN
- \exp_after:wN \@@_codepoint_from_chars:NNNN
- \fi:
+ \exp_after:wN \exp_after:wN \exp_after:wN
+ \@@_codepoint_from_chars:NNNN
\fi:
- \else:
- \exp_after:wN \@@_codepoint_from_chars:N
\fi:
#1
}
- \cs_new:Npn \@@_codepoint_from_chars:N #1 { `#1 }
+ \cs_new:Npn \@@_codepoint_from_chars:N #1 {`#1}
\cs_new:Npn \@@_codepoint_from_chars:NN #1#2
{ (`#1 - "C0) * "40 + `#2 - "80 }
- % \end{macrocode}
- % Avoid high chars with p\TeX{}.
- % \begin{macrocode}
- \sys_if_engine_ptex:TF
+ \cs_new:Npn \@@_codepoint_from_chars:NNN #1#2#3
+ { (`#1 - "E0) * "1000 + (`#2 - "80) * "40 + `#3 - "80 }
+ \cs_new:Npn \@@_codepoint_from_chars:NNNN #1#2#3#4
{
- \cs_gset:Npn \@@_codepoint_from_chars:Nw #1
- {
- \if_int_compare:w `#1 > "80 \exp_stop_f:
- \if_int_compare:w `#1 < "E0 \exp_stop_f:
- \exp_after:wN \exp_after:wN \exp_after:wN
- \@@_codepoint_from_chars:NN
- \else:
- \exp_after:wN \exp_after:wN \exp_after:wN
- \@@_codepoint_from_chars:N
- \fi:
- \else:
- \exp_after:wN \@@_codepoint_from_chars:N
- \fi:
- #1
- }
- }
- {
- \cs_new:Npn \@@_codepoint_from_chars:NNN #1#2#3
- { (`#1 - "E0) * "1000 + (`#2 - "80) * "40 + `#3 - "80 }
- \cs_new:Npn \@@_codepoint_from_chars:NNNN #1#2#3#4
- {
- (`#1 - "F0) * "40000
- + (`#2 - "80) * "1000
- + (`#3 - "80) * "40
- + `#4 - "80
- }
+ (`#1 - "F0) * "40000
+ + (`#2 - "80) * "1000
+ + (`#3 - "80) * "40
+ + `#4 - "80
}
}
% \end{macrocode}
diff --git a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx
index 6789869b12..dc6ae26d45 100644
--- a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx
+++ b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3tl.dtx b/macros/latex/contrib/l3kernel/l3tl.dtx
index 607298dae9..b6a7ddfb37 100644
--- a/macros/latex/contrib/l3kernel/l3tl.dtx
+++ b/macros/latex/contrib/l3kernel/l3tl.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3token.dtx b/macros/latex/contrib/l3kernel/l3token.dtx
index 42efb7c938..24d565f100 100644
--- a/macros/latex/contrib/l3kernel/l3token.dtx
+++ b/macros/latex/contrib/l3kernel/l3token.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
@@ -223,7 +223,7 @@
%
% \begin{function}[updated = 2015-11-11]{\char_set_catcode:nn}
% \begin{syntax}
-% \cs{char_set_catcode:nn} \Arg{intexpr_1} \Arg{intexpr_2}
+% \cs{char_set_catcode:nn} \Arg{int expr_1} \Arg{int expr_2}
% \end{syntax}
% These functions set the category code of the \meta{character} which
% has character code as given by the \meta{integer expression}.
@@ -254,7 +254,7 @@
%
% \begin{function}[updated = 2015-08-06]{\char_set_lccode:nn}
% \begin{syntax}
-% \cs{char_set_lccode:nn} \Arg{intexpr_1} \Arg{intexpr_2}
+% \cs{char_set_lccode:nn} \Arg{int expr_1} \Arg{int expr_2}
% \end{syntax}
% Sets up the behaviour of the \meta{character} when
% found inside \cs{text_lowercase:n}, such that \meta{character_1}
@@ -291,7 +291,7 @@
%
% \begin{function}[updated = 2015-08-06]{\char_set_uccode:nn}
% \begin{syntax}
-% \cs{char_set_uccode:nn} \Arg{intexpr_1} \Arg{intexpr_2}
+% \cs{char_set_uccode:nn} \Arg{int expr_1} \Arg{int expr_2}
% \end{syntax}
% Sets up the behaviour of the \meta{character} when
% found inside \cs{text_uppercase:n}, such that \meta{character_1}
@@ -328,7 +328,7 @@
%
% \begin{function}[updated = 2015-08-06]{\char_set_mathcode:nn}
% \begin{syntax}
-% \cs{char_set_mathcode:nn} \Arg{intexpr_1} \Arg{intexpr_2}
+% \cs{char_set_mathcode:nn} \Arg{int expr_1} \Arg{int expr_2}
% \end{syntax}
% This function sets up the math code of \meta{character}.
% The \meta{character} is specified as
@@ -357,7 +357,7 @@
%
% \begin{function}[updated = 2015-08-06]{\char_set_sfcode:nn}
% \begin{syntax}
-% \cs{char_set_sfcode:nn} \Arg{intexpr_1} \Arg{intexpr_2}
+% \cs{char_set_sfcode:nn} \Arg{int expr_1} \Arg{int expr_2}
% \end{syntax}
% This function sets up the space factor for the \meta{character}.
% The \meta{character} is specified as
@@ -1557,12 +1557,11 @@
}
\tl_new:N \l_@@_tmp_tl
% \end{macrocode}
-% Engine-dependent definitions are now needed for the implementation. For
-% \LuaTeX{} and \XeTeX{} there is engine-level support.
-% They can do cases that macro emulation can't. All of those are filtered
-% out here using a primitive-based boolean expression to avoid fixing
-% the category code of the null character used in the false branch
-% (for 8-bit engines).
+% Engine-dependent definitions are now needed for the implementation. Recent
+% (u)p\TeX{} and the Unicode engines \LuaTeX{} and \XeTeX{} have engine-level
+% support for expandable character creation. \pdfTeX{} and older (u)p\TeX{}
+% releases do not. The branching here if low-level to avoid fixing
+% the category code of the null character used in the false branch.
% The final level is the basic definition at the engine level: the arguments
% here are integers so there is no need to worry about them too much.
% Older versions of \XeTeX{} cannot generate active characters so we filter
@@ -1573,9 +1572,7 @@
\group_begin:
\char_set_catcode_active:N \^^L
\cs_set:Npn ^^L { }
- \if_int_odd:w 0
- \sys_if_engine_luatex:T { 1 }
- \sys_if_engine_xetex:T { 1 } \exp_stop_f:
+ \if_cs_exist:N \tex_Ucharcat:D
\cs_new:Npn \@@_generate_aux:nnw #1#2#3 \exp_end:
{
#3
diff --git a/macros/latex/contrib/l3kernel/l3unicode.dtx b/macros/latex/contrib/l3kernel/l3unicode.dtx
index 425fd5cf07..efe38cd6e7 100644
--- a/macros/latex/contrib/l3kernel/l3unicode.dtx
+++ b/macros/latex/contrib/l3kernel/l3unicode.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
@@ -83,6 +83,13 @@
% $13$); for codepoints in the ASCII range, the given \meta{catcode}
% will be used. To allow the result of this function to be used
% inside a expansion context, the result is protected by \cs{exp_not:n}.
+%
+% \begin{texnote}
+% Users of (u)p\TeX{} note that these engines are treated as $8$-bit in
+% this context. In particular, for up\TeX{}, irrespective of the
+% \tn{kcatcode} of the \meta{codepoint}, any value outside the ASCII range
+% will result in a series of active bytes being generated.
+% \end{texnote}
% \end{function}
%
% \begin{function}[EXP, added = 2022-10-09]
@@ -340,19 +347,29 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}[EXP]{\codepoint_to_nfd:n}
+% \begin{macro}[EXP]{\codepoint_to_nfd:n, \@@_to_nfd:n}
% \begin{macro}[EXP]{\@@_to_nfd:nn}
% \begin{macro}[EXP]{\@@_to_nfd:nnn}
% \begin{macro}[EXP]{\@@_to_nfd:nnnn}
-% \begin{macro}[EXP]{\@@_to_nfd_generate:nn}
-% \begin{macro}[EXP]{\@@_to_nfd_generate:n}
-% \begin{macro}[EXP]{\@@_to_nfd_generate:nnnn}
% Converted to NFD is a potentially-recursive process: the key is to
% check if we get the input codepoint back again. As far as possible,
% we use the same path for all engines.
% \begin{macrocode}
\cs_new:Npn \codepoint_to_nfd:n #1
+ { \exp_args:Ne \@@_to_nfd:n { \int_eval:n {#1} } }
+\cs_new:Npn \@@_to_nfd:n #1
{ \@@_to_nfd:nn {#1} { \char_value_catcode:n {#1} } }
+\bool_lazy_or:nnF
+ { \sys_if_engine_luatex_p: }
+ { \sys_if_engine_xetex_p: }
+ {
+ \cs_gset:Npn \@@_to_nfd:n #1
+ {
+ \int_compare:nNnTF {#1} > { "80 }
+ { \@@_to_nfd:nn {#1} { 12 } }
+ { \@@_to_nfd:nn {#1} { \char_value_catcode:n {#1} } }
+ }
+ }
\cs_new:Npn \@@_to_nfd:nn #1#2
{
\exp_args:Ne \@@_to_nfd:nnn
@@ -374,9 +391,6 @@
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
%
% \subsection{Data loader}
%
diff --git a/macros/latex/contrib/l3kernel/source3.pdf b/macros/latex/contrib/l3kernel/source3.pdf
index 5d4e061c78..c987faf29e 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 c30527964b..be4df48233 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 2023-02-07}
+\date{Released 2023-02-22}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex/contrib/wrapfig2/README.txt b/macros/latex/contrib/wrapfig2/README.txt
index 368a0784d0..45260e1909 100644
--- a/macros/latex/contrib/wrapfig2/README.txt
+++ b/macros/latex/contrib/wrapfig2/README.txt
@@ -1,5 +1,5 @@
%%%% README.txt file
-This README.txt for package wrapfig2[2022-02-16 v.6.0.0 ...]
+This README.txt for package wrapfig2[2023-02-23 v.6.1.1 ...]
This work is author maintained
@@ -7,8 +7,8 @@ This work consists of wrapfig2.dtx, the main file, this README.txt
and the derived files wrapfig2.pdf and wrapfig2.sty.
The package besides the source documented source file contains the
-image file commodilla.jpg, a slightly cropped image downloaded from
-the internet site of the Bibliotheca Augustiana in Germany. Apparently
+image file stele-todi-small.jpg, a slightly cropped image downloaded from
+the internet site of the Gregorian Etruscan Museum in Rome. Apparently
this image is free provided the source is duly acknowledged.
Licence appended to the wrapfig2.sty file.
@@ -27,9 +27,14 @@ older than 1st January 2019. In any case this package loading is
aborted in order to avoid conflicts, and in some other circumstances;
the error messages describe why the process was aborted.
-Version 6 of this package accepts options in the form key=value.
+Version 6 of this package accepts options in the form key = value.
Options are available to fall back to version 5 and version 4.
+IMPORTANT NOTICE: An incompatibility with the amsmath package was
+discovered, but it vanishes if amsmath is loaded after wrapfig2.
+The source of this incompatibility was not discovered, therefore
+wrapfig2 produces an error message when it is loaded after amsmath.
+
Claudio Beccari
claudio dot beccari at gmail dot com \ No newline at end of file
diff --git a/macros/latex/contrib/wrapfig2/wrapfig2.dtx b/macros/latex/contrib/wrapfig2/wrapfig2.dtx
index dbcec7a0c6..f54c71c6c2 100644
--- a/macros/latex/contrib/wrapfig2/wrapfig2.dtx
+++ b/macros/latex/contrib/wrapfig2/wrapfig2.dtx
@@ -8,7 +8,7 @@
\preamble
Copyright (C) 1991-2003 by Donald Arseneau (asnd@triumf.ca)
-Copyright (C) 2021-2022 by Claudio Beccari (claudio.beccari@gmail.com)
+Copyright (C) 2021-2023 by Claudio Beccari (claudio.beccari@gmail.com)
License information appended
\endpreamble
@@ -45,7 +45,7 @@ wrapfig2.sty and wrapfig2.pdf, plus this file README.txt.
%<+package>\ProvidesPackage{wrapfig2}%
%^^A<+readme>File README.txt for package wrapfig2
%<*package|readme>
- [2022-02-16 v.6.0.0 Wrap text around figures, tables, framed text blocks]
+ [2023-02-23 v.6.1.1 Wrap text around figures, tables, framed text blocks]
%</package|readme>
%<*driver>
%
@@ -56,8 +56,8 @@ wrapfig2.sty and wrapfig2.pdf, plus this file README.txt.
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{mflogo}
-\usepackage{multicol,amsmath,fancyvrb,verbatim,microtype}
-\usepackage{wrapfig2,kantlipsum,xspace}
+\usepackage{multicol,fancyvrb,verbatim,microtype}
+\usepackage{wrapfig2,amsmath,kantlipsum,xspace}
%
\GetFileInfo{wrapfig2.dtx}
\title{The \textsf{wrapfig2} package}
@@ -324,13 +324,24 @@ X\ifdim\fontdimen1\font=0pt\kern-0.15em\fi
%\qquad\cs{includeframedtext}\oarg{insertion measure}\marg{text to frame}\oarg{settings}\oarg{radius}
%\Eambiente{wraptext}
% \end{ttsintassi}
-%^^A
-% Please notice that all three syntaxes, thanks to differently
-% delimited optional arguments with peculiar default values,
+%
+% \noindent
+%\textcolor{red}{Please notice that the\Env{wraptext} environment
+% does not require any optional star, because the specified indented
+% lines number is always interpreted as its \emph{correction, not
+% its absolute value}; this difference is clearly marked in the above
+% syntax medallion. If users specified the star in similitude with
+% the other two environments, with versions~5.* and~6.* the unnecessary
+% star produces a strongly emphasised warning message visible in the
+% editor console and in the \texttt{.log} file. With the old version~4.*
+% the unnecessary star is printed as part of the text to be framed.
+%\newline
+% Please notice also that all three \Env{wraptext} syntaxes, thanks to
+% differently delimited optional arguments with peculiar default values,
% become very similar when such optional arguments are reduced
% to a minimum; only the \meta{location} argument is delimited
% by brackets with the old version and with braces with the newer
-% ones.
+% ones.}
%
% It may be useful to compare the \cs{includeframedtext} macro,
% used to insert a framed test into a \Env{wraptext} environment,
@@ -357,7 +368,8 @@ X\ifdim\fontdimen1\font=0pt\kern-0.15em\fi
% We display some examples by using fake objects and suitably
% long paragraphs; some fake-language long-paragraphs are
% obtained by means of the \pack{kantlipsum} package functionalities;
-% they are emphasised with an italic font.
+% they are typeset with an italic font in order to distinguish their
+% text from the normal one.
%
%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \subsection{A wrapped figure}
@@ -420,10 +432,15 @@ X\ifdim\fontdimen1\font=0pt\kern-0.15em\fi
%\Eambiente{wraptable}
%\Marg{\cs{itshape} \cs{kant}\Oarg{2}}
%\end{flushleft}
-%
+% Notice the absence of the braced width value; as said below,
+% this braced value is optional, and the software autonomously
+% computes the width of the wrapped object. This feature may be
+% useful in many instances, although a smart use of this width
+% parameter might yield better looking results.
+%
% Wrapping a small table is a little more difficult than wrapping
-% a figure, because the width of the inserted object is not known
-% exactly in advance, and it is difficult to estimate; therefore
+% a figure, because the width of the inserted object is not exactly
+% known in advance, and it is difficult to estimate; therefore
% it might be necessary to execute several trial compilations. In any
% case a \cs{centering} command might help to center the table
% within the indention of the wrapping text. Nevertheless the
@@ -432,7 +449,13 @@ X\ifdim\fontdimen1\font=0pt\kern-0.15em\fi
% with its braces; this second possibility is a feature of this
% package, that uses a \LaTeXiii property by which even a braced
% argument can be treated as an optional argument with a predefined
-% default value; see below more details about this feature.
+% default value; see below more details about such feature.
+%
+% On the opposite if the user estimates that the table with its
+% caption might use 5~lines, and specified such a value as the
+% first (optional) argument to the environment, the result is
+% shown in table~\ref{tab:wrong-wrapped-table}, but it is a very
+% poor one, with the last caption line overlapping the wrapping text.
%
%\begin{wraptable}[5]{l}
%\centering
@@ -446,21 +469,6 @@ X\ifdim\fontdimen1\font=0pt\kern-0.15em\fi
%\end{wraptable}
%{\itshape \kant[2]}
%
-% Notice the absence of the braced width value; as said above,
-% this braced value is optional, and the software autonomously
-% computes the width of the wrapped object. This feature may be
-% useful in many instances, although a smart use of
-% this width parameter might yield better looking results.
-%
-% On the opposite if the user estimates that the table with its
-% caption might use 5~lines, and specified such a value as the
-% first (optional) argument to the environment, the result is
-% shown in table~\ref{tab:wrong-wrapped-table}, but it is a very
-% poor one, with the last caption line overlapping the wrapping text.
-%
-%^^A\goodpagebreak
-%^^A \newpage
-%
%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \subsection{A wrapped text}
%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -482,6 +490,12 @@ X\ifdim\fontdimen1\font=0pt\kern-0.15em\fi
% package, but the \meta{location} argument specification is braced
% instead of bracketed.
%
+% Remember, though, what was previously remarked about using an
+% unnecessary optional star with the \Env{wraptext} environment;
+% with this package versions~5 and~6 the unnecessary star produces
+% a warning message, while with version~4 it prints the star as if
+% it was part of the text to be wrapped.
+%
% If a caption is specified, version~4 would print it within the
% framed box, while versions~5 and~6 print it outside the framed box.
%
@@ -491,21 +505,20 @@ X\ifdim\fontdimen1\font=0pt\kern-0.15em\fi
% \end{wraptext}
% {\itshape \kant[3]}
%
-% The further feature introduced by version~5 is the
-% possibility of choosing the colours for all three elements of the
-% framed text; if within the environment \Env{wraptext} and before using
-% \cs{includeframedtext} the following colours are set, it is
-% possible to set different colours from the default light grey for
-% the background, the black text, and the almost black frame:
+% With version~5 users have the possibility of choosing the colours for
+% all three elements of the framed text; if within the environment
+% \Env{wraptext} and before using \cs{includeframedtext} the colours
+% may be set different from the default light grey for
+% the background, black for the text, and almost black for the frame:
% \begin{ttsintassi}
%\cs{SetWFfrm}\marg{frame colour}
%\cs{SetWFbgd}\marg{background colour}
%\cs{SetWFtxt}\marg{text colour}
% \end{ttsintassi}
% Such commands, in version~6, are already taken care by the relevant
-% \texttt{key=value} options. With version~5 these are user commands.
-% See figure~\ref{fig:framed text} typeset with various version~6
-% options.
+% \texttt{key=value} options, while with version~5 these are user
+% commands. See figure~\ref{fig:framed text} typeset with various
+% version~6 options.
%
%\begin{figure}
%\makebox[\textwidth]{\includeframedtext{Text}[insertionwidth=0.45\linewidth]
@@ -554,19 +567,18 @@ X\ifdim\fontdimen1\font=0pt\kern-0.15em\fi
%\Eambiente{figure}
%\end{flushleft}
%
-%
% As it is possible to notice from figure~\ref{fig:framed text},
% version~6 adds another facility; the colours and dimensions of the
% elements of the wrapped objects are inserted as
% \textit{key=value} options to the \cs{includeframedtext} third
-% argument \meta{settings}; its default value is “empty”; the
+% argument \meta{settings}; its default value is “empty”;
% users can introduce as many options as they desire, among the
% valid ones; if an option is misspelled or its value is not
% coherent with its nature, either the option is ignored, or an
-% error is raised. The valid options are the following; they are
+% error is raised. The valid options are the following ones; they are
% listed in alphabetical order, because the options described with the
% \texttt{key=value} syntax do not require either a specific order
-% or their presence; the users can therefore specify from zero to
+% or their presence; users can therefore specify from zero to
% nine options.
%\begin{description}
%^^A
@@ -624,9 +636,9 @@ X\ifdim\fontdimen1\font=0pt\kern-0.15em\fi
% the wrapped text should never have a too short measure and the
% wrapping indented lines never have a too short measure. If users
% specify a different value to this key, they might get problems
-% with inter word spacing and of hyphenation.
+% with inter word spacing and with hyphenation.
%^^A
-%\item{\ttfamily textcolor} sets the text colour among those available
+%\item{\ttfamily textcolor} sets the text colour
% among those available with the default set provided by package
% \pack{xcolor}. The default colour is black.
%^^A
@@ -656,7 +668,7 @@ X\ifdim\fontdimen1\font=0pt\kern-0.15em\fi
% word spacing might be too large; at the same time the measure
% of the mini paragraph cannot be too large, otherwise the indented
% wrapping lines, generally justified, might get a bad word
-% spacing. As it was already explained, it is recoommended to avoid
+% spacing. As it was already explained, it is reccommended to avoid
% specifying the optional \meta{widh} outside the range of 40\% to 60\%
% the column width. Actually specifying \texttt{0.2\cs{textwidth}}
% or \texttt{0.4\cs{columnwidth}} when typesetting in two column
@@ -736,14 +748,13 @@ X\ifdim\fontdimen1\font=0pt\kern-0.15em\fi
% to abide from using it; we believe that a wrapped text logically
% pairs the wrapping text; of course this personal opinion might be wrong.
%
-%
% The \meta{width} parameter has been already sufficiently described;
% we just remember that for \Env{wraptext} this parameter is optional
% and its default value amounts to half the current measure; this
% insertion width can be specified but it should not be too different
% from its default value $y_0$, set to 50\% of the current measure.
% For the standard environments this parameter value appears to be
-% mandatory; actually it is a braced really optional argument only for the
+% mandatory; actually it really is a braced optional argument only for the
% redefined environments \env{wrapfigure} and \env{wraptable}.
%
% Matter of facts, for the \Env{wraptext} environment we defined a
@@ -773,7 +784,7 @@ X\ifdim\fontdimen1\font=0pt\kern-0.15em\fi
% it with the \Env{wraptext} one as we did with text~\ref{txt:todi-stela}.
%
% The wrapped text may be written also in a foreign language, even
-% if it uses a differente alphabet. Evidently this language should
+% if it uses a different alphabet. Evidently this language should
% be specified in the preamble of the author's document, either
% when using \pack{babel} or \pack{polyglossia}. The example
% text~\ref{txt:greek} was typeset with the following code:
@@ -793,7 +804,7 @@ X\ifdim\fontdimen1\font=0pt\kern-0.15em\fi
% objects may be defined by means of other packages, such as
% \pack{float}, or classes, such as \class{memoir}. Besides floating,
% the main difference is the name of the caption “label”: Figure, Table,
-% Algorithm, Example, and so on, and the lists of such objects.
+% Algorithm, Example, and so on, in addition to the lists of such objects.
%
% If floating is not necessary, this package (as well as the original
% one) allows to use the underlying environment \Env{wrapfloat}
@@ -846,8 +857,8 @@ X\ifdim\fontdimen1\font=0pt\kern-0.15em\fi
%
% It is possible that such resetting of the original definition is
% necessary also with floating objects defined by other means, for
-% example by using the functionalities of \class{memoir}. We admit
-% we did not test this package functionality with class
+% example by using the functionalities of the \class{memoir} class.
+% We admit we did not test this package functionality with class
% \class{memoir}; \textcolor{red}{feedback on this compatibility issue
% is very welcome}.
%
@@ -876,8 +887,15 @@ X\ifdim\fontdimen1\font=0pt\kern-0.15em\fi
% Warm thanks also to Juan Luis Varona Malumbres for his precious
% feedback and his suggestions.
%
+% Herbert Voß spotted the necessity to follow a specific loading
+% order if the \pack{amsmath} needs to be used; he was so kind to
+% send me a bug notice together with a minimum working example.
+% Thanks a lot Herbert! The best I could do to manage this bug
+% consisted in adding an error message, if \pack{wrapfig2} during its
+% loading process found \pack{amsmath} already loaded.
+%
%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \CheckSum{1411}
+% \CheckSum{1428}
% \StopEventually{}
%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
@@ -935,9 +953,30 @@ X\ifdim\fontdimen1\font=0pt\kern-0.15em\fi
\expandafter\endinput\fi
% \end{macrocode}
+%
+% {\color{red}{\paragraph{Loading order} Some users needed to use
+% \pack{wrapfig2} in documents where they required also the
+% \pack{amsmath} package functionalities; they noticed that some
+% incompatibility showed up if package \pack{amsmath} was input
+% before \pack{wrapfig2}. Such incompatibility vanishes if
+% \pack{amsmath} is loaded \emph{after} \pack{wrapfig2}. This
+% package now issues an error message if it finds \pack{amsmath}
+% already loaded.}}
+% \begin{macrocode}
+\@ifpackageloaded{amsmath}{%
+ \PackageError{wrapfig2}{ \MessageBreak
+ +++++++++++++++++++++++++++++++++++++++++++\MessageBreak
+ Package amsmath already loaded \MessageBreak
+ If you need amsmath, load it after wrapfig2\MessageBreak
+ Expect error messages \MessageBreak
+ +++++++++++++++++++++++++++++++++++++++++++\MessageBreak
+ \MessageBreak
+ }{Abort the job}}{\relax}
+% \end{macrocode}
+%
% We keep the original definition of the \cs{WF@warning} and the
% original definition of the \opt{verbose} option; but we add the
-% new \opt{WFold} and \opt{WFfivw} options in order to fall back
+% new \opt{WFold} and \opt{WFfive} options in order to fall back
% to the functionalities of the previous version~4 or~5, at least
% for what concerns the \Env{wraptext} environment.
%
@@ -956,7 +995,7 @@ X\ifdim\fontdimen1\font=0pt\kern-0.15em\fi
% We load the \pack{etoolbox} package, in order to have available
% its powerful macros.
%
-% If is was not previously loaded, we load the \pack{xfp} package,
+% If it was not previously loaded, we load the \pack{xfp} package,
% that allows us to perform precise calculations. Loading the
% \pack{xparse} package is necessary in order to use one of its
% rare features that did not migrate to the \LaTeX kernel. From the
@@ -1003,7 +1042,7 @@ X\ifdim\fontdimen1\font=0pt\kern-0.15em\fi
%
% In order to define the new floating object \texttt{text} we have
% to load the package \pack{float}, but only if versions~5 or~6
-% ae used; in other words only if the \cs{ifWFnew} switch
+% are used; in other words only if the \cs{ifWFnew} switch
% is \texttt{true}.
%
% If the \cs{chapter} command is or is not defined we have to load
@@ -1252,13 +1291,13 @@ backgroundcolor, textcolor, fontstyle, radius, insertionwidth}
% we have four quarter circles joined by straight lines; therefore
% we need eight nodes.
%
-% The shaded background and the coloured frame have the same contour;
+% The coloured background and the coloured frame have the same contour;
% but the former is filled, while the latter is stroked; we have to
-% draw the same curve two times; first the shaded background, then we
-% superimpose the frame
+% draw the same curve two times; first the coloured background, then the
+% superimposed frame
%
-% This shaded framed curved corners rectangle is at the center of the
-% coordinate system of a \Env{piture} environment, and has the correct
+% This coloured framed curved corners rectangle is at the center of the
+% coordinate system of a \Env{picture} environment, and has the correct
% dimensions to receive the boxed text; it is trivial to center the text
% by means of a zero dimensioned box, typical of the \Env{picture}
% environment.
@@ -1316,12 +1355,12 @@ backgroundcolor, textcolor, fontstyle, radius, insertionwidth}
% used within the body of the \cs{includeframedtext}; but if this
% command received a different value the frame may be thicker,
% or even vanish; we discourage values higher than \texttt{3pt}
-% (about \texttt{1mm}) and lower than \texttt{1pt} unless is zero.
+% (about \texttt{1mm}) and lower than \texttt{1pt} unless it is zero.
%
% The definition of the \Env{wraptext} environment is more detailed,
% because most of the computations must be done on the actual text
% to be wrapped, that does not have a specific width; moreover the
-% inserted text must not be too wide, nor too short in order to avoid
+% inserted text must not be too wide, nor too slim in order to avoid
% problems with its justification or the justification of the wrapping
% lines. The framed box width is preset to 50\% of the normal text
% measure, but it can be optionally specified to a different value (not
@@ -1338,9 +1377,12 @@ backgroundcolor, textcolor, fontstyle, radius, insertionwidth}
% and that of the inserted block and/or the measure of the indented
% wrapping lines; sometimes it might be necessary to get rid of the
% space below the inserted block when it gets typeset at the bottom
-% of a page. The asterisk is not needed because for this environment
+% of a page. The star is not needed because for this environment
% the optional first argument is always interpreted as the indented
-% lines number correction.
+% lines number \emph{correction}; nevertheless if users specify the
+% optional star, as they are used to with the other environments, such
+% star produces a visible warning message that reminds the user about
+% its uselessness.
%
% It is true that some of the input parameters specified to the opening
% command of any environment with \LaTeXiii are available also to the
@@ -1351,8 +1393,8 @@ backgroundcolor, textcolor, fontstyle, radius, insertionwidth}
% macros of the \Env{wrapfloat} environment; such procedure
% breaks this second availability of the input parameters,
% therefore it is necessary to save them into local macros or count
-% registers (assignments to \TeX count registers are \emph{local},
-% while assignment to \LaTeX\ named counters, through the
+% registers (remember that assignments to \TeX count registers are
+% \emph{local}, while assignment to \LaTeX\ named counters, through the
% \cs{setcounter} macro and its siblings, are \emph{global}) so
% that we can use their values within the closing commands.
%
@@ -1369,9 +1411,9 @@ backgroundcolor, textcolor, fontstyle, radius, insertionwidth}
% implies much less memory used by the almost unlimited,
% but unused, functionalities of the \pack{tikz} package on which
% \pack{tcolorbox} relies. Notice that the plain \Env{picture}
-% environment extended with the \pack{pict2e} package can draw
-% “ovals”, that is rectangles with rounded corners, but as far as
-% we know they have the frame but cannot be filled.
+% environment, extended with the \pack{pict2e} package, can draw
+% “ovals”, that is rectangles with rounded corners, but, as far as
+% we know, they have the frame but cannot be filled.
%
% Notice the \Env{wraptext} has two or three definitions depending on the
% logical switches \texttt{WFnew} and \texttt{WFfive}; if one of these
@@ -1417,11 +1459,17 @@ backgroundcolor, textcolor, fontstyle, radius, insertionwidth}
% while it is optional for version~4.
% \begin{macrocode}
\ifboolexpr{bool{WFnew} or bool{WFfive}}{% definition for versions 5 and 6
-\NewDocumentEnvironment{wraptext}{O{0} m O{0pt} G{0.5\columnwidth}}{%
+\NewDocumentEnvironment{wraptext}{O{0} m O{0pt} G{0.5\columnwidth} s}{%
\insertwidth=#4\WFscalewidth
\def\textplacement{#2}%
\def\textcorrection{#1}%
\def\textoverhang{#3}%
+ \IfBooleanTF{#5}{\PackageWarning{wrapfig2}{%
+ *********************************************\MessageBreak
+ With wraptext the optional star is useless \MessageBreak
+ because the first optional argument always \MessageBreak
+ means the "lines number CORRECTION" \MessageBreak
+ *********************************************\MessageBreak}}{}%%%<------------------
\bgroup\edef\x{\egroup\noexpand\wrapfloat{text}%
[\textcorrection]{\textplacement}[\textoverhang]{\insertwidth}*}\x%
\def\caption{\unskip
@@ -1436,7 +1484,7 @@ backgroundcolor, textcolor, fontstyle, radius, insertionwidth}
}{\endwrapfloat\ignorespaces}%
% \end{macrocode}
%
-% For the fallback to version!4 definition of this \Env{wraptext}
+% For the fallback to version~4 definition of this \Env{wraptext}
% environment we have to start with the old list of specifically
% delimited optional arguments. We remember that this opening statement
% receives in order a bracket delimited optional \meta{location}
@@ -1449,8 +1497,9 @@ backgroundcolor, textcolor, fontstyle, radius, insertionwidth}
%
% Notice that the third optional argument contains the
% \meta{line number correction}, therefore the star used with the
-% other environments is useless; if an asterisk is indadvertedly
-% specified, it is typeset as the first token of the wrapped test.
+% other environments is useless; contrary to versions~5 and~6, if
+% an asterisk is indadvertedly specified, it is typeset as the first
+% token of the wrapped test.
%
% The text to be wrapped, that forms the body of the environment,
% must be first boxed into a correct width vertical box; this is
@@ -1521,7 +1570,7 @@ backgroundcolor, textcolor, fontstyle, radius, insertionwidth}
% Now comes the new actual definition of the fundamental environment
% \Env{wrapfloat}; compared to the original Arseneau's definition it is
% much longer, but it contains the code that Arseneau, who used the
-% \LaTeXe language, and had to split it in several macros in order to
+% \LaTeXe language, had to split it in several macros in order to
% handle the multitude of interspersed mandatory and optional arguments.
%
% The main function of this environment is to handle the box that
@@ -1605,18 +1654,19 @@ backgroundcolor, textcolor, fontstyle, radius, insertionwidth}
% \Env{wraptext} environment does not accept the optional star; if the
% user indadvertedly specifies it for this environment, an
% asterisk appears at the beginning of the wrapped text with version~4;
-% with versions~5 and~6 the asterisk appears at the left of the framed
-% text. In all three cases, in facts, the first optional parameter is
-% always interpreted as the \meta{line number correction}.
+% with versions~5 and~6 the asterisk produces a warning that remind
+% users that this environment does not use any optional star. In all
+% three versions, in facts, the first optional parameter is always
+% interpreted as the \meta{line number correction}.
%
% The braced \meta{width} fourth parameter (actually a
% \textit{braced optional parameter}) may be specified
% to be \texttt{0pt}; in any case \texttt{0pt} is the default parameter
% value; if so, the object is treated at its natural width, by
% boxing it into an hbox and using this box width as the working
-% width of course this works only with \Env{wrapfigure} and
+% width; of course this works only with \Env{wrapfigure} and
% \Env{wraptable}, because what is being wrapped has its own natural
-% width; with text the natural width is the default setting made
+% width; with text the width is the default setting made
% with the \emph{braced optional argument} described with the
% \texttt{G} descriptor.
% \begin{macrocode}
@@ -1679,7 +1729,7 @@ backgroundcolor, textcolor, fontstyle, radius, insertionwidth}
% The trick of creating an alias for the \cs{caption} macro is
% used by Arseneau to redefine one of the two macros according to
% certain conditions. Here \cs{wf@caption} is actually redefined
-% if the \meta{width} parameter has been specified.
+% if the \meta{width} parameter has been specified or has been computed.
% \begin{macrocode}
\def\wf@caption{\relax% redefine \wf@caption in case \hsize is zero
\ifdim\hsize>\z@
@@ -1692,7 +1742,7 @@ backgroundcolor, textcolor, fontstyle, radius, insertionwidth}
% \end{macrocode}
%
-% One of these unusual macros was introduced by Arseneau
+% One of the following unusual macros was introduced by Arseneau
% to deal with paragraph parameters and possibly to float the
% object to be wrapped.
% \begin{macrocode}
@@ -1882,7 +1932,8 @@ backgroundcolor, textcolor, fontstyle, radius, insertionwidth}
% \end{macrocode}
%
-% This macro resets the paragraph properties and terminates the job.
+% This macro resets the paragraph properties and terminates the wrapping
+% job.
% \begin{macrocode}
\def\WF@mypar{\relax
\WF@@par
@@ -2051,7 +2102,8 @@ backgroundcolor, textcolor, fontstyle, radius, insertionwidth}
% \meta{foo}, it suffices to define the new environment
% \Env{wrap\meta{foo}}. This fork version of his package should do
% the same: it suffices to mimic the definitions of environments
-% \Env{wrapfigure} or \Env{wraptable}.
+% \Env{wrapfigure} or \Env{wraptable}. But as we saw with the
+% \Env{wraptext}, the above statement is not always true.
%
% Here there is some Arseneau's code that renders his \pack{wrapfig}
% code compatible with \cs{newfloat} of class \class{memoir}, and
@@ -2078,7 +2130,7 @@ backgroundcolor, textcolor, fontstyle, radius, insertionwidth}
\@ifundefined{float@restyle}%
{% older float.sty
- \toks@=\expandafter{\restylefloat{##1}% env. might be undefined
+ \toks@=\expandafter{\restylefloat{##1}% env. might be undefined
\@namedef{wrap#1}{%
\def\@captype{#1}\@nameuse{fst@#1}%
\def\WF@floatstyhook{\let\@currbox\WF@box \columnwidth\wd\WF@box
diff --git a/macros/latex/contrib/wrapfig2/wrapfig2.pdf b/macros/latex/contrib/wrapfig2/wrapfig2.pdf
index d8b27c3e18..22c81080cf 100644
--- a/macros/latex/contrib/wrapfig2/wrapfig2.pdf
+++ b/macros/latex/contrib/wrapfig2/wrapfig2.pdf
Binary files differ
diff --git a/macros/xetex/latex/xduts/xduts.dtx b/macros/xetex/latex/xduts/xduts.dtx
index a0117a6d4f..9c7c2d9c83 100644
--- a/macros/xetex/latex/xduts/xduts.dtx
+++ b/macros/xetex/latex/xduts/xduts.dtx
@@ -1,7 +1,7 @@
% \iffalse
%<*driver>
\ProvidesFile{xduts.dtx}
-[2023/02/20 v5.1.0.0 Xidian University TeX Suite]
+[2023/02/23 v5.4.0.1 Xidian University TeX Suite]
%</driver>
%<class|sty>\NeedsTeXFormat{LaTeX2e}
%<class|sty>\RequirePackage{expl3}
@@ -9,7 +9,7 @@
%<xduugtp>\ProvidesExplClass{xduugtp}
%<xdupgthesis>\ProvidesExplClass{xdupgthesis}
%<xduugthesis>\ProvidesExplClass{xduugthesis}
-%<class|sty> {2023/02/20}{5.1.0.0}
+%<class|sty> {2023/02/23}{5.4.0.1}
%<xdufont> {Xidian University Font package}
%<xduugtp> {Xidian University Undergraduate Thesis Proposal class}
%<xdupgthesis> {Xidian University Postgraduate Thesis document class}
@@ -25,7 +25,7 @@
\changes{v1.9.0.0}{2022/05/03}{增大function环境盒子宽度}
\addtolength{\marginparwidth}{5mm}
\geometry{hmargin={0mm,10mm}}
-\changes{v0.6.0.0}{2022/04/10}{新增xdufont宏包}
+\changes{v0.6.0.0}{2022/04/10}{增加xdufont宏包}
\changes{v0.5.2.1}{2022/04/09}{修改项目名称}
\changes{v0.4.2.1}{2022/04/05}{调整文档目录缩进}
\usepackage{tocloft}
@@ -46,12 +46,16 @@
\usepackage{pifont}
\newcommand{\cmark}{\ding{51}}
\usepackage{subcaption}
-\captionsetup{font=bf}
+\changes{v5.1.0.1}{2023/02/22}{修改文档内表格样式}
+\DeclareCaptionLabelSeparator{customskip}{\hskip.75em}
+\captionsetup{font=bf,labelsep=customskip}
\usepackage{tabularray}
\changes{v2.16.1.3}{2022/11/27}{修改文档中caption字体样式}
+\setlength{\intextsep}{\the\abovecaptionskip}
+\SetTblrOuter[tblr,longtblr]{presep=\belowcaptionskip+\intextsep,headsep=\abovecaptionskip}
\SetTblrStyle{caption-tag}{font=\bfseries}
\SetTblrStyle{caption-text}{font=\bfseries}
-\DefTblrTemplate{caption-sep}{default}{\quad}
+\DefTblrTemplate{caption-sep}{default}{\hskip.75em}
\DefTblrTemplate{conthead-text}{default}{\textbf{(续表)}}
\DefTblrTemplate{contfoot-text}{default}{\textbf{接下页}}
\changes{v4.4.5.1}{2023/02/11}{移除文档对xspace的依赖}
@@ -68,7 +72,7 @@
% <name> 键值
\NewDocumentCommand{\metax}{O{\space}mO{\space}}{#1\meta{#2}#3}
% LaTeX3键值对
-\newcommand{\breakablethinspace}{\hskip 0.16667em\relax}
+\newcommand{\breakablethinspace}{\hskip.16667em\relax}
\NewDocumentCommand{\kvoptx}{O{\space}mmO{\space}}{#1\texttt{#2\breakablethinspace=\breakablethinspace#3}#4}
% {<name>} 必选参数
\NewDocumentCommand{\margx}{O{\space}mO{\space}}{#1\marg{#2}#3}
@@ -316,7 +320,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% 支持的信息录入选项见\secrefx{信息录入}。
% \par
% 学会以上用法后即可使用\clsx{xduugthesis}文档类。
-% \changes{v1.4.0.0}{2022/04/26}{新增研究生学位论文}
+% \changes{v1.4.0.0}{2022/04/26}{增加研究生学位论文}
% \changes{v1.30.0.2}{2022/06/20}{研究生学位论文文档}
% \changes{v2.2.1.1}{2022/06/23}{移除研究生学位论文中关于章节配置的文档}
% \subsection{\clsx[]{xdupgthesis}文档类}
@@ -469,7 +473,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \end{lstlisting}
% \subsection{字体选项}
% \label{字体选项}
-% \begin{function}[added=2022-03-06]{style/cjk-font}
+% \begin{function}[added=2022-03-06,updated=2023-02-20]{style/cjk-font}
% \begin{syntax}
% \opt{style/cjk-font} = adobe|(fandol)|founder|hanyi|sinotype|win|none
% \end{syntax}
@@ -490,22 +494,23 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \begin{tblr}
% {
% width = \linewidth,
-% colspec = {cX[c]X[c]X[1.2,c]X[c]},
-% hline{1,3,Z} = {.08em},
-% hline{2} = {2-3}{.08em,leftpos=-1,rightpos=-1,endpos},
-% row{odd[3-Z]} = {gray9!40},
+% colspec = {Q[c,m]*{4}{X[c,m]}},
+% hline{1,3,Z} = {wd=.08em},
+% hline{2} = {2-3}{wd=.08em,leftpos=-1,rightpos=-1,endpos=true},
+% row{odd[3-Z]} = {bg=gray9!40},
% cell{1}{2} = {c=2}{},
% cell{1}{1,4,5} = {r=2}{},
-% row{1-2} = {cmd=\strong}
+% cell{3-Z}{1} = {font=\ttfamily},
+% row{1-2} = {font=\bfseries}
% }
-% 选项名称 & 罗马族 & & 无衬线族 & 打字机族 \\
-% & 直立/倾斜形状 & 意大利形状 & & \\
-% |adobe| & Adobe 宋体 Std & Adobe 楷体 Std & Adobe 黑体 Std & Adobe 仿宋 Std \\
-% |fandol| & FandolSong & FandolKai & FandolHei & FandolFang \\
-% |founder| & 方正书宋\_GBK & 方正楷体\_GBK & 方正黑体\_GBK & 方正仿宋\_GBK \\
-% |hanyi| & 汉仪书宋二S & 汉仪楷体S & 汉仪中黑S & 汉仪仿宋S \\
-% |sinotype| & 华文宋体 & 华文楷体 & 华文细黑/华文黑体 & 华文仿宋 \\
-% |win| & 中易宋体 & 中易楷体 & 中易黑体 & 中易仿宋 \\
+% 选项名称 & 罗马族 & & 无衬线族 & 打字机族 \\
+% & 直立/倾斜形状 & 意大利形状 & & \\
+% adobe & Adobe 宋体 Std & Adobe 楷体 Std & Adobe 黑体 Std & Adobe 仿宋 Std \\
+% fandol & FandolSong & FandolKai & FandolHei & FandolFang \\
+% founder & 方正书宋\_GBK & 方正楷体\_GBK & 方正黑体\_GBK & 方正仿宋\_GBK \\
+% hanyi & 汉仪书宋二S & 汉仪楷体S & 汉仪中黑S & 汉仪仿宋S \\
+% sinotype & 华文宋体 & 华文楷体 & 华文细黑/黑体 & 华文仿宋 \\
+% win & 中易宋体 & 中易楷体 & 中易黑体 & 中易仿宋 \\
% \end{tblr}
% \end{table}
% \begin{function}[added=2022-04-01]{style/cjk-fake-bold}
@@ -520,16 +525,19 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \end{syntax}
% 设置中文字体伪斜体倾斜程度。默认为\valuex{0.2}[]。
% \end{function}
-% \begin{function}[added=2022-03-06,updated=2022-05-06]{style/latin-font}
+% \changes{v5.4.0.1}{2023/02/23}{修正文档内英文字体配置表格错误}
+% \begin{function}[added=2022-03-06,updated=2023-02-23]{style/latin-font}
% \begin{syntax}
-% \opt{style/latin-font} = tac|tacn|thcs|(gyre)|none
+% \opt{style/latin-font} = (gyre)|tac|tacn|tcc|thcs|tll|none
% \end{syntax}
% 设置英文字体,具体配置见\tabrefx{tab:latin-font}[]。
% \end{function}
% \begin{optdesc}
% \item[tac] \filex[]{times.ttf}[]、\filex[]{timesbd.ttf}[]、\filex[]{timesi.ttf}[]、\filex[]{timesbi.ttf}[]、\filex[]{arial.ttf}[]、\filex[]{arialbd.ttf}[]、\filex[]{ariali.ttf}[]、\filex[]{arialbi.ttf}[]、\filex[]{consola.ttf}[]、\filex[]{consolab.ttf}[]、\filex[]{consolai.ttf}和\filex{consolaz.ttf}[]。
% \item[tacn] \filex[]{times.ttf}[]、\filex[]{timesbd.ttf}[]、\filex[]{timesi.ttf}[]、\filex[]{timesbi.ttf}[]、\filex[]{arial.ttf}[]、\filex[]{arialbd.ttf}[]、\filex[]{ariali.ttf}[]、\filex[]{arialbi.ttf}[]、\filex[]{cour.ttf}[]、\filex[]{courbd.ttf}[]、\filex[]{couri.ttf}和\filex{courbi.ttf}[]。
+% \item[tcc] \filex[]{times.ttf}[]、\filex[]{timesbd.ttf}[]、\filex[]{timesi.ttf}和\filex{timesbi.ttf}[]。
% \item[thcs] \filex[]{times.ttf}[]、\filex[]{timesbd.ttf}[]、\filex[]{timesi.ttf}[]、\filex[]{timesbi.ttf}[]、\filex[]{Helvetica.ttf}[]、\filex[]{Helvetica~Bold.ttf}[]、\filex[]{Helvetica~Oblique.ttf}[]、\filex[]{Helvetica~Bold~Oblique.ttf}[]、\filex[]{CourierStd.otf}[]、\filex[]{CourierStd-Bold.otf}[]、\filex[]{CourierStd-Oblique.otf}和\filex{CourierStd-BoldOblique.otf}[]。
+% \item[tll] \filex[]{times.ttf}[]、\filex[]{timesbd.ttf}[]、\filex[]{timesi.ttf}和\filex{timesbi.ttf}[]。
% \item[none] 关闭内置英文字体配置,需自行配置英文字体。
% \end{optdesc}
% \changes{v2.16.1.1}{2022/11/27}{修改英文字体配置表文档样式}
@@ -539,16 +547,19 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \begin{tblr}
% {
% width = \linewidth,
-% colspec = {cX[c]X[c]X[c]},
-% hline{1,2,Z} = {.08em},
-% row{even[2-Z]} = {gray9!40},
-% row{1} = {cmd=\strong}
+% colspec = {Q[c,m]*{3}{X[-1,c,m]}},
+% hline{1,2,Z} = {wd=.08em},
+% row{even[2-Z]} = {bg=gray9!40},
+% cell{2-Z}{1} = {font=\ttfamily},
+% row{1} = {font=\bfseries}
% }
-% 选项名称 & 罗马族 & 无衬线族 & 打字机族 \\
-% |tac| & Times New Roman & Arial & Consolas \\
-% |tacn| & Times New Roman & Arial & Courier New \\
-% |thcs| & Times New Roman & Helvetica & Courier Std \\
-% |gyre| & TeX Gyre Termes & TeX Gyre Heros & TeX Gyre Cursor \\
+% 选项名称 & 罗马族 & 无衬线族 & 打字机族 \\
+% gyre & TeX Gyre Termes & TeX Gyre Heros & TeX Gyre Cursor \\
+% tac & Times New Roman & Arial & Consolas \\
+% tacn & Times New Roman & Arial & Courier New \\
+% tcc & Times New Roman & CMU Sans Serif & CMU Typewriter Text \\
+% thcs & Times New Roman & Helvetica & Courier Std \\
+% tll & Times New Roman & Linux Biolinum O & Linux Libertine Mono O \\
% \end{tblr}
% \end{table}
% \begin{function}[added=2023-01-28]{style/latin-sans-scale,style/latin-mono-scale}
@@ -563,7 +574,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \item[lower] 按小写字母的高度缩放以匹配罗马族字体。
% \item[off] 不缩放。
% \end{optdesc}
-% \begin{function}[added=2022-03-06,updated=2022-03-09]{style/math-font}
+% \begin{function}[added=2022-03-06,updated=2022-11-27]{style/math-font}
% \begin{syntax}
% \opt{style/math-font} = asana|cambria|(cm)|fira|garamond|lm|...|termes|xits|none
% \end{syntax}
@@ -583,35 +594,36 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% ]
% {
% width = \linewidth,
-% colspec = {X[2,c]X[3,c]},
-% hline{1,2,Z} = {.08em},
-% row{even[2-Z]} = {gray9!40},
-% row{1} = {cmd=\strong},
+% colspec = {X[2,c,m]X[3,c,m]},
+% hline{1,2,Z} = {wd=.08em},
+% row{even[2-Z]} = {bg=gray9!40},
+% cell{2-Z}{1} = {font=\ttfamily},
+% row{1} = {font=\bfseries},
% rowhead = 1
% }
-% 选项名称 & 字体名称 \\
-% |asana| & Asana Math \\
-% |cambria| & Cambria Math \\
-% |cm| & Computer Modern \\
-% |concrete| & Concrete Math \\
-% |erewhon| & Erewhon Math \\
-% |euler| & Euler Math \\
-% |fira| & Fira Math \\
-% |garamond| & Garamond Math \\
-% |gfsneohellenic| & GFS Neohellenic Math \\
-% |kp| & KpMath \\
-% |libertinus| & Libertinus Math \\
-% |lm| & Latin Modern Math \\
-% |newcm| & New Computer Modern Math \\
-% |stix2| & STIX Two Math \\
-% |stix| & STIX Math \\
-% |xcharter| & XCharter Math \\
-% |xits| & XITS Math \\
-% |bonum| & TeX Gyre Bonum Math \\
-% |dejavu| & TeX Gyre DejaVu Math \\
-% |pagella| & TeX Gyre Pagella Math \\
-% |schola| & TeX Gyre Schola Math \\
-% |termes| & TeX Gyre Termes Math \\
+% 选项名称 & 字体名称 \\
+% asana & Asana Math \\
+% cambria & Cambria Math \\
+% cm & Computer Modern \\
+% concrete & Concrete Math \\
+% erewhon & Erewhon Math \\
+% euler & Euler Math \\
+% fira & Fira Math \\
+% garamond & Garamond Math \\
+% gfsneohellenic & GFS Neohellenic Math \\
+% kp & KpMath \\
+% libertinus & Libertinus Math \\
+% lm & Latin Modern Math \\
+% newcm & New Computer Modern Math \\
+% stix2 & STIX Two Math \\
+% stix & STIX Math \\
+% xcharter & XCharter Math \\
+% xits & XITS Math \\
+% bonum & TeX Gyre Bonum Math \\
+% dejavu & TeX Gyre DejaVu Math \\
+% pagella & TeX Gyre Pagella Math \\
+% schola & TeX Gyre Schola Math \\
+% termes & TeX Gyre Termes Math \\
% \end{tblr}
% \begin{function}[added=2022-03-14]{style/unicode-math}
% \begin{syntax}
@@ -1040,20 +1052,21 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% ]
% {
% width = \linewidth,
-% colspec = lX[c]X[c]X[c]X[c]X[c]X[c]X[c],
+% colspec = {Q[l,m]*{7}{X[c,m]}},
% cell{1}{3} = {c=2}{},
% cell{1}{5} = {c=4}{},
% cell{2}{2} = {r=2}{},
% cell{2}{3,5,7} = {c=2}{},
-% hline{1,4,Z} = {.08em},
-% hline{2} = {2-2}{.08em,leftpos=-1,rightpos=-1,endpos},
-% hline{2} = {3-4}{.08em,leftpos=-1,rightpos=-1,endpos},
-% hline{2} = {5-8}{.08em,leftpos=-1,rightpos=-1,endpos},
-% hline{3} = {3-4}{.08em,leftpos=-1,rightpos=-1,endpos},
-% hline{3} = {5-6}{.08em,leftpos=-1,rightpos=-1,endpos},
-% hline{3} = {7-8}{.08em,leftpos=-1,rightpos=-1,endpos},
-% row{odd[4-Z]} = {gray9!40},
-% cell{4-Z}{1} = {cmd=\texttt},
+% hline{1,4,Z} = {wd=.08em},
+% hline{2} = {2-2}{wd=.08em,leftpos=-1,rightpos=-1,endpos=true},
+% hline{2} = {3-4}{wd=.08em,leftpos=-1,rightpos=-1,endpos=true},
+% hline{2} = {5-8}{wd=.08em,leftpos=-1,rightpos=-1,endpos=true},
+% hline{3} = {3-4}{wd=.08em,leftpos=-1,rightpos=-1,endpos=true},
+% hline{3} = {5-6}{wd=.08em,leftpos=-1,rightpos=-1,endpos=true},
+% hline{3} = {7-8}{wd=.08em,leftpos=-1,rightpos=-1,endpos=true},
+% row{odd[4-Z]} = {bg=gray9!40},
+% cell{4-Z}{1} = {font=\ttfamily},
+% row{1-3} = {font=\bfseries},
% rowhead = 3
% }
% & 开题 & 毕业设计 & & 学位论文 & & & \\
@@ -1959,7 +1972,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \end{macrocode}
% 英文字体配置。
% \begin{macrocode}
- latin-font .choices:nn = { tac, tacn, thcs, gyre, none }
+ latin-font .choices:nn = { gyre, tac, tacn, tcc, thcs, tll, none }
{ \tl_set_eq:NN \l_@@_latin_font_tl \l_keys_choice_tl },
% \end{macrocode}
% 数学字体配置。
@@ -2283,7 +2296,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
}
% \end{macrocode}
% \end{macro}
-% \changes{v5.1.0.0}{2023/02/20}{新增汉仪字体}
+% \changes{v5.1.0.0}{2023/02/20}{增加汉仪字体}
% \begin{macro}{\@@_load_cjk_font_hanyi:}
% 中文字体配置\valuex{hanyi}[]。
% \begin{macrocode}
@@ -2523,7 +2536,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\@@_load_latin_font_tac:}
-% \changes{v1.12.0.0}{2022/05/06}{新增Arial和Consolas英文字体配置}
+% \changes{v1.12.0.0}{2022/05/06}{增加Arial和Consolas英文字体配置}
% 英文字体配置\valuex{tac}[]。
% \begin{macrocode}
\cs_new:Npn \@@_load_latin_font_tac:
@@ -2551,6 +2564,31 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
}
% \end{macrocode}
% \end{macro}
+% \begin{macro}{\@@_load_latin_font_tcc:}
+% \changes{v5.3.0.0}{2023/02/23}{增加tcc系列英文字体配置}
+% 英文字体配置\valuex{tcc}[]。
+% \begin{macrocode}
+\cs_new:Npn \@@_load_latin_font_tcc:
+ {
+ \@@_set_latin_main_font:nnnnn
+ { Times~New~Roman }
+ { times.ttf }
+ { timesbd.ttf }
+ { timesi.ttf }
+ { timesbi.ttf }
+ \@@_set_latin_sans_font:nnnn
+ { cmunss.otf }
+ { cmunsx.otf }
+ { cmunsi.otf }
+ { cmunso.otf }
+ \@@_set_latin_mono_font:nnnn
+ { cmuntt.otf }
+ { cmuntb.otf }
+ { cmunit.otf }
+ { cmuntx.otf }
+ }
+% \end{macrocode}
+% \end{macro}
% \begin{macro}{\@@_load_latin_font_thcs:}
% 英文字体配置\valuex{thcs}[]。
% \begin{macrocode}
@@ -2577,8 +2615,33 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
}
% \end{macrocode}
% \end{macro}
+% \begin{macro}{\@@_load_latin_font_tll:}
+% \changes{v5.3.0.0}{2023/02/23}{增加tll系列英文字体配置}
+% 英文字体配置\valuex{tll}[]。
+% \begin{macrocode}
+\cs_new:Npn \@@_load_latin_font_tll:
+ {
+ \@@_set_latin_main_font:nnnnn
+ { Times~New~Roman }
+ { times.ttf }
+ { timesbd.ttf }
+ { timesi.ttf }
+ { timesbi.ttf }
+ \@@_set_latin_sans_font:nnnn
+ { LinBiolinum_R.otf }
+ { LinBiolinum_RB.otf }
+ { LinBiolinum_RI.otf }
+ { LinBiolinum_RBO.otf }
+ \@@_set_latin_mono_font:nnnn
+ { LinLibertine_M.otf }
+ { LinLibertine_MB.otf }
+ { LinLibertine_MO.otf }
+ { LinLibertine_MBO.otf }
+ }
+% \end{macrocode}
+% \end{macro}
% \begin{macro}{\@@_load_latin_font_gyre:}
-% \changes{v0.9.0.0}{2022/04/13}{新增gyre系列英文字体配置}
+% \changes{v0.9.0.0}{2022/04/13}{增加gyre系列英文字体配置}
% 英文字体配置\valuex{gyre}[]。
% \begin{macrocode}
\cs_new:Npn \@@_load_latin_font_gyre:
@@ -5194,8 +5257,9 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \end{macro}
% \subsection{Caption}
% \begin{macro}{\DeclareCaptionLabelSeparator,\DeclareCaptionFont,\captionsetup}
-% \changes{v3.0.0.0}{2022/12/03}{设置图、表caption格式}
-% \changes{v2.17.0.0}{2022/11/28}{设置图、表caption格式}
+% \changes{v5.2.0.0}{2023/02/23}{设置图表caption前后垂直间距}
+% \changes{v3.0.0.0}{2022/12/03}{设置图表caption格式}
+% \changes{v2.17.0.0}{2022/11/28}{设置图表caption格式}
% \changes{v0.1.2.0}{2022/04/03}{设置图片标签与后面标题之间的间距}
% \changes{v0.1.3.0}{2022/04/03}{设置图片标签与标题字体字号}
% \changes{v2.10.1.0}{2022/06/26}{修复算法标签与标题字体字号警告}
@@ -5207,9 +5271,11 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
\DeclareCaptionFont { customfont } { \@@_rm_family: \zihao { 5 } }
\captionsetup
{
+ strut = off,
labelsep = customskip,
font = customfont
}
+\dim_set_eq:NN \intextsep \abovecaptionskip
\ctex_at_end_preamble:n
{
\tl_if_eq:NnTF \l_@@_ft_cap_format_tl { hang }
@@ -5409,6 +5475,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\SetTblrStyle,\DefTblrTemplate}
+% \changes{v5.2.0.0}{2023/02/23}{适配\pkgx{tabularray}宏包caption前后垂直间距}
% \changes{v2.17.0.0}{2022/11/28}{设置\pkgx{tabularray}中\envx{longtblr}环境caption格式}
% \changes{v2.16.3.0}{2022/11/27}{适配不同语言下的\envx{longtblr}环境中标题和尾部的续表文本}
% \changes{v2.16.2.0}{2022/11/27}{修正\envx{longtblr}环境caption宽度}
@@ -5419,6 +5486,8 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
{
\@ifpackageloaded { tabularray }
{
+ \SetTblrOuter [ tblr, longtblr, talltblr ]
+ { presep = \belowcaptionskip + \intextsep, headsep = \abovecaptionskip }
\SetTblrStyle { head } { font = \@@_rm_family: \zihao { 5 } }
\DefTblrTemplate { caption-sep } { default }
{ \hskip \l_@@_cap_label_sep_tl }
@@ -5705,7 +5774,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
% \subsection{附录}
% \begin{macro}{\@@_appendix:}
% 附录环境。
-% \changes{v0.3.0.0}{2022/04/04}{新增附录环境}
+% \changes{v0.3.0.0}{2022/04/04}{增加附录环境}
% \changes{v0.3.1.0}{2022/04/04}{修正附录中图表编号样式}
% \changes{v0.10.2.0}{2022/04/14}{修正附录中算法编号样式}
% \changes{v0.10.4.0}{2022/04/14}{修正附录中\pkgx{algorithm2e}算法编号样式}
@@ -7603,7 +7672,7 @@ literate = {\$}{{\textcolor{purple3}{\$}}}{1}
%</thesis>
%<*xduugtp>
% \end{macrocode}
-% \changes{v4.1.0.0}{2022/12/31}{新增本科生毕业设计开题报告}
+% \changes{v4.1.0.0}{2022/12/31}{增加本科生毕业设计开题报告}
% \subsection{本科生毕业设计开题报告}
% \begin{macro}{\tcbset}
% 自定义线框样式。
diff --git a/macros/xetex/latex/xduts/xduts.pdf b/macros/xetex/latex/xduts/xduts.pdf
index 31a4d15b9f..e7f5a19b73 100644
--- a/macros/xetex/latex/xduts/xduts.pdf
+++ b/macros/xetex/latex/xduts/xduts.pdf
Binary files differ