From 16aa5a7c87f18a2483d0d61795899f886781b51c Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 18 Apr 2015 22:52:45 +0000 Subject: context, from www.pragma-ade.com/context/beta/cont-tmf.zip (18apr15) git-svn-id: svn://tug.org/texlive/trunk@36923 c570f23f-e606-0410-a88d-b1316a301751 --- .../linked_scripts/context/stubs/unix/mtxrun | 3663 +- Master/bin/win32/mtxrun.lua | 3663 +- .../lexers/data/scite-context-data-context.lua | 4 +- .../lexers/data/scite-context-data-interfaces.lua | 16 +- .../lexers/data/scite-context-data-metafun.lua | 2 +- .../lexers/data/scite-context-data-metapost.lua | 10 +- .../context/lexers/data/scite-context-data-tex.lua | 4 +- .../context/lexers/scite-context-lexer-bibtex.lua | 25 +- .../context/lexers/scite-context-lexer-dummy.lua | 35 + .../context/lexers/scite-context-lexer-lua.lua | 5 + .../context/lexers/scite-context-lexer-tex.lua | 6 + .../context/scite-context-data-context.properties | 361 +- .../scite-context-data-interfaces.properties | 1525 +- .../context/scite-context-data-metafun.properties | 75 +- .../context/scite-context-data-metapost.properties | 139 +- .../context/scite-context-data-tex.properties | 7 +- .../context/scite-context-external.properties | 11 +- .../data/scite/context/scite-context.properties | 3 + .../context/data/scite/context/scite-ctx.lua | 21 +- .../context/document/general/manuals/mreadme.pdf | Bin 85996 -> 0 bytes .../context/document/general/manuals/tiptrick.pdf | Bin 30607 -> 0 bytes .../documents/general/manuals/epub-mkiv-demo.epub | Bin 0 -> 13085 bytes .../documents/general/manuals/epub-mkiv-demo.pdf | Bin 0 -> 19063 bytes .../documents/general/manuals/epub-mkiv.pdf | Bin 0 -> 98652 bytes .../context/documents/general/manuals/mreadme.pdf | Bin 0 -> 40916 bytes .../documents/general/manuals/swiglib-mkiv.pdf | Bin 0 -> 169015 bytes .../context/documents/general/manuals/tiptrick.pdf | Bin 0 -> 47397 bytes .../documents/general/manuals/tools-mkiv.pdf | Bin 0 -> 374218 bytes .../documents/general/manuals/units-mkiv.pdf | Bin 0 -> 163989 bytes .../documents/general/manuals/workflows-mkiv.pdf | Bin 0 -> 74818 bytes .../documents/general/manuals/xtables-mkiv.pdf | Bin 0 -> 136973 bytes .../doc/context/manuals/allkind/mcommon.tex | 199 - .../manuals/allkind/mkiv-publications-graph.bib | 53 - .../context/manuals/allkind/mkiv-publications.bib | 36 - .../context/manuals/allkind/mkiv-publications.pdf | Bin 290580 -> 0 bytes .../context/manuals/allkind/mkiv-publications.tex | 1523 - .../doc/context/manuals/allkind/mreadme.tex | 361 - .../context/manuals/allkind/publications-en.xml | 372 - .../doc/context/scripts/mkii/ctxtools.man | 2 +- .../doc/context/scripts/mkii/imgtopdf.man | 2 +- .../doc/context/scripts/mkii/pdftools.man | 2 +- .../doc/context/scripts/mkii/pstopdf.man | 2 +- .../doc/context/scripts/mkii/rlxtools.man | 2 +- .../doc/context/scripts/mkii/texexec.man | 2 +- .../doc/context/scripts/mkii/texmfstart.html | 2 + .../doc/context/scripts/mkii/texmfstart.man | 8 +- .../doc/context/scripts/mkii/texmfstart.xml | 2 + .../doc/context/scripts/mkii/textools.man | 2 +- .../doc/context/scripts/mkii/texutil.man | 2 +- .../doc/context/scripts/mkii/tmftools.man | 2 +- .../doc/context/scripts/mkii/xmltools.man | 2 +- .../doc/context/scripts/mkiv/context.html | 8 +- .../doc/context/scripts/mkiv/context.man | 11 +- .../doc/context/scripts/mkiv/context.xml | 25 +- .../doc/context/scripts/mkiv/luatools.man | 2 +- .../doc/context/scripts/mkiv/mtx-babel.man | 2 +- .../doc/context/scripts/mkiv/mtx-base.man | 2 +- .../doc/context/scripts/mkiv/mtx-bibtex.html | 53 - .../doc/context/scripts/mkiv/mtx-bibtex.man | 30 - .../doc/context/scripts/mkiv/mtx-bibtex.xml | 26 - .../doc/context/scripts/mkiv/mtx-cache.man | 2 +- .../doc/context/scripts/mkiv/mtx-chars.man | 2 +- .../doc/context/scripts/mkiv/mtx-check.html | 2 +- .../doc/context/scripts/mkiv/mtx-check.man | 4 +- .../doc/context/scripts/mkiv/mtx-check.xml | 2 +- .../doc/context/scripts/mkiv/mtx-colors.man | 2 +- .../doc/context/scripts/mkiv/mtx-context.html | 8 +- .../doc/context/scripts/mkiv/mtx-context.man | 11 +- .../doc/context/scripts/mkiv/mtx-context.xml | 25 +- .../doc/context/scripts/mkiv/mtx-epub.html | 9 +- .../doc/context/scripts/mkiv/mtx-epub.man | 17 +- .../doc/context/scripts/mkiv/mtx-epub.xml | 7 +- .../doc/context/scripts/mkiv/mtx-fcd.man | 2 +- .../doc/context/scripts/mkiv/mtx-flac.man | 2 +- .../doc/context/scripts/mkiv/mtx-fonts.html | 2 +- .../doc/context/scripts/mkiv/mtx-fonts.man | 4 +- .../doc/context/scripts/mkiv/mtx-fonts.xml | 2 +- .../doc/context/scripts/mkiv/mtx-grep.man | 2 +- .../doc/context/scripts/mkiv/mtx-interface.man | 2 +- .../doc/context/scripts/mkiv/mtx-metapost.man | 2 +- .../doc/context/scripts/mkiv/mtx-metatex.man | 2 +- .../doc/context/scripts/mkiv/mtx-modules.man | 2 +- .../doc/context/scripts/mkiv/mtx-package.man | 2 +- .../doc/context/scripts/mkiv/mtx-patterns.html | 2 + .../doc/context/scripts/mkiv/mtx-patterns.man | 5 +- .../doc/context/scripts/mkiv/mtx-patterns.xml | 2 + .../doc/context/scripts/mkiv/mtx-pdf.man | 2 +- .../doc/context/scripts/mkiv/mtx-plain.man | 2 +- .../doc/context/scripts/mkiv/mtx-profile.man | 2 +- .../doc/context/scripts/mkiv/mtx-rsync.man | 2 +- .../doc/context/scripts/mkiv/mtx-scite.man | 2 +- .../doc/context/scripts/mkiv/mtx-server.man | 2 +- .../doc/context/scripts/mkiv/mtx-texworks.man | 2 +- .../doc/context/scripts/mkiv/mtx-timing.man | 2 +- .../doc/context/scripts/mkiv/mtx-tools.man | 2 +- .../doc/context/scripts/mkiv/mtx-unzip.man | 2 +- .../doc/context/scripts/mkiv/mtx-update.man | 2 +- .../doc/context/scripts/mkiv/mtx-watch.man | 2 +- .../doc/context/scripts/mkiv/mtx-youless.man | 2 +- .../doc/context/scripts/mkiv/mtxrun.html | 2 + .../texmf-dist/doc/context/scripts/mkiv/mtxrun.man | 8 +- .../texmf-dist/doc/context/scripts/mkiv/mtxrun.xml | 2 + .../general/manuals/epub/epub-mkiv-demo.tex | 43 + .../sources/general/manuals/epub/epub-mkiv.tex | 466 + .../context/sources/general/manuals/mcommon.tex | 210 + .../sources/general/manuals/readme/mreadme.tex | 372 + .../general/manuals/swiglib/swiglib-mkiv.tex | 335 + .../sources/general/manuals/tiptrick/tiptrick.tex | 117 + .../sources/general/manuals/tiptrick/tiptrick.xml | 53 + .../sources/general/manuals/tools/tools-mkiv.tex | 501 + .../sources/general/manuals/units/units-mkiv.tex | 538 + .../manuals/workflows/workflows-contents.tex | 13 + .../manuals/workflows/workflows-graphics.tex | 157 + .../manuals/workflows/workflows-injectors.tex | 86 + .../manuals/workflows/workflows-introduction.tex | 27 + .../general/manuals/workflows/workflows-mkiv.tex | 30 + .../manuals/workflows/workflows-resources.tex | 156 + .../general/manuals/workflows/workflows-setups.tex | 72 + .../general/manuals/workflows/workflows-style.tex | 49 + .../manuals/workflows/workflows-suspects.tex | 54 + .../manuals/workflows/workflows-titlepage.tex | 37 + .../general/manuals/workflows/workflows-xml.tex | 96 + .../general/manuals/xtables/xtables-mkiv.tex | 1225 + Master/texmf-dist/doc/man/man1/context.1 | 11 +- Master/texmf-dist/doc/man/man1/context.man1.pdf | Bin 7613 -> 7742 bytes Master/texmf-dist/doc/man/man1/latexdiff-vc.1 | 74 +- .../texmf-dist/doc/man/man1/latexdiff-vc.man1.pdf | Bin 8669 -> 10964 bytes Master/texmf-dist/doc/man/man1/latexdiff.1 | 153 +- Master/texmf-dist/doc/man/man1/latexdiff.man1.pdf | Bin 34129 -> 37584 bytes Master/texmf-dist/doc/man/man1/latexrevise.1 | 31 +- .../texmf-dist/doc/man/man1/latexrevise.man1.pdf | Bin 8935 -> 8976 bytes Master/texmf-dist/doc/man/man1/luatools.1 | 2 +- Master/texmf-dist/doc/man/man1/luatools.man1.pdf | Bin 5105 -> 5105 bytes Master/texmf-dist/doc/man/man1/mtx-babel.1 | 2 +- Master/texmf-dist/doc/man/man1/mtx-babel.man1.pdf | Bin 3673 -> 3672 bytes Master/texmf-dist/doc/man/man1/mtx-base.1 | 2 +- Master/texmf-dist/doc/man/man1/mtx-base.man1.pdf | Bin 5124 -> 5124 bytes Master/texmf-dist/doc/man/man1/mtx-bibtex.1 | 30 - Master/texmf-dist/doc/man/man1/mtx-bibtex.man1.pdf | Bin 3493 -> 0 bytes Master/texmf-dist/doc/man/man1/mtx-cache.1 | 2 +- Master/texmf-dist/doc/man/man1/mtx-cache.man1.pdf | Bin 3708 -> 3707 bytes Master/texmf-dist/doc/man/man1/mtx-chars.1 | 2 +- Master/texmf-dist/doc/man/man1/mtx-chars.man1.pdf | Bin 3566 -> 3565 bytes Master/texmf-dist/doc/man/man1/mtx-check.1 | 4 +- Master/texmf-dist/doc/man/man1/mtx-check.man1.pdf | Bin 3581 -> 3554 bytes Master/texmf-dist/doc/man/man1/mtx-colors.1 | 2 +- Master/texmf-dist/doc/man/man1/mtx-colors.man1.pdf | Bin 3442 -> 3442 bytes Master/texmf-dist/doc/man/man1/mtx-context.1 | 11 +- .../texmf-dist/doc/man/man1/mtx-context.man1.pdf | Bin 7613 -> 7742 bytes Master/texmf-dist/doc/man/man1/mtx-epub.1 | 17 +- Master/texmf-dist/doc/man/man1/mtx-epub.man1.pdf | Bin 3536 -> 3826 bytes Master/texmf-dist/doc/man/man1/mtx-fcd.1 | 2 +- Master/texmf-dist/doc/man/man1/mtx-fcd.man1.pdf | Bin 3960 -> 3959 bytes Master/texmf-dist/doc/man/man1/mtx-flac.1 | 2 +- Master/texmf-dist/doc/man/man1/mtx-flac.man1.pdf | Bin 3669 -> 3668 bytes Master/texmf-dist/doc/man/man1/mtx-fonts.1 | 4 +- Master/texmf-dist/doc/man/man1/mtx-fonts.man1.pdf | Bin 4207 -> 4213 bytes Master/texmf-dist/doc/man/man1/mtx-grep.1 | 2 +- Master/texmf-dist/doc/man/man1/mtx-grep.man1.pdf | Bin 3545 -> 3545 bytes Master/texmf-dist/doc/man/man1/mtx-interface.1 | 2 +- .../texmf-dist/doc/man/man1/mtx-interface.man1.pdf | Bin 4105 -> 4105 bytes Master/texmf-dist/doc/man/man1/mtx-metapost.1 | 2 +- .../texmf-dist/doc/man/man1/mtx-metapost.man1.pdf | 24 +- Master/texmf-dist/doc/man/man1/mtx-metatex.1 | 2 +- .../texmf-dist/doc/man/man1/mtx-metatex.man1.pdf | Bin 3630 -> 3630 bytes Master/texmf-dist/doc/man/man1/mtx-modules.1 | 2 +- .../texmf-dist/doc/man/man1/mtx-modules.man1.pdf | Bin 3761 -> 3754 bytes Master/texmf-dist/doc/man/man1/mtx-package.1 | 2 +- .../texmf-dist/doc/man/man1/mtx-package.man1.pdf | Bin 3568 -> 3568 bytes Master/texmf-dist/doc/man/man1/mtx-patterns.1 | 5 +- .../texmf-dist/doc/man/man1/mtx-patterns.man1.pdf | Bin 4084 -> 4137 bytes Master/texmf-dist/doc/man/man1/mtx-pdf.1 | 2 +- Master/texmf-dist/doc/man/man1/mtx-pdf.man1.pdf | Bin 3695 -> 3695 bytes Master/texmf-dist/doc/man/man1/mtx-plain.1 | 2 +- Master/texmf-dist/doc/man/man1/mtx-plain.man1.pdf | Bin 3711 -> 3709 bytes Master/texmf-dist/doc/man/man1/mtx-profile.1 | 2 +- .../texmf-dist/doc/man/man1/mtx-profile.man1.pdf | 56 +- Master/texmf-dist/doc/man/man1/mtx-rsync.1 | 2 +- Master/texmf-dist/doc/man/man1/mtx-rsync.man1.pdf | Bin 3636 -> 3638 bytes Master/texmf-dist/doc/man/man1/mtx-scite.1 | 2 +- Master/texmf-dist/doc/man/man1/mtx-scite.man1.pdf | Bin 3752 -> 3752 bytes Master/texmf-dist/doc/man/man1/mtx-server.1 | 2 +- Master/texmf-dist/doc/man/man1/mtx-server.man1.pdf | 24 +- Master/texmf-dist/doc/man/man1/mtx-texworks.1 | 2 +- .../texmf-dist/doc/man/man1/mtx-texworks.man1.pdf | Bin 3558 -> 3557 bytes Master/texmf-dist/doc/man/man1/mtx-timing.1 | 2 +- Master/texmf-dist/doc/man/man1/mtx-timing.man1.pdf | Bin 3679 -> 3679 bytes Master/texmf-dist/doc/man/man1/mtx-tools.1 | 2 +- Master/texmf-dist/doc/man/man1/mtx-tools.man1.pdf | Bin 3995 -> 3995 bytes Master/texmf-dist/doc/man/man1/mtx-unzip.1 | 2 +- Master/texmf-dist/doc/man/man1/mtx-unzip.man1.pdf | Bin 3597 -> 3597 bytes Master/texmf-dist/doc/man/man1/mtx-update.1 | 2 +- Master/texmf-dist/doc/man/man1/mtx-update.man1.pdf | Bin 5030 -> 5029 bytes Master/texmf-dist/doc/man/man1/mtx-watch.1 | 2 +- Master/texmf-dist/doc/man/man1/mtx-watch.man1.pdf | Bin 3868 -> 3867 bytes Master/texmf-dist/doc/man/man1/mtx-youless.1 | 2 +- .../texmf-dist/doc/man/man1/mtx-youless.man1.pdf | Bin 3859 -> 3858 bytes Master/texmf-dist/doc/man/man1/mtxrun.1 | 8 +- Master/texmf-dist/doc/man/man1/mtxrun.man1.pdf | Bin 7032 -> 7216 bytes Master/texmf-dist/doc/man/man1/texexec.1 | 2 +- Master/texmf-dist/doc/man/man1/texexec.man1.pdf | Bin 4713 -> 4713 bytes Master/texmf-dist/doc/man/man1/texmfstart.1 | 8 +- Master/texmf-dist/doc/man/man1/texmfstart.man1.pdf | Bin 7032 -> 7216 bytes .../fonts/map/pdftex/context/mkiv-base.map | 182 +- .../texmf-dist/metapost/context/base/metafun.mpiv | 4 + .../texmf-dist/metapost/context/base/mp-bare.mpiv | 93 + .../texmf-dist/metapost/context/base/mp-base.mpiv | 13 +- .../texmf-dist/metapost/context/base/mp-chem.mpiv | 34 +- .../texmf-dist/metapost/context/base/mp-func.mpiv | 33 +- .../texmf-dist/metapost/context/base/mp-grap.mpiv | 28 +- .../texmf-dist/metapost/context/base/mp-luas.mpiv | 9 + .../texmf-dist/metapost/context/base/mp-mlib.mpiv | 566 +- .../texmf-dist/metapost/context/base/mp-page.mpiv | 513 +- .../texmf-dist/metapost/context/base/mp-tool.mpii | 2 +- .../texmf-dist/metapost/context/base/mp-tool.mpiv | 192 +- .../texmf-dist/scripts/context/lua/mtx-bibtex.lua | 52 +- .../texmf-dist/scripts/context/lua/mtx-check.lua | 43 +- .../texmf-dist/scripts/context/lua/mtx-context.lua | 138 +- .../texmf-dist/scripts/context/lua/mtx-context.xml | 25 +- .../texmf-dist/scripts/context/lua/mtx-convert.lua | 2 +- Master/texmf-dist/scripts/context/lua/mtx-epub.lua | 879 +- Master/texmf-dist/scripts/context/lua/mtx-fcd.lua | 4 +- .../texmf-dist/scripts/context/lua/mtx-fonts.lua | 2 +- .../scripts/context/lua/mtx-interface.lua | 8 +- .../scripts/context/lua/mtx-metapost.lua | 60 +- .../scripts/context/lua/mtx-patterns.lua | 47 + .../texmf-dist/scripts/context/lua/mtx-server.lua | 25 +- .../texmf-dist/scripts/context/lua/mtx-update.lua | 2 + Master/texmf-dist/scripts/context/lua/mtxrun.lua | 3663 +- .../scripts/context/stubs/mswin/mtxrun.lua | 3663 +- .../texmf-dist/scripts/context/stubs/unix/mtxrun | 3663 +- .../scripts/context/stubs/win64/mtxrun.lua | 3663 +- Master/texmf-dist/tex/context/base/anch-bar.mkiv | 4 +- Master/texmf-dist/tex/context/base/anch-bck.mkvi | 6 +- Master/texmf-dist/tex/context/base/anch-pgr.lua | 145 +- Master/texmf-dist/tex/context/base/anch-pgr.mkiv | 49 +- Master/texmf-dist/tex/context/base/anch-pos.lua | 361 +- Master/texmf-dist/tex/context/base/anch-pos.mkiv | 124 +- Master/texmf-dist/tex/context/base/anch-snc.mkiv | 4 +- Master/texmf-dist/tex/context/base/anch-tab.mkiv | 8 +- Master/texmf-dist/tex/context/base/attr-col.lua | 57 +- Master/texmf-dist/tex/context/base/attr-eff.lua | 41 +- Master/texmf-dist/tex/context/base/attr-eff.mkiv | 12 +- Master/texmf-dist/tex/context/base/attr-ini.lua | 60 +- Master/texmf-dist/tex/context/base/attr-ini.mkiv | 35 +- Master/texmf-dist/tex/context/base/attr-lay.lua | 88 +- Master/texmf-dist/tex/context/base/attr-lay.mkiv | 36 +- Master/texmf-dist/tex/context/base/attr-neg.lua | 12 +- Master/texmf-dist/tex/context/base/attr-neg.mkiv | 2 +- Master/texmf-dist/tex/context/base/back-exp.lua | 3946 +- Master/texmf-dist/tex/context/base/back-exp.mkiv | 157 +- Master/texmf-dist/tex/context/base/back-ini.lua | 17 +- Master/texmf-dist/tex/context/base/back-ini.mkiv | 8 +- Master/texmf-dist/tex/context/base/back-pdf.lua | 114 +- Master/texmf-dist/tex/context/base/back-pdf.mkiv | 272 +- Master/texmf-dist/tex/context/base/bibl-bib.mkiv | 24 +- Master/texmf-dist/tex/context/base/bibl-tra.mkii | 3 +- Master/texmf-dist/tex/context/base/bibl-tra.mkiv | 68 +- Master/texmf-dist/tex/context/base/blob-ini.lua | 21 +- Master/texmf-dist/tex/context/base/blob-ini.mkiv | 8 +- .../tex/context/base/buff-imp-default.lua | 2 +- .../texmf-dist/tex/context/base/buff-imp-lua.lua | 4 +- Master/texmf-dist/tex/context/base/buff-ini.lua | 301 +- Master/texmf-dist/tex/context/base/buff-ini.mkiv | 78 +- Master/texmf-dist/tex/context/base/buff-par.lua | 112 +- Master/texmf-dist/tex/context/base/buff-par.mkvi | 68 +- Master/texmf-dist/tex/context/base/buff-ver.lua | 133 +- Master/texmf-dist/tex/context/base/buff-ver.mkiv | 246 +- Master/texmf-dist/tex/context/base/bxml-apa.mkiv | 4 +- Master/texmf-dist/tex/context/base/catc-act.mkiv | 6 +- Master/texmf-dist/tex/context/base/catc-ini.mkiv | 32 +- Master/texmf-dist/tex/context/base/catc-sym.mkiv | 8 +- Master/texmf-dist/tex/context/base/char-act.mkiv | 7 +- Master/texmf-dist/tex/context/base/char-def.lua | 68494 ++++++++++++------- Master/texmf-dist/tex/context/base/char-enc.lua | 11 +- Master/texmf-dist/tex/context/base/char-ent.lua | 10 +- Master/texmf-dist/tex/context/base/char-fio.lua | 94 + Master/texmf-dist/tex/context/base/char-ini.lua | 1017 +- Master/texmf-dist/tex/context/base/char-ini.mkiv | 50 +- Master/texmf-dist/tex/context/base/char-tex.lua | 654 +- Master/texmf-dist/tex/context/base/char-utf.lua | 746 +- Master/texmf-dist/tex/context/base/char-utf.mkiv | 17 +- Master/texmf-dist/tex/context/base/chem-ini.lua | 37 +- Master/texmf-dist/tex/context/base/chem-ini.mkiv | 2 +- Master/texmf-dist/tex/context/base/chem-str.lua | 83 +- Master/texmf-dist/tex/context/base/chem-str.mkiv | 78 +- Master/texmf-dist/tex/context/base/cldf-bas.lua | 24 +- Master/texmf-dist/tex/context/base/cldf-ini.lua | 351 +- Master/texmf-dist/tex/context/base/cldf-prs.lua | 88 +- Master/texmf-dist/tex/context/base/cldf-scn.lua | 163 + Master/texmf-dist/tex/context/base/colo-ext.mkiv | 18 +- Master/texmf-dist/tex/context/base/colo-grp.mkiv | 2 +- .../texmf-dist/tex/context/base/colo-imp-rgb.mkiv | 4 +- Master/texmf-dist/tex/context/base/colo-ini.lua | 445 +- Master/texmf-dist/tex/context/base/colo-ini.mkiv | 151 +- Master/texmf-dist/tex/context/base/colo-run.mkiv | 8 +- Master/texmf-dist/tex/context/base/colo-xwi.mkii | 7 +- Master/texmf-dist/tex/context/base/cont-fil.mkii | 2 + Master/texmf-dist/tex/context/base/cont-fil.mkiv | 1 + Master/texmf-dist/tex/context/base/cont-log.mkiv | 141 +- Master/texmf-dist/tex/context/base/cont-new.mkiv | 57 +- Master/texmf-dist/tex/context/base/cont-run.lua | 252 + Master/texmf-dist/tex/context/base/cont-run.mkiv | 20 + Master/texmf-dist/tex/context/base/cont-yes.mkiv | 154 +- .../tex/context/base/context-version.pdf | Bin 4275 -> 4187 bytes Master/texmf-dist/tex/context/base/context.mkiv | 47 +- Master/texmf-dist/tex/context/base/core-con.lua | 284 +- Master/texmf-dist/tex/context/base/core-con.mkiv | 171 +- Master/texmf-dist/tex/context/base/core-ctx.lua | 76 +- Master/texmf-dist/tex/context/base/core-ctx.mkiv | 14 +- Master/texmf-dist/tex/context/base/core-dat.lua | 58 +- Master/texmf-dist/tex/context/base/core-dat.mkiv | 38 +- Master/texmf-dist/tex/context/base/core-def.mkiv | 12 +- Master/texmf-dist/tex/context/base/core-env.lua | 295 +- Master/texmf-dist/tex/context/base/core-env.mkiv | 211 +- Master/texmf-dist/tex/context/base/core-ini.mkiv | 3 + Master/texmf-dist/tex/context/base/core-sys.lua | 60 +- Master/texmf-dist/tex/context/base/core-sys.mkiv | 72 +- Master/texmf-dist/tex/context/base/core-two.lua | 52 +- Master/texmf-dist/tex/context/base/core-two.mkiv | 27 +- Master/texmf-dist/tex/context/base/core-uti.lua | 74 +- Master/texmf-dist/tex/context/base/core-uti.mkiv | 18 +- Master/texmf-dist/tex/context/base/data-crl.lua | 2 +- Master/texmf-dist/tex/context/base/data-env.lua | 19 +- Master/texmf-dist/tex/context/base/data-exp.lua | 355 +- Master/texmf-dist/tex/context/base/data-fil.lua | 28 +- Master/texmf-dist/tex/context/base/data-ini.lua | 150 +- Master/texmf-dist/tex/context/base/data-lst.lua | 26 +- Master/texmf-dist/tex/context/base/data-lua.lua | 23 +- Master/texmf-dist/tex/context/base/data-met.lua | 2 - Master/texmf-dist/tex/context/base/data-pre.lua | 234 +- Master/texmf-dist/tex/context/base/data-res.lua | 795 +- Master/texmf-dist/tex/context/base/data-sch.lua | 16 +- Master/texmf-dist/tex/context/base/data-tex.lua | 8 +- Master/texmf-dist/tex/context/base/data-tmf.lua | 2 +- Master/texmf-dist/tex/context/base/data-tmp.lua | 23 +- Master/texmf-dist/tex/context/base/data-tre.lua | 222 +- Master/texmf-dist/tex/context/base/data-vir.lua | 10 +- Master/texmf-dist/tex/context/base/data-zip.lua | 62 +- Master/texmf-dist/tex/context/base/enco-ini.mkiv | 238 +- .../texmf-dist/tex/context/base/export-example.css | 444 +- .../texmf-dist/tex/context/base/export-example.tex | 4 +- Master/texmf-dist/tex/context/base/file-ini.lua | 45 +- Master/texmf-dist/tex/context/base/file-ini.mkvi | 30 +- Master/texmf-dist/tex/context/base/file-job.lua | 589 +- Master/texmf-dist/tex/context/base/file-job.mkvi | 171 +- Master/texmf-dist/tex/context/base/file-lib.lua | 65 +- Master/texmf-dist/tex/context/base/file-mod.lua | 89 +- Master/texmf-dist/tex/context/base/file-mod.mkvi | 60 +- Master/texmf-dist/tex/context/base/file-res.lua | 35 +- Master/texmf-dist/tex/context/base/file-res.mkvi | 8 +- Master/texmf-dist/tex/context/base/file-syn.lua | 35 +- Master/texmf-dist/tex/context/base/file-syn.mkvi | 6 +- Master/texmf-dist/tex/context/base/font-afm.lua | 89 +- Master/texmf-dist/tex/context/base/font-agl.lua | 12 +- Master/texmf-dist/tex/context/base/font-chk.lua | 100 +- Master/texmf-dist/tex/context/base/font-chk.mkiv | 8 +- Master/texmf-dist/tex/context/base/font-cid.lua | 25 +- Master/texmf-dist/tex/context/base/font-col.lua | 43 +- Master/texmf-dist/tex/context/base/font-col.mkvi | 12 +- Master/texmf-dist/tex/context/base/font-con.lua | 112 +- Master/texmf-dist/tex/context/base/font-ctx.lua | 777 +- Master/texmf-dist/tex/context/base/font-def.lua | 4 +- Master/texmf-dist/tex/context/base/font-enc.lua | 8 +- Master/texmf-dist/tex/context/base/font-enh.lua | 28 +- Master/texmf-dist/tex/context/base/font-ext.lua | 95 +- Master/texmf-dist/tex/context/base/font-fbk.lua | 41 +- Master/texmf-dist/tex/context/base/font-fea.mkvi | 36 +- Master/texmf-dist/tex/context/base/font-fil.mkvi | 100 +- Master/texmf-dist/tex/context/base/font-gds.lua | 30 +- Master/texmf-dist/tex/context/base/font-gds.mkvi | 4 +- Master/texmf-dist/tex/context/base/font-hsh.lua | 44 +- Master/texmf-dist/tex/context/base/font-ini.lua | 2 +- Master/texmf-dist/tex/context/base/font-ini.mkvi | 194 +- Master/texmf-dist/tex/context/base/font-inj.lua | 1052 + Master/texmf-dist/tex/context/base/font-lib.mkvi | 28 +- Master/texmf-dist/tex/context/base/font-map.lua | 305 +- Master/texmf-dist/tex/context/base/font-mis.lua | 14 +- Master/texmf-dist/tex/context/base/font-nod.lua | 169 +- Master/texmf-dist/tex/context/base/font-odv.lua | 19 + Master/texmf-dist/tex/context/base/font-ota.lua | 430 +- Master/texmf-dist/tex/context/base/font-otb.lua | 111 +- Master/texmf-dist/tex/context/base/font-otf.lua | 545 +- Master/texmf-dist/tex/context/base/font-otn.lua | 1164 +- Master/texmf-dist/tex/context/base/font-otp.lua | 49 +- Master/texmf-dist/tex/context/base/font-ott.lua | 9 +- Master/texmf-dist/tex/context/base/font-otx.lua | 419 - Master/texmf-dist/tex/context/base/font-pre.mkiv | 76 +- Master/texmf-dist/tex/context/base/font-run.mkiv | 8 +- Master/texmf-dist/tex/context/base/font-sel.lua | 102 +- Master/texmf-dist/tex/context/base/font-sel.mkvi | 185 +- Master/texmf-dist/tex/context/base/font-set.mkvi | 23 +- Master/texmf-dist/tex/context/base/font-sol.lua | 56 +- Master/texmf-dist/tex/context/base/font-sol.mkvi | 32 +- Master/texmf-dist/tex/context/base/font-sty.mkvi | 4 +- Master/texmf-dist/tex/context/base/font-sym.mkvi | 18 +- Master/texmf-dist/tex/context/base/font-syn.lua | 101 +- Master/texmf-dist/tex/context/base/font-tfm.lua | 12 +- Master/texmf-dist/tex/context/base/font-tra.mkiv | 17 +- Master/texmf-dist/tex/context/base/font-uni.mkiv | 10 +- Master/texmf-dist/tex/context/base/grph-epd.lua | 9 + Master/texmf-dist/tex/context/base/grph-epd.mkiv | 6 +- Master/texmf-dist/tex/context/base/grph-fig.mkiv | 6 +- Master/texmf-dist/tex/context/base/grph-fil.lua | 6 + Master/texmf-dist/tex/context/base/grph-inc.lua | 717 +- Master/texmf-dist/tex/context/base/grph-inc.mkiv | 182 +- Master/texmf-dist/tex/context/base/grph-raw.lua | 15 + Master/texmf-dist/tex/context/base/grph-raw.mkiv | 16 +- Master/texmf-dist/tex/context/base/grph-trf.mkiv | 16 +- Master/texmf-dist/tex/context/base/hand-ini.mkiv | 12 +- .../texmf-dist/tex/context/base/java-imp-fld.mkiv | 33 +- Master/texmf-dist/tex/context/base/java-ini.lua | 52 +- Master/texmf-dist/tex/context/base/java-ini.mkiv | 20 +- Master/texmf-dist/tex/context/base/l-boolean.lua | 6 +- Master/texmf-dist/tex/context/base/l-dir.lua | 398 +- Master/texmf-dist/tex/context/base/l-file.lua | 193 +- Master/texmf-dist/tex/context/base/l-io.lua | 5 - Master/texmf-dist/tex/context/base/l-lpeg.lua | 250 +- Master/texmf-dist/tex/context/base/l-lua.lua | 11 + Master/texmf-dist/tex/context/base/l-math.lua | 4 + Master/texmf-dist/tex/context/base/l-md5.lua | 64 +- Master/texmf-dist/tex/context/base/l-os.lua | 14 +- Master/texmf-dist/tex/context/base/l-sandbox.lua | 271 + Master/texmf-dist/tex/context/base/l-string.lua | 2 +- Master/texmf-dist/tex/context/base/l-table.lua | 135 +- Master/texmf-dist/tex/context/base/l-unicode.lua | 689 +- Master/texmf-dist/tex/context/base/l-url.lua | 68 +- Master/texmf-dist/tex/context/base/lang-def.mkiv | 34 +- Master/texmf-dist/tex/context/base/lang-dis.lua | 203 + Master/texmf-dist/tex/context/base/lang-hyp.lua | 1648 + Master/texmf-dist/tex/context/base/lang-hyp.mkiv | 267 + Master/texmf-dist/tex/context/base/lang-ini.lua | 121 +- Master/texmf-dist/tex/context/base/lang-ini.mkiv | 138 +- Master/texmf-dist/tex/context/base/lang-lab.lua | 49 +- Master/texmf-dist/tex/context/base/lang-lab.mkiv | 49 +- Master/texmf-dist/tex/context/base/lang-mis.mkiv | 229 +- Master/texmf-dist/tex/context/base/lang-rep.lua | 21 +- Master/texmf-dist/tex/context/base/lang-rep.mkiv | 4 +- Master/texmf-dist/tex/context/base/lang-txt.lua | 222 +- Master/texmf-dist/tex/context/base/lang-url.lua | 93 +- Master/texmf-dist/tex/context/base/lang-url.mkiv | 73 +- Master/texmf-dist/tex/context/base/lang-wrd.lua | 29 +- Master/texmf-dist/tex/context/base/lang-wrd.mkiv | 9 +- Master/texmf-dist/tex/context/base/lpdf-ano.lua | 195 +- Master/texmf-dist/tex/context/base/lpdf-col.lua | 41 +- Master/texmf-dist/tex/context/base/lpdf-epa.lua | 240 +- Master/texmf-dist/tex/context/base/lpdf-epd.lua | 809 +- Master/texmf-dist/tex/context/base/lpdf-fld.lua | 8 +- Master/texmf-dist/tex/context/base/lpdf-fmt.lua | 12 +- Master/texmf-dist/tex/context/base/lpdf-grp.lua | 2 +- Master/texmf-dist/tex/context/base/lpdf-ini.lua | 589 +- Master/texmf-dist/tex/context/base/lpdf-mis.lua | 96 +- Master/texmf-dist/tex/context/base/lpdf-pda.xml | 9 +- Master/texmf-dist/tex/context/base/lpdf-pdx.xml | 8 +- Master/texmf-dist/tex/context/base/lpdf-ren.lua | 36 +- Master/texmf-dist/tex/context/base/lpdf-tag.lua | 422 +- Master/texmf-dist/tex/context/base/lpdf-xmp.lua | 18 +- Master/texmf-dist/tex/context/base/luat-bas.mkiv | 3 +- Master/texmf-dist/tex/context/base/luat-cnf.lua | 72 +- Master/texmf-dist/tex/context/base/luat-cod.lua | 2 +- Master/texmf-dist/tex/context/base/luat-exe.lua | 143 +- Master/texmf-dist/tex/context/base/luat-fmt.lua | 4 +- Master/texmf-dist/tex/context/base/luat-ini.lua | 186 +- Master/texmf-dist/tex/context/base/luat-ini.mkiv | 175 +- Master/texmf-dist/tex/context/base/luat-iop.lua | 203 +- Master/texmf-dist/tex/context/base/luat-lib.mkiv | 6 +- Master/texmf-dist/tex/context/base/luat-mac.lua | 11 +- Master/texmf-dist/tex/context/base/luat-run.lua | 31 +- Master/texmf-dist/tex/context/base/luat-usr.lua | 192 + Master/texmf-dist/tex/context/base/luat-usr.mkiv | 126 + Master/texmf-dist/tex/context/base/lxml-aux.lua | 314 +- Master/texmf-dist/tex/context/base/lxml-css.lua | 14 +- Master/texmf-dist/tex/context/base/lxml-ini.lua | 136 + Master/texmf-dist/tex/context/base/lxml-ini.mkiv | 337 +- Master/texmf-dist/tex/context/base/lxml-lpt.lua | 19 +- Master/texmf-dist/tex/context/base/lxml-sor.mkiv | 5 +- Master/texmf-dist/tex/context/base/lxml-tab.lua | 64 +- Master/texmf-dist/tex/context/base/lxml-tex.lua | 407 +- Master/texmf-dist/tex/context/base/m-chart.lua | 89 +- Master/texmf-dist/tex/context/base/m-chart.mkvi | 10 +- .../texmf-dist/tex/context/base/m-hemistich.mkiv | 10 +- Master/texmf-dist/tex/context/base/m-matrix.mkiv | 495 + Master/texmf-dist/tex/context/base/m-morse.mkvi | 273 - Master/texmf-dist/tex/context/base/m-oldfun.mkiv | 2 +- Master/texmf-dist/tex/context/base/m-oldnum.mkiv | 32 +- Master/texmf-dist/tex/context/base/m-scite.mkiv | 6 + .../texmf-dist/tex/context/base/m-spreadsheet.mkiv | 6 +- Master/texmf-dist/tex/context/base/m-steps.lua | 21 +- Master/texmf-dist/tex/context/base/m-steps.mkvi | 2 +- .../texmf-dist/tex/context/base/m-translate.mkiv | 31 +- Master/texmf-dist/tex/context/base/m-visual.mkiv | 4 +- Master/texmf-dist/tex/context/base/math-act.lua | 136 +- Master/texmf-dist/tex/context/base/math-ali.mkiv | 54 +- Master/texmf-dist/tex/context/base/math-arr.mkiv | 2 +- Master/texmf-dist/tex/context/base/math-def.mkiv | 3 + Master/texmf-dist/tex/context/base/math-dir.lua | 7 +- Master/texmf-dist/tex/context/base/math-fbk.lua | 74 +- Master/texmf-dist/tex/context/base/math-frc.lua | 18 +- Master/texmf-dist/tex/context/base/math-frc.mkiv | 230 +- Master/texmf-dist/tex/context/base/math-ini.lua | 160 +- Master/texmf-dist/tex/context/base/math-ini.mkiv | 334 +- Master/texmf-dist/tex/context/base/math-int.mkiv | 2 + Master/texmf-dist/tex/context/base/math-map.lua | 43 +- Master/texmf-dist/tex/context/base/math-noa.lua | 454 +- Master/texmf-dist/tex/context/base/math-rad.mkvi | 30 +- Master/texmf-dist/tex/context/base/math-ren.lua | 8 +- Master/texmf-dist/tex/context/base/math-stc.mkvi | 441 +- Master/texmf-dist/tex/context/base/math-tag.lua | 610 +- Master/texmf-dist/tex/context/base/math-vfu.lua | 46 +- Master/texmf-dist/tex/context/base/meta-fig.mkiv | 5 +- Master/texmf-dist/tex/context/base/meta-fnt.lua | 43 +- Master/texmf-dist/tex/context/base/meta-fnt.mkiv | 8 +- Master/texmf-dist/tex/context/base/meta-fun.lua | 4 +- .../texmf-dist/tex/context/base/meta-imp-dum.mkiv | 3 + .../texmf-dist/tex/context/base/meta-imp-tab.mkiv | 73 + .../texmf-dist/tex/context/base/meta-imp-txt.mkiv | 9 +- Master/texmf-dist/tex/context/base/meta-ini.lua | 28 - Master/texmf-dist/tex/context/base/meta-ini.mkiv | 330 +- Master/texmf-dist/tex/context/base/meta-pag.mkiv | 126 +- Master/texmf-dist/tex/context/base/meta-pdf.lua | 13 +- Master/texmf-dist/tex/context/base/meta-pdf.mkiv | 2 +- Master/texmf-dist/tex/context/base/meta-pdh.mkiv | 10 +- Master/texmf-dist/tex/context/base/meta-tex.lua | 47 +- Master/texmf-dist/tex/context/base/meta-tex.mkiv | 14 +- Master/texmf-dist/tex/context/base/mlib-ctx.lua | 226 +- Master/texmf-dist/tex/context/base/mlib-ctx.mkiv | 1 + Master/texmf-dist/tex/context/base/mlib-int.lua | 149 + Master/texmf-dist/tex/context/base/mlib-lua.lua | 203 +- Master/texmf-dist/tex/context/base/mlib-pdf.lua | 295 +- Master/texmf-dist/tex/context/base/mlib-pdf.mkiv | 59 +- Master/texmf-dist/tex/context/base/mlib-pps.lua | 471 +- Master/texmf-dist/tex/context/base/mlib-pps.mkiv | 35 +- Master/texmf-dist/tex/context/base/mlib-run.lua | 399 +- .../tex/context/base/mtx-context-arrange.tex | 25 +- .../tex/context/base/mtx-context-listing.tex | 9 +- .../tex/context/base/mtx-context-precache.tex | 161 + Master/texmf-dist/tex/context/base/mult-aux.lua | 12 + Master/texmf-dist/tex/context/base/mult-aux.mkiv | 163 +- Master/texmf-dist/tex/context/base/mult-chk.lua | 21 +- Master/texmf-dist/tex/context/base/mult-chk.mkiv | 7 +- Master/texmf-dist/tex/context/base/mult-de.mkii | 21 +- Master/texmf-dist/tex/context/base/mult-def.lua | 107 +- Master/texmf-dist/tex/context/base/mult-def.mkiv | 187 +- Master/texmf-dist/tex/context/base/mult-en.mkii | 19 +- Master/texmf-dist/tex/context/base/mult-fr.mkii | 23 +- Master/texmf-dist/tex/context/base/mult-fun.lua | 93 +- Master/texmf-dist/tex/context/base/mult-ini.lua | 62 +- Master/texmf-dist/tex/context/base/mult-ini.mkiv | 24 +- Master/texmf-dist/tex/context/base/mult-it.mkii | 23 +- Master/texmf-dist/tex/context/base/mult-low.lua | 83 +- Master/texmf-dist/tex/context/base/mult-mes.lua | 9 + Master/texmf-dist/tex/context/base/mult-mps.lua | 67 +- Master/texmf-dist/tex/context/base/mult-nl.mkii | 29 +- Master/texmf-dist/tex/context/base/mult-pe.mkii | 23 +- Master/texmf-dist/tex/context/base/mult-prm.lua | 5 +- Master/texmf-dist/tex/context/base/mult-ro.mkii | 21 +- Master/texmf-dist/tex/context/base/mult-sys.mkiv | 56 +- Master/texmf-dist/tex/context/base/node-aux.lua | 19 +- Master/texmf-dist/tex/context/base/node-bck.lua | 18 +- Master/texmf-dist/tex/context/base/node-bck.mkiv | 14 +- Master/texmf-dist/tex/context/base/node-fin.lua | 51 +- Master/texmf-dist/tex/context/base/node-fin.mkiv | 10 +- Master/texmf-dist/tex/context/base/node-fnt.lua | 212 +- Master/texmf-dist/tex/context/base/node-ini.lua | 8 +- Master/texmf-dist/tex/context/base/node-ini.mkiv | 2 +- Master/texmf-dist/tex/context/base/node-inj.lua | 33 +- Master/texmf-dist/tex/context/base/node-ltp.lua | 17 +- Master/texmf-dist/tex/context/base/node-nut.lua | 56 +- Master/texmf-dist/tex/context/base/node-pro.lua | 6 +- Master/texmf-dist/tex/context/base/node-ref.lua | 373 +- Master/texmf-dist/tex/context/base/node-res.lua | 12 + Master/texmf-dist/tex/context/base/node-rul.lua | 49 + Master/texmf-dist/tex/context/base/node-rul.mkiv | 88 +- Master/texmf-dist/tex/context/base/node-shp.lua | 144 +- Master/texmf-dist/tex/context/base/node-tex.lua | 27 +- Master/texmf-dist/tex/context/base/node-tra.lua | 239 +- Master/texmf-dist/tex/context/base/node-tsk.lua | 8 + Master/texmf-dist/tex/context/base/pack-bck.mkvi | 9 +- Master/texmf-dist/tex/context/base/pack-box.mkiv | 115 +- Master/texmf-dist/tex/context/base/pack-com.mkiv | 28 +- Master/texmf-dist/tex/context/base/pack-fen.mkiv | 18 +- Master/texmf-dist/tex/context/base/pack-lyr.mkiv | 33 +- Master/texmf-dist/tex/context/base/pack-mis.mkvi | 3 +- Master/texmf-dist/tex/context/base/pack-mrl.mkiv | 14 +- Master/texmf-dist/tex/context/base/pack-obj.lua | 67 +- Master/texmf-dist/tex/context/base/pack-obj.mkiv | 15 +- Master/texmf-dist/tex/context/base/pack-pos.mkiv | 2 +- Master/texmf-dist/tex/context/base/pack-rul.lua | 18 +- Master/texmf-dist/tex/context/base/pack-rul.mkiv | 277 +- Master/texmf-dist/tex/context/base/page-app.mkiv | 3 + Master/texmf-dist/tex/context/base/page-bck.mkiv | 56 +- Master/texmf-dist/tex/context/base/page-brk.mkiv | 16 +- Master/texmf-dist/tex/context/base/page-flt.lua | 128 +- Master/texmf-dist/tex/context/base/page-flt.mkiv | 30 +- Master/texmf-dist/tex/context/base/page-flw.mkiv | 7 +- Master/texmf-dist/tex/context/base/page-imp.mkiv | 14 +- Master/texmf-dist/tex/context/base/page-ini.mkiv | 13 +- Master/texmf-dist/tex/context/base/page-inj.lua | 29 +- Master/texmf-dist/tex/context/base/page-inj.mkvi | 20 +- Master/texmf-dist/tex/context/base/page-ins.lua | 54 +- Master/texmf-dist/tex/context/base/page-ins.mkiv | 22 +- Master/texmf-dist/tex/context/base/page-lay.mkiv | 61 +- Master/texmf-dist/tex/context/base/page-lin.lua | 46 +- Master/texmf-dist/tex/context/base/page-lin.mkvi | 76 +- Master/texmf-dist/tex/context/base/page-mak.mkvi | 5 +- Master/texmf-dist/tex/context/base/page-mbk.mkvi | 2 +- Master/texmf-dist/tex/context/base/page-mix.lua | 229 +- Master/texmf-dist/tex/context/base/page-mix.mkiv | 149 +- Master/texmf-dist/tex/context/base/page-mul.mkiv | 2 +- Master/texmf-dist/tex/context/base/page-one.mkiv | 15 +- Master/texmf-dist/tex/context/base/page-pst.lua | 41 +- Master/texmf-dist/tex/context/base/page-pst.mkiv | 7 +- Master/texmf-dist/tex/context/base/page-run.mkiv | 14 +- Master/texmf-dist/tex/context/base/page-sel.mkvi | 2 +- Master/texmf-dist/tex/context/base/page-set.mkiv | 12 +- Master/texmf-dist/tex/context/base/page-sid.mkiv | 101 +- Master/texmf-dist/tex/context/base/page-str.lua | 56 + Master/texmf-dist/tex/context/base/page-str.mkiv | 26 +- Master/texmf-dist/tex/context/base/page-txt.mkvi | 19 +- Master/texmf-dist/tex/context/base/phys-dim.lua | 58 +- Master/texmf-dist/tex/context/base/phys-dim.mkiv | 19 +- Master/texmf-dist/tex/context/base/ppchtex.mkiv | 38 +- Master/texmf-dist/tex/context/base/publ-aut.lua | 739 +- Master/texmf-dist/tex/context/base/publ-dat.lua | 1347 +- Master/texmf-dist/tex/context/base/publ-fnd.lua | 411 +- .../texmf-dist/tex/context/base/publ-imp-apa.lua | 521 + .../texmf-dist/tex/context/base/publ-imp-apa.mkiv | 547 - .../texmf-dist/tex/context/base/publ-imp-apa.mkvi | 1473 + .../texmf-dist/tex/context/base/publ-imp-aps.lua | 479 + .../texmf-dist/tex/context/base/publ-imp-aps.mkvi | 1156 + .../tex/context/base/publ-imp-author.mkvi | 303 + .../texmf-dist/tex/context/base/publ-imp-cite.mkiv | 256 - .../texmf-dist/tex/context/base/publ-imp-cite.mkvi | 314 + .../tex/context/base/publ-imp-commands.mkiv | 15 - .../tex/context/base/publ-imp-commands.mkvi | 15 + .../tex/context/base/publ-imp-default.lua | 124 + .../tex/context/base/publ-imp-default.mkvi | 594 + .../tex/context/base/publ-imp-definitions.mkiv | 68 - .../tex/context/base/publ-imp-definitions.mkvi | 123 + .../texmf-dist/tex/context/base/publ-imp-list.mkvi | 90 + .../texmf-dist/tex/context/base/publ-imp-page.mkvi | 78 + .../tex/context/base/publ-imp-replacements.lua | 13 + .../texmf-dist/tex/context/base/publ-imp-test.bib | 294 + Master/texmf-dist/tex/context/base/publ-ini.lua | 4239 +- Master/texmf-dist/tex/context/base/publ-ini.mkiv | 1963 +- Master/texmf-dist/tex/context/base/publ-jrn.lua | 188 + Master/texmf-dist/tex/context/base/publ-oth.lua | 16 +- Master/texmf-dist/tex/context/base/publ-reg.lua | 177 + Master/texmf-dist/tex/context/base/publ-sor.lua | 276 + Master/texmf-dist/tex/context/base/publ-tra.lua | 670 +- Master/texmf-dist/tex/context/base/publ-tra.mkiv | 70 +- Master/texmf-dist/tex/context/base/publ-usr.lua | 131 +- Master/texmf-dist/tex/context/base/publ-xml.mkiv | 2 +- Master/texmf-dist/tex/context/base/regi-ini.lua | 234 +- Master/texmf-dist/tex/context/base/regi-ini.mkiv | 32 +- Master/texmf-dist/tex/context/base/regi-pdfdoc.lua | 26 + Master/texmf-dist/tex/context/base/s-abr-01.tex | 6 + Master/texmf-dist/tex/context/base/s-art-01.mkiv | 4 +- .../tex/context/base/s-figures-names.mkiv | 99 + Master/texmf-dist/tex/context/base/s-fnt-10.mkiv | 4 +- Master/texmf-dist/tex/context/base/s-fnt-21.mkiv | 2 +- .../tex/context/base/s-fonts-coverage.lua | 14 +- .../tex/context/base/s-fonts-ligatures.mkiv | 292 + .../texmf-dist/tex/context/base/s-fonts-shapes.lua | 89 +- .../texmf-dist/tex/context/base/s-fonts-tables.lua | 9 + Master/texmf-dist/tex/context/base/s-inf-01.mkvi | 12 +- Master/texmf-dist/tex/context/base/s-inf-03.mkiv | 21 +- .../tex/context/base/s-languages-hyphenation.lua | 16 +- .../tex/context/base/s-languages-hyphenation.mkiv | 6 +- .../tex/context/base/s-languages-system.lua | 63 +- .../tex/context/base/s-languages-system.mkiv | 2 + .../tex/context/base/s-languages-words.lua | 32 + .../tex/context/base/s-languages-words.mkiv | 22 + Master/texmf-dist/tex/context/base/s-map-10.mkiv | 16 +- .../tex/context/base/s-math-characters.lua | 286 +- .../tex/context/base/s-math-characters.mkiv | 15 +- .../tex/context/base/s-math-coverage.lua | 121 +- .../tex/context/base/s-math-coverage.mkiv | 10 +- .../tex/context/base/s-math-repertoire.mkiv | 56 +- Master/texmf-dist/tex/context/base/s-pre-17.mkiv | 2 +- .../tex/context/base/s-references-show.mkiv | 132 + .../tex/context/base/s-structure-sections.mkiv | 80 + Master/texmf-dist/tex/context/base/s-syn-01.tex | 54 - Master/texmf-dist/tex/context/base/s-syntax.mkii | 54 + Master/texmf-dist/tex/context/base/s-syntax.mkiv | 96 + .../tex/context/base/s-typesetting-kerning.mkiv | 209 + Master/texmf-dist/tex/context/base/s-youless.mkiv | 11 +- Master/texmf-dist/tex/context/base/scrn-bar.mkvi | 2 +- Master/texmf-dist/tex/context/base/scrn-but.lua | 10 +- Master/texmf-dist/tex/context/base/scrn-but.mkvi | 30 +- Master/texmf-dist/tex/context/base/scrn-fld.lua | 163 +- Master/texmf-dist/tex/context/base/scrn-fld.mkvi | 139 +- Master/texmf-dist/tex/context/base/scrn-hlp.lua | 123 +- Master/texmf-dist/tex/context/base/scrn-hlp.mkvi | 18 +- Master/texmf-dist/tex/context/base/scrn-ini.lua | 19 +- Master/texmf-dist/tex/context/base/scrn-ini.mkvi | 18 +- Master/texmf-dist/tex/context/base/scrn-pag.lua | 37 +- Master/texmf-dist/tex/context/base/scrn-pag.mkvi | 77 +- Master/texmf-dist/tex/context/base/scrn-ref.lua | 18 +- Master/texmf-dist/tex/context/base/scrn-ref.mkvi | 14 +- Master/texmf-dist/tex/context/base/scrn-wid.lua | 211 +- Master/texmf-dist/tex/context/base/scrn-wid.mkvi | 195 +- Master/texmf-dist/tex/context/base/scrp-ini.lua | 28 +- Master/texmf-dist/tex/context/base/scrp-ini.mkiv | 8 +- Master/texmf-dist/tex/context/base/sort-ini.lua | 220 +- Master/texmf-dist/tex/context/base/spac-adj.lua | 8 + Master/texmf-dist/tex/context/base/spac-adj.mkiv | 7 +- Master/texmf-dist/tex/context/base/spac-ali.lua | 6 +- Master/texmf-dist/tex/context/base/spac-ali.mkiv | 16 +- Master/texmf-dist/tex/context/base/spac-chr.lua | 26 +- Master/texmf-dist/tex/context/base/spac-chr.mkiv | 1 + Master/texmf-dist/tex/context/base/spac-hor.lua | 23 +- Master/texmf-dist/tex/context/base/spac-hor.mkiv | 55 +- Master/texmf-dist/tex/context/base/spac-lin.mkiv | 10 +- Master/texmf-dist/tex/context/base/spac-pag.mkiv | 11 +- Master/texmf-dist/tex/context/base/spac-par.mkiv | 3 + Master/texmf-dist/tex/context/base/spac-ver.lua | 359 +- Master/texmf-dist/tex/context/base/spac-ver.mkiv | 135 +- .../texmf-dist/tex/context/base/status-files.pdf | Bin 24584 -> 24437 bytes Master/texmf-dist/tex/context/base/status-lua.pdf | Bin 244257 -> 250375 bytes Master/texmf-dist/tex/context/base/status-mkiv.lua | 68 +- Master/texmf-dist/tex/context/base/strc-bkm.lua | 425 +- Master/texmf-dist/tex/context/base/strc-bkm.mkiv | 68 +- Master/texmf-dist/tex/context/base/strc-blk.lua | 31 +- Master/texmf-dist/tex/context/base/strc-blk.mkiv | 12 +- Master/texmf-dist/tex/context/base/strc-con.mkvi | 144 +- Master/texmf-dist/tex/context/base/strc-def.mkiv | 20 +- Master/texmf-dist/tex/context/base/strc-des.mkvi | 15 +- Master/texmf-dist/tex/context/base/strc-doc.lua | 315 +- Master/texmf-dist/tex/context/base/strc-doc.mkiv | 9 +- Master/texmf-dist/tex/context/base/strc-enu.mkvi | 11 +- Master/texmf-dist/tex/context/base/strc-flt.mkvi | 228 +- Master/texmf-dist/tex/context/base/strc-ini.lua | 13 +- Master/texmf-dist/tex/context/base/strc-ini.mkvi | 10 +- Master/texmf-dist/tex/context/base/strc-itm.lua | 75 +- Master/texmf-dist/tex/context/base/strc-itm.mkvi | 175 +- Master/texmf-dist/tex/context/base/strc-lab.mkiv | 3 +- Master/texmf-dist/tex/context/base/strc-lev.lua | 43 +- Master/texmf-dist/tex/context/base/strc-lev.mkvi | 12 +- Master/texmf-dist/tex/context/base/strc-lnt.mkvi | 8 +- Master/texmf-dist/tex/context/base/strc-lst.lua | 971 +- Master/texmf-dist/tex/context/base/strc-lst.mkvi | 379 +- Master/texmf-dist/tex/context/base/strc-mar.lua | 40 +- Master/texmf-dist/tex/context/base/strc-mar.mkiv | 38 +- Master/texmf-dist/tex/context/base/strc-mat.lua | 48 +- Master/texmf-dist/tex/context/base/strc-mat.mkiv | 10 +- Master/texmf-dist/tex/context/base/strc-not.lua | 108 +- Master/texmf-dist/tex/context/base/strc-not.mkvi | 101 +- Master/texmf-dist/tex/context/base/strc-num.lua | 126 +- Master/texmf-dist/tex/context/base/strc-num.mkiv | 466 +- Master/texmf-dist/tex/context/base/strc-pag.lua | 82 +- Master/texmf-dist/tex/context/base/strc-pag.mkiv | 46 +- Master/texmf-dist/tex/context/base/strc-ref.lua | 866 +- Master/texmf-dist/tex/context/base/strc-ref.mkvi | 639 +- Master/texmf-dist/tex/context/base/strc-reg.lua | 436 +- Master/texmf-dist/tex/context/base/strc-reg.mkiv | 331 +- Master/texmf-dist/tex/context/base/strc-ren.mkiv | 40 +- Master/texmf-dist/tex/context/base/strc-rsc.lua | 47 +- Master/texmf-dist/tex/context/base/strc-sbe.mkiv | 12 +- Master/texmf-dist/tex/context/base/strc-sec.mkiv | 222 +- Master/texmf-dist/tex/context/base/strc-syn.lua | 277 +- Master/texmf-dist/tex/context/base/strc-syn.mkiv | 342 +- Master/texmf-dist/tex/context/base/strc-tag.lua | 633 +- Master/texmf-dist/tex/context/base/strc-tag.mkiv | 439 +- Master/texmf-dist/tex/context/base/supp-box.lua | 280 +- Master/texmf-dist/tex/context/base/supp-box.mkiv | 141 +- Master/texmf-dist/tex/context/base/supp-ran.lua | 42 +- Master/texmf-dist/tex/context/base/supp-ran.mkiv | 20 +- .../texmf-dist/tex/context/base/symb-imp-cc.mkiv | 4 +- Master/texmf-dist/tex/context/base/symb-ini.lua | 29 +- Master/texmf-dist/tex/context/base/symb-ini.mkiv | 13 +- Master/texmf-dist/tex/context/base/syst-aux.lua | 201 +- Master/texmf-dist/tex/context/base/syst-aux.mkiv | 492 +- Master/texmf-dist/tex/context/base/syst-con.lua | 86 +- Master/texmf-dist/tex/context/base/syst-con.mkiv | 37 +- Master/texmf-dist/tex/context/base/syst-ini.mkiv | 62 +- Master/texmf-dist/tex/context/base/syst-lua.lua | 151 +- Master/texmf-dist/tex/context/base/syst-lua.mkiv | 62 +- Master/texmf-dist/tex/context/base/syst-rtp.mkiv | 2 +- Master/texmf-dist/tex/context/base/tabl-ltb.mkiv | 4 +- Master/texmf-dist/tex/context/base/tabl-ntb.mkii | 29 +- Master/texmf-dist/tex/context/base/tabl-ntb.mkiv | 644 +- Master/texmf-dist/tex/context/base/tabl-tab.mkiv | 15 +- Master/texmf-dist/tex/context/base/tabl-tbl.lua | 9 +- Master/texmf-dist/tex/context/base/tabl-tbl.mkiv | 107 +- Master/texmf-dist/tex/context/base/tabl-tsp.mkiv | 2 +- Master/texmf-dist/tex/context/base/tabl-xtb.lua | 470 +- Master/texmf-dist/tex/context/base/tabl-xtb.mkvi | 167 +- Master/texmf-dist/tex/context/base/task-ini.lua | 38 +- Master/texmf-dist/tex/context/base/toks-ini.lua | 524 +- Master/texmf-dist/tex/context/base/toks-ini.mkiv | 52 +- Master/texmf-dist/tex/context/base/toks-map.lua | 70 + Master/texmf-dist/tex/context/base/toks-map.mkiv | 63 + Master/texmf-dist/tex/context/base/toks-scn.lua | 437 + Master/texmf-dist/tex/context/base/toks-tra.lua | 298 + Master/texmf-dist/tex/context/base/toks-tra.mkiv | 31 + Master/texmf-dist/tex/context/base/trac-ctx.lua | 42 +- Master/texmf-dist/tex/context/base/trac-ctx.mkiv | 8 +- Master/texmf-dist/tex/context/base/trac-deb.lua | 19 + Master/texmf-dist/tex/context/base/trac-deb.mkiv | 34 +- Master/texmf-dist/tex/context/base/trac-inf.lua | 14 - Master/texmf-dist/tex/context/base/trac-jus.lua | 9 +- Master/texmf-dist/tex/context/base/trac-jus.mkiv | 2 +- Master/texmf-dist/tex/context/base/trac-lmx.lua | 9 +- Master/texmf-dist/tex/context/base/trac-log.lua | 377 +- Master/texmf-dist/tex/context/base/trac-set.lua | 5 +- Master/texmf-dist/tex/context/base/trac-tex.lua | 77 +- Master/texmf-dist/tex/context/base/trac-vis.lua | 68 +- Master/texmf-dist/tex/context/base/trac-vis.mkiv | 30 +- .../tex/context/base/type-imp-dejavu.mkiv | 63 +- Master/texmf-dist/tex/context/base/type-ini.lua | 121 +- Master/texmf-dist/tex/context/base/type-ini.mkvi | 28 +- Master/texmf-dist/tex/context/base/type-run.mkiv | 4 +- Master/texmf-dist/tex/context/base/typo-bld.lua | 27 +- Master/texmf-dist/tex/context/base/typo-bld.mkiv | 14 +- Master/texmf-dist/tex/context/base/typo-brk.lua | 46 +- Master/texmf-dist/tex/context/base/typo-brk.mkiv | 28 +- Master/texmf-dist/tex/context/base/typo-cap.lua | 348 +- Master/texmf-dist/tex/context/base/typo-cap.mkiv | 11 +- Master/texmf-dist/tex/context/base/typo-chr.lua | 155 + Master/texmf-dist/tex/context/base/typo-chr.mkiv | 28 + Master/texmf-dist/tex/context/base/typo-cln.lua | 6 +- Master/texmf-dist/tex/context/base/typo-cln.mkiv | 2 +- Master/texmf-dist/tex/context/base/typo-del.mkiv | 250 +- Master/texmf-dist/tex/context/base/typo-dha.lua | 7 +- Master/texmf-dist/tex/context/base/typo-dig.lua | 13 +- Master/texmf-dist/tex/context/base/typo-dig.mkiv | 2 +- Master/texmf-dist/tex/context/base/typo-dir.lua | 22 +- Master/texmf-dist/tex/context/base/typo-dir.mkiv | 23 +- Master/texmf-dist/tex/context/base/typo-drp.lua | 31 +- Master/texmf-dist/tex/context/base/typo-drp.mkiv | 30 +- Master/texmf-dist/tex/context/base/typo-dua.lua | 8 +- Master/texmf-dist/tex/context/base/typo-dub.lua | 13 +- Master/texmf-dist/tex/context/base/typo-fln.lua | 27 +- Master/texmf-dist/tex/context/base/typo-fln.mkiv | 20 +- Master/texmf-dist/tex/context/base/typo-inj.lua | 94 + Master/texmf-dist/tex/context/base/typo-inj.mkiv | 77 + Master/texmf-dist/tex/context/base/typo-itc.lua | 406 +- Master/texmf-dist/tex/context/base/typo-itc.mkvi | 6 +- Master/texmf-dist/tex/context/base/typo-itm.mkiv | 4 +- Master/texmf-dist/tex/context/base/typo-krn.lua | 534 +- Master/texmf-dist/tex/context/base/typo-krn.mkiv | 9 +- Master/texmf-dist/tex/context/base/typo-lan.lua | 8 +- Master/texmf-dist/tex/context/base/typo-lan.mkiv | 2 +- Master/texmf-dist/tex/context/base/typo-lig.mkiv | 31 + Master/texmf-dist/tex/context/base/typo-man.lua | 113 + Master/texmf-dist/tex/context/base/typo-mar.lua | 105 +- Master/texmf-dist/tex/context/base/typo-mar.mkiv | 76 +- Master/texmf-dist/tex/context/base/typo-pag.lua | 23 +- Master/texmf-dist/tex/context/base/typo-prc.lua | 25 +- Master/texmf-dist/tex/context/base/typo-prc.mkvi | 15 +- Master/texmf-dist/tex/context/base/typo-rep.lua | 7 +- Master/texmf-dist/tex/context/base/typo-rep.mkiv | 2 +- Master/texmf-dist/tex/context/base/typo-spa.lua | 30 +- Master/texmf-dist/tex/context/base/typo-spa.mkiv | 18 +- Master/texmf-dist/tex/context/base/typo-sus.lua | 304 + Master/texmf-dist/tex/context/base/typo-sus.mkiv | 51 + Master/texmf-dist/tex/context/base/typo-tal.lua | 282 +- Master/texmf-dist/tex/context/base/typo-tal.mkiv | 61 +- Master/texmf-dist/tex/context/base/typo-txt.mkvi | 47 + Master/texmf-dist/tex/context/base/typo-wrp.lua | 76 + Master/texmf-dist/tex/context/base/typo-wrp.mkiv | 65 + Master/texmf-dist/tex/context/base/unic-ini.lua | 14 +- Master/texmf-dist/tex/context/base/unic-ini.mkiv | 3 +- Master/texmf-dist/tex/context/base/util-dim.lua | 97 +- Master/texmf-dist/tex/context/base/util-env.lua | 42 +- Master/texmf-dist/tex/context/base/util-prs.lua | 108 +- Master/texmf-dist/tex/context/base/util-sbx.lua | 415 + Master/texmf-dist/tex/context/base/util-seq.lua | 45 +- .../tex/context/base/util-sql-loggers.lua | 2 +- Master/texmf-dist/tex/context/base/util-sta.lua | 22 +- Master/texmf-dist/tex/context/base/util-str.lua | 49 +- Master/texmf-dist/tex/context/base/util-tab.lua | 19 +- Master/texmf-dist/tex/context/base/util-tpl.lua | 41 +- Master/texmf-dist/tex/context/base/x-asciimath.lua | 2242 +- .../texmf-dist/tex/context/base/x-asciimath.mkiv | 411 +- Master/texmf-dist/tex/context/base/x-cals.lua | 7 +- Master/texmf-dist/tex/context/base/x-ct.lua | 2 + Master/texmf-dist/tex/context/base/x-html.mkiv | 379 + Master/texmf-dist/tex/context/base/x-math-svg.lua | 169 + .../tex/context/base/x-mathml-basics.mkiv | 276 + Master/texmf-dist/tex/context/base/x-mathml.lua | 214 +- Master/texmf-dist/tex/context/base/x-mathml.mkiv | 436 +- Master/texmf-dist/tex/context/base/x-mathml.xsd | 6 +- Master/texmf-dist/tex/context/base/x-res-01.mkiv | 2 +- Master/texmf-dist/tex/context/base/x-set-11.mkiv | 97 +- Master/texmf-dist/tex/context/base/x-set-12.mkiv | 3 +- Master/texmf-dist/tex/context/base/x-xtag.mkiv | 2 +- Master/texmf-dist/tex/context/bib/bibl-apa-it.tex | 385 + Master/texmf-dist/tex/context/bib/sample.bib | 1 - Master/texmf-dist/tex/context/extra/showunic.tex | 130 - Master/texmf-dist/tex/context/fonts/treatments.lfg | 62 +- Master/texmf-dist/tex/context/foxet/fe-bryson.xml | 12 - Master/texmf-dist/tex/context/foxet/fe-ward.xml | 8 - Master/texmf-dist/tex/context/foxet/fe-zapf.xml | 14 - Master/texmf-dist/tex/context/foxet/fo-0101.fo | 17 - Master/texmf-dist/tex/context/foxet/fo-0102.fo | 25 - Master/texmf-dist/tex/context/foxet/fo-0103.fo | 21 - Master/texmf-dist/tex/context/foxet/fo-0201.fo | 22 - Master/texmf-dist/tex/context/foxet/fo-0301.fo | 56 - Master/texmf-dist/tex/context/foxet/fo-0601.fo | 29 - Master/texmf-dist/tex/context/foxet/fo-0602.fo | 27 - Master/texmf-dist/tex/context/foxet/fo-0603.fo | 26 - Master/texmf-dist/tex/context/foxet/fo-0604.fo | 26 - Master/texmf-dist/tex/context/foxet/fo-0611.fo | 21 - Master/texmf-dist/tex/context/foxet/fo-0612.fo | 21 - Master/texmf-dist/tex/context/foxet/fo-0613.fo | 21 - Master/texmf-dist/tex/context/foxet/fo-0621.fo | 106 - Master/texmf-dist/tex/context/foxet/fo-0641.fo | 25 - Master/texmf-dist/tex/context/foxet/fo-0642.fo | 27 - Master/texmf-dist/tex/context/foxet/fo-0643.fo | 27 - Master/texmf-dist/tex/context/foxet/fo-0644.fo | 27 - Master/texmf-dist/tex/context/foxet/fo-0650.fo | 26 - Master/texmf-dist/tex/context/foxet/fo-0651.fo | 26 - Master/texmf-dist/tex/context/foxet/fo-0701.fo | 39 - Master/texmf-dist/tex/context/foxet/fo-0801.fo | 55 - Master/texmf-dist/tex/context/foxet/fo-0901.fo | 58 - Master/texmf-dist/tex/context/foxet/fo-0902.fo | 33 - Master/texmf-dist/tex/context/foxet/fo-1001.fo | 63 - Master/texmf-dist/tex/context/foxet/fo-1002.fo | 31 - Master/texmf-dist/tex/context/foxet/fo-1003.fo | 31 - Master/texmf-dist/tex/context/foxet/fo-1004.fo | 35 - Master/texmf-dist/tex/context/foxet/fo-1101.fo | 63 - Master/texmf-dist/tex/context/foxet/fo-1102.fo | 128 - Master/texmf-dist/tex/context/foxet/fo-1103.fo | 85 - Master/texmf-dist/tex/context/foxet/fo-1104.fo | 28 - Master/texmf-dist/tex/context/foxet/fo-1201.fo | 40 - .../texmf-dist/tex/context/interface/keys-cs.xml | 21 +- .../texmf-dist/tex/context/interface/keys-de.xml | 21 +- .../texmf-dist/tex/context/interface/keys-en.xml | 19 +- .../texmf-dist/tex/context/interface/keys-fr.xml | 23 +- .../texmf-dist/tex/context/interface/keys-it.xml | 23 +- .../texmf-dist/tex/context/interface/keys-nl.xml | 29 +- .../texmf-dist/tex/context/interface/keys-pe.xml | 23 +- .../texmf-dist/tex/context/interface/keys-ro.xml | 21 +- Master/texmf-dist/tex/context/sample/darwin.tex | 19 + Master/texmf-dist/tex/context/sample/dawkins.tex | 6 +- Master/texmf-dist/tex/context/sample/douglas.tex | 8 +- Master/texmf-dist/tex/context/sample/sample.tex | 80 +- Master/texmf-dist/tex/context/sample/samples.bib | 29 + Master/texmf-dist/tex/context/sample/samples.tex | 78 + .../texmf-dist/tex/context/test/pdf-a1b-2005.mkiv | 6 +- .../generic/context/luatex/luatex-basics-gen.lua | 14 +- .../generic/context/luatex/luatex-basics-nod.lua | 108 +- .../generic/context/luatex/luatex-fonts-cbk.lua | 117 +- .../generic/context/luatex/luatex-fonts-inj.lua | 1293 +- .../generic/context/luatex/luatex-fonts-merged.lua | 3624 +- .../generic/context/luatex/luatex-fonts-ota.lua | 459 + .../generic/context/luatex/luatex-fonts-otn.lua | 809 +- .../tex/generic/context/luatex/luatex-fonts.lua | 19 +- .../tex/generic/context/luatex/luatex-test.tex | 19 +- 951 files changed, 136661 insertions(+), 64696 deletions(-) create mode 100644 Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer-dummy.lua delete mode 100644 Master/texmf-dist/doc/context/document/general/manuals/mreadme.pdf delete mode 100644 Master/texmf-dist/doc/context/document/general/manuals/tiptrick.pdf create mode 100644 Master/texmf-dist/doc/context/documents/general/manuals/epub-mkiv-demo.epub create mode 100644 Master/texmf-dist/doc/context/documents/general/manuals/epub-mkiv-demo.pdf create mode 100644 Master/texmf-dist/doc/context/documents/general/manuals/epub-mkiv.pdf create mode 100644 Master/texmf-dist/doc/context/documents/general/manuals/mreadme.pdf create mode 100644 Master/texmf-dist/doc/context/documents/general/manuals/swiglib-mkiv.pdf create mode 100644 Master/texmf-dist/doc/context/documents/general/manuals/tiptrick.pdf create mode 100644 Master/texmf-dist/doc/context/documents/general/manuals/tools-mkiv.pdf create mode 100644 Master/texmf-dist/doc/context/documents/general/manuals/units-mkiv.pdf create mode 100644 Master/texmf-dist/doc/context/documents/general/manuals/workflows-mkiv.pdf create mode 100644 Master/texmf-dist/doc/context/documents/general/manuals/xtables-mkiv.pdf delete mode 100644 Master/texmf-dist/doc/context/manuals/allkind/mcommon.tex delete mode 100644 Master/texmf-dist/doc/context/manuals/allkind/mkiv-publications-graph.bib delete mode 100644 Master/texmf-dist/doc/context/manuals/allkind/mkiv-publications.bib delete mode 100644 Master/texmf-dist/doc/context/manuals/allkind/mkiv-publications.pdf delete mode 100644 Master/texmf-dist/doc/context/manuals/allkind/mkiv-publications.tex delete mode 100644 Master/texmf-dist/doc/context/manuals/allkind/mreadme.tex delete mode 100644 Master/texmf-dist/doc/context/manuals/allkind/publications-en.xml delete mode 100644 Master/texmf-dist/doc/context/scripts/mkiv/mtx-bibtex.html delete mode 100644 Master/texmf-dist/doc/context/scripts/mkiv/mtx-bibtex.man delete mode 100644 Master/texmf-dist/doc/context/scripts/mkiv/mtx-bibtex.xml create mode 100644 Master/texmf-dist/doc/context/sources/general/manuals/epub/epub-mkiv-demo.tex create mode 100644 Master/texmf-dist/doc/context/sources/general/manuals/epub/epub-mkiv.tex create mode 100644 Master/texmf-dist/doc/context/sources/general/manuals/mcommon.tex create mode 100644 Master/texmf-dist/doc/context/sources/general/manuals/readme/mreadme.tex create mode 100644 Master/texmf-dist/doc/context/sources/general/manuals/swiglib/swiglib-mkiv.tex create mode 100644 Master/texmf-dist/doc/context/sources/general/manuals/tiptrick/tiptrick.tex create mode 100644 Master/texmf-dist/doc/context/sources/general/manuals/tiptrick/tiptrick.xml create mode 100644 Master/texmf-dist/doc/context/sources/general/manuals/tools/tools-mkiv.tex create mode 100644 Master/texmf-dist/doc/context/sources/general/manuals/units/units-mkiv.tex create mode 100644 Master/texmf-dist/doc/context/sources/general/manuals/workflows/workflows-contents.tex create mode 100644 Master/texmf-dist/doc/context/sources/general/manuals/workflows/workflows-graphics.tex create mode 100644 Master/texmf-dist/doc/context/sources/general/manuals/workflows/workflows-injectors.tex create mode 100644 Master/texmf-dist/doc/context/sources/general/manuals/workflows/workflows-introduction.tex create mode 100644 Master/texmf-dist/doc/context/sources/general/manuals/workflows/workflows-mkiv.tex create mode 100644 Master/texmf-dist/doc/context/sources/general/manuals/workflows/workflows-resources.tex create mode 100644 Master/texmf-dist/doc/context/sources/general/manuals/workflows/workflows-setups.tex create mode 100644 Master/texmf-dist/doc/context/sources/general/manuals/workflows/workflows-style.tex create mode 100644 Master/texmf-dist/doc/context/sources/general/manuals/workflows/workflows-suspects.tex create mode 100644 Master/texmf-dist/doc/context/sources/general/manuals/workflows/workflows-titlepage.tex create mode 100644 Master/texmf-dist/doc/context/sources/general/manuals/workflows/workflows-xml.tex create mode 100644 Master/texmf-dist/doc/context/sources/general/manuals/xtables/xtables-mkiv.tex delete mode 100644 Master/texmf-dist/doc/man/man1/mtx-bibtex.1 delete mode 100644 Master/texmf-dist/doc/man/man1/mtx-bibtex.man1.pdf create mode 100644 Master/texmf-dist/metapost/context/base/mp-bare.mpiv create mode 100644 Master/texmf-dist/tex/context/base/char-fio.lua create mode 100644 Master/texmf-dist/tex/context/base/cldf-scn.lua create mode 100644 Master/texmf-dist/tex/context/base/cont-run.lua create mode 100644 Master/texmf-dist/tex/context/base/cont-run.mkiv create mode 100644 Master/texmf-dist/tex/context/base/font-inj.lua delete mode 100644 Master/texmf-dist/tex/context/base/font-otx.lua create mode 100644 Master/texmf-dist/tex/context/base/l-sandbox.lua create mode 100644 Master/texmf-dist/tex/context/base/lang-dis.lua create mode 100644 Master/texmf-dist/tex/context/base/lang-hyp.lua create mode 100644 Master/texmf-dist/tex/context/base/lang-hyp.mkiv create mode 100644 Master/texmf-dist/tex/context/base/luat-usr.lua create mode 100644 Master/texmf-dist/tex/context/base/luat-usr.mkiv create mode 100644 Master/texmf-dist/tex/context/base/lxml-ini.lua create mode 100644 Master/texmf-dist/tex/context/base/m-matrix.mkiv delete mode 100644 Master/texmf-dist/tex/context/base/m-morse.mkvi create mode 100644 Master/texmf-dist/tex/context/base/meta-imp-tab.mkiv create mode 100644 Master/texmf-dist/tex/context/base/mlib-int.lua create mode 100644 Master/texmf-dist/tex/context/base/mtx-context-precache.tex create mode 100644 Master/texmf-dist/tex/context/base/publ-imp-apa.lua delete mode 100644 Master/texmf-dist/tex/context/base/publ-imp-apa.mkiv create mode 100644 Master/texmf-dist/tex/context/base/publ-imp-apa.mkvi create mode 100644 Master/texmf-dist/tex/context/base/publ-imp-aps.lua create mode 100644 Master/texmf-dist/tex/context/base/publ-imp-aps.mkvi create mode 100644 Master/texmf-dist/tex/context/base/publ-imp-author.mkvi delete mode 100644 Master/texmf-dist/tex/context/base/publ-imp-cite.mkiv create mode 100644 Master/texmf-dist/tex/context/base/publ-imp-cite.mkvi delete mode 100644 Master/texmf-dist/tex/context/base/publ-imp-commands.mkiv create mode 100644 Master/texmf-dist/tex/context/base/publ-imp-commands.mkvi create mode 100644 Master/texmf-dist/tex/context/base/publ-imp-default.lua create mode 100644 Master/texmf-dist/tex/context/base/publ-imp-default.mkvi delete mode 100644 Master/texmf-dist/tex/context/base/publ-imp-definitions.mkiv create mode 100644 Master/texmf-dist/tex/context/base/publ-imp-definitions.mkvi create mode 100644 Master/texmf-dist/tex/context/base/publ-imp-list.mkvi create mode 100644 Master/texmf-dist/tex/context/base/publ-imp-page.mkvi create mode 100644 Master/texmf-dist/tex/context/base/publ-imp-replacements.lua create mode 100644 Master/texmf-dist/tex/context/base/publ-imp-test.bib create mode 100644 Master/texmf-dist/tex/context/base/publ-jrn.lua create mode 100644 Master/texmf-dist/tex/context/base/publ-reg.lua create mode 100644 Master/texmf-dist/tex/context/base/publ-sor.lua create mode 100644 Master/texmf-dist/tex/context/base/regi-pdfdoc.lua create mode 100644 Master/texmf-dist/tex/context/base/s-figures-names.mkiv create mode 100644 Master/texmf-dist/tex/context/base/s-fonts-ligatures.mkiv create mode 100644 Master/texmf-dist/tex/context/base/s-languages-words.lua create mode 100644 Master/texmf-dist/tex/context/base/s-languages-words.mkiv create mode 100644 Master/texmf-dist/tex/context/base/s-references-show.mkiv create mode 100644 Master/texmf-dist/tex/context/base/s-structure-sections.mkiv delete mode 100644 Master/texmf-dist/tex/context/base/s-syn-01.tex create mode 100644 Master/texmf-dist/tex/context/base/s-syntax.mkii create mode 100644 Master/texmf-dist/tex/context/base/s-syntax.mkiv create mode 100644 Master/texmf-dist/tex/context/base/s-typesetting-kerning.mkiv create mode 100644 Master/texmf-dist/tex/context/base/toks-map.lua create mode 100644 Master/texmf-dist/tex/context/base/toks-map.mkiv create mode 100644 Master/texmf-dist/tex/context/base/toks-scn.lua create mode 100644 Master/texmf-dist/tex/context/base/toks-tra.lua create mode 100644 Master/texmf-dist/tex/context/base/toks-tra.mkiv create mode 100644 Master/texmf-dist/tex/context/base/typo-chr.lua create mode 100644 Master/texmf-dist/tex/context/base/typo-chr.mkiv create mode 100644 Master/texmf-dist/tex/context/base/typo-inj.lua create mode 100644 Master/texmf-dist/tex/context/base/typo-inj.mkiv create mode 100644 Master/texmf-dist/tex/context/base/typo-lig.mkiv create mode 100644 Master/texmf-dist/tex/context/base/typo-man.lua create mode 100644 Master/texmf-dist/tex/context/base/typo-sus.lua create mode 100644 Master/texmf-dist/tex/context/base/typo-sus.mkiv create mode 100644 Master/texmf-dist/tex/context/base/typo-wrp.lua create mode 100644 Master/texmf-dist/tex/context/base/typo-wrp.mkiv create mode 100644 Master/texmf-dist/tex/context/base/util-sbx.lua create mode 100644 Master/texmf-dist/tex/context/base/x-html.mkiv create mode 100644 Master/texmf-dist/tex/context/base/x-math-svg.lua create mode 100644 Master/texmf-dist/tex/context/base/x-mathml-basics.mkiv create mode 100644 Master/texmf-dist/tex/context/bib/bibl-apa-it.tex delete mode 100644 Master/texmf-dist/tex/context/extra/showunic.tex delete mode 100644 Master/texmf-dist/tex/context/foxet/fe-bryson.xml delete mode 100644 Master/texmf-dist/tex/context/foxet/fe-ward.xml delete mode 100644 Master/texmf-dist/tex/context/foxet/fe-zapf.xml delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0101.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0102.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0103.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0201.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0301.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0601.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0602.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0603.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0604.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0611.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0612.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0613.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0621.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0641.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0642.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0643.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0644.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0650.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0651.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0701.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0801.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0901.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-0902.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-1001.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-1002.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-1003.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-1004.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-1101.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-1102.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-1103.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-1104.fo delete mode 100644 Master/texmf-dist/tex/context/foxet/fo-1201.fo create mode 100644 Master/texmf-dist/tex/context/sample/darwin.tex create mode 100644 Master/texmf-dist/tex/context/sample/samples.bib create mode 100644 Master/texmf-dist/tex/context/sample/samples.tex create mode 100644 Master/texmf-dist/tex/generic/context/luatex/luatex-fonts-ota.lua diff --git a/Build/source/texk/texlive/linked_scripts/context/stubs/unix/mtxrun b/Build/source/texk/texlive/linked_scripts/context/stubs/unix/mtxrun index 5cb5c8d2416..48a9a27a250 100755 --- a/Build/source/texk/texlive/linked_scripts/context/stubs/unix/mtxrun +++ b/Build/source/texk/texlive/linked_scripts/context/stubs/unix/mtxrun @@ -56,7 +56,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-lua"] = package.loaded["l-lua"] or true --- original size: 3409, stripped down to: 1763 +-- original size: 3888, stripped down to: 2197 if not modules then modules={} end modules ['l-lua']={ version=1.001, @@ -139,6 +139,13 @@ end if lua then lua.mask=load([[τεχ = 1]]) and "utf" or "ascii" end +local flush=io.flush +if flush then + local execute=os.execute if execute then function os.execute(...) flush() return execute(...) end end + local exec=os.exec if exec then function os.exec (...) flush() return exec (...) end end + local spawn=os.spawn if spawn then function os.spawn (...) flush() return spawn (...) end end + local popen=io.popen if popen then function io.popen (...) flush() return popen (...) end end +end end -- of closure @@ -437,7 +444,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-lpeg"] = package.loaded["l-lpeg"] or true --- original size: 29983, stripped down to: 16202 +-- original size: 36225, stripped down to: 19891 if not modules then modules={} end modules ['l-lpeg']={ version=1.001, @@ -498,6 +505,8 @@ patterns.utfbom_16_le=utfbom_16_le patterns.utfbom_8=utfbom_8 patterns.utf_16_be_nl=P("\000\r\000\n")+P("\000\r")+P("\000\n") patterns.utf_16_le_nl=P("\r\000\n\000")+P("\r\000")+P("\n\000") +patterns.utf_32_be_nl=P("\000\000\000\r\000\000\000\n")+P("\000\000\000\r")+P("\000\000\000\n") +patterns.utf_32_le_nl=P("\r\000\000\000\n\000\000\000")+P("\r\000\000\000")+P("\n\000\000\000") patterns.utf8one=R("\000\127") patterns.utf8two=R("\194\223")*utf8next patterns.utf8three=R("\224\239")*utf8next*utf8next @@ -527,9 +536,21 @@ patterns.nonwhitespace=nonwhitespace local stripper=spacer^0*C((spacer^0*nonspacer^1)^0) local fullstripper=whitespace^0*C((whitespace^0*nonwhitespace^1)^0) local collapser=Cs(spacer^0/""*nonspacer^0*((spacer^0/" "*nonspacer^1)^0)) +local b_collapser=Cs(whitespace^0/""*(nonwhitespace^1+whitespace^1/" ")^0) +local e_collapser=Cs((whitespace^1*P(-1)/""+nonwhitespace^1+whitespace^1/" ")^0) +local m_collapser=Cs((nonwhitespace^1+whitespace^1/" ")^0) +local b_stripper=Cs(spacer^0/""*(nonspacer^1+spacer^1/" ")^0) +local e_stripper=Cs((spacer^1*P(-1)/""+nonspacer^1+spacer^1/" ")^0) +local m_stripper=Cs((nonspacer^1+spacer^1/" ")^0) patterns.stripper=stripper patterns.fullstripper=fullstripper patterns.collapser=collapser +patterns.b_collapser=b_collapser +patterns.m_collapser=m_collapser +patterns.e_collapser=e_collapser +patterns.b_stripper=b_stripper +patterns.m_stripper=m_stripper +patterns.e_stripper=e_stripper patterns.lowercase=lowercase patterns.uppercase=uppercase patterns.letter=patterns.lowercase+patterns.uppercase @@ -566,9 +587,12 @@ patterns.integer=sign^-1*digit^1 patterns.unsigned=digit^0*period*digit^1 patterns.float=sign^-1*patterns.unsigned patterns.cunsigned=digit^0*comma*digit^1 +patterns.cpunsigned=digit^0*(period+comma)*digit^1 patterns.cfloat=sign^-1*patterns.cunsigned +patterns.cpfloat=sign^-1*patterns.cpunsigned patterns.number=patterns.float+patterns.integer patterns.cnumber=patterns.cfloat+patterns.integer +patterns.cpnumber=patterns.cpfloat+patterns.integer patterns.oct=zero*octdigit^1 patterns.octal=patterns.oct patterns.HEX=zero*P("X")*(digit+uppercase)^1 @@ -985,23 +1009,40 @@ function lpeg.append(list,pp,delayed,checked) end return p end +local p_false=P(false) +local p_true=P(true) local function make(t) - local p + local function making(t) + local p=p_false + local keys=sortedkeys(t) + for i=1,#keys do + local k=keys[i] + if k~="" then + local v=t[k] + if v==true then + p=p+P(k)*p_true + elseif v==false then + else + p=p+P(k)*making(v) + end + end + end + if t[""] then + p=p+p_true + end + return p + end + local p=p_false local keys=sortedkeys(t) for i=1,#keys do local k=keys[i] - local v=t[k] - if not p then - if next(v) then - p=P(k)*make(v) - else - p=P(k) - end - else - if next(v) then - p=p+P(k)*make(v) + if k~="" then + local v=t[k] + if v==true then + p=p+P(k)*p_true + elseif v==false then else - p=p+P(k) + p=p+P(k)*making(v) end end end @@ -1009,13 +1050,73 @@ local function make(t) end function lpeg.utfchartabletopattern(list) local tree={} - for i=1,#list do - local t=tree - for c in gmatch(list[i],".") do - if not t[c] then - t[c]={} + local n=#list + if n==0 then + for s in next,list do + local t=tree + local p,pk + for c in gmatch(s,".") do + if t==true then + t={ [c]=true,[""]=true } + p[pk]=t + p=t + t=false + elseif t==false then + t={ [c]=false } + p[pk]=t + p=t + t=false + else + local tc=t[c] + if not tc then + tc=false + t[c]=false + end + p=t + t=tc + end + pk=c + end + if t==false then + p[pk]=true + elseif t==true then + else + t[""]=true + end + end + else + for i=1,n do + local s=list[i] + local t=tree + local p,pk + for c in gmatch(s,".") do + if t==true then + t={ [c]=true,[""]=true } + p[pk]=t + p=t + t=false + elseif t==false then + t={ [c]=false } + p[pk]=t + p=t + t=false + else + local tc=t[c] + if not tc then + tc=false + t[c]=false + end + p=t + t=tc + end + pk=c + end + if t==false then + p[pk]=true + elseif t==true then + else + t[""]=true end - t=t[c] end end return make(tree) @@ -1055,6 +1156,65 @@ local case_2=period*(digit-trailingzeros)^1*(trailingzeros/"") local number=digit^1*(case_1+case_2) local stripper=Cs((number+1)^0) lpeg.patterns.stripzeros=stripper +local byte_to_HEX={} +local byte_to_hex={} +local byte_to_dec={} +local hex_to_byte={} +for i=0,255 do + local H=format("%02X",i) + local h=format("%02x",i) + local d=format("%03i",i) + local c=char(i) + byte_to_HEX[c]=H + byte_to_hex[c]=h + byte_to_dec[c]=d + hex_to_byte[h]=c + hex_to_byte[H]=c +end +local hextobyte=P(2)/hex_to_byte +local bytetoHEX=P(1)/byte_to_HEX +local bytetohex=P(1)/byte_to_hex +local bytetodec=P(1)/byte_to_dec +local hextobytes=Cs(hextobyte^0) +local bytestoHEX=Cs(bytetoHEX^0) +local bytestohex=Cs(bytetohex^0) +local bytestodec=Cs(bytetodec^0) +patterns.hextobyte=hextobyte +patterns.bytetoHEX=bytetoHEX +patterns.bytetohex=bytetohex +patterns.bytetodec=bytetodec +patterns.hextobytes=hextobytes +patterns.bytestoHEX=bytestoHEX +patterns.bytestohex=bytestohex +patterns.bytestodec=bytestodec +function string.toHEX(s) + if not s or s=="" then + return s + else + return lpegmatch(bytestoHEX,s) + end +end +function string.tohex(s) + if not s or s=="" then + return s + else + return lpegmatch(bytestohex,s) + end +end +function string.todec(s) + if not s or s=="" then + return s + else + return lpegmatch(bytestodec,s) + end +end +function string.tobytes(s) + if not s or s=="" then + return s + else + return lpegmatch(hextobytes,s) + end +end end -- of closure @@ -1082,7 +1242,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-string"] = package.loaded["l-string"] or true --- original size: 5671, stripped down to: 2827 +-- original size: 5694, stripped down to: 2827 if not modules then modules={} end modules ['l-string']={ version=1.001, @@ -1187,7 +1347,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-table"] = package.loaded["l-table"] or true --- original size: 31860, stripped down to: 20846 +-- original size: 33830, stripped down to: 21894 if not modules then modules={} end modules ['l-table']={ version=1.001, @@ -1230,11 +1390,12 @@ function table.keys(t) end end local function compare(a,b) - local ta,tb=type(a),type(b) - if ta==tb then + local ta=type(a) + local tb=type(b) + if ta==tb and ta=="number" then return a=first and k<=last then if tv=="number" then if hexify then - handle(format("%s 0x%04X,",depth,v)) + handle(format("%s 0x%X,",depth,v)) else handle(format("%s %s,",depth,v)) end @@ -1587,7 +1748,7 @@ local function do_serialize(root,name,depth,level,indexed) handle(format("%s %q,",depth,v)) end elseif tv=="table" then - if not next(v) then + if next(v)==nil then handle(format("%s {},",depth)) elseif inline then local st=simple_table(v) @@ -1617,25 +1778,25 @@ local function do_serialize(root,name,depth,level,indexed) elseif tv=="number" then if tk=="number" then if hexify then - handle(format("%s [0x%04X]=0x%04X,",depth,k,v)) + handle(format("%s [0x%X]=0x%X,",depth,k,v)) else handle(format("%s [%s]=%s,",depth,k,v)) end elseif tk=="boolean" then if hexify then - handle(format("%s [%s]=0x%04X,",depth,k and "true" or "false",v)) + handle(format("%s [%s]=0x%X,",depth,k and "true" or "false",v)) else handle(format("%s [%s]=%s,",depth,k and "true" or "false",v)) end elseif noquotes and not reserved[k] and lpegmatch(propername,k) then if hexify then - handle(format("%s %s=0x%04X,",depth,k,v)) + handle(format("%s %s=0x%X,",depth,k,v)) else handle(format("%s %s=%s,",depth,k,v)) end else if hexify then - handle(format("%s [%q]=0x%04X,",depth,k,v)) + handle(format("%s [%q]=0x%X,",depth,k,v)) else handle(format("%s [%q]=%s,",depth,k,v)) end @@ -1644,7 +1805,7 @@ local function do_serialize(root,name,depth,level,indexed) if reduce and tonumber(v) then if tk=="number" then if hexify then - handle(format("%s [0x%04X]=%s,",depth,k,v)) + handle(format("%s [0x%X]=%s,",depth,k,v)) else handle(format("%s [%s]=%s,",depth,k,v)) end @@ -1658,7 +1819,7 @@ local function do_serialize(root,name,depth,level,indexed) else if tk=="number" then if hexify then - handle(format("%s [0x%04X]=%q,",depth,k,v)) + handle(format("%s [0x%X]=%q,",depth,k,v)) else handle(format("%s [%s]=%q,",depth,k,v)) end @@ -1671,10 +1832,10 @@ local function do_serialize(root,name,depth,level,indexed) end end elseif tv=="table" then - if not next(v) then + if next(v)==nil then if tk=="number" then if hexify then - handle(format("%s [0x%04X]={},",depth,k)) + handle(format("%s [0x%X]={},",depth,k)) else handle(format("%s [%s]={},",depth,k)) end @@ -1690,7 +1851,7 @@ local function do_serialize(root,name,depth,level,indexed) if st then if tk=="number" then if hexify then - handle(format("%s [0x%04X]={ %s },",depth,k,concat(st,", "))) + handle(format("%s [0x%X]={ %s },",depth,k,concat(st,", "))) else handle(format("%s [%s]={ %s },",depth,k,concat(st,", "))) end @@ -1710,7 +1871,7 @@ local function do_serialize(root,name,depth,level,indexed) elseif tv=="boolean" then if tk=="number" then if hexify then - handle(format("%s [0x%04X]=%s,",depth,k,v and "true" or "false")) + handle(format("%s [0x%X]=%s,",depth,k,v and "true" or "false")) else handle(format("%s [%s]=%s,",depth,k,v and "true" or "false")) end @@ -1726,7 +1887,7 @@ local function do_serialize(root,name,depth,level,indexed) local f=getinfo(v).what=="C" and dump(dummy) or dump(v) if tk=="number" then if hexify then - handle(format("%s [0x%04X]=load(%q),",depth,k,f)) + handle(format("%s [0x%X]=load(%q),",depth,k,f)) else handle(format("%s [%s]=load(%q),",depth,k,f)) end @@ -1741,7 +1902,7 @@ local function do_serialize(root,name,depth,level,indexed) else if tk=="number" then if hexify then - handle(format("%s [0x%04X]=%q,",depth,k,tostring(v))) + handle(format("%s [0x%X]=%q,",depth,k,tostring(v))) else handle(format("%s [%s]=%q,",depth,k,tostring(v))) end @@ -1795,7 +1956,7 @@ local function serialize(_handle,root,name,specification) end elseif tname=="number" then if hexify then - handle(format("[0x%04X]={",name)) + handle(format("[0x%X]={",name)) else handle("["..name.."]={") end @@ -1813,7 +1974,7 @@ local function serialize(_handle,root,name,specification) local dummy=root._w_h_a_t_e_v_e_r_ root._w_h_a_t_e_v_e_r_=nil end - if next(root) then + if next(root)~=nil then do_serialize(root,name,"",0) end end @@ -1942,14 +2103,25 @@ local function identical(a,b) end table.identical=identical table.are_equal=are_equal -function table.compact(t) - if t then - for k,v in next,t do - if not next(v) then - t[k]=nil +local function sparse(old,nest,keeptables) + local new={} + for k,v in next,old do + if not (v=="" or v==false) then + if nest and type(v)=="table" then + v=sparse(v,nest) + if keeptables or next(v)~=nil then + new[k]=v + end + else + new[k]=v end end end + return new +end +table.sparse=sparse +function table.compact(t) + return sparse(t,true,true) end function table.contains(t,v) if t then @@ -2054,10 +2226,10 @@ function table.sub(t,i,j) return { unpack(t,i,j) } end function table.is_empty(t) - return not t or not next(t) + return not t or next(t)==nil end function table.has_one_entry(t) - return t and not next(t,next(t)) + return t and next(t,next(t))==nil end function table.loweredkeys(t) local l={} @@ -2102,6 +2274,44 @@ function table.values(t,s) return {} end end +function table.filtered(t,pattern,sort,cmp) + if t and type(pattern)=="string" then + if sort then + local s + if cmp then + s=sortedhashkeys(t,function(a,b) return cmp(t,a,b) end) + else + s=sortedkeys(t) + end + local n=0 + local m=#s + local function kv(s) + while n0 then - now=(more-0xD800)*0x400+(now-0xDC00)+0x10000 - more=0 - r=r+1 - result[r]=utfchar(now) - elseif now>=0xD800 and now<=0xDBFF then - more=now - else - r=r+1 - result[r]=utfchar(now) - end - end - end - t[i]=concat(result,"",1,r) - end - return t +local utf_16_be_getbom=patterns.utfbom_16_be^-1 +local utf_16_le_getbom=patterns.utfbom_16_le^-1 +local utf_32_be_getbom=patterns.utfbom_32_be^-1 +local utf_32_le_getbom=patterns.utfbom_32_le^-1 +local utf_16_be_linesplitter=utf_16_be_getbom*lpeg.tsplitat(patterns.utf_16_be_nl) +local utf_16_le_linesplitter=utf_16_le_getbom*lpeg.tsplitat(patterns.utf_16_le_nl) +local utf_32_be_linesplitter=utf_32_be_getbom*lpeg.tsplitat(patterns.utf_32_be_nl) +local utf_32_le_linesplitter=utf_32_le_getbom*lpeg.tsplitat(patterns.utf_32_le_nl) +local more=0 +local p_utf16_to_utf8_be=C(1)*C(1)/function(left,right) + local now=256*byte(left)+byte(right) + if more>0 then + now=(more-0xD800)*0x400+(now-0xDC00)+0x10000 + more=0 + return utfchar(now) + elseif now>=0xD800 and now<=0xDBFF then + more=now + return "" + else + return utfchar(now) + end +end +local p_utf16_to_utf8_le=C(1)*C(1)/function(right,left) + local now=256*byte(left)+byte(right) + if more>0 then + now=(more-0xD800)*0x400+(now-0xDC00)+0x10000 + more=0 + return utfchar(now) + elseif now>=0xD800 and now<=0xDBFF then + more=now + return "" + else + return utfchar(now) + end +end +local p_utf32_to_utf8_be=C(1)*C(1)*C(1)*C(1)/function(a,b,c,d) + return utfchar(256*256*256*byte(a)+256*256*byte(b)+256*byte(c)+byte(d)) +end +local p_utf32_to_utf8_le=C(1)*C(1)*C(1)*C(1)/function(a,b,c,d) + return utfchar(256*256*256*byte(d)+256*256*byte(c)+256*byte(b)+byte(a)) +end +p_utf16_to_utf8_be=P(true)/function() more=0 end*utf_16_be_getbom*Cs(p_utf16_to_utf8_be^0) +p_utf16_to_utf8_le=P(true)/function() more=0 end*utf_16_le_getbom*Cs(p_utf16_to_utf8_le^0) +p_utf32_to_utf8_be=P(true)/function() more=0 end*utf_32_be_getbom*Cs(p_utf32_to_utf8_be^0) +p_utf32_to_utf8_le=P(true)/function() more=0 end*utf_32_le_getbom*Cs(p_utf32_to_utf8_le^0) +patterns.utf16_to_utf8_be=p_utf16_to_utf8_be +patterns.utf16_to_utf8_le=p_utf16_to_utf8_le +patterns.utf32_to_utf8_be=p_utf32_to_utf8_be +patterns.utf32_to_utf8_le=p_utf32_to_utf8_le +utf16_to_utf8_be=function(s) + if s and s~="" then + return lpegmatch(p_utf16_to_utf8_be,s) + else + return s end - utf16_to_utf8_le=function(t) - if type(t)=="string" then - t=lpegmatch(utf_16_le_linesplitter,t) - end - local result={} - for i=1,#t do - local r,more=0,0 - for left,right in bytepairs(t[i]) do - if right then - local now=256*right+left - if more>0 then - now=(more-0xD800)*0x400+(now-0xDC00)+0x10000 - more=0 - r=r+1 - result[r]=utfchar(now) - elseif now>=0xD800 and now<=0xDBFF then - more=now - else - r=r+1 - result[r]=utfchar(now) - end - end - end - t[i]=concat(result,"",1,r) - end - return t +end +local utf16_to_utf8_be_t=function(t) + if not t then + return nil + elseif type(t)=="string" then + t=lpegmatch(utf_16_be_linesplitter,t) end - utf32_to_utf8_be=function(t) - if type(t)=="string" then - t=lpegmatch(utflinesplitter,t) - end - local result={} - for i=1,#t do - local r,more=0,-1 - for a,b in bytepairs(t[i]) do - if a and b then - if more<0 then - more=256*256*256*a+256*256*b - else - r=r+1 - result[t]=utfchar(more+256*a+b) - more=-1 - end - else - break - end - end - t[i]=concat(result,"",1,r) + for i=1,#t do + local s=t[i] + if s~="" then + t[i]=lpegmatch(p_utf16_to_utf8_be,s) end - return t end - utf32_to_utf8_le=function(t) - if type(t)=="string" then - t=lpegmatch(utflinesplitter,t) - end - local result={} - for i=1,#t do - local r,more=0,-1 - for a,b in bytepairs(t[i]) do - if a and b then - if more<0 then - more=256*b+a - else - r=r+1 - result[t]=utfchar(more+256*256*256*b+256*256*a) - more=-1 - end - else - break - end - end - t[i]=concat(result,"",1,r) - end - return t + return t +end +utf16_to_utf8_le=function(s) + if s and s~="" then + return lpegmatch(p_utf16_to_utf8_le,s) + else + return s end -else - utf16_to_utf8_be=function(t) - if type(t)=="string" then - t=lpegmatch(utf_16_be_linesplitter,t) +end +local utf16_to_utf8_le_t=function(t) + if not t then + return nil + elseif type(t)=="string" then + t=lpegmatch(utf_16_le_linesplitter,t) + end + for i=1,#t do + local s=t[i] + if s~="" then + t[i]=lpegmatch(p_utf16_to_utf8_le,s) end - local result={} - for i=1,#t do - local r,more=0,0 - for left,right in gmatch(t[i],"(.)(.)") do - if left=="\000" then - r=r+1 - result[r]=utfchar(byte(right)) - elseif right then - local now=256*byte(left)+byte(right) - if more>0 then - now=(more-0xD800)*0x400+(now-0xDC00)+0x10000 - more=0 - r=r+1 - result[r]=utfchar(now) - elseif now>=0xD800 and now<=0xDBFF then - more=now - else - r=r+1 - result[r]=utfchar(now) - end - end - end - t[i]=concat(result,"",1,r) - end - return t end - utf16_to_utf8_le=function(t) - if type(t)=="string" then - t=lpegmatch(utf_16_le_linesplitter,t) + return t +end +utf32_to_utf8_be=function(s) + if s and s~="" then + return lpegmatch(p_utf32_to_utf8_be,s) + else + return s + end +end +local utf32_to_utf8_be_t=function(t) + if not t then + return nil + elseif type(t)=="string" then + t=lpegmatch(utf_32_be_linesplitter,t) + end + for i=1,#t do + local s=t[i] + if s~="" then + t[i]=lpegmatch(p_utf32_to_utf8_be,s) end - local result={} - for i=1,#t do - local r,more=0,0 - for left,right in gmatch(t[i],"(.)(.)") do - if right=="\000" then - r=r+1 - result[r]=utfchar(byte(left)) - elseif right then - local now=256*byte(right)+byte(left) - if more>0 then - now=(more-0xD800)*0x400+(now-0xDC00)+0x10000 - more=0 - r=r+1 - result[r]=utfchar(now) - elseif now>=0xD800 and now<=0xDBFF then - more=now - else - r=r+1 - result[r]=utfchar(now) - end - end - end - t[i]=concat(result,"",1,r) + end + return t +end +utf32_to_utf8_le=function(s) + if s and s~="" then + return lpegmatch(p_utf32_to_utf8_le,s) + else + return s + end +end +local utf32_to_utf8_le_t=function(t) + if not t then + return nil + elseif type(t)=="string" then + t=lpegmatch(utf_32_le_linesplitter,t) + end + for i=1,#t do + local s=t[i] + if s~="" then + t[i]=lpegmatch(p_utf32_to_utf8_le,s) end - return t end - utf32_to_utf8_le=function() return {} end - utf32_to_utf8_be=function() return {} end + return t end +utf.utf16_to_utf8_le_t=utf16_to_utf8_le_t +utf.utf16_to_utf8_be_t=utf16_to_utf8_be_t +utf.utf32_to_utf8_le_t=utf32_to_utf8_le_t +utf.utf32_to_utf8_be_t=utf32_to_utf8_be_t utf.utf16_to_utf8_le=utf16_to_utf8_le utf.utf16_to_utf8_be=utf16_to_utf8_be utf.utf32_to_utf8_le=utf32_to_utf8_le utf.utf32_to_utf8_be=utf32_to_utf8_be -function utf.utf8_to_utf8(t) +function utf.utf8_to_utf8_t(t) return type(t)=="string" and lpegmatch(utflinesplitter,t) or t end -function utf.utf16_to_utf8(t,endian) - return endian and utf16_to_utf8_be(t) or utf16_to_utf8_le(t) or t +function utf.utf16_to_utf8_t(t,endian) + return endian and utf16_to_utf8_be_t(t) or utf16_to_utf8_le_t(t) or t end -function utf.utf32_to_utf8(t,endian) - return endian and utf32_to_utf8_be(t) or utf32_to_utf8_le(t) or t +function utf.utf32_to_utf8_t(t,endian) + return endian and utf32_to_utf8_be_t(t) or utf32_to_utf8_le_t(t) or t end -local function little(c) - local b=byte(c) +local function little(b) if b<0x10000 then return char(b%256,b/256) else @@ -4700,8 +4990,7 @@ local function little(c) return char(b1%256,b1/256,b2%256,b2/256) end end -local function big(c) - local b=byte(c) +local function big(b) if b<0x10000 then return char(b/256,b%256) else @@ -4710,27 +4999,29 @@ local function big(c) return char(b1/256,b1%256,b2/256,b2%256) end end -local _,l_remap=utf.remapper(little) -local _,b_remap=utf.remapper(big) -function utf.utf8_to_utf16_be(str,nobom) +local l_remap=Cs((p_utf8byte/little+P(1)/"")^0) +local b_remap=Cs((p_utf8byte/big+P(1)/"")^0) +local function utf8_to_utf16_be(str,nobom) if nobom then return lpegmatch(b_remap,str) else return char(254,255)..lpegmatch(b_remap,str) end end -function utf.utf8_to_utf16_le(str,nobom) +local function utf8_to_utf16_le(str,nobom) if nobom then return lpegmatch(l_remap,str) else return char(255,254)..lpegmatch(l_remap,str) end end +utf.utf8_to_utf16_be=utf8_to_utf16_be +utf.utf8_to_utf16_le=utf8_to_utf16_le function utf.utf8_to_utf16(str,littleendian,nobom) if littleendian then - return utf.utf8_to_utf16_le(str,nobom) + return utf8_to_utf16_le(str,nobom) else - return utf.utf8_to_utf16_be(str,nobom) + return utf8_to_utf16_be(str,nobom) end end local pattern=Cs ( @@ -4746,16 +5037,16 @@ function utf.xstring(s) return format("0x%05X",type(s)=="number" and s or utfbyte(s)) end function utf.toeight(str) - if not str then + if not str or str=="" then return nil end local utftype=lpegmatch(p_utfstricttype,str) if utftype=="utf-8" then - return sub(str,4) - elseif utftype=="utf-16-le" then - return utf16_to_utf8_le(str) + return sub(str,4) elseif utftype=="utf-16-be" then - return utf16_to_utf8_ne(str) + return utf16_to_utf8_be(str) + elseif utftype=="utf-16-le" then + return utf16_to_utf8_le(str) else return str end @@ -4834,7 +5125,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-math"] = package.loaded["l-math"] or true --- original size: 915, stripped down to: 836 +-- original size: 974, stripped down to: 890 if not modules then modules={} end modules ['l-math']={ version=1.001, @@ -4844,6 +5135,9 @@ if not modules then modules={} end modules ['l-math']={ license="see context related readme files" } local floor,sin,cos,tan=math.floor,math.sin,math.cos,math.tan +if not math.ceiling then + math.ceiling=math.ceil +end if not math.round then function math.round(x) return floor(x+0.5) end end @@ -4871,7 +5165,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-str"] = package.loaded["util-str"] or true --- original size: 33063, stripped down to: 18397 +-- original size: 34407, stripped down to: 18852 if not modules then modules={} end modules ['util-str']={ version=1.001, @@ -5001,10 +5295,12 @@ local striplinepatterns={ ["retain"]=p_retain_normal, ["retain and collapse"]=p_retain_collapse, ["retain and no empty"]=p_retain_noempty, + ["collapse"]=patterns.collapser, } +setmetatable(striplinepatterns,{ __index=function(t,k) return p_prune_collapse end }) strings.striplinepatterns=striplinepatterns function strings.striplines(str,how) - return str and lpegmatch(how and striplinepatterns[how] or p_prune_collapse,str) or str + return str and lpegmatch(striplinepatterns[how],str) or str end strings.striplong=strings.striplines function strings.nice(str) @@ -5044,10 +5340,10 @@ string.tracedchars=tracedchars strings.tracers=tracedchars function string.tracedchar(b) if type(b)=="number" then - return tracedchars[b] or (utfchar(b).." (U+"..format('%05X',b)..")") + return tracedchars[b] or (utfchar(b).." (U+"..format("%05X",b)..")") else local c=utfbyte(b) - return tracedchars[c] or (b.." (U+"..format('%05X',c)..")") + return tracedchars[c] or (b.." (U+"..(c and format("%05X",c) or "?????")..")") end end function number.signed(i) @@ -5184,12 +5480,12 @@ local format_f=function(f) n=n+1 return format("format('%%%sf',a%s)",f,n) end -local format_F=function(f) +local format_F=function(f) n=n+1 if not f or f=="" then - return format("(((a%s > -0.0000000005 and a%s < 0.0000000005) and '0') or (a%s == 1 and '1') or format('%%.9f',a%s))",n,n,n,n) + return format("(((a%s > -0.0000000005 and a%s < 0.0000000005) and '0') or format((a%s %% 1 == 0) and '%%i' or '%%.9f',a%s))",n,n,n,n) else - return format("((a%s == 0 and '0') or (a%s == 1 and '1') or format('%%%sf',a%s))",n,n,f,n) + return format("format((a%s %% 1 == 0) and '%%i' or '%%%sf',a%s)",n,f,n) end end local format_g=function(f) @@ -5417,7 +5713,6 @@ local builder=Cs { "start", +V("j")+V("J") +V("m")+V("M") +V("z") -+V("*") )+V("*") )*(P(-1)+Carg(1)) )^0, @@ -5461,6 +5756,7 @@ local builder=Cs { "start", ["a"]=(prefix_any*P("a"))/format_a, ["A"]=(prefix_any*P("A"))/format_A, ["*"]=Cs(((1-P("%"))^1+P("%%")/"%%")^1)/format_rest, + ["?"]=Cs(((1-P("%"))^1 )^1)/format_rest, ["!"]=Carg(2)*prefix_any*P("!")*C((1-P("!"))^1)*P("!")/format_extension, } local direct=Cs ( @@ -5535,6 +5831,15 @@ else add(formatters,"tex",[[lpegmatch(texescape,%s)]],{ texescape=lpeg.patterns.texescape }) add(formatters,"lua",[[lpegmatch(luaescape,%s)]],{ luaescape=lpeg.patterns.luaescape }) end +local dquote=patterns.dquote +local equote=patterns.escaped+dquote/'\\"'+1 +local space=patterns.space +local cquote=Cc('"') +local pattern=Cs(dquote*(equote-P(-2))^0*dquote) ++Cs(cquote*(equote-space)^0*space*equote^0*cquote) +function string.optionalquoted(str) + return lpegmatch(pattern,str) or str +end end -- of closure @@ -5543,7 +5848,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-tab"] = package.loaded["util-tab"] or true --- original size: 23985, stripped down to: 16069 +-- original size: 24267, stripped down to: 16260 if not modules then modules={} end modules ['util-tab']={ version=1.001, @@ -5633,6 +5938,15 @@ function tables.removevalue(t,value) end end end +function tables.replacevalue(t,oldvalue,newvalue) + if oldvalue and newvalue then + for i=1,#t do + if t[i]==oldvalue then + t[i]=newvalue + end + end + end +end function tables.insertbeforevalue(t,value,extra) for i=1,#t do if t[i]==extra then @@ -6026,7 +6340,7 @@ function table.serialize(root,name,specification) end depth=depth+1 end - if root and next(root) then + if root and next(root)~=nil then local first=nil local last=0 last=#root @@ -6051,7 +6365,7 @@ function table.serialize(root,name,specification) elseif tv=="string" then n=n+1 t[n]=f_val_str(depth,v) elseif tv=="table" then - if not next(v) then + if next(v)==nil then n=n+1 t[n]=f_val_not(depth) else local st=simple_table(v) @@ -6081,7 +6395,7 @@ function table.serialize(root,name,specification) n=n+1 t[n]=f_key_boo_value_str(depth,k,v) end elseif tv=="table" then - if not next(v) then + if next(v)==nil then if tk=="number" then n=n+1 t[n]=f_key_num_value_not(depth,k,v) elseif tk=="string" then @@ -6139,7 +6453,7 @@ function table.serialize(root,name,specification) local dummy=root._w_h_a_t_e_v_e_r_ root._w_h_a_t_e_v_e_r_=nil end - if next(root) then + if next(root)~=nil then do_serialize(root,name,1,0) end end @@ -6302,7 +6616,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-prs"] = package.loaded["util-prs"] or true --- original size: 19618, stripped down to: 14012 +-- original size: 21751, stripped down to: 15108 if not modules then modules={} end modules ['util-prs']={ version=1.001, @@ -6458,11 +6772,30 @@ function parsers.settings_to_array(str,strict) return { str } end end -local separator=space^0*comma*space^0 -local value=P(lbrace*C((nobrace+nestedbraces)^0)*rbrace)+C((nestedbraces+(1-(space^0*(comma+P(-1)))))^0) -local withvalue=Carg(1)*value/function(f,s) return f(s) end -local pattern_a=spaces*Ct(value*(separator*value)^0) -local pattern_b=spaces*withvalue*(separator*withvalue)^0 +local cache_a={} +local cache_b={} +function parsers.groupedsplitat(symbol,withaction) + if not symbol then + symbol="," + end + local pattern=(withaction and cache_b or cache_a)[symbol] + if not pattern then + local symbols=S(symbol) + local separator=space^0*symbols*space^0 + local value=P(lbrace*C((nobrace+nestedbraces)^0)*rbrace)+C((nestedbraces+(1-(space^0*(symbols+P(-1)))))^0) + if withaction then + local withvalue=Carg(1)*value/function(f,s) return f(s) end + pattern=spaces*withvalue*(separator*withvalue)^0 + cache_b[symbol]=pattern + else + pattern=spaces*Ct(value*(separator*value)^0) + cache_a[symbol]=pattern + end + end + return pattern +end +local pattern_a=parsers.groupedsplitat(",",false) +local pattern_b=parsers.groupedsplitat(",",true) function parsers.stripped_settings_to_array(str) if not str or str=="" then return {} @@ -6524,12 +6857,9 @@ function parsers.array_to_string(a,separator) return "" end end -function parsers.settings_to_set(str,t) - t=t or {} - for s in gmatch(str,"[^, ]+") do - t[s]=true - end - return t +local pattern=Cf(Ct("")*Cg(C((1-S(", "))^1)*S(", ")^0*Cc(true))^1,rawset) +function utilities.parsers.settings_to_set(str,t) + return str and lpegmatch(pattern,str) or {} end function parsers.simple_hash_to_string(h,separator) local t,tn={},0 @@ -6541,12 +6871,16 @@ function parsers.simple_hash_to_string(h,separator) end return concat(t,separator or ",") end -local str=C((1-whitespace-equal)^1) +local str=Cs(lpegpatterns.unquoted)+C((1-whitespace-equal)^1) local setting=Cf(Carg(1)*(whitespace^0*Cg(str*whitespace^0*(equal*whitespace^0*str+Cc(""))))^1,rawset) local splitter=setting^1 function utilities.parsers.options_to_hash(str,target) return str and lpegmatch(splitter,str,1,target or {}) or {} end +local splitter=lpeg.tsplitat(" ") +function utilities.parsers.options_to_array(str) + return str and lpegmatch(splitter,str) or {} +end local value=P(lbrace*C((nobrace+nestedbraces)^0)*rbrace)+C(digit^1*lparent*(noparent+nestedparents)^1*rparent)+C((nestedbraces+(1-comma))^1) local pattern_a=spaces*Ct(value*(separator*value)^0) local function repeater(n,str) @@ -6668,7 +7002,7 @@ function parsers.rfc4180splitter(specification) local field=escaped+non_escaped+Cc("") local record=Ct(field*(separator*field)^1) local headerline=record*Cp() - local wholeblob=Ct((newline^-1*record)^0) + local wholeblob=Ct((newline^(specification.strict and -1 or 1)*record)^0) return function(data,getheader) if getheader then local header,position=lpegmatch(headerline,data) @@ -6705,13 +7039,13 @@ function parsers.stepper(str,n,action) lpegmatch(stepper,str,1,n,action or print) end end -local pattern_math=Cs((P("%")/"\\percent "+P("^")*Cc("{")*lpegpatterns.integer*Cc("}")+P(1))^0) -local pattern_text=Cs((P("%")/"\\percent "+(P("^")/"\\high")*Cc("{")*lpegpatterns.integer*Cc("}")+P(1))^0) +local pattern_math=Cs((P("%")/"\\percent "+P("^")*Cc("{")*lpegpatterns.integer*Cc("}")+anything)^0) +local pattern_text=Cs((P("%")/"\\percent "+(P("^")/"\\high")*Cc("{")*lpegpatterns.integer*Cc("}")+anything)^0) patterns.unittotex=pattern function parsers.unittotex(str,textmode) return lpegmatch(textmode and pattern_text or pattern_math,str) end -local pattern=Cs((P("^")/""*lpegpatterns.integer*Cc("")+P(1))^0) +local pattern=Cs((P("^")/""*lpegpatterns.integer*Cc("")+anything)^0) function parsers.unittoxml(str) return lpegmatch(pattern,str) end @@ -6783,6 +7117,18 @@ function utilities.parsers.runtime(time) local seconds=mod(time,60) return days,hours,minutes,seconds end +local spacing=whitespace^0 +local apply=P("->") +local method=C((1-apply)^1) +local token=lbrace*C((1-rbrace)^1)*rbrace+C(anything^1) +local pattern=spacing*(method*spacing*apply+Carg(1))*spacing*token +function utilities.parsers.splitmethod(str,default) + if str then + return lpegmatch(pattern,str,1,default or false) + else + return default or false,"" + end +end end -- of closure @@ -6872,7 +7218,7 @@ do -- create closure to overcome 200 locals limit package.loaded["trac-set"] = package.loaded["trac-set"] or true --- original size: 12365, stripped down to: 8799 +-- original size: 12482, stripped down to: 8864 if not modules then modules={} end modules ['trac-set']={ version=1.001, @@ -6900,7 +7246,7 @@ function setters.initialize(filename,name,values) local data=setter.data if data then for key,newvalue in next,values do - local newvalue=is_boolean(newvalue,newvalue) + local newvalue=is_boolean(newvalue,newvalue,true) local functions=data[key] if functions then local oldvalue=functions.value @@ -6954,7 +7300,7 @@ local function set(t,what,newvalue) elseif not value then value=false else - value=is_boolean(value,value) + value=is_boolean(value,value,true) end w=topattern(w,true,true) for name,functions in next,data do @@ -7093,6 +7439,7 @@ function setters.new(name) report=function(...) setters.report (setter,...) end, enable=function(...) enable (setter,...) end, disable=function(...) disable (setter,...) end, + reset=function(...) reset (setter,...) end, register=function(...) register(setter,...) end, list=function(...) list (setter,...) end, show=function(...) show (setter,...) end, @@ -7184,7 +7531,7 @@ do -- create closure to overcome 200 locals limit package.loaded["trac-log"] = package.loaded["trac-log"] or true --- original size: 25613, stripped down to: 16617 +-- original size: 29359, stripped down to: 20483 if not modules then modules={} end modules ['trac-log']={ version=1.001, @@ -7193,15 +7540,18 @@ if not modules then modules={} end modules ['trac-log']={ copyright="PRAGMA ADE / ConTeXt Development Team", license="see context related readme files" } +local next,type,select,print=next,type,select,print local write_nl,write=texio and texio.write_nl or print,texio and texio.write or io.write local format,gmatch,find=string.format,string.gmatch,string.find local concat,insert,remove=table.concat,table.insert,table.remove local topattern=string.topattern -local next,type,select=next,type,select local utfchar=utf.char +local datetime=os.date +local openfile=io.open local setmetatableindex=table.setmetatableindex local formatters=string.formatters local texgetcount=tex and tex.getcount +local variant="default" logs=logs or {} local logs=logs local moreinfo=[[ @@ -7211,32 +7561,122 @@ maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net wiki : http://contextgarden.net ]] -utilities.strings.formatters.add ( +formatters.add ( formatters,"unichr", [["U+" .. format("%%05X",%s) .. " (" .. utfchar(%s) .. ")"]] ) -utilities.strings.formatters.add ( +formatters.add ( formatters,"chruni", [[utfchar(%s) .. " (U+" .. format("%%05X",%s) .. ")"]] ) local function ignore() end setmetatableindex(logs,function(t,k) t[k]=ignore;return ignore end) local report,subreport,status,settarget,setformats,settranslations -local direct,subdirect,writer,pushtarget,poptarget,setlogfile,settimedlog,setprocessor,setformatters +local direct,subdirect,writer,pushtarget,poptarget,setlogfile,settimedlog,setprocessor,setformatters,newline if tex and (tex.jobname or tex.formatname) then - local valueiskey={ __index=function(t,k) t[k]=k return k end } - local target="term and log" + local function useluawrites() + local texio_write_nl=texio.write_nl + local texio_write=texio.write + local io_write=io.write + write_nl=function(target,...) + if not io_write then + io_write=io.write + end + if target=="term and log" then + texio_write_nl("log",...) + texio_write_nl("term","") + io_write(...) + elseif target=="log" then + texio_write_nl("log",...) + elseif target=="term" then + texio_write_nl("term","") + io_write(...) + elseif target~="none" then + texio_write_nl("log",target,...) + texio_write_nl("term","") + io_write(target,...) + end + end + write=function(target,...) + if not io_write then + io_write=io.write + end + if target=="term and log" then + texio_write("log",...) + io_write(...) + elseif target=="log" then + texio_write("log",...) + elseif target=="term" then + io_write(...) + elseif target~="none" then + texio_write("log",target,...) + io_write(target,...) + end + end + texio.write=write + texio.write_nl=write_nl + useluawrites=ignore + end + local whereto="both" + local target=nil + local targets=nil + local formats=table.setmetatableindex("self") + local translations=table.setmetatableindex("self") + local report_yes,subreport_yes,direct_yes,subdirect_yes,status_yes + local report_nop,subreport_nop,direct_nop,subdirect_nop,status_nop + local variants={ + default={ + formats={ + report_yes=formatters["%-15s > %s\n"], + report_nop=formatters["%-15s >\n"], + direct_yes=formatters["%-15s > %s"], + direct_nop=formatters["%-15s >"], + subreport_yes=formatters["%-15s > %s > %s\n"], + subreport_nop=formatters["%-15s > %s >\n"], + subdirect_yes=formatters["%-15s > %s > %s"], + subdirect_nop=formatters["%-15s > %s >"], + status_yes=formatters["%-15s : %s\n"], + status_nop=formatters["%-15s :\n"], + }, + targets={ + logfile="log", + log="log", + file="log", + console="term", + terminal="term", + both="term and log", + }, + }, + ansi={ + formats={ + report_yes=formatters["%-15s > %s\n"], + report_nop=formatters["%-15s >\n"], + direct_yes=formatters["%-15s > %s"], + direct_nop=formatters["%-15s >"], + subreport_yes=formatters["%-15s > %s > %s\n"], + subreport_nop=formatters["%-15s > %s >\n"], + subdirect_yes=formatters["%-15s > %s > %s"], + subdirect_nop=formatters["%-15s > %s >"], + status_yes=formatters["%-15s : %s\n"], + status_nop=formatters["%-15s :\n"], + }, + targets={ + logfile="none", + log="none", + file="none", + console="term", + terminal="term", + both="term", + }, + } + } logs.flush=io.flush - local formats={} setmetatable(formats,valueiskey) - local translations={} setmetatable(translations,valueiskey) writer=function(...) write_nl(target,...) end newline=function() write_nl(target,"\n") end - local report_yes=formatters["%-15s > %s\n"] - local report_nop=formatters["%-15s >\n"] report=function(a,b,c,...) if c then write_nl(target,report_yes(translations[a],formatters[formats[b]](c,...))) @@ -7248,8 +7688,6 @@ if tex and (tex.jobname or tex.formatname) then write_nl(target,"\n") end end - local direct_yes=formatters["%-15s > %s"] - local direct_nop=formatters["%-15s >"] direct=function(a,b,c,...) if c then return direct_yes(translations[a],formatters[formats[b]](c,...)) @@ -7261,8 +7699,6 @@ if tex and (tex.jobname or tex.formatname) then return "" end end - local subreport_yes=formatters["%-15s > %s > %s\n"] - local subreport_nop=formatters["%-15s > %s >\n"] subreport=function(a,s,b,c,...) if c then write_nl(target,subreport_yes(translations[a],translations[s],formatters[formats[b]](c,...))) @@ -7274,8 +7710,6 @@ if tex and (tex.jobname or tex.formatname) then write_nl(target,"\n") end end - local subdirect_yes=formatters["%-15s > %s > %s"] - local subdirect_nop=formatters["%-15s > %s >"] subdirect=function(a,s,b,c,...) if c then return subdirect_yes(translations[a],translations[s],formatters[formats[b]](c,...)) @@ -7287,8 +7721,6 @@ if tex and (tex.jobname or tex.formatname) then return "" end end - local status_yes=formatters["%-15s : %s\n"] - local status_nop=formatters["%-15s :\n"] status=function(a,b,c,...) if c then write_nl(target,status_yes(translations[a],formatters[formats[b]](c,...))) @@ -7300,16 +7732,13 @@ if tex and (tex.jobname or tex.formatname) then write_nl(target,"\n") end end - local targets={ - logfile="log", - log="log", - file="log", - console="term", - terminal="term", - both="term and log", - } - settarget=function(whereto) - target=targets[whereto or "both"] or targets.both + settarget=function(askedwhereto) + whereto=askedwhereto or whereto or "both" + target=targets[whereto] + if not target then + whereto="both" + target=targets[whereto] + end if target=="term" or target=="term and log" then logs.flush=io.flush else @@ -7338,21 +7767,74 @@ if tex and (tex.jobname or tex.formatname) then writeline(target,f(...)) end end - setformatters=function(f) - report_yes=f.report_yes or report_yes - report_nop=f.report_nop or report_nop - subreport_yes=f.subreport_yes or subreport_yes - subreport_nop=f.subreport_nop or subreport_nop - direct_yes=f.direct_yes or direct_yes - direct_nop=f.direct_nop or direct_nop - subdirect_yes=f.subdirect_yes or subdirect_yes - subdirect_nop=f.subdirect_nop or subdirect_nop - status_yes=f.status_yes or status_yes - status_nop=f.status_nop or status_nop - end + setformatters=function(specification) + local t=nil + local f=nil + local d=variants.default + if not specification then + elseif type(specification)=="table" then + t=specification.targets + f=specification.formats or specification + else + local v=variants[specification] + if v then + t=v.targets + f=v.formats + variant=specification + end + end + targets=t or d.targets + target=targets[whereto] or target + if f then + d=d.formats + else + f=d.formats + d=f + end + setmetatableindex(f,d) + report_yes=f.report_yes + report_nop=f.report_nop + subreport_yes=f.subreport_yes + subreport_nop=f.subreport_nop + direct_yes=f.direct_yes + direct_nop=f.direct_nop + subdirect_yes=f.subdirect_yes + subdirect_nop=f.subdirect_nop + status_yes=f.status_yes + status_nop=f.status_nop + if variant=="ansi" then + useluawrites() + end + settarget(whereto) + end + setformatters(variant) setlogfile=ignore settimedlog=ignore else + local report_yes,subreport_yes,status_yes + local report_nop,subreport_nop,status_nop + local variants={ + default={ + formats={ + report_yes=formatters["%-15s | %s"], + report_nop=formatters["%-15s |"], + subreport_yes=formatters["%-15s | %s | %s"], + subreport_nop=formatters["%-15s | %s |"], + status_yes=formatters["%-15s : %s\n"], + status_nop=formatters["%-15s :\n"], + }, + }, + ansi={ + formats={ + report_yes=formatters["%-15s | %s"], + report_nop=formatters["%-15s |"], + subreport_yes=formatters["%-15s | %s | %s"], + subreport_nop=formatters["%-15s | %s |"], + status_yes=formatters["%-15s : %s\n"], + status_nop=formatters["%-15s :\n"], + }, + }, + } logs.flush=ignore writer=function(s) write_nl(s) @@ -7360,8 +7842,6 @@ else newline=function() write_nl("\n") end - local report_yes=formatters["%-15s | %s"] - local report_nop=formatters["%-15s |"] report=function(a,b,c,...) if c then write_nl(report_yes(a,formatters[b](c,...))) @@ -7373,8 +7853,6 @@ else write_nl("") end end - local subreport_yes=formatters["%-15s | %s | %s"] - local subreport_nop=formatters["%-15s | %s |"] subreport=function(a,sub,b,c,...) if c then write_nl(subreport_yes(a,sub,formatters[b](c,...))) @@ -7386,8 +7864,6 @@ else write_nl("") end end - local status_yes=formatters["%-15s : %s\n"] - local status_nop=formatters["%-15s :\n"] status=function(a,b,c,...) if c then write_nl(status_yes(a,formatters[b](c,...))) @@ -7412,14 +7888,34 @@ else writeline(f(s)) end end - setformatters=function(f) - report_yes=f.report_yes or report_yes - report_nop=f.report_nop or report_nop - subreport_yes=f.subreport_yes or subreport_yes - subreport_nop=f.subreport_nop or subreport_nop - status_yes=f.status_yes or status_yes - status_nop=f.status_nop or status_nop - end + setformatters=function(specification) + local f=nil + local d=variants.default + if specification then + if type(specification)=="table" then + f=specification.formats or specification + else + local v=variants[specification] + if v then + f=v.formats + end + end + end + if f then + d=d.formats + else + f=d.formats + d=f + end + setmetatableindex(f,d) + report_yes=f.report_yes + report_nop=f.report_nop + subreport_yes=f.subreport_yes + subreport_nop=f.subreport_nop + status_yes=f.status_yes + status_nop=f.status_nop + end + setformatters(variant) setlogfile=function(name,keepopen) if name and name~="" then local localtime=os.localtime @@ -7672,13 +8168,13 @@ end local simple=logs.reporter("comment") logs.simple=simple logs.simpleline=simple -function logs.setprogram () end -function logs.extendbanner() end -function logs.reportlines () end -function logs.reportbanner() end -function logs.reportline () end -function logs.simplelines () end -function logs.help () end +logs.setprogram=ignore +logs.extendbanner=ignore +logs.reportlines=ignore +logs.reportbanner=ignore +logs.reportline=ignore +logs.simplelines=ignore +logs.help=ignore local Carg,C,lpegmatch=lpeg.Carg,lpeg.C,lpeg.match local p_newline=lpeg.patterns.newline local linewise=( @@ -7755,10 +8251,11 @@ function logs.application(t) end return t end -function logs.system(whereto,process,jobname,category,...) - local message=formatters["%s %s => %s => %s => %s\r"](os.date("%d/%m/%y %H:%m:%S"),process,jobname,category,format(...)) +local f_syslog=formatters["%s %s => %s => %s => %s\r"] +function logs.system(whereto,process,jobname,category,fmt,arg,...) + local message=f_syslog(datetime("%d/%m/%y %H:%m:%S"),process,jobname,category,arg==nil and fmt or format(fmt,arg,...)) for i=1,10 do - local f=io.open(whereto,"a") + local f=openfile(whereto,"a") if f then f:write(message) f:close() @@ -7820,7 +8317,7 @@ do -- create closure to overcome 200 locals limit package.loaded["trac-inf"] = package.loaded["trac-inf"] or true --- original size: 7011, stripped down to: 5590 +-- original size: 6704, stripped down to: 5343 if not modules then modules={} end modules ['trac-inf']={ version=1.001, @@ -7993,15 +8490,6 @@ function statistics.tracefunction(base,tag,...) statistics.register(formatters["%s.%s"](tag,name),function() return serialize(stat,"calls") end) end end -commands=commands or {} -function commands.resettimer(name) - resettiming(name or "whatever") - starttiming(name or "whatever") -end -function commands.elapsedtime(name) - stoptiming(name or "whatever") - context(elapsedtime(name or "whatever")) -end end -- of closure @@ -8568,7 +9056,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-tpl"] = package.loaded["util-tpl"] or true --- original size: 6251, stripped down to: 3488 +-- original size: 7100, stripped down to: 3978 if not modules then modules={} end modules ['util-tpl']={ version=1.001, @@ -8610,7 +9098,7 @@ local sqlescape=lpeg.replacer { { "\r\n","\\n" }, { "\r","\\n" }, } -local sqlquoted=lpeg.Cs(lpeg.Cc("'")*sqlescape*lpeg.Cc("'")) +local sqlquoted=Cs(Cc("'")*sqlescape*Cc("'")) lpegpatterns.sqlescape=sqlescape lpegpatterns.sqlquoted=sqlquoted local luaescape=lpegpatterns.luaescape @@ -8633,12 +9121,24 @@ local quotedescapers={ local luaescaper=escapers.lua local quotedluaescaper=quotedescapers.lua local function replacekeyunquoted(s,t,how,recurse) - local escaper=how and escapers[how] or luaescaper - return escaper(replacekey(s,t,how,recurse)) + if how==false then + return replacekey(s,t,how,recurse) + else + local escaper=how and escapers[how] or luaescaper + return escaper(replacekey(s,t,how,recurse)) + end end local function replacekeyquoted(s,t,how,recurse) - local escaper=how and quotedescapers[how] or quotedluaescaper - return escaper(replacekey(s,t,how,recurse)) + if how==false then + return replacekey(s,t,how,recurse) + else + local escaper=how and quotedescapers[how] or quotedluaescaper + return escaper(replacekey(s,t,how,recurse)) + end +end +local function replaceoptional(l,m,r,t,how,recurse) + local v=t[l] + return v and v~="" and lpegmatch(replacer,r,1,t,how or "lua",recurse or false) or "" end local single=P("%") local double=P("%%") @@ -8653,11 +9153,16 @@ local nolquoted=lquoted/'' local norquoted=rquoted/'' local nolquotedq=lquotedq/'' local norquotedq=rquotedq/'' -local key=nosingle*((C((1-nosingle )^1)*Carg(1)*Carg(2)*Carg(3))/replacekey )*nosingle -local quoted=nolquotedq*((C((1-norquotedq)^1)*Carg(1)*Carg(2)*Carg(3))/replacekeyquoted )*norquotedq -local unquoted=nolquoted*((C((1-norquoted )^1)*Carg(1)*Carg(2)*Carg(3))/replacekeyunquoted)*norquoted +local noloptional=P("%?")/'' +local noroptional=P("?%")/'' +local nomoptional=P(":")/'' +local args=Carg(1)*Carg(2)*Carg(3) +local key=nosingle*((C((1-nosingle )^1)*args)/replacekey )*nosingle +local quoted=nolquotedq*((C((1-norquotedq )^1)*args)/replacekeyquoted )*norquotedq +local unquoted=nolquoted*((C((1-norquoted )^1)*args)/replacekeyunquoted)*norquoted +local optional=noloptional*((C((1-nomoptional)^1)*nomoptional*C((1-noroptional)^1)*args)/replaceoptional)*noroptional local any=P(1) - replacer=Cs((unquoted+quoted+escape+key+any)^0) + replacer=Cs((unquoted+quoted+escape+optional+key+any)^0) local function replace(str,mapping,how,recurse) if mapping and str then return lpegmatch(replacer,str,1,mapping,how or "lua",recurse or false) or str @@ -8696,7 +9201,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-env"] = package.loaded["util-env"] or true --- original size: 8814, stripped down to: 5092 +-- original size: 8022, stripped down to: 5038 if not modules then modules={} end modules ['util-env']={ version=1.001, @@ -8707,7 +9212,7 @@ if not modules then modules={} end modules ['util-env']={ } local allocate,mark=utilities.storage.allocate,utilities.storage.mark local format,sub,match,gsub,find=string.format,string.sub,string.match,string.gsub,string.find -local unquoted,quoted=string.unquoted,string.quoted +local unquoted,quoted,optionalquoted=string.unquoted,string.quoted,string.optionalquoted local concat,insert,remove=table.concat,table.insert,table.remove environment=environment or {} local environment=environment @@ -8820,24 +9325,14 @@ function environment.splitarguments(separator) return before,after end function environment.reconstructcommandline(arg,noquote) + local resolveprefix=resolvers.resolve arg=arg or environment.originalarguments if noquote and #arg==1 then - local a=arg[1] - a=resolvers.resolve(a) - a=unquoted(a) - return a + return unquoted(resolveprefix and resolveprefix(arg[1]) or arg[1]) elseif #arg>0 then local result={} for i=1,#arg do - local a=arg[i] - a=resolvers.resolve(a) - a=unquoted(a) - a=gsub(a,'"','\\"') - if find(a," ",1,true) then - result[#result+1]=quoted(a) - else - result[#result+1]=a - end + result[i]=optionalquoted(resolveprefix and resolveprefix(arg[i]) or resolveprefix) end return concat(result," ") else @@ -9046,7 +9541,7 @@ do -- create closure to overcome 200 locals limit package.loaded["lxml-tab"] = package.loaded["lxml-tab"] or true --- original size: 42614, stripped down to: 26694 +-- original size: 43882, stripped down to: 26870 if not modules then modules={} end modules ['lxml-tab']={ version=1.001, @@ -9061,10 +9556,10 @@ if lpeg.setmaxstack then lpeg.setmaxstack(1000) end xml=xml or {} local xml=xml local concat,remove,insert=table.concat,table.remove,table.insert -local type,next,setmetatable,getmetatable,tonumber=type,next,setmetatable,getmetatable,tonumber +local type,next,setmetatable,getmetatable,tonumber,rawset=type,next,setmetatable,getmetatable,tonumber,rawset local lower,find,match,gsub=string.lower,string.find,string.match,string.gsub local utfchar=utf.char -local lpegmatch=lpeg.match +local lpegmatch,lpegpatterns=lpeg.match,lpeg.patterns local P,S,R,C,V,C,Cs=lpeg.P,lpeg.S,lpeg.R,lpeg.C,lpeg.V,lpeg.C,lpeg.Cs local formatters=string.formatters xml.xmlns=xml.xmlns or {} @@ -9226,9 +9721,10 @@ local function fromdec(s) return formatters["d:%s"](s),true end end -local rest=(1-P(";"))^0 -local many=P(1)^0 -local parsedentity=P("&")*(P("#x")*(rest/fromhex)+P("#")*(rest/fromdec))*P(";")*P(-1)+(P("#x")*(many/fromhex)+P("#")*(many/fromdec)) +local p_rest=(1-P(";"))^0 +local p_many=P(1)^0 +local p_char=lpegpatterns.utf8character +local parsedentity=P("&")*(P("#x")*(p_rest/fromhex)+P("#")*(p_rest/fromdec))*P(";")*P(-1)+(P("#x")*(p_many/fromhex)+P("#")*(p_many/fromdec)) local predefined_unified={ [38]="&", [42]=""", @@ -9254,7 +9750,9 @@ local privates_u={ local privates_p={} local privates_n={ } -local escaped=utf.remapper(privates_u) +local escaped=utf.remapper(privates_u,"dynamic") +local unprivatized=utf.remapper(privates_p,"dynamic") +xml.unprivatized=unprivatized local function unescaped(s) local p=privates_n[s] if not p then @@ -9267,9 +9765,7 @@ local function unescaped(s) end return p end -local unprivatized=utf.remapper(privates_p) xml.privatetoken=unescaped -xml.unprivatized=unprivatized xml.privatecodes=privates_n local function handle_hex_entity(str) local h=hcache[str] @@ -9422,7 +9918,7 @@ local valid=R('az','AZ','09')+S('_-.') local name_yes=C(valid^1)*colon*C(valid^1) local name_nop=C(P(true))*C(valid^1) local name=name_yes+name_nop -local utfbom=lpeg.patterns.utfbom +local utfbom=lpegpatterns.utfbom local spacing=C(space^0) local anyentitycontent=(1-open-semicolon-space-close)^0 local hexentitycontent=R("AF","af","09")^0 @@ -9590,7 +10086,7 @@ local function _xmlconvert_(data,settings) reported_attribute_errors,mt,errorhandler=nil,nil,nil return result end -function xmlconvert(data,settings) +local function xmlconvert(data,settings) local ok,result=pcall(function() return _xmlconvert_(data,settings) end) if ok then return result @@ -9682,14 +10178,17 @@ function xml.checkbom(root) insert(dt,2,"\n" ) end end -local function verbose_element(e,handlers) +local f_attribute=formatters['%s=%q'] +local function verbose_element(e,handlers,escape) local handle=handlers.handle local serialize=handlers.serialize local ens,etg,eat,edt,ern=e.ns,e.tg,e.at,e.dt,e.rn local ats=eat and next(eat) and {} if ats then + local n=0 for k,v in next,eat do - ats[#ats+1]=formatters['%s=%q'](k,escaped(v)) + n=n+1 + ats[n]=f_attribute(k,escaped(v)) end end if ern and trace_entities and ern~=ens then @@ -10033,7 +10532,7 @@ do -- create closure to overcome 200 locals limit package.loaded["lxml-lpt"] = package.loaded["lxml-lpt"] or true --- original size: 48030, stripped down to: 30595 +-- original size: 48229, stripped down to: 30684 if not modules then modules={} end modules ['lxml-lpt']={ version=1.001, @@ -10418,8 +10917,8 @@ local lp_builtin=P ( P("ns")/"ll.ns" )*((spaces*P("(")*spaces*P(")"))/"") local lp_attribute=(P("@")+P("attribute::"))/""*Cc("(ll.at and ll.at['")*((R("az","AZ")+S("-_:"))^1)*Cc("'])") -lp_fastpos_p=P("+")^0*R("09")^1*P(-1)/"l==%0" -lp_fastpos_n=P("-")*R("09")^1*P(-1)/"(%0<0 and (#list+%0==l))" +local lp_fastpos_p=P("+")^0*R("09")^1*P(-1)/"l==%0" +local lp_fastpos_n=P("-")*R("09")^1*P(-1)/"(%0<0 and (#list+%0==l))" local lp_fastpos=lp_fastpos_n+lp_fastpos_p local lp_reserved=C("and")+C("or")+C("not")+C("div")+C("mod")+C("true")+C("false") local lp_lua_function=Cs((R("az","AZ","__")^1*(P(".")*R("az","AZ","__")^1)^1)*("("))/"%0" @@ -10598,7 +11097,7 @@ local function nodesettostring(set,nodetest) if not ns or ns=="" then ns="*" end if not tg or tg=="" then tg="*" end tg=(tg=="@rt@" and "[root]") or format("%s:%s",ns,tg) - t[i]=(directive and tg) or format("not(%s)",tg) + t[#t+1]=(directive and tg) or format("not(%s)",tg) end if nodetest==false then return format("not(%s)",concat(t,"|")) @@ -10864,7 +11363,6 @@ expressions.print=function(...) print(...) return true end -expressions.contains=find expressions.find=find expressions.upper=upper expressions.lower=lower @@ -10886,6 +11384,9 @@ function expressions.contains(str,pattern) end return false end +function xml.expressions.idstring(str) + return type(str)=="string" and gsub(str,"^#","") or "" +end local function traverse(root,pattern,handle) local collected=applylpath(root,pattern) if collected then @@ -11173,7 +11674,7 @@ do -- create closure to overcome 200 locals limit package.loaded["lxml-aux"] = package.loaded["lxml-aux"] or true --- original size: 23804, stripped down to: 16817 +-- original size: 28225, stripped down to: 20125 if not modules then modules={} end modules ['lxml-aux']={ version=1.001, @@ -11183,16 +11684,19 @@ if not modules then modules={} end modules ['lxml-aux']={ license="see context related readme files" } local trace_manipulations=false trackers.register("lxml.manipulations",function(v) trace_manipulations=v end) +local trace_inclusions=false trackers.register("lxml.inclusions",function(v) trace_inclusions=v end) local report_xml=logs.reporter("xml") local xml=xml -local xmlconvert,xmlcopy,xmlname=xml.convert,xml.copy,xml.name +local xmlcopy,xmlname=xml.copy,xml.name local xmlinheritedconvert=xml.inheritedconvert local xmlapplylpath=xml.applylpath local xmlfilter=xml.filter -local type,setmetatable,getmetatable=type,setmetatable,getmetatable +local type,next,setmetatable,getmetatable=type,next,setmetatable,getmetatable local insert,remove,fastcopy,concat=table.insert,table.remove,table.fastcopy,table.concat local gmatch,gsub,format,find,strip=string.gmatch,string.gsub,string.format,string.find,string.strip local utfbyte=utf.byte +local lpegmatch=lpeg.match +local striplinepatterns=utilities.strings.striplinepatterns local function report(what,pattern,c,e) report_xml("%s element %a, root %a, position %a, index %a, pattern %a",what,xmlname(e),xmlname(e.__p__),c,e.ni,pattern) end @@ -11247,13 +11751,15 @@ end function xml.each(root,pattern,handle,reverse) local collected=xmlapplylpath(root,pattern) if collected then - if reverse then - for c=#collected,1,-1 do - handle(collected[c]) - end - else - for c=1,#collected do - handle(collected[c]) + if handle then + if reverse then + for c=#collected,1,-1 do + handle(collected[c]) + end + else + for c=1,#collected do + handle(collected[c]) + end end end return collected @@ -11309,6 +11815,7 @@ local function redo_ni(d) end end end +xml.reindex=redo_ni local function xmltoelement(whatever,root) if not whatever then return nil @@ -11360,8 +11867,16 @@ function xml.delete(root,pattern) report('deleting',pattern,c,e) end local d=p.dt - remove(d,e.ni) - redo_ni(d) + local ni=e.ni + if ni<=#d then + if false then + p.dt[ni]="" + else + remove(d,ni) + redo_ni(d) + end + else + end end end end @@ -11481,28 +11996,40 @@ xml.insertafter=insert_element xml.insertbefore=function(r,p,e) insert_element(r,p,e,true) end xml.injectafter=inject_element xml.injectbefore=function(r,p,e) inject_element(r,p,e,true) end -local function include(xmldata,pattern,attribute,recursive,loaddata) +local function include(xmldata,pattern,attribute,recursive,loaddata,level) pattern=pattern or 'include' loaddata=loaddata or io.loaddata local collected=xmlapplylpath(xmldata,pattern) if collected then + if not level then + level=1 + end for c=1,#collected do local ek=collected[c] local name=nil local ekdt=ek.dt local ekat=ek.at - local epdt=ek.__p__.dt + local ekrt=ek.__p__ + local epdt=ekrt.dt if not attribute or attribute=="" then name=(type(ekdt)=="table" and ekdt[1]) or ekdt end if not name then for a in gmatch(attribute or "href","([^|]+)") do name=ekat[a] - if name then break end + if name then + break + end + end + end + local data=nil + if name and name~="" then + data=loaddata(name) or "" + if trace_inclusions then + report_xml("including %s bytes from %a at level %s by pattern %a and attribute %a (%srecursing)",#data,name,level,pattern,attribute or "",recursive and "" or "not ") end end - local data=(name and name~="" and loaddata(name)) or "" - if data=="" then + if not data or data=="" then epdt[ek.ni]="" elseif ekat["parse"]=="text" then epdt[ek.ni]=xml.escaped(data) @@ -11512,70 +12039,113 @@ local function include(xmldata,pattern,attribute,recursive,loaddata) epdt[ek.ni]="" else if recursive then - include(xi,pattern,attribute,recursive,loaddata) + include(xi,pattern,attribute,recursive,loaddata,level+1) + end + local child=xml.body(xi) + child.__p__=ekrt + child.__f__=name + epdt[ek.ni]=child + local inclusions=xmldata.settings.inclusions + if inclusions then + inclusions[#inclusions+1]=name + else + xmldata.settings.inclusions={ name } end - epdt[ek.ni]=xml.body(xi) end end end end end xml.include=include +function xml.inclusion(e,default) + while e do + local f=e.__f__ + if f then + return f + else + e=e.__p__ + end + end + return default +end +function xml.inclusions(e,sorted) + while e do + local settings=e.settings + if settings then + local inclusions=settings.inclusions + if inclusions then + inclusions=table.unique(inclusions) + if sorted then + table.sort(inclusions) + end + return inclusions + else + e=e.__p__ + end + else + e=e.__p__ + end + end +end +local b_collapser=lpeg.patterns.b_collapser +local m_collapser=lpeg.patterns.m_collapser +local e_collapser=lpeg.patterns.e_collapser +local b_stripper=lpeg.patterns.b_stripper +local m_stripper=lpeg.patterns.m_stripper +local e_stripper=lpeg.patterns.e_stripper +local lpegmatch=lpeg.match local function stripelement(e,nolines,anywhere) local edt=e.dt if edt then - if anywhere then - local t,n={},0 - for e=1,#edt do + local n=#edt + if n==0 then + return e + elseif anywhere then + local t={} + local m=0 + for e=1,n do local str=edt[e] if type(str)~="string" then - n=n+1 - t[n]=str + m=m+1 + t[m]=str elseif str~="" then if nolines then - str=gsub(str,"%s+"," ") + str=lpegmatch((n==1 and b_collapser) or (n==m and e_collapser) or m_collapser,str) + else + str=lpegmatch((n==1 and b_stripper) or (n==m and e_stripper) or m_stripper,str) end - str=gsub(str,"^%s*(.-)%s*$","%1") if str~="" then - n=n+1 - t[n]=str + m=m+1 + t[m]=str end end end e.dt=t else - if #edt>0 then - local str=edt[1] - if type(str)~="string" then - elseif str=="" then + local str=edt[1] + if type(str)=="string" then + if str~="" then + str=lpegmatch(nolines and b_collapser or b_stripper,str) + end + if str=="" then remove(edt,1) + n=n-1 else - if nolines then - str=gsub(str,"%s+"," ") - end - str=gsub(str,"^%s+","") - if str=="" then - remove(edt,1) - else - edt[1]=str - end + edt[1]=str end end - local nedt=#edt - if nedt>0 then - local str=edt[nedt] - if type(str)~="string" then - elseif str=="" then - remove(edt) - else - if nolines then - str=gsub(str,"%s+"," ") - end - str=gsub(str,"%s+$","") + if n>0 then + str=edt[n] + if type(str)=="string" then if str=="" then remove(edt) else - edt[nedt]=str + str=lpegmatch(nolines and e_collapser or e_stripper,str) + if str=="" then + remove(edt) + else + edt[n]=str + end end end end @@ -11761,8 +12331,8 @@ function xml.finalizers.xml.cdata(collected) end return "" end -function xml.insertcomment(e,str,n) - table.insert(e.dt,n or 1,{ +function xml.insertcomment(e,str,n) + insert(e.dt,n or 1,{ tg="@cm@", ns="", special=true, @@ -11770,7 +12340,25 @@ function xml.insertcomment(e,str,n) dt={ str }, }) end -function xml.setcdata(e,str) +function xml.insertcdata(e,str,n) + insert(e.dt,n or 1,{ + tg="@cd@", + ns="", + special=true, + at={}, + dt={ str }, + }) +end +function xml.setcomment(e,str,n) + e.dt={ { + tg="@cm@", + ns="", + special=true, + at={}, + dt={ str }, + } } +end +function xml.setcdata(e,str) e.dt={ { tg="@cd@", ns="", @@ -11840,7 +12428,7 @@ local function recurse(e,action) for i=1,#edt do local str=edt[i] if type(str)~="string" then - recurse(str,action,recursive) + recurse(str,action) elseif str~="" then edt[i]=action(str) end @@ -11858,6 +12446,65 @@ function helpers.recursetext(collected,action,recursive) end end end +local specials={ + ["@rt@"]="root", + ["@pi@"]="instruction", + ["@cm@"]="comment", + ["@dt@"]="declaration", + ["@cd@"]="cdata", +} +local function convert(x,strip,flat) + local ns=x.ns + local tg=x.tg + local at=x.at + local dt=x.dt + local node=flat and { + [0]=(not x.special and (ns~="" and ns..":"..tg or tg)) or nil, + } or { + _namespace=ns~="" and ns or nil, + _tag=not x.special and tg or nil, + _type=specials[tg] or "_element", + } + if at then + for k,v in next,at do + node[k]=v + end + end + local n=0 + for i=1,#dt do + local di=dt[i] + if type(di)=="table" then + if flat and di.special then + else + di=convert(di,strip,flat) + if di then + n=n+1 + node[n]=di + end + end + elseif strip then + di=lpegmatch(strip,di) + if di~="" then + n=n+1 + node[n]=di + end + else + n=n+1 + node[n]=di + end + end + if next(node) then + return node + end +end +function xml.totable(x,strip,flat) + if type(x)=="table" then + if strip then + strip=striplinepatterns[strip] + end + return convert(x,strip,flat) + end +end end -- of closure @@ -12414,7 +13061,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-ini"] = package.loaded["data-ini"] or true --- original size: 7927, stripped down to: 5528 +-- original size: 11085, stripped down to: 7662 if not modules then modules={} end modules ['data-ini']={ version=1.001, @@ -12423,14 +13070,15 @@ if not modules then modules={} end modules ['data-ini']={ copyright="PRAGMA ADE / ConTeXt Development Team", license="see context related readme files", } +local next,type,getmetatable,rawset=next,type,getmetatable,rawset local gsub,find,gmatch,char=string.gsub,string.find,string.gmatch,string.char -local next,type=next,type local filedirname,filebasename,filejoin=file.dirname,file.basename,file.join +local ostype,osname,osuname,ossetenv,osgetenv=os.type,os.name,os.uname,os.setenv,os.getenv +local P,S,R,C,Cs,Cc,lpegmatch=lpeg.P,lpeg.S,lpeg.R,lpeg.C,lpeg.Cs,lpeg.Cc,lpeg.match local trace_locating=false trackers.register("resolvers.locating",function(v) trace_locating=v end) local trace_detail=false trackers.register("resolvers.details",function(v) trace_detail=v end) local trace_expansions=false trackers.register("resolvers.expansions",function(v) trace_expansions=v end) local report_initialization=logs.reporter("resolvers","initialization") -local ostype,osname,ossetenv,osgetenv=os.type,os.name,os.setenv,os.getenv resolvers=resolvers or {} local resolvers=resolvers texconfig.kpse_init=false @@ -12563,61 +13211,158 @@ if type(profiler)=="table" and not jit then profiler.start("luatex-profile.log") end) end -if not resolvers.resolve then - function resolvers.resolve (s) return s end - function resolvers.unresolve(s) return s end - function resolvers.repath (s) return s end +local prefixes=utilities.storage.allocate() +resolvers.prefixes=prefixes +local resolved={} +local abstract={} +local dynamic={} +function resolvers.resetresolve(str) + resolved,abstract={},{} end - - -end -- of closure - -do -- create closure to overcome 200 locals limit - -package.loaded["data-exp"] = package.loaded["data-exp"] or true - --- original size: 15317, stripped down to: 9723 - -if not modules then modules={} end modules ['data-exp']={ - version=1.001, - comment="companion to luat-lib.mkiv", - author="Hans Hagen, PRAGMA-ADE, Hasselt NL", - copyright="PRAGMA ADE / ConTeXt Development Team", - license="see context related readme files", -} -local format,find,gmatch,lower,char,sub=string.format,string.find,string.gmatch,string.lower,string.char,string.sub -local concat,sort=table.concat,table.sort -local lpegmatch,lpegpatterns=lpeg.match,lpeg.patterns -local Ct,Cs,Cc,Carg,P,C,S=lpeg.Ct,lpeg.Cs,lpeg.Cc,lpeg.Carg,lpeg.P,lpeg.C,lpeg.S -local type,next=type,next -local ostype=os.type -local collapsepath=file.collapsepath -local trace_locating=false trackers.register("resolvers.locating",function(v) trace_locating=v end) -local trace_expansions=false trackers.register("resolvers.expansions",function(v) trace_expansions=v end) -local report_expansions=logs.reporter("resolvers","expansions") -local resolvers=resolvers -local function f_both(a,b) - local t,n={},0 - for sb in gmatch(b,"[^,]+") do - for sa in gmatch(a,"[^,]+") do - n=n+1;t[n]=sa..sb +function resolvers.allprefixes(separator) + local all=table.sortedkeys(prefixes) + if separator then + for i=1,#all do + all[i]=all[i]..":" end end - return concat(t,",") + return all end -local comma=P(",") -local nocomma=(1-comma)^1 -local docomma=comma^1/"," -local before=Cs((nocomma*Carg(1)+docomma)^0) -local after=Cs((Carg(1)*nocomma+docomma)^0) -local both=Cs(((C(nocomma)*Carg(1))/function(a,b) return lpegmatch(before,b,1,a) end+docomma)^0) -local function f_first (a,b) return lpegmatch(after,b,1,a) end -local function f_second(a,b) return lpegmatch(before,a,1,b) end -local function f_both (a,b) return lpegmatch(both,b,1,a) end -local left=P("{") -local right=P("}") -local var=P((1-S("{}" ))^0) -local set=P((1-S("{},"))^0) +local function _resolve_(method,target) + local action=prefixes[method] + if action then + return action(target) + else + return method..":"..target + end +end +function resolvers.unresolve(str) + return abstract[str] or str +end +function resolvers.setdynamic(str) + dynamic[str]=true +end +local pattern=Cs((C(R("az")^2)*P(":")*C((1-S(" \"\';,"))^1)/_resolve_+P(1))^0) +local prefix=C(R("az")^2)*P(":") +local target=C((1-S(" \"\';,"))^1) +local notarget=(#S(";,")+P(-1))*Cc("") +local p_resolve=Cs(((prefix*(target+notarget))/_resolve_+P(1))^0) +local p_simple=prefix*P(-1) +local function resolve(str) + if type(str)=="table" then + local res={} + for i=1,#str do + res[i]=resolve(str[i]) + end + return res + end + local res=resolved[str] + if res then + return res + end + local simple=lpegmatch(p_simple,str) + local action=prefixes[simple] + if action then + local res=action(res) + if not dynamic[simple] then + resolved[simple]=res + abstract[res]=simple + end + return res + end + res=lpegmatch(p_resolve,str) + resolved[str]=res + abstract[res]=str + return res +end +resolvers.resolve=resolve +if type(osuname)=="function" then + for k,v in next,osuname() do + if not prefixes[k] then + prefixes[k]=function() return v end + end + end +end +if ostype=="unix" then + local pattern + local function makepattern(t,k,v) + if t then + rawset(t,k,v) + end + local colon=P(":") + for k,v in table.sortedpairs(prefixes) do + if p then + p=P(k)+p + else + p=P(k) + end + end + pattern=Cs((p*colon+colon/";"+P(1))^0) + end + makepattern() + table.setmetatablenewindex(prefixes,makepattern) + function resolvers.repath(str) + return lpegmatch(pattern,str) + end +else + function resolvers.repath(str) + return str + end +end + + +end -- of closure + +do -- create closure to overcome 200 locals limit + +package.loaded["data-exp"] = package.loaded["data-exp"] or true + +-- original size: 17216, stripped down to: 10657 + +if not modules then modules={} end modules ['data-exp']={ + version=1.001, + comment="companion to luat-lib.mkiv", + author="Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright="PRAGMA ADE / ConTeXt Development Team", + license="see context related readme files", +} +local format,find,gmatch,lower,char,sub=string.format,string.find,string.gmatch,string.lower,string.char,string.sub +local concat,sort=table.concat,table.sort +local lpegmatch,lpegpatterns=lpeg.match,lpeg.patterns +local Ct,Cs,Cc,Carg,P,C,S=lpeg.Ct,lpeg.Cs,lpeg.Cc,lpeg.Carg,lpeg.P,lpeg.C,lpeg.S +local type,next=type,next +local isdir=lfs.isdir +local ostype=os.type +local collapsepath,joinpath,basename=file.collapsepath,file.join,file.basename +local trace_locating=false trackers.register("resolvers.locating",function(v) trace_locating=v end) +local trace_expansions=false trackers.register("resolvers.expansions",function(v) trace_expansions=v end) +local trace_globbing=true trackers.register("resolvers.globbing",function(v) trace_globbing=v end) +local report_expansions=logs.reporter("resolvers","expansions") +local report_globbing=logs.reporter("resolvers","globbing") +local resolvers=resolvers +local resolveprefix=resolvers.resolve +local function f_both(a,b) + local t,n={},0 + for sb in gmatch(b,"[^,]+") do + for sa in gmatch(a,"[^,]+") do + n=n+1;t[n]=sa..sb + end + end + return concat(t,",") +end +local comma=P(",") +local nocomma=(1-comma)^1 +local docomma=comma^1/"," +local before=Cs((nocomma*Carg(1)+docomma)^0) +local after=Cs((Carg(1)*nocomma+docomma)^0) +local both=Cs(((C(nocomma)*Carg(1))/function(a,b) return lpegmatch(before,b,1,a) end+docomma)^0) +local function f_first (a,b) return lpegmatch(after,b,1,a) end +local function f_second(a,b) return lpegmatch(before,a,1,b) end +local function f_both (a,b) return lpegmatch(both,b,1,a) end +local left=P("{") +local right=P("}") +local var=P((1-S("{}" ))^0) +local set=P((1-S("{},"))^0) local other=P(1) local l_first=Cs((Cc("{")*(C(set)*left*C(var)*right/f_first)*Cc("}")+other )^0 ) local l_second=Cs((Cc("{")*(left*C(var)*right*C(set)/f_second)*Cc("}")+other )^0 ) @@ -12685,35 +13430,27 @@ function resolvers.expandedpathfromlist(pathlist) end return newlist end -local cleanup=lpeg.replacer { - { "!","" }, - { "\\","/" }, -} -function resolvers.cleanpath(str) - local doslashes=(P("\\")/"/"+1)^0 - local donegation=(P("!")/"" )^0 - local homedir=lpegmatch(Cs(donegation*doslashes),environment.homedir or "") - if homedir=="~" or homedir=="" or not lfs.isdir(homedir) then - if trace_expansions then - report_expansions("no home dir set, ignoring dependent paths") - end - function resolvers.cleanpath(str) - if not str or find(str,"~",1,true) then - return "" - else - return lpegmatch(cleanup,str) +local usedhomedir=nil +local donegation=(P("!")/"" )^0 +local doslashes=(P("\\")/"/"+1)^0 +local function expandedhome() + if not usedhomedir then + usedhomedir=lpegmatch(Cs(donegation*doslashes),environment.homedir or "") + if usedhomedir=="~" or usedhomedir=="" or not isdir(usedhomedir) then + if trace_expansions then + report_expansions("no home dir set, ignoring dependent path using current path") end - end - else - local dohome=((P("~")+P("$HOME"))/homedir)^0 - local cleanup=Cs(donegation*dohome*doslashes) - function resolvers.cleanpath(str) - return str and lpegmatch(cleanup,str) or "" + usedhomedir="." end end - return resolvers.cleanpath(str) + return usedhomedir end -local expandhome=P("~")/"$HOME" +local dohome=((P("~")+P("$HOME")+P("%HOME%"))/expandedhome)^0 +local cleanup=Cs(donegation*dohome*doslashes) +resolvers.cleanpath=function(str) + return str and lpegmatch(cleanup,str) or "" +end +local expandhome=P("~")/"$HOME" local dodouble=P('"')/""*(expandhome+(1-P('"')))^0*P('"')/"" local dosingle=P("'")/""*(expandhome+(1-P("'")))^0*P("'")/"" local dostring=(expandhome+1 )^0 @@ -12765,46 +13502,67 @@ function resolvers.splitpath(str) end function resolvers.joinpath(str) if type(str)=='table' then - return file.joinpath(str) + return joinpath(str) else return str end end local attributes,directory=lfs.attributes,lfs.dir local weird=P(".")^1+lpeg.anywhere(S("~`!#$%^&*()={}[]:;\"\'||<>,?\n\r\t")) +local lessweird=P(".")^1+lpeg.anywhere(S("~`#$%^&*:;\"\'||<>,?\n\r\t")) local timer={} local scanned={} local nofscans=0 local scancache={} -local function scan(files,spec,path,n,m,r) - local full=(path=="" and spec) or (spec..path..'/') +local fullcache={} +local nofsharedscans=0 +local function scan(files,remap,spec,path,n,m,r,onlyone,tolerant) + local full=path=="" and spec or (spec..path..'/') local dirs={} local nofdirs=0 + local pattern=tolerant and lessweird or weird for name in directory(full) do - if not lpegmatch(weird,name) then - local mode=attributes(full..name,'mode') - if mode=='file' then + if not lpegmatch(pattern,name) then + local mode=attributes(full..name,"mode") + if mode=="file" then n=n+1 - local f=files[name] - if f then - if type(f)=='string' then - files[name]={ f,path } + local lower=lower(name) + local paths=files[lower] + if paths then + if onlyone then else - f[#f+1]=path + if type(paths)=="string" then + files[lower]={ paths,path } + else + paths[#paths+1]=path + end + if name~=lower then + local rl=remap[lower] + if not rl then + remap[lower]=name + r=r+1 + elseif trace_globbing and rl~=name then + report_globbing("confusing filename, name: %a, lower: %a, already: %a",name,lower,rl) + end + end end else - files[name]=path - local lower=lower(name) + files[lower]=path if name~=lower then - files["remap:"..lower]=name - r=r+1 + local rl=remap[lower] + if not rl then + remap[lower]=name + r=r+1 + elseif trace_globbing and rl~=name then + report_globbing("confusing filename, name: %a, lower: %a, already: %a",name,lower,rl) + end end end - elseif mode=='directory' then + elseif mode=="directory" then m=m+1 nofdirs=nofdirs+1 if path~="" then - dirs[nofdirs]=path..'/'..name + dirs[nofdirs]=path.."/"..name else dirs[nofdirs]=name end @@ -12814,107 +13572,69 @@ local function scan(files,spec,path,n,m,r) if nofdirs>0 then sort(dirs) for i=1,nofdirs do - files,n,m,r=scan(files,spec,dirs[i],n,m,r) + files,remap,n,m,r=scan(files,remap,spec,dirs[i],n,m,r,onlyonce,tolerant) end end scancache[sub(full,1,-2)]=files - return files,n,m,r + return files,remap,n,m,r end -local fullcache={} -function resolvers.scanfiles(path,branch,usecache) - statistics.starttiming(timer) - local realpath=resolvers.resolve(path) +function resolvers.scanfiles(path,branch,usecache,onlyonce,tolerant) + local realpath=resolveprefix(path) if usecache then - local files=fullcache[realpath] - if files then + local content=fullcache[realpath] + if content then if trace_locating then - report_expansions("using caches scan of path %a, branch %a",path,branch or path) + report_expansions("using cached scan of path %a, branch %a",path,branch or path) end - return files + nofsharedscans=nofsharedscans+1 + return content end end + statistics.starttiming(timer) if trace_locating then report_expansions("scanning path %a, branch %a",path,branch or path) end - local files,n,m,r=scan({},realpath..'/',"",0,0,0) - files.__path__=path - files.__files__=n - files.__directories__=m - files.__remappings__=r - if trace_locating then - report_expansions("%s files found on %s directories with %s uppercase remappings",n,m,r) - end - if usecache then - scanned[#scanned+1]=realpath - fullcache[realpath]=files - end - nofscans=nofscans+1 - statistics.stoptiming(timer) - return files -end -local function simplescan(files,spec,path) - local full=(path=="" and spec) or (spec..path..'/') - local dirs={} - local nofdirs=0 - for name in directory(full) do - if not lpegmatch(weird,name) then - local mode=attributes(full..name,'mode') - if mode=='file' then - if not files[name] then - files[name]=path - end - elseif mode=='directory' then - nofdirs=nofdirs+1 - if path~="" then - dirs[nofdirs]=path..'/'..name - else - dirs[nofdirs]=name - end - end - end - end - if nofdirs>0 then - sort(dirs) - for i=1,nofdirs do - files=simplescan(files,spec,dirs[i]) - end - end - return files -end -local simplecache={} -local nofsharedscans=0 -function resolvers.simplescanfiles(path,branch,usecache) - statistics.starttiming(timer) - local realpath=resolvers.resolve(path) - if usecache then - local files=simplecache[realpath] - if not files then - files=scancache[realpath] - if files then - nofsharedscans=nofsharedscans+1 - end + local content + if isdir(realpath) then + local files,remap,n,m,r=scan({},{},realpath..'/',"",0,0,0,onlyonce,tolerant) + content={ + metadata={ + path=path, + files=n, + directories=m, + remappings=r, + }, + files=files, + remap=remap, + } + if trace_locating then + report_expansions("%s files found on %s directories with %s uppercase remappings",n,m,r) end - if files then - if trace_locating then - report_expansions("using caches scan of path %a, branch %a",path,branch or path) - end - return files + else + content={ + metadata={ + path=path, + files=0, + directories=0, + remappings=0, + }, + files={}, + remap={}, + } + if trace_locating then + report_expansions("invalid path %a",realpath) end end - if trace_locating then - report_expansions("scanning path %a, branch %a",path,branch or path) - end - local files=simplescan({},realpath..'/',"") - if trace_locating then - report_expansions("%s files found",table.count(files)) - end if usecache then scanned[#scanned+1]=realpath - simplecache[realpath]=files + fullcache[realpath]=content end nofscans=nofscans+1 statistics.stoptiming(timer) - return files + return content +end +function resolvers.simplescanfiles(path,branch,usecache) + return resolvers.scanfiles(path,branch,usecache,true,true) end function resolvers.scandata() table.sort(scanned) @@ -12925,6 +13645,52 @@ function resolvers.scandata() paths=scanned, } end +function resolvers.get_from_content(content,path,name) + if not content then + return + end + local files=content.files + if not files then + return + end + local remap=content.remap + if not remap then + return + end + if name then + local used=lower(name) + return path,remap[used] or used + else + local name=path + local used=lower(name) + local path=files[used] + if path then + return path,remap[used] or used + end + end +end +local nothing=function() end +function resolvers.filtered_from_content(content,pattern) + if content and type(pattern)=="string" then + local pattern=lower(pattern) + local files=content.files + local remap=content.remap + if files and remap then + local n=next(files) + local function iterator() + while n do + local k=n + n=next(files,k) + if find(k,pattern) then + return files[k],remap and remap[k] or k + end + end + end + return iterator + end + end + return nothing +end end -- of closure @@ -12933,7 +13699,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-env"] = package.loaded["data-env"] or true --- original size: 8769, stripped down to: 6490 +-- original size: 9216, stripped down to: 6798 if not modules then modules={} end modules ['data-env']={ version=1.001, @@ -12951,10 +13717,12 @@ local formats=allocate() local suffixes=allocate() local dangerous=allocate() local suffixmap=allocate() +local usertypes=allocate() resolvers.formats=formats resolvers.suffixes=suffixes resolvers.dangerous=dangerous resolvers.suffixmap=suffixmap +resolvers.usertypes=usertypes local luasuffixes=utilities.lua.suffixes local relations=allocate { core={ @@ -13022,11 +13790,13 @@ local relations=allocate { names={ "mp" }, variable='MPINPUTS', suffixes={ 'mp','mpvi','mpiv','mpii' }, + usertype=true, }, tex={ names={ "tex" }, variable='TEXINPUTS', - suffixes={ 'tex',"mkvi","mkiv","mkii" }, + suffixes={ "tex","mkvi","mkiv","mkii","cld","lfg","xml" }, + usertype=true, }, icc={ names={ "icc","icc profile","icc profiles" }, @@ -13042,6 +13812,7 @@ local relations=allocate { names={ "lua" }, variable='LUAINPUTS', suffixes={ luasuffixes.lua,luasuffixes.luc,luasuffixes.tma,luasuffixes.tmc }, + usertype=true, }, lib={ names={ "lib" }, @@ -13050,11 +13821,15 @@ local relations=allocate { }, bib={ names={ 'bib' }, + variable='BIBINPUTS', suffixes={ 'bib' }, + usertype=true, }, bst={ names={ 'bst' }, + variable='BSTINPUTS', suffixes={ 'bst' }, + usertype=true, }, fontconfig={ names={ 'fontconfig','fontconfig file','fontconfig files' }, @@ -13136,8 +13911,9 @@ function resolvers.updaterelations() for name,relation in next,categories do local rn=relation.names local rv=relation.variable - local rs=relation.suffixes if rn and rv then + local rs=relation.suffixes + local ru=relation.usertype for i=1,#rn do local rni=lower(gsub(rn[i]," ","")) formats[rni]=rv @@ -13149,8 +13925,9 @@ function resolvers.updaterelations() end end end - end - if rs then + if ru then + usertypes[name]=true + end end end end @@ -13201,7 +13978,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-tmp"] = package.loaded["data-tmp"] or true --- original size: 15532, stripped down to: 11648 +-- original size: 15681, stripped down to: 11761 if not modules then modules={} end modules ['data-tmp']={ version=1.100, @@ -13220,6 +13997,7 @@ local trace_cache=false trackers.register("resolvers.cache",function(v) trace_ca local report_caches=logs.reporter("resolvers","caches") local report_resolvers=logs.reporter("resolvers","caching") local resolvers=resolvers +local cleanpath=resolvers.cleanpath local directive_cleanup=false directives.register("system.compile.cleanup",function(v) directive_cleanup=v end) local directive_strip=false directives.register("system.compile.strip",function(v) directive_strip=v end) local compile=utilities.lua.compile @@ -13241,7 +14019,7 @@ caches.relocate=false caches.defaults={ "TMPDIR","TEMPDIR","TMP","TEMP","HOME","HOMEPATH" } local writable,readables,usedreadables=nil,{},{} local function identify() - local texmfcaches=resolvers.cleanpathlist("TEXMFCACHE") + local texmfcaches=resolvers.cleanpathlist("TEXMFCACHE") if texmfcaches then for k=1,#texmfcaches do local cachepath=texmfcaches[k] @@ -13495,10 +14273,12 @@ local content_state={} function caches.contentstate() return content_state or {} end -function caches.loadcontent(cachename,dataname) - local name=caches.hashed(cachename) - local full,path=caches.getfirstreadablefile(addsuffix(name,luasuffixes.lua),"trees") - local filename=file.join(path,name) +function caches.loadcontent(cachename,dataname,filename) + if not filename then + local name=caches.hashed(cachename) + local full,path=caches.getfirstreadablefile(addsuffix(name,luasuffixes.lua),"trees") + filename=file.join(path,name) + end local blob=loadfile(addsuffix(filename,luasuffixes.luc)) or loadfile(addsuffix(filename,luasuffixes.lua)) if blob then local data=blob() @@ -13530,10 +14310,12 @@ function caches.collapsecontent(content) end end end -function caches.savecontent(cachename,dataname,content) - local name=caches.hashed(cachename) - local full,path=caches.setfirstwritablefile(addsuffix(name,luasuffixes.lua),"trees") - local filename=file.join(path,name) +function caches.savecontent(cachename,dataname,content,filename) + if not filename then + local name=caches.hashed(cachename) + local full,path=caches.setfirstwritablefile(addsuffix(name,luasuffixes.lua),"trees") + filename=file.join(path,name) + end local luaname=addsuffix(filename,luasuffixes.lua) local lucname=addsuffix(filename,luasuffixes.luc) if trace_locating then @@ -13576,7 +14358,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-met"] = package.loaded["data-met"] or true --- original size: 5460, stripped down to: 4014 +-- original size: 5347, stripped down to: 4015 if not modules then modules={} end modules ['data-met']={ version=1.100, @@ -13604,7 +14386,7 @@ local function splitmethod(filename) if type(filename)=="table" then return filename end - filename=file.collapsepath(filename,".") + filename=file.collapsepath(filename,".") if not find(filename,"://",1,true) then return { scheme="file",path=filename,original=filename,filename=filename } end @@ -13695,7 +14477,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-res"] = package.loaded["data-res"] or true --- original size: 62045, stripped down to: 43116 +-- original size: 67003, stripped down to: 46291 if not modules then modules={} end modules ['data-res']={ version=1.001, @@ -13705,7 +14487,7 @@ if not modules then modules={} end modules ['data-res']={ license="see context related readme files", } local gsub,find,lower,upper,match,gmatch=string.gsub,string.find,string.lower,string.upper,string.match,string.gmatch -local concat,insert,sortedkeys=table.concat,table.insert,table.sortedkeys +local concat,insert,remove,sortedkeys,sortedhash=table.concat,table.insert,table.remove,table.sortedkeys,table.sortedhash local next,type,rawget=next,type,rawget local os=os local P,S,R,C,Cc,Cs,Ct,Carg=lpeg.P,lpeg.S,lpeg.R,lpeg.C,lpeg.Cc,lpeg.Cs,lpeg.Ct,lpeg.Carg @@ -13714,17 +14496,23 @@ local formatters=string.formatters local filedirname=file.dirname local filebasename=file.basename local suffixonly=file.suffixonly +local addsuffix=file.addsuffix +local removesuffix=file.removesuffix local filejoin=file.join local collapsepath=file.collapsepath local joinpath=file.joinpath +local is_qualified_path=file.is_qualified_path local allocate=utilities.storage.allocate local settings_to_array=utilities.parsers.settings_to_array +local getcurrentdir=lfs.currentdir +local isfile=lfs.isfile +local isdir=lfs.isdir local setmetatableindex=table.setmetatableindex local luasuffixes=utilities.lua.suffixes -local getcurrentdir=lfs.currentdir local trace_locating=false trackers .register("resolvers.locating",function(v) trace_locating=v end) local trace_detail=false trackers .register("resolvers.details",function(v) trace_detail=v end) local trace_expansions=false trackers .register("resolvers.expansions",function(v) trace_expansions=v end) +local trace_paths=false trackers .register("resolvers.paths",function(v) trace_paths=v end) local resolve_otherwise=true directives.register("resolvers.otherwise",function(v) resolve_otherwise=v end) local report_resolving=logs.reporter("resolvers","resolving") local resolvers=resolvers @@ -13732,10 +14520,14 @@ local expandedpathfromlist=resolvers.expandedpathfromlist local checkedvariable=resolvers.checkedvariable local splitconfigurationpath=resolvers.splitconfigurationpath local methodhandler=resolvers.methodhandler +local filtered=resolvers.filtered_from_content +local lookup=resolvers.get_from_content +local cleanpath=resolvers.cleanpath +local resolveprefix=resolvers.resolve local initializesetter=utilities.setters.initialize local ostype,osname,osenv,ossetenv,osgetenv=os.type,os.name,os.env,os.setenv,os.getenv -resolvers.cacheversion='1.0.1' -resolvers.configbanner='' +resolvers.cacheversion="1.100" +resolvers.configbanner="" resolvers.homedir=environment.homedir resolvers.criticalvars=allocate { "SELFAUTOLOC","SELFAUTODIR","SELFAUTOPARENT","TEXMFCNF","TEXMF","TEXOS" } resolvers.luacnfname="texmfcnf.lua" @@ -13754,6 +14546,7 @@ end local unset_variable="unset" local formats=resolvers.formats local suffixes=resolvers.suffixes +local usertypes=resolvers.usertypes local dangerous=resolvers.dangerous local suffixmap=resolvers.suffixmap resolvers.defaultsuffixes={ "tex" } @@ -13762,7 +14555,7 @@ local instance=resolvers.instance or nil function resolvers.setenv(key,value,raw) if instance then instance.environment[key]=value - ossetenv(key,raw and value or resolvers.resolve(value)) + ossetenv(key,raw and value or resolveprefix(value)) end end local function getenv(key) @@ -13776,7 +14569,7 @@ local function getenv(key) end resolvers.getenv=getenv resolvers.env=getenv -local function resolve(k) +local function resolvevariable(k) return instance.expansions[k] end local dollarstripper=lpeg.stripper("$") @@ -13785,19 +14578,19 @@ local backslashswapper=lpeg.replacer("\\","/") local somevariable=P("$")/"" local somekey=C(R("az","AZ","09","__","--")^1) local somethingelse=P(";")*((1-S("!{}/\\"))^1*P(";")/"")+P(";")*(P(";")/"")+P(1) -local variableexpander=Cs((somevariable*(somekey/resolve)+somethingelse)^1 ) +local variableexpander=Cs((somevariable*(somekey/resolvevariable)+somethingelse)^1 ) local cleaner=P("\\")/"/"+P(";")*S("!{}/\\")^0*P(";")^1/";" local variablecleaner=Cs((cleaner+P(1))^0) -local somevariable=R("az","AZ","09","__","--")^1/resolve +local somevariable=R("az","AZ","09","__","--")^1/resolvevariable local variable=(P("$")/"")*(somevariable+(P("{")/"")*somevariable*(P("}")/"")) local variableresolver=Cs((variable+P(1))^0) local function expandedvariable(var) return lpegmatch(variableexpander,var) or var end -function resolvers.newinstance() - if trace_locating then +function resolvers.newinstance() + if trace_locating then report_resolving("creating instance") - end + end local environment,variables,expansions,order=allocate(),allocate(),allocate(),allocate() local newinstance={ environment=environment, @@ -13810,6 +14603,7 @@ function resolvers.newinstance() foundintrees=allocate(), hashes=allocate(), hashed=allocate(), + pathlists=false, specification=allocate(), lists=allocate(), data=allocate(), @@ -13822,6 +14616,7 @@ function resolvers.newinstance() savelists=true, pattern=nil, force_suffixes=true, + pathstack={}, } setmetatableindex(variables,function(t,k) local v @@ -13871,8 +14666,13 @@ function resolvers.reset() end local function reset_hashes() instance.lists={} + instance.pathlists=false instance.found={} end +local function reset_caches() + instance.lists={} + instance.pathlists=false +end local slash=P("/") local pathexpressionpattern=Cs ( Cc("^")*( @@ -13924,13 +14724,13 @@ local function identify_configuration_files() for i=1,#cnfpaths do local filepath=cnfpaths[i] local filename=collapsepath(filejoin(filepath,luacnfname)) - local realname=resolvers.resolve(filename) + local realname=resolveprefix(filename) if trace_locating then - local fullpath=gsub(resolvers.resolve(collapsepath(filepath)),"//","/") + local fullpath=gsub(resolveprefix(collapsepath(filepath)),"//","/") local weirdpath=find(fullpath,"/texmf.+/texmf") or not find(fullpath,"/web2c",1,true) report_resolving("looking for %a on %s path %a from specification %a",luacnfname,weirdpath and "weird" or "given",fullpath,filepath) end - if lfs.isfile(realname) then + if isfile(realname) then specification[#specification+1]=filename if trace_locating then report_resolving("found configuration file %a",realname) @@ -13952,7 +14752,7 @@ local function load_configuration_files() local filename=specification[i] local pathname=filedirname(filename) local filename=filejoin(pathname,luacnfname) - local realname=resolvers.resolve(filename) + local realname=resolveprefix(filename) local blob=loadfile(realname) if blob then local setups=instance.setups @@ -13960,7 +14760,7 @@ local function load_configuration_files() local parent=data and data.parent if parent then local filename=filejoin(pathname,parent) - local realname=resolvers.resolve(filename) + local realname=resolveprefix(filename) local blob=loadfile(realname) if blob then local parentdata=blob() @@ -13985,7 +14785,7 @@ local function load_configuration_files() elseif variables[k]==nil then if trace_locating and not warning then report_resolving("variables like %a in configuration file %a should move to the 'variables' subtable", - k,resolvers.resolve(filename)) + k,resolveprefix(filename)) warning=true end variables[k]=v @@ -14045,7 +14845,7 @@ local function locate_file_databases() local stripped=lpegmatch(inhibitstripper,path) if stripped~="" then local runtime=stripped==path - path=resolvers.cleanpath(path) + path=cleanpath(path) local spec=resolvers.splitmethod(stripped) if runtime and (spec.noscheme or spec.scheme=="file") then stripped="tree:///"..stripped @@ -14108,8 +14908,8 @@ function resolvers.renew(hashname) report_resolving("identifying tree %a",hashname) end end - local realpath=resolvers.resolve(hashname) - if lfs.isdir(realpath) then + local realpath=resolveprefix(hashname) + if isdir(realpath) then if trace_locating then report_resolving("using path %a",realpath) end @@ -14210,19 +15010,53 @@ end function resolvers.unexpandedpath(str) return joinpath(resolvers.unexpandedpathlist(str)) end +function resolvers.pushpath(name) + local pathstack=instance.pathstack + local lastpath=pathstack[#pathstack] + local pluspath=filedirname(name) + if lastpath then + lastpath=collapsepath(filejoin(lastpath,pluspath)) + else + lastpath=collapsepath(pluspath) + end + insert(pathstack,lastpath) + if trace_paths then + report_resolving("pushing path %a",lastpath) + end +end +function resolvers.poppath() + local pathstack=instance.pathstack + if trace_paths and #pathstack>0 then + report_resolving("popping path %a",pathstack[#pathstack]) + end + remove(pathstack) +end +function resolvers.stackpath() + local pathstack=instance.pathstack + local currentpath=pathstack[#pathstack] + return currentpath~="" and currentpath or nil +end local done={} function resolvers.resetextrapath() local ep=instance.extra_paths if not ep then - ep,done={},{} - instance.extra_paths=ep + done={} + instance.extra_paths={} elseif #ep>0 then - instance.lists,done={},{} + done={} + reset_caches() end end function resolvers.registerextrapath(paths,subpaths) - paths=settings_to_array(paths) - subpaths=settings_to_array(subpaths) + if not subpaths or subpaths=="" then + if not paths or path=="" then + return + elseif done[paths] then + return + end + end + local paths=settings_to_array(paths) + local subpaths=settings_to_array(subpaths) local ep=instance.extra_paths or {} local oldn=#ep local newn=oldn @@ -14237,7 +15071,7 @@ function resolvers.registerextrapath(paths,subpaths) local ps=p.."/"..s if not done[ps] then newn=newn+1 - ep[newn]=resolvers.cleanpath(ps) + ep[newn]=cleanpath(ps) done[ps]=true end end @@ -14247,7 +15081,7 @@ function resolvers.registerextrapath(paths,subpaths) local p=paths[i] if not done[p] then newn=newn+1 - ep[newn]=resolvers.cleanpath(p) + ep[newn]=cleanpath(p) done[p]=true end end @@ -14259,7 +15093,7 @@ function resolvers.registerextrapath(paths,subpaths) local ps=ep[i].."/"..s if not done[ps] then newn=newn+1 - ep[newn]=resolvers.cleanpath(ps) + ep[newn]=cleanpath(ps) done[ps]=true end end @@ -14268,52 +15102,70 @@ function resolvers.registerextrapath(paths,subpaths) if newn>0 then instance.extra_paths=ep end - if newn>oldn then - instance.lists={} + if newn~=oldn then + reset_caches() end end -local function made_list(instance,list) - local ep=instance.extra_paths - if not ep or #ep==0 then - return list +function resolvers.pushextrapath(path) + local paths=settings_to_array(path) + if instance.extra_stack then + insert(instance.extra_stack,1,paths) else - local done,new,newn={},{},0 - for k=1,#list do - local v=list[k] - if not done[v] then - if find(v,"^[%.%/]$") then - done[v]=true - newn=newn+1 - new[newn]=v - else - break - end - end - end - for k=1,#ep do - local v=ep[k] + instance.extra_stack={ paths } + end + reset_caches() +end +function resolvers.popextrapath() + if instance.extra_stack then + reset_caches() + return remove(instance.extra_stack,1) + end +end +local function made_list(instance,list,extra_too) + local done={} + local new={} + local newn=0 + local function add(p) + for k=1,#p do + local v=p[k] if not done[v] then done[v]=true newn=newn+1 new[newn]=v end end - for k=1,#list do - local v=list[k] - if not done[v] then - done[v]=true - newn=newn+1 - new[newn]=v + end + for k=1,#list do + local v=list[k] + if done[v] then + elseif find(v,"^[%.%/]$") then + done[v]=true + newn=newn+1 + new[newn]=v + else + break + end + end + if extra_too then + local es=instance.extra_stack + if es and #es>0 then + for k=1,#es do + add(es[k]) end end - return new + local ep=instance.extra_paths + if ep and #ep>0 then + add(ep) + end end + add(list) + return new end function resolvers.cleanpathlist(str) local t=resolvers.expandedpathlist(str) if t then for i=1,#t do - t[i]=collapsepath(resolvers.cleanpath(t[i])) + t[i]=collapsepath(cleanpath(t[i])) end end return t @@ -14321,22 +15173,22 @@ end function resolvers.expandpath(str) return joinpath(resolvers.expandedpathlist(str)) end -function resolvers.expandedpathlist(str) +function resolvers.expandedpathlist(str,extra_too) if not str then return {} - elseif instance.savelists then + elseif instance.savelists then str=lpegmatch(dollarstripper,str) local lists=instance.lists local lst=lists[str] if not lst then - local l=made_list(instance,resolvers.splitpath(resolvers.expansion(str))) + local l=made_list(instance,resolvers.splitpath(resolvers.expansion(str)),extra_too) lst=expandedpathfromlist(l) lists[str]=lst end return lst else local lst=resolvers.splitpath(resolvers.expansion(str)) - return made_list(instance,expandedpathfromlist(lst)) + return made_list(instance,expandedpathfromlist(lst),extra_too) end end function resolvers.expandedpathlistfromvariable(str) @@ -14347,6 +15199,13 @@ end function resolvers.expandpathfromvariable(str) return joinpath(resolvers.expandedpathlistfromvariable(str)) end +function resolvers.cleanedpathlist(v) + local t=resolvers.expandedpathlist(v) + for i=1,#t do + t[i]=resolvers.resolve(resolvers.cleanpath(t[i])) + end + return t +end function resolvers.expandbraces(str) local ori=str local pth=expandedpathfromlist(resolvers.splitpath(ori)) @@ -14363,7 +15222,7 @@ function resolvers.registerfilehash(name,content,someerror) end end local function isreadable(name) - local readable=lfs.isfile(name) + local readable=isfile(name) if trace_detail then if readable then report_resolving("file %a is readable",name) @@ -14373,70 +15232,57 @@ local function isreadable(name) end return readable end -local function collect_files(names) - local filelist,noffiles={},0 +local function collect_files(names) + local filelist={} + local noffiles=0 + local function check(hash,root,pathname,path,name) + if not pathname or find(path,pathname) then + local variant=hash.type + local search=filejoin(root,path,name) + local result=methodhandler('concatinators',variant,root,path,name) + if trace_detail then + report_resolving("match: variant %a, search %a, result %a",variant,search,result) + end + noffiles=noffiles+1 + filelist[noffiles]={ variant,search,result } + end + end for k=1,#names do - local fname=names[k] + local filename=names[k] if trace_detail then - report_resolving("checking name %a",fname) + report_resolving("checking name %a",filename) end - local bname=filebasename(fname) - local dname=filedirname(fname) - if dname=="" or find(dname,"^%.") then - dname=false + local basename=filebasename(filename) + local pathname=filedirname(filename) + if pathname=="" or find(pathname,"^%.") then + pathname=false else - dname=gsub(dname,"%*",".*") - dname="/"..dname.."$" + pathname=gsub(pathname,"%*",".*") + pathname="/"..pathname.."$" end local hashes=instance.hashes for h=1,#hashes do local hash=hashes[h] - local blobpath=hash.name - local files=blobpath and instance.files[blobpath] - if files then + local hashname=hash.name + local content=hashname and instance.files[hashname] + if content then if trace_detail then - report_resolving("deep checking %a, base %a, pattern %a",blobpath,bname,dname) - end - local blobfile=files[bname] - if not blobfile then - local rname="remap:"..bname - blobfile=files[rname] - if blobfile then - bname=files[rname] - blobfile=files[bname] - end + report_resolving("deep checking %a, base %a, pattern %a",hashname,basename,pathname) end - if blobfile then - local blobroot=files.__path__ or blobpath - if type(blobfile)=='string' then - if not dname or find(blobfile,dname) then - local variant=hash.type - local search=filejoin(blobroot,blobfile,bname) - local result=methodhandler('concatinators',hash.type,blobroot,blobfile,bname) - if trace_detail then - report_resolving("match: variant %a, search %a, result %a",variant,search,result) - end - noffiles=noffiles+1 - filelist[noffiles]={ variant,search,result } - end + local path,name=lookup(content,basename) + if path then + local metadata=content.metadata + local realroot=metadata and metadata.path or hashname + if type(path)=="string" then + check(hash,realroot,pathname,path,name) else - for kk=1,#blobfile do - local vv=blobfile[kk] - if not dname or find(vv,dname) then - local variant=hash.type - local search=filejoin(blobroot,vv,bname) - local result=methodhandler('concatinators',hash.type,blobroot,vv,bname) - if trace_detail then - report_resolving("match: variant %a, search %a, result %a",variant,search,result) - end - noffiles=noffiles+1 - filelist[noffiles]={ variant,search,result } - end + for i=1,#path do + check(hash,realroot,pathname,path[i],name) end end end elseif trace_locating then - report_resolving("no match in %a (%s)",blobpath,bname) + report_resolving("no match in %a (%s)",hashname,basename) end end end @@ -14461,7 +15307,7 @@ end local function can_be_dir(name) local fakepaths=instance.fakepaths if not fakepaths[name] then - if lfs.isdir(name) then + if isdir(name) then fakepaths[name]=1 else fakepaths[name]=2 @@ -14477,10 +15323,11 @@ local function find_analyze(filename,askedformat,allresults) if askedformat=="" then if ext=="" or not suffixmap[ext] then local defaultsuffixes=resolvers.defaultsuffixes + local formatofsuffix=resolvers.formatofsuffix for i=1,#defaultsuffixes do local forcedname=filename..'.'..defaultsuffixes[i] wantedfiles[#wantedfiles+1]=forcedname - filetype=resolvers.formatofsuffix(forcedname) + filetype=formatofsuffix(forcedname) if trace_locating then report_resolving("forcing filetype %a",filetype) end @@ -14520,14 +15367,14 @@ local function find_wildcard(filename,allresults) if trace_locating then report_resolving("checking wildcard %a",filename) end - local method,result=resolvers.findwildcardfiles(filename) + local result=resolvers.findwildcardfiles(filename) if result then return "wildcard",result end end end local function find_qualified(filename,allresults,askedformat,alsostripped) - if not file.is_qualified_path(filename) then + if not is_qualified_path(filename) then return end if trace_locating then @@ -14601,33 +15448,66 @@ local function check_subpath(fname) return fname end end -local function find_intree(filename,filetype,wantedfiles,allresults) +local function makepathlist(list,filetype) local typespec=resolvers.variableofformat(filetype) - local pathlist=resolvers.expandedpathlist(typespec) - local method="intree" + local pathlist=resolvers.expandedpathlist(typespec,filetype and usertypes[filetype]) + local entry={} if pathlist and #pathlist>0 then - local filelist=collect_files(wantedfiles) + for k=1,#pathlist do + local path=pathlist[k] + local prescanned=find(path,'^!!') + local resursive=find(path,'//$') + local pathname=lpegmatch(inhibitstripper,path) + local expression=makepathexpression(pathname) + local barename=gsub(pathname,"/+$","") + barename=resolveprefix(barename) + local scheme=url.hasscheme(barename) + local schemename=gsub(barename,"%.%*$",'') + entry[k]={ + path=path, + pathname=pathname, + prescanned=prescanned, + recursive=recursive, + expression=expression, + barename=barename, + scheme=scheme, + schemename=schemename, + } + end + entry.typespec=typespec + list[filetype]=entry + else + list[filetype]=false + end + return entry +end +local function find_intree(filename,filetype,wantedfiles,allresults) + local pathlists=instance.pathlists + if not pathlists then + pathlists=setmetatableindex(allocate(),makepathlist) + instance.pathlists=pathlists + end + local pathlist=pathlists[filetype] + if pathlist then + local method="intree" + local filelist=collect_files(wantedfiles) local dirlist={} + local result={} if filelist then for i=1,#filelist do dirlist[i]=filedirname(filelist[i][3]).."/" end end if trace_detail then - report_resolving("checking filename %a",filename) + report_resolving("checking filename %a in tree",filename) end - local resolve=resolvers.resolve - local result={} for k=1,#pathlist do - local path=pathlist[k] - local pathname=lpegmatch(inhibitstripper,path) - local doscan=path==pathname - if not find (pathname,'//$') then - doscan=false - end + local entry=pathlist[k] + local path=entry.path + local pathname=entry.pathname local done=false if filelist then - local expression=makepathexpression(pathname) + local expression=entry.expression if trace_detail then report_resolving("using pattern %a for path %a",expression,pathname) end @@ -14635,8 +15515,8 @@ local function find_intree(filename,filetype,wantedfiles,allresults) local fl=filelist[k] local f=fl[2] local d=dirlist[k] - if find(d,expression) or find(resolve(d),expression) then - result[#result+1]=resolve(fl[3]) + if find(d,expression) or find(resolveprefix(d),expression) then + result[#result+1]=resolveprefix(fl[3]) done=true if allresults then if trace_detail then @@ -14657,56 +15537,62 @@ local function find_intree(filename,filetype,wantedfiles,allresults) method="database" else method="filesystem" - pathname=gsub(pathname,"/+$","") - pathname=resolve(pathname) - local scheme=url.hasscheme(pathname) + local scheme=entry.scheme if not scheme or scheme=="file" then - local pname=gsub(pathname,"%.%*$",'') + local pname=entry.schemename if not find(pname,"*",1,true) then if can_be_dir(pname) then - for k=1,#wantedfiles do - local w=wantedfiles[k] - local fname=check_subpath(filejoin(pname,w)) - if fname then - result[#result+1]=fname - done=true - if not allresults then - break - end + if not done and not entry.prescanned then + if trace_detail then + report_resolving("quick root scan for %a",pname) end - end - if not done and doscan then - local files=resolvers.simplescanfiles(pname,false,true) for k=1,#wantedfiles do local w=wantedfiles[k] - local subpath=files[w] - if not subpath or subpath=="" then - elseif type(subpath)=="string" then - local fname=check_subpath(filejoin(pname,subpath,w)) - if fname then - result[#result+1]=fname - done=true - if not allresults then - break - end + local fname=check_subpath(filejoin(pname,w)) + if fname then + result[#result+1]=fname + done=true + if not allresults then + break end - else - for i=1,#subpath do - local sp=subpath[i] - if sp=="" then - else - local fname=check_subpath(filejoin(pname,sp,w)) - if fname then - result[#result+1]=fname - done=true - if not allresults then - break + end + end + if not done and entry.recursive then + if trace_detail then + report_resolving("scanning filesystem for %a",pname) + end + local files=resolvers.simplescanfiles(pname,false,true) + for k=1,#wantedfiles do + local w=wantedfiles[k] + local subpath=files[w] + if not subpath or subpath=="" then + elseif type(subpath)=="string" then + local fname=check_subpath(filejoin(pname,subpath,w)) + if fname then + result[#result+1]=fname + done=true + if not allresults then + break + end + end + else + for i=1,#subpath do + local sp=subpath[i] + if sp=="" then + else + local fname=check_subpath(filejoin(pname,sp,w)) + if fname then + result[#result+1]=fname + done=true + if not allresults then + break + end end end end - end - if done and not allresults then - break + if done and not allresults then + break + end end end end @@ -14714,6 +15600,18 @@ local function find_intree(filename,filetype,wantedfiles,allresults) end else end + else + for k=1,#wantedfiles do + local pname=entry.barename + local fname=methodhandler('finders',pname.."/"..wantedfiles[k]) + if fname then + result[#result+1]=fname + done=true + if not allresults then + break + end + end + end end end if done and not allresults then @@ -14748,10 +15646,13 @@ local function find_otherwise(filename,filetype,wantedfiles,allresults) local filelist=collect_files(wantedfiles) local fl=filelist and filelist[1] if fl then - return "otherwise",{ resolvers.resolve(fl[3]) } + return "otherwise",{ resolveprefix(fl[3]) } end end collect_instance_files=function(filename,askedformat,allresults) + if not filename or filename=="" then + return {} + end askedformat=askedformat or "" filename=collapsepath(filename,".") filename=gsub(filename,"^%./",getcurrentdir().."/") @@ -14786,7 +15687,11 @@ collect_instance_files=function(filename,askedformat,allresults) else local method,result,stamp,filetype,wantedfiles if instance.remember then - stamp=formatters["%s--%s"](filename,askedformat) + if askedformat=="" then + stamp=formatters["%s::%s"](suffixonly(filename),filename) + else + stamp=formatters["%s::%s"](askedformat,filename) + end result=stamp and instance.found[stamp] if result then if trace_locating then @@ -14821,7 +15726,7 @@ collect_instance_files=function(filename,askedformat,allresults) end if stamp then if trace_locating then - report_resolving("remembering file %a",filename) + report_resolving("remembering file %a using hash %a",filename,stamp) end instance.found[stamp]=result end @@ -14829,6 +15734,9 @@ collect_instance_files=function(filename,askedformat,allresults) end end local function findfiles(filename,filetype,allresults) + if not filename or filename=="" then + return {} + end local result,status=collect_instance_files(filename,filetype or "",allresults) if not result or #result==0 then local lowered=lower(filename) @@ -14848,39 +15756,30 @@ function resolvers.findpath(filename,filetype) return filedirname(findfiles(filename,filetype,false)[1] or "") end local function findgivenfiles(filename,allresults) - local bname,result=filebasename(filename),{} + local base=filebasename(filename) + local result={} local hashes=instance.hashes - local noffound=0 + local function okay(hash,path,name) + local found=methodhandler('concatinators',hash.type,hash.name,path,name) + if found and found~="" then + result[#result+1]=resolveprefix(found) + return not allresults + end + end for k=1,#hashes do local hash=hashes[k] - local files=instance.files[hash.name] or {} - local blist=files[bname] - if not blist then - local rname="remap:"..bname - blist=files[rname] - if blist then - bname=files[rname] - blist=files[bname] - end - end - if blist then - if type(blist)=='string' then - local found=methodhandler('concatinators',hash.type,hash.name,blist,bname) or "" - if found~="" then - noffound=noffound+1 - result[noffound]=resolvers.resolve(found) - if not allresults then - break - end + local content=instance.files[hash.name] + if content then + local path,name=lookup(content,base) + if not path then + elseif type(path)=="string" then + if okay(hash,path,name) then + return result end else - for kk=1,#blist do - local vv=blist[kk] - local found=methodhandler('concatinators',hash.type,hash.name,vv,bname) or "" - if found~="" then - noffound=noffound+1 - result[noffound]=resolvers.resolve(found) - if not allresults then break end + for i=1,#path do + if okay(hash,path[i],name) then + return result end end end @@ -14894,64 +15793,80 @@ end function resolvers.findgivenfile(filename) return findgivenfiles(filename,false)[1] or "" end -local function doit(path,blist,bname,tag,variant,result,allresults) - local done=false - if blist and variant then - local resolve=resolvers.resolve - if type(blist)=='string' then - if find(lower(blist),path) then - local full=methodhandler('concatinators',variant,tag,blist,bname) or "" - result[#result+1]=resolve(full) - done=true - end - else - for kk=1,#blist do - local vv=blist[kk] - if find(lower(vv),path) then - local full=methodhandler('concatinators',variant,tag,vv,bname) or "" - result[#result+1]=resolve(full) - done=true - if not allresults then break end - end - end - end - end - return done -end local makewildcard=Cs( (P("^")^0*P("/")*P(-1)+P(-1))/".*"+(P("^")^0*P("/")/"")^0*(P("*")/".*"+P("-")/"%%-"+P(".")/"%%."+P("?")/"."+P("\\")/"/"+P(1))^0 ) function resolvers.wildcardpattern(pattern) return lpegmatch(makewildcard,pattern) or pattern end -local function findwildcardfiles(filename,allresults,result) - result=result or {} +local function findwildcardfiles(filename,allresults,result) + local result=result or {} local base=filebasename(filename) local dirn=filedirname(filename) local path=lower(lpegmatch(makewildcard,dirn) or dirn) local name=lower(lpegmatch(makewildcard,base) or base) - local files,done=instance.files,false + local files=instance.files if find(name,"*",1,true) then local hashes=instance.hashes + local function okay(found,path,base,hashname,hashtype) + if find(found,path) then + local full=methodhandler('concatinators',hashtype,hashname,found,base) + if full and full~="" then + result[#result+1]=resolveprefix(full) + return not allresults + end + end + end for k=1,#hashes do local hash=hashes[k] - local hashname,hashtype=hash.name,hash.type - for kk,hh in next,files[hashname] do - if not find(kk,"^remap:") then - if find(lower(kk),name) then - if doit(path,hh,kk,hashname,hashtype,result,allresults) then done=true end - if done and not allresults then break end + local hashname=hash.name + local hashtype=hash.type + if hashname and hashtype then + for found,base in filtered(files[hashname],name) do + if type(found)=='string' then + if okay(found,path,base,hashname,hashtype) then + break + end + else + for i=1,#found do + if okay(found[i],path,base,hashname,hashtype) then + break + end + end end end end end else + local function okayokay(found,path,base,hashname,hashtype) + if find(found,path) then + local full=methodhandler('concatinators',hashtype,hashname,found,base) + if full and full~="" then + result[#result+1]=resolveprefix(full) + return not allresults + end + end + end local hashes=instance.hashes for k=1,#hashes do local hash=hashes[k] - local hashname,hashtype=hash.name,hash.type - if doit(path,files[hashname][base],base,hashname,hashtype,result,allresults) then done=true end - if done and not allresults then break end + local hashname=hash.name + local hashtype=hash.type + if hashname and hashtype then + local found,base=lookup(content,base) + if not found then + elseif type(found)=='string' then + if okay(found,path,base,hashname,hashtype) then + break + end + else + for i=1,#found do + if okay(found[i],path,base,hashname,hashtype) then + break + end + end + end + end end end return result @@ -15024,7 +15939,7 @@ end function resolvers.dowithpath(name,func) local pathlist=resolvers.expandedpathlist(name) for i=1,#pathlist do - func("^"..resolvers.cleanpath(pathlist[i])) + func("^"..cleanpath(pathlist[i])) end end function resolvers.dowithvariable(name,func) @@ -15032,23 +15947,23 @@ function resolvers.dowithvariable(name,func) end function resolvers.locateformat(name) local engine=environment.ownmain or "luatex" - local barename=file.removesuffix(name) - local fullname=file.addsuffix(barename,"fmt") + local barename=removesuffix(name) + local fullname=addsuffix(barename,"fmt") local fmtname=caches.getfirstreadablefile(fullname,"formats",engine) or "" if fmtname=="" then fmtname=resolvers.findfile(fullname) - fmtname=resolvers.cleanpath(fmtname) + fmtname=cleanpath(fmtname) end if fmtname~="" then - local barename=file.removesuffix(fmtname) - local luaname=file.addsuffix(barename,luasuffixes.lua) - local lucname=file.addsuffix(barename,luasuffixes.luc) - local luiname=file.addsuffix(barename,luasuffixes.lui) - if lfs.isfile(luiname) then + local barename=removesuffix(fmtname) + local luaname=addsuffix(barename,luasuffixes.lua) + local lucname=addsuffix(barename,luasuffixes.luc) + local luiname=addsuffix(barename,luasuffixes.lui) + if isfile(luiname) then return barename,luiname - elseif lfs.isfile(lucname) then + elseif isfile(lucname) then return barename,lucname - elseif lfs.isfile(luaname) then + elseif isfile(luaname) then return barename,luaname end end @@ -15070,29 +15985,24 @@ function resolvers.dowithfilesintree(pattern,handle,before,after) local hash=hashes[i] local blobtype=hash.type local blobpath=hash.name - if blobpath then + if blobtype and blobpath then + local total=0 + local checked=0 + local done=0 if before then before(blobtype,blobpath,pattern) end - local files=instance.files[blobpath] - local total,checked,done=0,0,0 - if files then - for k,v in table.sortedhash(files) do - total=total+1 - if find(k,"^remap:") then - elseif find(k,pattern) then - if type(v)=="string" then - checked=checked+1 - if handle(blobtype,blobpath,v,k) then - done=done+1 - end - else - checked=checked+#v - for i=1,#v do - if handle(blobtype,blobpath,v[i],k) then - done=done+1 - end - end + for path,name in filtered(instance.files[blobpath],pattern) do + if type(path)=="string" then + checked=checked+1 + if handle(blobtype,blobpath,path,name) then + done=done+1 + end + else + checked=checked+#path + for i=1,#path do + if handle(blobtype,blobpath,path[i],name) then + done=done+1 end end end @@ -15103,8 +16013,8 @@ function resolvers.dowithfilesintree(pattern,handle,before,after) end end end -resolvers.obsolete=resolvers.obsolete or {} -local obsolete=resolvers.obsolete +local obsolete=resolvers.obsolete or {} +resolvers.obsolete=obsolete resolvers.find_file=resolvers.findfile obsolete.find_file=resolvers.findfile resolvers.find_files=resolvers.findfiles obsolete.find_files=resolvers.findfiles @@ -15115,7 +16025,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-pre"] = package.loaded["data-pre"] or true --- original size: 6643, stripped down to: 4401 +-- original size: 3950, stripped down to: 2935 if not modules then modules={} end modules ['data-pre']={ version=1.001, @@ -15125,44 +16035,51 @@ if not modules then modules={} end modules ['data-pre']={ license="see context related readme files" } local resolvers=resolvers -local prefixes=utilities.storage.allocate() -resolvers.prefixes=prefixes -local cleanpath,findgivenfile,expansion=resolvers.cleanpath,resolvers.findgivenfile,resolvers.expansion +local prefixes=resolvers.prefixes +local cleanpath=resolvers.cleanpath +local findgivenfile=resolvers.findgivenfile +local expansion=resolvers.expansion local getenv=resolvers.getenv -local P,S,R,C,Cs,Cc,lpegmatch=lpeg.P,lpeg.S,lpeg.R,lpeg.C,lpeg.Cs,lpeg.Cc,lpeg.match -local joinpath,basename,dirname=file.join,file.basename,file.dirname -local getmetatable,rawset,type=getmetatable,rawset,type +local basename=file.basename +local dirname=file.dirname +local joinpath=file.join +local isfile=lfs.isfile prefixes.environment=function(str) return cleanpath(expansion(str)) end -prefixes.relative=function(str,n) - if io.exists(str) then - elseif io.exists("./"..str) then - str="./"..str - else - local p="../" - for i=1,n or 2 do - if io.exists(p..str) then - str=p..str - break - else - p=p.."../" +local function relative(str,n) + if not isfile(str) then + local pstr="./"..str + if isfile(pstr) then + str=pstr + else + local p="../" + for i=1,n or 2 do + local pstr=p..str + if isfile(pstr) then + str=pstr + break + else + p=p.."../" + end end end end return cleanpath(str) end +local function locate(str) + local fullname=findgivenfile(str) or "" + return cleanpath(fullname~="" and fullname or str) +end +prefixes.relative=relative +prefixes.locate=locate prefixes.auto=function(str) - local fullname=prefixes.relative(str) - if not lfs.isfile(fullname) then - fullname=prefixes.locate(str) + local fullname=relative(str) + if not isfile(fullname) then + fullname=locate(str) end return fullname end -prefixes.locate=function(str) - local fullname=findgivenfile(str) or "" - return cleanpath((fullname~="" and fullname) or str) -end prefixes.filename=function(str) local fullname=findgivenfile(str) or "" return cleanpath(basename((fullname~="" and fullname) or str)) @@ -15183,6 +16100,13 @@ end prefixes.home=function(str) return cleanpath(joinpath(getenv('HOME'),str)) end +prefixes.env=prefixes.environment +prefixes.rel=prefixes.relative +prefixes.loc=prefixes.locate +prefixes.kpse=prefixes.locate +prefixes.full=prefixes.locate +prefixes.file=prefixes.filename +prefixes.path=prefixes.pathname local function toppath() local inputstack=resolvers.inputstack if not inputstack then @@ -15195,98 +16119,22 @@ local function toppath() return pathname end end -resolvers.toppath=toppath -prefixes.toppath=function(str) - return cleanpath(joinpath(toppath(),str)) -end -prefixes.env=prefixes.environment -prefixes.rel=prefixes.relative -prefixes.loc=prefixes.locate -prefixes.kpse=prefixes.locate -prefixes.full=prefixes.locate -prefixes.file=prefixes.filename -prefixes.path=prefixes.pathname -function resolvers.allprefixes(separator) - local all=table.sortedkeys(prefixes) - if separator then - for i=1,#all do - all[i]=all[i]..":" - end - end - return all -end -local function _resolve_(method,target) - local action=prefixes[method] - if action then - return action(target) - else - return method..":"..target - end -end -local resolved,abstract={},{} -function resolvers.resetresolve(str) - resolved,abstract={},{} -end -local pattern=Cs((C(R("az")^2)*P(":")*C((1-S(" \"\';,"))^1)/_resolve_+P(1))^0) -local prefix=C(R("az")^2)*P(":") -local target=C((1-S(" \"\';,"))^1) -local notarget=(#S(";,")+P(-1))*Cc("") -local pattern=Cs(((prefix*(target+notarget))/_resolve_+P(1))^0) -local function resolve(str) - if type(str)=="table" then - local t={} - for i=1,#str do - t[i]=resolve(str[i]) - end - return t +local function jobpath() + local path=resolvers.stackpath() + if not path or path=="" then + return "." else - local res=resolved[str] - if not res then - res=lpegmatch(pattern,str) - resolved[str]=res - abstract[res]=str - end - return res - end -end -local function unresolve(str) - return abstract[str] or str -end -resolvers.resolve=resolve -resolvers.unresolve=unresolve -if type(os.uname)=="function" then - for k,v in next,os.uname() do - if not prefixes[k] then - prefixes[k]=function() return v end - end - end -end -if os.type=="unix" then - local pattern - local function makepattern(t,k,v) - if t then - rawset(t,k,v) - end - local colon=P(":") - for k,v in table.sortedpairs(prefixes) do - if p then - p=P(k)+p - else - p=P(k) - end - end - pattern=Cs((p*colon+colon/";"+P(1))^0) - end - makepattern() - getmetatable(prefixes).__newindex=makepattern - function resolvers.repath(str) - return lpegmatch(pattern,str) - end -else - function resolvers.repath(str) - return str + return path end end +resolvers.toppath=toppath +resolvers.jobpath=jobpath +prefixes.toppath=function(str) return cleanpath(joinpath(toppath(),str)) end +prefixes.jobpath=function(str) return cleanpath(joinpath(jobpath(),str)) end +resolvers.setdynamic("toppath") +resolvers.setdynamic("jobpath") +prefixes.jobfile=prefixes.jobpath +resolvers.setdynamic("jobfile") end -- of closure @@ -15348,7 +16196,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-fil"] = package.loaded["data-fil"] or true --- original size: 3801, stripped down to: 3231 +-- original size: 3863, stripped down to: 3310 if not modules then modules={} end modules ['data-fil']={ version=1.001, @@ -15360,30 +16208,31 @@ if not modules then modules={} end modules ['data-fil']={ local trace_locating=false trackers.register("resolvers.locating",function(v) trace_locating=v end) local report_files=logs.reporter("resolvers","files") local resolvers=resolvers +local resolveprefix=resolvers.resolve local finders,openers,loaders,savers=resolvers.finders,resolvers.openers,resolvers.loaders,resolvers.savers local locators,hashers,generators,concatinators=resolvers.locators,resolvers.hashers,resolvers.generators,resolvers.concatinators local checkgarbage=utilities.garbagecollector and utilities.garbagecollector.check function locators.file(specification) - local name=specification.filename - local realname=resolvers.resolve(name) + local filename=specification.filename + local realname=resolveprefix(filename) if realname and realname~='' and lfs.isdir(realname) then if trace_locating then - report_files("file locator %a found as %a",name,realname) + report_files("file locator %a found as %a",filename,realname) end - resolvers.appendhash('file',name,true) + resolvers.appendhash('file',filename,true) elseif trace_locating then - report_files("file locator %a not found",name) + report_files("file locator %a not found",filename) end end function hashers.file(specification) - local name=specification.filename - local content=caches.loadcontent(name,'files') - resolvers.registerfilehash(name,content,content==nil) + local pathname=specification.filename + local content=caches.loadcontent(pathname,'files') + resolvers.registerfilehash(pathname,content,content==nil) end function generators.file(specification) - local path=specification.filename - local content=resolvers.scanfiles(path,false,true) - resolvers.registerfilehash(path,content,true) + local pathname=specification.filename + local content=resolvers.scanfiles(pathname,false,true) + resolvers.registerfilehash(pathname,content,true) end concatinators.file=file.join function finders.file(specification,filetype) @@ -15665,7 +16514,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-zip"] = package.loaded["data-zip"] or true --- original size: 8489, stripped down to: 6757 +-- original size: 8772, stripped down to: 6841 if not modules then modules={} end modules ['data-zip']={ version=1.001, @@ -15684,16 +16533,6 @@ zip.archives=zip.archives or {} local archives=zip.archives zip.registeredfiles=zip.registeredfiles or {} local registeredfiles=zip.registeredfiles -local limited=false -directives.register("system.inputmode",function(v) - if not limited then - local i_limiter=io.i_limiter(v) - if i_limiter then - zip.open=i_limiter.protect(zip.open) - limited=true - end - end -end) local function validzip(str) if not find(str,"^zip://") then return "zip:///"..str @@ -15708,7 +16547,7 @@ function zip.openarchive(name) local arch=archives[name] if not arch then local full=resolvers.findfile(name) or "" - arch=(full~="" and zip.open(full)) or false + arch=full~="" and zip.open(full) or false archives[name]=arch end return arch @@ -15867,31 +16706,42 @@ function resolvers.usezipfile(archive) end end function resolvers.registerzipfile(z,tree) - local files,filter={},"" - if tree=="" then - filter="^(.+)/(.-)$" - else - filter=format("^%s/(.+)/(.-)$",tree) - end + local names={} + local files={} + local remap={} + local n=0 + local filter=tree=="" and "^(.+)/(.-)$" or format("^%s/(.+)/(.-)$",tree) + local register=resolvers.registerfile if trace_locating then report_zip("registering: using filter %a",filter) end - local register,n=resolvers.registerfile,0 for i in z:files() do - local path,name=match(i.filename,filter) - if path then - if name and name~='' then - register(files,name,path) - n=n+1 - else + local filename=i.filename + local path,name=match(filename,filter) + if not path then + n=n+1 + register(names,filename,"") + local usedname=lower(filename) + files[usedname]="" + if usedname~=filename then + remap[usedname]=filename end - else - register(files,i.filename,'') + elseif name and name~="" then n=n+1 + register(names,name,path) + local usedname=lower(name) + files[usedname]=path + if usedname~=name then + remap[usedname]=name + end + else end end report_zip("registering: %s files registered",n) - return files + return { + files=files, + remap=remap, + } end @@ -15901,7 +16751,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-tre"] = package.loaded["data-tre"] or true --- original size: 2508, stripped down to: 2074 +-- original size: 8479, stripped down to: 5580 if not modules then modules={} end modules ['data-tre']={ version=1.001, @@ -15910,42 +16760,64 @@ if not modules then modules={} end modules ['data-tre']={ copyright="PRAGMA ADE / ConTeXt Development Team", license="see context related readme files" } -local find,gsub,format=string.find,string.gsub,string.format +local find,gsub,lower=string.find,string.gsub,string.lower +local basename,dirname,joinname=file.basename,file.dirname,file .join +local globdir,isdir,isfile=dir.glob,lfs.isdir,lfs.isfile +local P,lpegmatch=lpeg.P,lpeg.match local trace_locating=false trackers.register("resolvers.locating",function(v) trace_locating=v end) local report_trees=logs.reporter("resolvers","trees") local resolvers=resolvers -local done,found,notfound={},{},resolvers.finders.notfound -function resolvers.finders.tree(specification) +local resolveprefix=resolvers.resolve +local notfound=resolvers.finders.notfound +local lookup=resolvers.get_from_content +local collectors={} +local found={} +function resolvers.finders.tree(specification) local spec=specification.filename - local fnd=found[spec] - if fnd==nil then + local okay=found[spec] + if okay==nil then if spec~="" then - local path,name=file.dirname(spec),file.basename(spec) - if path=="" then path="." end - local hash=done[path] - if not hash then - local pattern=path.."/*" - hash=dir.glob(pattern) - done[path]=hash + local path=dirname(spec) + local name=basename(spec) + if path=="" then + path="." + end + local names=collectors[path] + if not names then + local pattern=find(path,"/%*+$") and path or (path.."/*") + names=globdir(pattern) + collectors[path]=names end local pattern="/"..gsub(name,"([%.%-%+])","%%%1").."$" - for k=1,#hash do - local v=hash[k] - if find(v,pattern) then - found[spec]=v - return v + for i=1,#names do + local fullname=names[i] + if find(fullname,pattern) then + found[spec]=fullname + return fullname + end + end + local pattern=lower(pattern) + for i=1,#names do + local fullname=lower(names[i]) + if find(fullname,pattern) then + if isfile(fullname) then + found[spec]=fullname + return fullname + else + break + end end end end - fnd=notfound() - found[spec]=fnd + okay=notfound() + found[spec]=okay end - return fnd + return okay end function resolvers.locators.tree(specification) local name=specification.filename - local realname=resolvers.resolve(name) - if realname and realname~='' and lfs.isdir(realname) then + local realname=resolveprefix(name) + if realname and realname~='' and isdir(realname) then if trace_locating then report_trees("locator %a found",realname) end @@ -15956,16 +16828,110 @@ function resolvers.locators.tree(specification) end function resolvers.hashers.tree(specification) local name=specification.filename - if trace_locating then - report_trees("analysing %a",name) - end + report_trees("analyzing %a",name) resolvers.methodhandler("hashers",name) resolvers.generators.file(specification) end -resolvers.concatinators.tree=resolvers.concatinators.file -resolvers.generators.tree=resolvers.generators.file -resolvers.openers.tree=resolvers.openers.file -resolvers.loaders.tree=resolvers.loaders.file +local collectors={} +local splitter=lpeg.splitat("/**/") +local stripper=lpeg.replacer { [P("/")*P("*")^1*P(-1)]="" } +table.setmetatableindex(collectors,function(t,k) + local rootname=lpegmatch(stripper,k) + local dataname=joinname(rootname,"dirlist") + local content=caches.loadcontent(dataname,"files",dataname) + if not content then + content=resolvers.scanfiles(rootname,nil,nil,false,true) + caches.savecontent(dataname,"files",content,dataname) + end + t[k]=content + return content +end) +local function checked(root,p,n) + if p then + if type(p)=="table" then + for i=1,#p do + local fullname=joinname(root,p[i],n) + if isfile(fullname) then + return fullname + end + end + else + local fullname=joinname(root,p,n) + if isfile(fullname) then + return fullname + end + end + end + return notfound() +end +local function resolve(specification) + local filename=specification.filename + if filename~="" then + local root,rest=lpegmatch(splitter,filename) + if root and rest then + local path,name=dirname(rest),basename(rest) + if name~=rest then + local content=collectors[root] + local p,n=lookup(content,name) + if not p then + return notfound() + end + local pattern=".*/"..path.."$" + local istable=type(p)=="table" + if istable then + for i=1,#p do + local pi=p[i] + if pi==path or find(pi,pattern) then + local fullname=joinname(root,pi,n) + if isfile(fullname) then + return fullname + end + end + end + elseif p==path or find(p,pattern) then + local fullname=joinname(root,p,n) + if isfile(fullname) then + return fullname + end + end + local queries=specification.queries + if queries and queries.option=="fileonly" then + return checked(root,p,n) + else + return notfound() + end + end + end + local path,name=dirname(filename),basename(filename) + local root=lpegmatch(stripper,path) + local content=collectors[path] + local p,n=lookup(content,name) + if p then + return checked(root,p,n) + end + end + return notfound() +end +resolvers.finders .dirlist=resolve +resolvers.locators .dirlist=resolvers.locators .tree +resolvers.hashers .dirlist=resolvers.hashers .tree +resolvers.generators.dirlist=resolvers.generators.file +resolvers.openers .dirlist=resolvers.openers .file +resolvers.loaders .dirlist=resolvers.loaders .file +function resolvers.finders.dirfile(specification) + local queries=specification.queries + if queries then + queries.option="fileonly" + else + specification.queries={ option="fileonly" } + end + return resolve(specification) +end +resolvers.locators .dirfile=resolvers.locators .dirlist +resolvers.hashers .dirfile=resolvers.hashers .dirlist +resolvers.generators.dirfile=resolvers.generators.dirlist +resolvers.openers .dirfile=resolvers.openers .dirlist +resolvers.loaders .dirfile=resolvers.loaders .dirlist end -- of closure @@ -15974,7 +16940,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-sch"] = package.loaded["data-sch"] or true --- original size: 6213, stripped down to: 5160 +-- original size: 6569, stripped down to: 5304 if not modules then modules={} end modules ['data-sch']={ version=1.001, @@ -16000,8 +16966,13 @@ directives.register("schemes.threshold",function(v) threshold=tonumber(v) or thr function cleaners.none(specification) return specification.original end -function cleaners.strip(specification) - return (gsub(specification.original,"[^%a%d%.]+","-")) +function cleaners.strip(specification) + local path,name=file.splitbase(specification.original) + if path=="" then + return (gsub(name,"[^%a%d%.]+","-")) + else + return (gsub((gsub(path,"%.","-").."-"..name),"[^%a%d%.]+","-")) + end end function cleaners.md5(specification) return file.addsuffix(md5.hex(specification.original),file.suffix(specification.path)) @@ -16018,7 +16989,7 @@ end local cached,loaded,reused,thresholds,handlers={},{},{},{},{} local function runcurl(name,cachename) local command="curl --silent --insecure --create-dirs --output "..cachename.." "..name - os.spawn(command) + os.execute(command) end local function fetch(specification) local original=specification.original @@ -16150,7 +17121,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-lua"] = package.loaded["data-lua"] or true --- original size: 4237, stripped down to: 3177 +-- original size: 4313, stripped down to: 3227 if not modules then modules={} end modules ['data-lua']={ version=1.001, @@ -16159,7 +17130,7 @@ if not modules then modules={} end modules ['data-lua']={ copyright="PRAGMA ADE / ConTeXt Development Team", license="see context related readme files" } -local resolvers,package=resolvers,package +local package,lpeg=package,lpeg local gsub=string.gsub local concat=table.concat local addsuffix=file.addsuffix @@ -16170,9 +17141,11 @@ local luaformats={ 'TEXINPUTS','LUAINPUTS' } local libformats={ 'CLUAINPUTS' } local helpers=package.helpers or {} local methods=helpers.methods or {} +local resolvers=resolvers +local resolveprefix=resolvers.resolve +helpers.report=logs.reporter("resolvers","libraries") trackers.register("resolvers.libraries",function(v) helpers.trace=v end) trackers.register("resolvers.locating",function(v) helpers.trace=v end) -helpers.report=logs.reporter("resolvers","libraries") helpers.sequence={ "already loaded", "preload table", @@ -16187,7 +17160,7 @@ helpers.sequence={ } local pattern=Cs(P("!")^0/""*(P("/")*P(-1)/"/"+P("/")^1/"/"+1)^0) function helpers.cleanpath(path) - return resolvers.resolve(lpegmatch(pattern,path)) + return resolveprefix(lpegmatch(pattern,path)) end local loadedaslib=helpers.loadedaslib local getextraluapaths=package.extraluapaths @@ -16324,7 +17297,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-tmf"] = package.loaded["data-tmf"] or true --- original size: 2600, stripped down to: 1627 +-- original size: 2601, stripped down to: 1627 if not modules then modules={} end modules ['data-tmf']={ version=1.001, @@ -16380,7 +17353,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-lst"] = package.loaded["data-lst"] or true --- original size: 2654, stripped down to: 2301 +-- original size: 2734, stripped down to: 2354 if not modules then modules={} end modules ['data-lst']={ version=1.001, @@ -16389,10 +17362,13 @@ if not modules then modules={} end modules ['data-lst']={ copyright="PRAGMA ADE / ConTeXt Development Team", license="see context related readme files" } -local find,concat,upper,format=string.find,table.concat,string.upper,string.format +local rawget,type,next=rawget,type,next +local find,concat,upper=string.find,table.concat,string.upper local fastcopy,sortedpairs=table.fastcopy,table.sortedpairs -resolvers.listers=resolvers.listers or {} local resolvers=resolvers +local listers=resolvers.listers or {} +resolvers.listers=listers +local resolveprefix=resolvers.resolve local report_lists=logs.reporter("resolvers","lists") local function tabstr(str) if type(str)=='table' then @@ -16401,7 +17377,7 @@ local function tabstr(str) return str end end -function resolvers.listers.variables(pattern) +function listers.variables(pattern) local instance=resolvers.instance local environment=instance.environment local variables=instance.variables @@ -16422,10 +17398,10 @@ function resolvers.listers.variables(pattern) for key,value in sortedpairs(configured) do if key~="" and (pattern=="" or find(upper(key),pattern)) then report_lists(key) - report_lists(" env: %s",tabstr(rawget(environment,key)) or "unset") - report_lists(" var: %s",tabstr(configured[key]) or "unset") - report_lists(" exp: %s",tabstr(expansions[key]) or "unset") - report_lists(" res: %s",tabstr(resolvers.resolve(expansions[key])) or "unset") + report_lists(" env: %s",tabstr(rawget(environment,key)) or "unset") + report_lists(" var: %s",tabstr(configured[key]) or "unset") + report_lists(" exp: %s",tabstr(expansions[key]) or "unset") + report_lists(" res: %s",tabstr(resolveprefix(expansions[key])) or "unset") end end instance.environment=fastcopy(env) @@ -16433,15 +17409,15 @@ function resolvers.listers.variables(pattern) instance.expansions=fastcopy(exp) end local report_resolved=logs.reporter("system","resolved") -function resolvers.listers.configurations() +function listers.configurations() local configurations=resolvers.instance.specification for i=1,#configurations do - report_resolved("file : %s",resolvers.resolve(configurations[i])) + report_resolved("file : %s",resolveprefix(configurations[i])) end report_resolved("") local list=resolvers.expandedpathfromlist(resolvers.splitpath(resolvers.luacnfspec)) for i=1,#list do - local li=resolvers.resolve(list[i]) + local li=resolveprefix(list[i]) if lfs.isdir(li) then report_resolved("path - %s",li) else @@ -16746,7 +17722,7 @@ do -- create closure to overcome 200 locals limit package.loaded["luat-fmt"] = package.loaded["luat-fmt"] or true --- original size: 5951, stripped down to: 4922 +-- original size: 5955, stripped down to: 4926 if not modules then modules={} end modules ['luat-fmt']={ version=1.001, @@ -16834,7 +17810,7 @@ function environment.make_format(name) end local command=format("%s --ini %s --lua=%s %s %sdump",engine,primaryflags(),quoted(usedluastub),quoted(fulltexsourcename),os.platform=="unix" and "\\\\" or "\\") report_format("running command: %s\n",command) - os.spawn(command) + os.execute(command) local pattern=file.removesuffix(file.basename(usedluastub)).."-*.mem" local mp=dir.glob(pattern) if mp then @@ -16869,7 +17845,7 @@ function environment.run_format(name,data,more) else local command=format("%s %s --fmt=%s --lua=%s %s %s",engine,primaryflags(),quoted(barename),quoted(luaname),quoted(data),more~="" and quoted(more) or "") report_format("running command: %s",command) - os.spawn(command) + os.execute(command) end end end @@ -16880,8 +17856,8 @@ end -- of closure -- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua -- skipped libraries : - --- original bytes : 695180 --- stripped bytes : 246794 +-- original bytes : 739251 +-- stripped bytes : 264497 -- end library merge @@ -17107,6 +18083,7 @@ local helpinfo = [[ run an mtx script (lua prefered method) (), no script gives list + run code passed on the commandline (between quotes) run a script or program (texmfstart method) () resolve prefixed arguments run internally (using preloaded libs) @@ -17132,6 +18109,7 @@ local helpinfo = [[ give a bit more info enable given trackers format or backend + show current operating system, processor, etc launch editor with found file @@ -17761,6 +18739,39 @@ function runners.associate(filename) os.launch(filename) end +function runners.evaluate(code,filename) -- for Luigi + if code == "loop" then + while true do + io.write("> ") + local code = io.read() + if code ~= "" then + local temp = string.match(code,"^= (.*)$") + if temp then + code = "print("..temp..")" + end + local compiled, message = loadstring(code) + if type(compiled) ~= "function" then + io.write("! " .. (message or code).."\n") + else + io.write(compiled()) + end + end + end + else + if type(code) ~= "string" or code == "" then + code = filename + end + if code ~= "" then + local compiled, message = loadstring(code) + if type(compiled) ~= "function" then + io.write("invalid lua code: " .. (message or code)) + return + end + io.write(compiled()) + end + end +end + function runners.gethelp(filename) local url = environment.argument("url") if url and url ~= "" then @@ -17772,6 +18783,15 @@ function runners.gethelp(filename) end end +function runners.systeminfo() + report("architecture : %s",os.platform or "") + report("operating system : %s",os.name or "") + report("file architecture : %s",os.type or "") + report("binary path : %s",os.selfdir or "") + report("binary suffix : %s",os.binsuffix or "") + report("library suffix : %s",os.libsuffix or "") +end + -- this is a bit dirty ... first we store the first filename and next we -- split the arguments so that we only see the ones meant for this script -- ... later we will use the second half @@ -17887,16 +18907,7 @@ end if e_argument("ansi") then - local formatters = string.formatters - - logs.setformatters { - report_yes = formatters["%-15s | %s"], - report_nop = formatters["%-15s |"], - subreport_yes = formatters["%-15s | %s | %s"], - subreport_nop = formatters["%-15s | %s |"], - status_yes = formatters["%-15s : %s\n"], - status_nop = formatters["%-15s :\n"], - } + logs.setformatters("ansi") local script = e_argument("script") or e_argument("scripts") @@ -17921,6 +18932,10 @@ if e_argument("script") or e_argument("scripts") then ok = runners.execute_ctx_script(filename) end +elseif e_argument("evaluate") then + + runners.evaluate(e_argument("evaluate"),filename) + elseif e_argument("selfmerge") then -- embed used libraries @@ -18213,6 +19228,10 @@ elseif e_argument("exporthelp") then runners.loadbase() application.export(e_argument("exporthelp"),filename) +elseif e_argument("systeminfo") then + + runners.systeminfo() + elseif e_argument("help") or filename=='help' or filename == "" then application.help() diff --git a/Master/bin/win32/mtxrun.lua b/Master/bin/win32/mtxrun.lua index 5cb5c8d2416..48a9a27a250 100755 --- a/Master/bin/win32/mtxrun.lua +++ b/Master/bin/win32/mtxrun.lua @@ -56,7 +56,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-lua"] = package.loaded["l-lua"] or true --- original size: 3409, stripped down to: 1763 +-- original size: 3888, stripped down to: 2197 if not modules then modules={} end modules ['l-lua']={ version=1.001, @@ -139,6 +139,13 @@ end if lua then lua.mask=load([[τεχ = 1]]) and "utf" or "ascii" end +local flush=io.flush +if flush then + local execute=os.execute if execute then function os.execute(...) flush() return execute(...) end end + local exec=os.exec if exec then function os.exec (...) flush() return exec (...) end end + local spawn=os.spawn if spawn then function os.spawn (...) flush() return spawn (...) end end + local popen=io.popen if popen then function io.popen (...) flush() return popen (...) end end +end end -- of closure @@ -437,7 +444,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-lpeg"] = package.loaded["l-lpeg"] or true --- original size: 29983, stripped down to: 16202 +-- original size: 36225, stripped down to: 19891 if not modules then modules={} end modules ['l-lpeg']={ version=1.001, @@ -498,6 +505,8 @@ patterns.utfbom_16_le=utfbom_16_le patterns.utfbom_8=utfbom_8 patterns.utf_16_be_nl=P("\000\r\000\n")+P("\000\r")+P("\000\n") patterns.utf_16_le_nl=P("\r\000\n\000")+P("\r\000")+P("\n\000") +patterns.utf_32_be_nl=P("\000\000\000\r\000\000\000\n")+P("\000\000\000\r")+P("\000\000\000\n") +patterns.utf_32_le_nl=P("\r\000\000\000\n\000\000\000")+P("\r\000\000\000")+P("\n\000\000\000") patterns.utf8one=R("\000\127") patterns.utf8two=R("\194\223")*utf8next patterns.utf8three=R("\224\239")*utf8next*utf8next @@ -527,9 +536,21 @@ patterns.nonwhitespace=nonwhitespace local stripper=spacer^0*C((spacer^0*nonspacer^1)^0) local fullstripper=whitespace^0*C((whitespace^0*nonwhitespace^1)^0) local collapser=Cs(spacer^0/""*nonspacer^0*((spacer^0/" "*nonspacer^1)^0)) +local b_collapser=Cs(whitespace^0/""*(nonwhitespace^1+whitespace^1/" ")^0) +local e_collapser=Cs((whitespace^1*P(-1)/""+nonwhitespace^1+whitespace^1/" ")^0) +local m_collapser=Cs((nonwhitespace^1+whitespace^1/" ")^0) +local b_stripper=Cs(spacer^0/""*(nonspacer^1+spacer^1/" ")^0) +local e_stripper=Cs((spacer^1*P(-1)/""+nonspacer^1+spacer^1/" ")^0) +local m_stripper=Cs((nonspacer^1+spacer^1/" ")^0) patterns.stripper=stripper patterns.fullstripper=fullstripper patterns.collapser=collapser +patterns.b_collapser=b_collapser +patterns.m_collapser=m_collapser +patterns.e_collapser=e_collapser +patterns.b_stripper=b_stripper +patterns.m_stripper=m_stripper +patterns.e_stripper=e_stripper patterns.lowercase=lowercase patterns.uppercase=uppercase patterns.letter=patterns.lowercase+patterns.uppercase @@ -566,9 +587,12 @@ patterns.integer=sign^-1*digit^1 patterns.unsigned=digit^0*period*digit^1 patterns.float=sign^-1*patterns.unsigned patterns.cunsigned=digit^0*comma*digit^1 +patterns.cpunsigned=digit^0*(period+comma)*digit^1 patterns.cfloat=sign^-1*patterns.cunsigned +patterns.cpfloat=sign^-1*patterns.cpunsigned patterns.number=patterns.float+patterns.integer patterns.cnumber=patterns.cfloat+patterns.integer +patterns.cpnumber=patterns.cpfloat+patterns.integer patterns.oct=zero*octdigit^1 patterns.octal=patterns.oct patterns.HEX=zero*P("X")*(digit+uppercase)^1 @@ -985,23 +1009,40 @@ function lpeg.append(list,pp,delayed,checked) end return p end +local p_false=P(false) +local p_true=P(true) local function make(t) - local p + local function making(t) + local p=p_false + local keys=sortedkeys(t) + for i=1,#keys do + local k=keys[i] + if k~="" then + local v=t[k] + if v==true then + p=p+P(k)*p_true + elseif v==false then + else + p=p+P(k)*making(v) + end + end + end + if t[""] then + p=p+p_true + end + return p + end + local p=p_false local keys=sortedkeys(t) for i=1,#keys do local k=keys[i] - local v=t[k] - if not p then - if next(v) then - p=P(k)*make(v) - else - p=P(k) - end - else - if next(v) then - p=p+P(k)*make(v) + if k~="" then + local v=t[k] + if v==true then + p=p+P(k)*p_true + elseif v==false then else - p=p+P(k) + p=p+P(k)*making(v) end end end @@ -1009,13 +1050,73 @@ local function make(t) end function lpeg.utfchartabletopattern(list) local tree={} - for i=1,#list do - local t=tree - for c in gmatch(list[i],".") do - if not t[c] then - t[c]={} + local n=#list + if n==0 then + for s in next,list do + local t=tree + local p,pk + for c in gmatch(s,".") do + if t==true then + t={ [c]=true,[""]=true } + p[pk]=t + p=t + t=false + elseif t==false then + t={ [c]=false } + p[pk]=t + p=t + t=false + else + local tc=t[c] + if not tc then + tc=false + t[c]=false + end + p=t + t=tc + end + pk=c + end + if t==false then + p[pk]=true + elseif t==true then + else + t[""]=true + end + end + else + for i=1,n do + local s=list[i] + local t=tree + local p,pk + for c in gmatch(s,".") do + if t==true then + t={ [c]=true,[""]=true } + p[pk]=t + p=t + t=false + elseif t==false then + t={ [c]=false } + p[pk]=t + p=t + t=false + else + local tc=t[c] + if not tc then + tc=false + t[c]=false + end + p=t + t=tc + end + pk=c + end + if t==false then + p[pk]=true + elseif t==true then + else + t[""]=true end - t=t[c] end end return make(tree) @@ -1055,6 +1156,65 @@ local case_2=period*(digit-trailingzeros)^1*(trailingzeros/"") local number=digit^1*(case_1+case_2) local stripper=Cs((number+1)^0) lpeg.patterns.stripzeros=stripper +local byte_to_HEX={} +local byte_to_hex={} +local byte_to_dec={} +local hex_to_byte={} +for i=0,255 do + local H=format("%02X",i) + local h=format("%02x",i) + local d=format("%03i",i) + local c=char(i) + byte_to_HEX[c]=H + byte_to_hex[c]=h + byte_to_dec[c]=d + hex_to_byte[h]=c + hex_to_byte[H]=c +end +local hextobyte=P(2)/hex_to_byte +local bytetoHEX=P(1)/byte_to_HEX +local bytetohex=P(1)/byte_to_hex +local bytetodec=P(1)/byte_to_dec +local hextobytes=Cs(hextobyte^0) +local bytestoHEX=Cs(bytetoHEX^0) +local bytestohex=Cs(bytetohex^0) +local bytestodec=Cs(bytetodec^0) +patterns.hextobyte=hextobyte +patterns.bytetoHEX=bytetoHEX +patterns.bytetohex=bytetohex +patterns.bytetodec=bytetodec +patterns.hextobytes=hextobytes +patterns.bytestoHEX=bytestoHEX +patterns.bytestohex=bytestohex +patterns.bytestodec=bytestodec +function string.toHEX(s) + if not s or s=="" then + return s + else + return lpegmatch(bytestoHEX,s) + end +end +function string.tohex(s) + if not s or s=="" then + return s + else + return lpegmatch(bytestohex,s) + end +end +function string.todec(s) + if not s or s=="" then + return s + else + return lpegmatch(bytestodec,s) + end +end +function string.tobytes(s) + if not s or s=="" then + return s + else + return lpegmatch(hextobytes,s) + end +end end -- of closure @@ -1082,7 +1242,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-string"] = package.loaded["l-string"] or true --- original size: 5671, stripped down to: 2827 +-- original size: 5694, stripped down to: 2827 if not modules then modules={} end modules ['l-string']={ version=1.001, @@ -1187,7 +1347,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-table"] = package.loaded["l-table"] or true --- original size: 31860, stripped down to: 20846 +-- original size: 33830, stripped down to: 21894 if not modules then modules={} end modules ['l-table']={ version=1.001, @@ -1230,11 +1390,12 @@ function table.keys(t) end end local function compare(a,b) - local ta,tb=type(a),type(b) - if ta==tb then + local ta=type(a) + local tb=type(b) + if ta==tb and ta=="number" then return a=first and k<=last then if tv=="number" then if hexify then - handle(format("%s 0x%04X,",depth,v)) + handle(format("%s 0x%X,",depth,v)) else handle(format("%s %s,",depth,v)) end @@ -1587,7 +1748,7 @@ local function do_serialize(root,name,depth,level,indexed) handle(format("%s %q,",depth,v)) end elseif tv=="table" then - if not next(v) then + if next(v)==nil then handle(format("%s {},",depth)) elseif inline then local st=simple_table(v) @@ -1617,25 +1778,25 @@ local function do_serialize(root,name,depth,level,indexed) elseif tv=="number" then if tk=="number" then if hexify then - handle(format("%s [0x%04X]=0x%04X,",depth,k,v)) + handle(format("%s [0x%X]=0x%X,",depth,k,v)) else handle(format("%s [%s]=%s,",depth,k,v)) end elseif tk=="boolean" then if hexify then - handle(format("%s [%s]=0x%04X,",depth,k and "true" or "false",v)) + handle(format("%s [%s]=0x%X,",depth,k and "true" or "false",v)) else handle(format("%s [%s]=%s,",depth,k and "true" or "false",v)) end elseif noquotes and not reserved[k] and lpegmatch(propername,k) then if hexify then - handle(format("%s %s=0x%04X,",depth,k,v)) + handle(format("%s %s=0x%X,",depth,k,v)) else handle(format("%s %s=%s,",depth,k,v)) end else if hexify then - handle(format("%s [%q]=0x%04X,",depth,k,v)) + handle(format("%s [%q]=0x%X,",depth,k,v)) else handle(format("%s [%q]=%s,",depth,k,v)) end @@ -1644,7 +1805,7 @@ local function do_serialize(root,name,depth,level,indexed) if reduce and tonumber(v) then if tk=="number" then if hexify then - handle(format("%s [0x%04X]=%s,",depth,k,v)) + handle(format("%s [0x%X]=%s,",depth,k,v)) else handle(format("%s [%s]=%s,",depth,k,v)) end @@ -1658,7 +1819,7 @@ local function do_serialize(root,name,depth,level,indexed) else if tk=="number" then if hexify then - handle(format("%s [0x%04X]=%q,",depth,k,v)) + handle(format("%s [0x%X]=%q,",depth,k,v)) else handle(format("%s [%s]=%q,",depth,k,v)) end @@ -1671,10 +1832,10 @@ local function do_serialize(root,name,depth,level,indexed) end end elseif tv=="table" then - if not next(v) then + if next(v)==nil then if tk=="number" then if hexify then - handle(format("%s [0x%04X]={},",depth,k)) + handle(format("%s [0x%X]={},",depth,k)) else handle(format("%s [%s]={},",depth,k)) end @@ -1690,7 +1851,7 @@ local function do_serialize(root,name,depth,level,indexed) if st then if tk=="number" then if hexify then - handle(format("%s [0x%04X]={ %s },",depth,k,concat(st,", "))) + handle(format("%s [0x%X]={ %s },",depth,k,concat(st,", "))) else handle(format("%s [%s]={ %s },",depth,k,concat(st,", "))) end @@ -1710,7 +1871,7 @@ local function do_serialize(root,name,depth,level,indexed) elseif tv=="boolean" then if tk=="number" then if hexify then - handle(format("%s [0x%04X]=%s,",depth,k,v and "true" or "false")) + handle(format("%s [0x%X]=%s,",depth,k,v and "true" or "false")) else handle(format("%s [%s]=%s,",depth,k,v and "true" or "false")) end @@ -1726,7 +1887,7 @@ local function do_serialize(root,name,depth,level,indexed) local f=getinfo(v).what=="C" and dump(dummy) or dump(v) if tk=="number" then if hexify then - handle(format("%s [0x%04X]=load(%q),",depth,k,f)) + handle(format("%s [0x%X]=load(%q),",depth,k,f)) else handle(format("%s [%s]=load(%q),",depth,k,f)) end @@ -1741,7 +1902,7 @@ local function do_serialize(root,name,depth,level,indexed) else if tk=="number" then if hexify then - handle(format("%s [0x%04X]=%q,",depth,k,tostring(v))) + handle(format("%s [0x%X]=%q,",depth,k,tostring(v))) else handle(format("%s [%s]=%q,",depth,k,tostring(v))) end @@ -1795,7 +1956,7 @@ local function serialize(_handle,root,name,specification) end elseif tname=="number" then if hexify then - handle(format("[0x%04X]={",name)) + handle(format("[0x%X]={",name)) else handle("["..name.."]={") end @@ -1813,7 +1974,7 @@ local function serialize(_handle,root,name,specification) local dummy=root._w_h_a_t_e_v_e_r_ root._w_h_a_t_e_v_e_r_=nil end - if next(root) then + if next(root)~=nil then do_serialize(root,name,"",0) end end @@ -1942,14 +2103,25 @@ local function identical(a,b) end table.identical=identical table.are_equal=are_equal -function table.compact(t) - if t then - for k,v in next,t do - if not next(v) then - t[k]=nil +local function sparse(old,nest,keeptables) + local new={} + for k,v in next,old do + if not (v=="" or v==false) then + if nest and type(v)=="table" then + v=sparse(v,nest) + if keeptables or next(v)~=nil then + new[k]=v + end + else + new[k]=v end end end + return new +end +table.sparse=sparse +function table.compact(t) + return sparse(t,true,true) end function table.contains(t,v) if t then @@ -2054,10 +2226,10 @@ function table.sub(t,i,j) return { unpack(t,i,j) } end function table.is_empty(t) - return not t or not next(t) + return not t or next(t)==nil end function table.has_one_entry(t) - return t and not next(t,next(t)) + return t and next(t,next(t))==nil end function table.loweredkeys(t) local l={} @@ -2102,6 +2274,44 @@ function table.values(t,s) return {} end end +function table.filtered(t,pattern,sort,cmp) + if t and type(pattern)=="string" then + if sort then + local s + if cmp then + s=sortedhashkeys(t,function(a,b) return cmp(t,a,b) end) + else + s=sortedkeys(t) + end + local n=0 + local m=#s + local function kv(s) + while n0 then - now=(more-0xD800)*0x400+(now-0xDC00)+0x10000 - more=0 - r=r+1 - result[r]=utfchar(now) - elseif now>=0xD800 and now<=0xDBFF then - more=now - else - r=r+1 - result[r]=utfchar(now) - end - end - end - t[i]=concat(result,"",1,r) - end - return t +local utf_16_be_getbom=patterns.utfbom_16_be^-1 +local utf_16_le_getbom=patterns.utfbom_16_le^-1 +local utf_32_be_getbom=patterns.utfbom_32_be^-1 +local utf_32_le_getbom=patterns.utfbom_32_le^-1 +local utf_16_be_linesplitter=utf_16_be_getbom*lpeg.tsplitat(patterns.utf_16_be_nl) +local utf_16_le_linesplitter=utf_16_le_getbom*lpeg.tsplitat(patterns.utf_16_le_nl) +local utf_32_be_linesplitter=utf_32_be_getbom*lpeg.tsplitat(patterns.utf_32_be_nl) +local utf_32_le_linesplitter=utf_32_le_getbom*lpeg.tsplitat(patterns.utf_32_le_nl) +local more=0 +local p_utf16_to_utf8_be=C(1)*C(1)/function(left,right) + local now=256*byte(left)+byte(right) + if more>0 then + now=(more-0xD800)*0x400+(now-0xDC00)+0x10000 + more=0 + return utfchar(now) + elseif now>=0xD800 and now<=0xDBFF then + more=now + return "" + else + return utfchar(now) + end +end +local p_utf16_to_utf8_le=C(1)*C(1)/function(right,left) + local now=256*byte(left)+byte(right) + if more>0 then + now=(more-0xD800)*0x400+(now-0xDC00)+0x10000 + more=0 + return utfchar(now) + elseif now>=0xD800 and now<=0xDBFF then + more=now + return "" + else + return utfchar(now) + end +end +local p_utf32_to_utf8_be=C(1)*C(1)*C(1)*C(1)/function(a,b,c,d) + return utfchar(256*256*256*byte(a)+256*256*byte(b)+256*byte(c)+byte(d)) +end +local p_utf32_to_utf8_le=C(1)*C(1)*C(1)*C(1)/function(a,b,c,d) + return utfchar(256*256*256*byte(d)+256*256*byte(c)+256*byte(b)+byte(a)) +end +p_utf16_to_utf8_be=P(true)/function() more=0 end*utf_16_be_getbom*Cs(p_utf16_to_utf8_be^0) +p_utf16_to_utf8_le=P(true)/function() more=0 end*utf_16_le_getbom*Cs(p_utf16_to_utf8_le^0) +p_utf32_to_utf8_be=P(true)/function() more=0 end*utf_32_be_getbom*Cs(p_utf32_to_utf8_be^0) +p_utf32_to_utf8_le=P(true)/function() more=0 end*utf_32_le_getbom*Cs(p_utf32_to_utf8_le^0) +patterns.utf16_to_utf8_be=p_utf16_to_utf8_be +patterns.utf16_to_utf8_le=p_utf16_to_utf8_le +patterns.utf32_to_utf8_be=p_utf32_to_utf8_be +patterns.utf32_to_utf8_le=p_utf32_to_utf8_le +utf16_to_utf8_be=function(s) + if s and s~="" then + return lpegmatch(p_utf16_to_utf8_be,s) + else + return s end - utf16_to_utf8_le=function(t) - if type(t)=="string" then - t=lpegmatch(utf_16_le_linesplitter,t) - end - local result={} - for i=1,#t do - local r,more=0,0 - for left,right in bytepairs(t[i]) do - if right then - local now=256*right+left - if more>0 then - now=(more-0xD800)*0x400+(now-0xDC00)+0x10000 - more=0 - r=r+1 - result[r]=utfchar(now) - elseif now>=0xD800 and now<=0xDBFF then - more=now - else - r=r+1 - result[r]=utfchar(now) - end - end - end - t[i]=concat(result,"",1,r) - end - return t +end +local utf16_to_utf8_be_t=function(t) + if not t then + return nil + elseif type(t)=="string" then + t=lpegmatch(utf_16_be_linesplitter,t) end - utf32_to_utf8_be=function(t) - if type(t)=="string" then - t=lpegmatch(utflinesplitter,t) - end - local result={} - for i=1,#t do - local r,more=0,-1 - for a,b in bytepairs(t[i]) do - if a and b then - if more<0 then - more=256*256*256*a+256*256*b - else - r=r+1 - result[t]=utfchar(more+256*a+b) - more=-1 - end - else - break - end - end - t[i]=concat(result,"",1,r) + for i=1,#t do + local s=t[i] + if s~="" then + t[i]=lpegmatch(p_utf16_to_utf8_be,s) end - return t end - utf32_to_utf8_le=function(t) - if type(t)=="string" then - t=lpegmatch(utflinesplitter,t) - end - local result={} - for i=1,#t do - local r,more=0,-1 - for a,b in bytepairs(t[i]) do - if a and b then - if more<0 then - more=256*b+a - else - r=r+1 - result[t]=utfchar(more+256*256*256*b+256*256*a) - more=-1 - end - else - break - end - end - t[i]=concat(result,"",1,r) - end - return t + return t +end +utf16_to_utf8_le=function(s) + if s and s~="" then + return lpegmatch(p_utf16_to_utf8_le,s) + else + return s end -else - utf16_to_utf8_be=function(t) - if type(t)=="string" then - t=lpegmatch(utf_16_be_linesplitter,t) +end +local utf16_to_utf8_le_t=function(t) + if not t then + return nil + elseif type(t)=="string" then + t=lpegmatch(utf_16_le_linesplitter,t) + end + for i=1,#t do + local s=t[i] + if s~="" then + t[i]=lpegmatch(p_utf16_to_utf8_le,s) end - local result={} - for i=1,#t do - local r,more=0,0 - for left,right in gmatch(t[i],"(.)(.)") do - if left=="\000" then - r=r+1 - result[r]=utfchar(byte(right)) - elseif right then - local now=256*byte(left)+byte(right) - if more>0 then - now=(more-0xD800)*0x400+(now-0xDC00)+0x10000 - more=0 - r=r+1 - result[r]=utfchar(now) - elseif now>=0xD800 and now<=0xDBFF then - more=now - else - r=r+1 - result[r]=utfchar(now) - end - end - end - t[i]=concat(result,"",1,r) - end - return t end - utf16_to_utf8_le=function(t) - if type(t)=="string" then - t=lpegmatch(utf_16_le_linesplitter,t) + return t +end +utf32_to_utf8_be=function(s) + if s and s~="" then + return lpegmatch(p_utf32_to_utf8_be,s) + else + return s + end +end +local utf32_to_utf8_be_t=function(t) + if not t then + return nil + elseif type(t)=="string" then + t=lpegmatch(utf_32_be_linesplitter,t) + end + for i=1,#t do + local s=t[i] + if s~="" then + t[i]=lpegmatch(p_utf32_to_utf8_be,s) end - local result={} - for i=1,#t do - local r,more=0,0 - for left,right in gmatch(t[i],"(.)(.)") do - if right=="\000" then - r=r+1 - result[r]=utfchar(byte(left)) - elseif right then - local now=256*byte(right)+byte(left) - if more>0 then - now=(more-0xD800)*0x400+(now-0xDC00)+0x10000 - more=0 - r=r+1 - result[r]=utfchar(now) - elseif now>=0xD800 and now<=0xDBFF then - more=now - else - r=r+1 - result[r]=utfchar(now) - end - end - end - t[i]=concat(result,"",1,r) + end + return t +end +utf32_to_utf8_le=function(s) + if s and s~="" then + return lpegmatch(p_utf32_to_utf8_le,s) + else + return s + end +end +local utf32_to_utf8_le_t=function(t) + if not t then + return nil + elseif type(t)=="string" then + t=lpegmatch(utf_32_le_linesplitter,t) + end + for i=1,#t do + local s=t[i] + if s~="" then + t[i]=lpegmatch(p_utf32_to_utf8_le,s) end - return t end - utf32_to_utf8_le=function() return {} end - utf32_to_utf8_be=function() return {} end + return t end +utf.utf16_to_utf8_le_t=utf16_to_utf8_le_t +utf.utf16_to_utf8_be_t=utf16_to_utf8_be_t +utf.utf32_to_utf8_le_t=utf32_to_utf8_le_t +utf.utf32_to_utf8_be_t=utf32_to_utf8_be_t utf.utf16_to_utf8_le=utf16_to_utf8_le utf.utf16_to_utf8_be=utf16_to_utf8_be utf.utf32_to_utf8_le=utf32_to_utf8_le utf.utf32_to_utf8_be=utf32_to_utf8_be -function utf.utf8_to_utf8(t) +function utf.utf8_to_utf8_t(t) return type(t)=="string" and lpegmatch(utflinesplitter,t) or t end -function utf.utf16_to_utf8(t,endian) - return endian and utf16_to_utf8_be(t) or utf16_to_utf8_le(t) or t +function utf.utf16_to_utf8_t(t,endian) + return endian and utf16_to_utf8_be_t(t) or utf16_to_utf8_le_t(t) or t end -function utf.utf32_to_utf8(t,endian) - return endian and utf32_to_utf8_be(t) or utf32_to_utf8_le(t) or t +function utf.utf32_to_utf8_t(t,endian) + return endian and utf32_to_utf8_be_t(t) or utf32_to_utf8_le_t(t) or t end -local function little(c) - local b=byte(c) +local function little(b) if b<0x10000 then return char(b%256,b/256) else @@ -4700,8 +4990,7 @@ local function little(c) return char(b1%256,b1/256,b2%256,b2/256) end end -local function big(c) - local b=byte(c) +local function big(b) if b<0x10000 then return char(b/256,b%256) else @@ -4710,27 +4999,29 @@ local function big(c) return char(b1/256,b1%256,b2/256,b2%256) end end -local _,l_remap=utf.remapper(little) -local _,b_remap=utf.remapper(big) -function utf.utf8_to_utf16_be(str,nobom) +local l_remap=Cs((p_utf8byte/little+P(1)/"")^0) +local b_remap=Cs((p_utf8byte/big+P(1)/"")^0) +local function utf8_to_utf16_be(str,nobom) if nobom then return lpegmatch(b_remap,str) else return char(254,255)..lpegmatch(b_remap,str) end end -function utf.utf8_to_utf16_le(str,nobom) +local function utf8_to_utf16_le(str,nobom) if nobom then return lpegmatch(l_remap,str) else return char(255,254)..lpegmatch(l_remap,str) end end +utf.utf8_to_utf16_be=utf8_to_utf16_be +utf.utf8_to_utf16_le=utf8_to_utf16_le function utf.utf8_to_utf16(str,littleendian,nobom) if littleendian then - return utf.utf8_to_utf16_le(str,nobom) + return utf8_to_utf16_le(str,nobom) else - return utf.utf8_to_utf16_be(str,nobom) + return utf8_to_utf16_be(str,nobom) end end local pattern=Cs ( @@ -4746,16 +5037,16 @@ function utf.xstring(s) return format("0x%05X",type(s)=="number" and s or utfbyte(s)) end function utf.toeight(str) - if not str then + if not str or str=="" then return nil end local utftype=lpegmatch(p_utfstricttype,str) if utftype=="utf-8" then - return sub(str,4) - elseif utftype=="utf-16-le" then - return utf16_to_utf8_le(str) + return sub(str,4) elseif utftype=="utf-16-be" then - return utf16_to_utf8_ne(str) + return utf16_to_utf8_be(str) + elseif utftype=="utf-16-le" then + return utf16_to_utf8_le(str) else return str end @@ -4834,7 +5125,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-math"] = package.loaded["l-math"] or true --- original size: 915, stripped down to: 836 +-- original size: 974, stripped down to: 890 if not modules then modules={} end modules ['l-math']={ version=1.001, @@ -4844,6 +5135,9 @@ if not modules then modules={} end modules ['l-math']={ license="see context related readme files" } local floor,sin,cos,tan=math.floor,math.sin,math.cos,math.tan +if not math.ceiling then + math.ceiling=math.ceil +end if not math.round then function math.round(x) return floor(x+0.5) end end @@ -4871,7 +5165,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-str"] = package.loaded["util-str"] or true --- original size: 33063, stripped down to: 18397 +-- original size: 34407, stripped down to: 18852 if not modules then modules={} end modules ['util-str']={ version=1.001, @@ -5001,10 +5295,12 @@ local striplinepatterns={ ["retain"]=p_retain_normal, ["retain and collapse"]=p_retain_collapse, ["retain and no empty"]=p_retain_noempty, + ["collapse"]=patterns.collapser, } +setmetatable(striplinepatterns,{ __index=function(t,k) return p_prune_collapse end }) strings.striplinepatterns=striplinepatterns function strings.striplines(str,how) - return str and lpegmatch(how and striplinepatterns[how] or p_prune_collapse,str) or str + return str and lpegmatch(striplinepatterns[how],str) or str end strings.striplong=strings.striplines function strings.nice(str) @@ -5044,10 +5340,10 @@ string.tracedchars=tracedchars strings.tracers=tracedchars function string.tracedchar(b) if type(b)=="number" then - return tracedchars[b] or (utfchar(b).." (U+"..format('%05X',b)..")") + return tracedchars[b] or (utfchar(b).." (U+"..format("%05X",b)..")") else local c=utfbyte(b) - return tracedchars[c] or (b.." (U+"..format('%05X',c)..")") + return tracedchars[c] or (b.." (U+"..(c and format("%05X",c) or "?????")..")") end end function number.signed(i) @@ -5184,12 +5480,12 @@ local format_f=function(f) n=n+1 return format("format('%%%sf',a%s)",f,n) end -local format_F=function(f) +local format_F=function(f) n=n+1 if not f or f=="" then - return format("(((a%s > -0.0000000005 and a%s < 0.0000000005) and '0') or (a%s == 1 and '1') or format('%%.9f',a%s))",n,n,n,n) + return format("(((a%s > -0.0000000005 and a%s < 0.0000000005) and '0') or format((a%s %% 1 == 0) and '%%i' or '%%.9f',a%s))",n,n,n,n) else - return format("((a%s == 0 and '0') or (a%s == 1 and '1') or format('%%%sf',a%s))",n,n,f,n) + return format("format((a%s %% 1 == 0) and '%%i' or '%%%sf',a%s)",n,f,n) end end local format_g=function(f) @@ -5417,7 +5713,6 @@ local builder=Cs { "start", +V("j")+V("J") +V("m")+V("M") +V("z") -+V("*") )+V("*") )*(P(-1)+Carg(1)) )^0, @@ -5461,6 +5756,7 @@ local builder=Cs { "start", ["a"]=(prefix_any*P("a"))/format_a, ["A"]=(prefix_any*P("A"))/format_A, ["*"]=Cs(((1-P("%"))^1+P("%%")/"%%")^1)/format_rest, + ["?"]=Cs(((1-P("%"))^1 )^1)/format_rest, ["!"]=Carg(2)*prefix_any*P("!")*C((1-P("!"))^1)*P("!")/format_extension, } local direct=Cs ( @@ -5535,6 +5831,15 @@ else add(formatters,"tex",[[lpegmatch(texescape,%s)]],{ texescape=lpeg.patterns.texescape }) add(formatters,"lua",[[lpegmatch(luaescape,%s)]],{ luaescape=lpeg.patterns.luaescape }) end +local dquote=patterns.dquote +local equote=patterns.escaped+dquote/'\\"'+1 +local space=patterns.space +local cquote=Cc('"') +local pattern=Cs(dquote*(equote-P(-2))^0*dquote) ++Cs(cquote*(equote-space)^0*space*equote^0*cquote) +function string.optionalquoted(str) + return lpegmatch(pattern,str) or str +end end -- of closure @@ -5543,7 +5848,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-tab"] = package.loaded["util-tab"] or true --- original size: 23985, stripped down to: 16069 +-- original size: 24267, stripped down to: 16260 if not modules then modules={} end modules ['util-tab']={ version=1.001, @@ -5633,6 +5938,15 @@ function tables.removevalue(t,value) end end end +function tables.replacevalue(t,oldvalue,newvalue) + if oldvalue and newvalue then + for i=1,#t do + if t[i]==oldvalue then + t[i]=newvalue + end + end + end +end function tables.insertbeforevalue(t,value,extra) for i=1,#t do if t[i]==extra then @@ -6026,7 +6340,7 @@ function table.serialize(root,name,specification) end depth=depth+1 end - if root and next(root) then + if root and next(root)~=nil then local first=nil local last=0 last=#root @@ -6051,7 +6365,7 @@ function table.serialize(root,name,specification) elseif tv=="string" then n=n+1 t[n]=f_val_str(depth,v) elseif tv=="table" then - if not next(v) then + if next(v)==nil then n=n+1 t[n]=f_val_not(depth) else local st=simple_table(v) @@ -6081,7 +6395,7 @@ function table.serialize(root,name,specification) n=n+1 t[n]=f_key_boo_value_str(depth,k,v) end elseif tv=="table" then - if not next(v) then + if next(v)==nil then if tk=="number" then n=n+1 t[n]=f_key_num_value_not(depth,k,v) elseif tk=="string" then @@ -6139,7 +6453,7 @@ function table.serialize(root,name,specification) local dummy=root._w_h_a_t_e_v_e_r_ root._w_h_a_t_e_v_e_r_=nil end - if next(root) then + if next(root)~=nil then do_serialize(root,name,1,0) end end @@ -6302,7 +6616,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-prs"] = package.loaded["util-prs"] or true --- original size: 19618, stripped down to: 14012 +-- original size: 21751, stripped down to: 15108 if not modules then modules={} end modules ['util-prs']={ version=1.001, @@ -6458,11 +6772,30 @@ function parsers.settings_to_array(str,strict) return { str } end end -local separator=space^0*comma*space^0 -local value=P(lbrace*C((nobrace+nestedbraces)^0)*rbrace)+C((nestedbraces+(1-(space^0*(comma+P(-1)))))^0) -local withvalue=Carg(1)*value/function(f,s) return f(s) end -local pattern_a=spaces*Ct(value*(separator*value)^0) -local pattern_b=spaces*withvalue*(separator*withvalue)^0 +local cache_a={} +local cache_b={} +function parsers.groupedsplitat(symbol,withaction) + if not symbol then + symbol="," + end + local pattern=(withaction and cache_b or cache_a)[symbol] + if not pattern then + local symbols=S(symbol) + local separator=space^0*symbols*space^0 + local value=P(lbrace*C((nobrace+nestedbraces)^0)*rbrace)+C((nestedbraces+(1-(space^0*(symbols+P(-1)))))^0) + if withaction then + local withvalue=Carg(1)*value/function(f,s) return f(s) end + pattern=spaces*withvalue*(separator*withvalue)^0 + cache_b[symbol]=pattern + else + pattern=spaces*Ct(value*(separator*value)^0) + cache_a[symbol]=pattern + end + end + return pattern +end +local pattern_a=parsers.groupedsplitat(",",false) +local pattern_b=parsers.groupedsplitat(",",true) function parsers.stripped_settings_to_array(str) if not str or str=="" then return {} @@ -6524,12 +6857,9 @@ function parsers.array_to_string(a,separator) return "" end end -function parsers.settings_to_set(str,t) - t=t or {} - for s in gmatch(str,"[^, ]+") do - t[s]=true - end - return t +local pattern=Cf(Ct("")*Cg(C((1-S(", "))^1)*S(", ")^0*Cc(true))^1,rawset) +function utilities.parsers.settings_to_set(str,t) + return str and lpegmatch(pattern,str) or {} end function parsers.simple_hash_to_string(h,separator) local t,tn={},0 @@ -6541,12 +6871,16 @@ function parsers.simple_hash_to_string(h,separator) end return concat(t,separator or ",") end -local str=C((1-whitespace-equal)^1) +local str=Cs(lpegpatterns.unquoted)+C((1-whitespace-equal)^1) local setting=Cf(Carg(1)*(whitespace^0*Cg(str*whitespace^0*(equal*whitespace^0*str+Cc(""))))^1,rawset) local splitter=setting^1 function utilities.parsers.options_to_hash(str,target) return str and lpegmatch(splitter,str,1,target or {}) or {} end +local splitter=lpeg.tsplitat(" ") +function utilities.parsers.options_to_array(str) + return str and lpegmatch(splitter,str) or {} +end local value=P(lbrace*C((nobrace+nestedbraces)^0)*rbrace)+C(digit^1*lparent*(noparent+nestedparents)^1*rparent)+C((nestedbraces+(1-comma))^1) local pattern_a=spaces*Ct(value*(separator*value)^0) local function repeater(n,str) @@ -6668,7 +7002,7 @@ function parsers.rfc4180splitter(specification) local field=escaped+non_escaped+Cc("") local record=Ct(field*(separator*field)^1) local headerline=record*Cp() - local wholeblob=Ct((newline^-1*record)^0) + local wholeblob=Ct((newline^(specification.strict and -1 or 1)*record)^0) return function(data,getheader) if getheader then local header,position=lpegmatch(headerline,data) @@ -6705,13 +7039,13 @@ function parsers.stepper(str,n,action) lpegmatch(stepper,str,1,n,action or print) end end -local pattern_math=Cs((P("%")/"\\percent "+P("^")*Cc("{")*lpegpatterns.integer*Cc("}")+P(1))^0) -local pattern_text=Cs((P("%")/"\\percent "+(P("^")/"\\high")*Cc("{")*lpegpatterns.integer*Cc("}")+P(1))^0) +local pattern_math=Cs((P("%")/"\\percent "+P("^")*Cc("{")*lpegpatterns.integer*Cc("}")+anything)^0) +local pattern_text=Cs((P("%")/"\\percent "+(P("^")/"\\high")*Cc("{")*lpegpatterns.integer*Cc("}")+anything)^0) patterns.unittotex=pattern function parsers.unittotex(str,textmode) return lpegmatch(textmode and pattern_text or pattern_math,str) end -local pattern=Cs((P("^")/""*lpegpatterns.integer*Cc("")+P(1))^0) +local pattern=Cs((P("^")/""*lpegpatterns.integer*Cc("")+anything)^0) function parsers.unittoxml(str) return lpegmatch(pattern,str) end @@ -6783,6 +7117,18 @@ function utilities.parsers.runtime(time) local seconds=mod(time,60) return days,hours,minutes,seconds end +local spacing=whitespace^0 +local apply=P("->") +local method=C((1-apply)^1) +local token=lbrace*C((1-rbrace)^1)*rbrace+C(anything^1) +local pattern=spacing*(method*spacing*apply+Carg(1))*spacing*token +function utilities.parsers.splitmethod(str,default) + if str then + return lpegmatch(pattern,str,1,default or false) + else + return default or false,"" + end +end end -- of closure @@ -6872,7 +7218,7 @@ do -- create closure to overcome 200 locals limit package.loaded["trac-set"] = package.loaded["trac-set"] or true --- original size: 12365, stripped down to: 8799 +-- original size: 12482, stripped down to: 8864 if not modules then modules={} end modules ['trac-set']={ version=1.001, @@ -6900,7 +7246,7 @@ function setters.initialize(filename,name,values) local data=setter.data if data then for key,newvalue in next,values do - local newvalue=is_boolean(newvalue,newvalue) + local newvalue=is_boolean(newvalue,newvalue,true) local functions=data[key] if functions then local oldvalue=functions.value @@ -6954,7 +7300,7 @@ local function set(t,what,newvalue) elseif not value then value=false else - value=is_boolean(value,value) + value=is_boolean(value,value,true) end w=topattern(w,true,true) for name,functions in next,data do @@ -7093,6 +7439,7 @@ function setters.new(name) report=function(...) setters.report (setter,...) end, enable=function(...) enable (setter,...) end, disable=function(...) disable (setter,...) end, + reset=function(...) reset (setter,...) end, register=function(...) register(setter,...) end, list=function(...) list (setter,...) end, show=function(...) show (setter,...) end, @@ -7184,7 +7531,7 @@ do -- create closure to overcome 200 locals limit package.loaded["trac-log"] = package.loaded["trac-log"] or true --- original size: 25613, stripped down to: 16617 +-- original size: 29359, stripped down to: 20483 if not modules then modules={} end modules ['trac-log']={ version=1.001, @@ -7193,15 +7540,18 @@ if not modules then modules={} end modules ['trac-log']={ copyright="PRAGMA ADE / ConTeXt Development Team", license="see context related readme files" } +local next,type,select,print=next,type,select,print local write_nl,write=texio and texio.write_nl or print,texio and texio.write or io.write local format,gmatch,find=string.format,string.gmatch,string.find local concat,insert,remove=table.concat,table.insert,table.remove local topattern=string.topattern -local next,type,select=next,type,select local utfchar=utf.char +local datetime=os.date +local openfile=io.open local setmetatableindex=table.setmetatableindex local formatters=string.formatters local texgetcount=tex and tex.getcount +local variant="default" logs=logs or {} local logs=logs local moreinfo=[[ @@ -7211,32 +7561,122 @@ maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net wiki : http://contextgarden.net ]] -utilities.strings.formatters.add ( +formatters.add ( formatters,"unichr", [["U+" .. format("%%05X",%s) .. " (" .. utfchar(%s) .. ")"]] ) -utilities.strings.formatters.add ( +formatters.add ( formatters,"chruni", [[utfchar(%s) .. " (U+" .. format("%%05X",%s) .. ")"]] ) local function ignore() end setmetatableindex(logs,function(t,k) t[k]=ignore;return ignore end) local report,subreport,status,settarget,setformats,settranslations -local direct,subdirect,writer,pushtarget,poptarget,setlogfile,settimedlog,setprocessor,setformatters +local direct,subdirect,writer,pushtarget,poptarget,setlogfile,settimedlog,setprocessor,setformatters,newline if tex and (tex.jobname or tex.formatname) then - local valueiskey={ __index=function(t,k) t[k]=k return k end } - local target="term and log" + local function useluawrites() + local texio_write_nl=texio.write_nl + local texio_write=texio.write + local io_write=io.write + write_nl=function(target,...) + if not io_write then + io_write=io.write + end + if target=="term and log" then + texio_write_nl("log",...) + texio_write_nl("term","") + io_write(...) + elseif target=="log" then + texio_write_nl("log",...) + elseif target=="term" then + texio_write_nl("term","") + io_write(...) + elseif target~="none" then + texio_write_nl("log",target,...) + texio_write_nl("term","") + io_write(target,...) + end + end + write=function(target,...) + if not io_write then + io_write=io.write + end + if target=="term and log" then + texio_write("log",...) + io_write(...) + elseif target=="log" then + texio_write("log",...) + elseif target=="term" then + io_write(...) + elseif target~="none" then + texio_write("log",target,...) + io_write(target,...) + end + end + texio.write=write + texio.write_nl=write_nl + useluawrites=ignore + end + local whereto="both" + local target=nil + local targets=nil + local formats=table.setmetatableindex("self") + local translations=table.setmetatableindex("self") + local report_yes,subreport_yes,direct_yes,subdirect_yes,status_yes + local report_nop,subreport_nop,direct_nop,subdirect_nop,status_nop + local variants={ + default={ + formats={ + report_yes=formatters["%-15s > %s\n"], + report_nop=formatters["%-15s >\n"], + direct_yes=formatters["%-15s > %s"], + direct_nop=formatters["%-15s >"], + subreport_yes=formatters["%-15s > %s > %s\n"], + subreport_nop=formatters["%-15s > %s >\n"], + subdirect_yes=formatters["%-15s > %s > %s"], + subdirect_nop=formatters["%-15s > %s >"], + status_yes=formatters["%-15s : %s\n"], + status_nop=formatters["%-15s :\n"], + }, + targets={ + logfile="log", + log="log", + file="log", + console="term", + terminal="term", + both="term and log", + }, + }, + ansi={ + formats={ + report_yes=formatters["%-15s > %s\n"], + report_nop=formatters["%-15s >\n"], + direct_yes=formatters["%-15s > %s"], + direct_nop=formatters["%-15s >"], + subreport_yes=formatters["%-15s > %s > %s\n"], + subreport_nop=formatters["%-15s > %s >\n"], + subdirect_yes=formatters["%-15s > %s > %s"], + subdirect_nop=formatters["%-15s > %s >"], + status_yes=formatters["%-15s : %s\n"], + status_nop=formatters["%-15s :\n"], + }, + targets={ + logfile="none", + log="none", + file="none", + console="term", + terminal="term", + both="term", + }, + } + } logs.flush=io.flush - local formats={} setmetatable(formats,valueiskey) - local translations={} setmetatable(translations,valueiskey) writer=function(...) write_nl(target,...) end newline=function() write_nl(target,"\n") end - local report_yes=formatters["%-15s > %s\n"] - local report_nop=formatters["%-15s >\n"] report=function(a,b,c,...) if c then write_nl(target,report_yes(translations[a],formatters[formats[b]](c,...))) @@ -7248,8 +7688,6 @@ if tex and (tex.jobname or tex.formatname) then write_nl(target,"\n") end end - local direct_yes=formatters["%-15s > %s"] - local direct_nop=formatters["%-15s >"] direct=function(a,b,c,...) if c then return direct_yes(translations[a],formatters[formats[b]](c,...)) @@ -7261,8 +7699,6 @@ if tex and (tex.jobname or tex.formatname) then return "" end end - local subreport_yes=formatters["%-15s > %s > %s\n"] - local subreport_nop=formatters["%-15s > %s >\n"] subreport=function(a,s,b,c,...) if c then write_nl(target,subreport_yes(translations[a],translations[s],formatters[formats[b]](c,...))) @@ -7274,8 +7710,6 @@ if tex and (tex.jobname or tex.formatname) then write_nl(target,"\n") end end - local subdirect_yes=formatters["%-15s > %s > %s"] - local subdirect_nop=formatters["%-15s > %s >"] subdirect=function(a,s,b,c,...) if c then return subdirect_yes(translations[a],translations[s],formatters[formats[b]](c,...)) @@ -7287,8 +7721,6 @@ if tex and (tex.jobname or tex.formatname) then return "" end end - local status_yes=formatters["%-15s : %s\n"] - local status_nop=formatters["%-15s :\n"] status=function(a,b,c,...) if c then write_nl(target,status_yes(translations[a],formatters[formats[b]](c,...))) @@ -7300,16 +7732,13 @@ if tex and (tex.jobname or tex.formatname) then write_nl(target,"\n") end end - local targets={ - logfile="log", - log="log", - file="log", - console="term", - terminal="term", - both="term and log", - } - settarget=function(whereto) - target=targets[whereto or "both"] or targets.both + settarget=function(askedwhereto) + whereto=askedwhereto or whereto or "both" + target=targets[whereto] + if not target then + whereto="both" + target=targets[whereto] + end if target=="term" or target=="term and log" then logs.flush=io.flush else @@ -7338,21 +7767,74 @@ if tex and (tex.jobname or tex.formatname) then writeline(target,f(...)) end end - setformatters=function(f) - report_yes=f.report_yes or report_yes - report_nop=f.report_nop or report_nop - subreport_yes=f.subreport_yes or subreport_yes - subreport_nop=f.subreport_nop or subreport_nop - direct_yes=f.direct_yes or direct_yes - direct_nop=f.direct_nop or direct_nop - subdirect_yes=f.subdirect_yes or subdirect_yes - subdirect_nop=f.subdirect_nop or subdirect_nop - status_yes=f.status_yes or status_yes - status_nop=f.status_nop or status_nop - end + setformatters=function(specification) + local t=nil + local f=nil + local d=variants.default + if not specification then + elseif type(specification)=="table" then + t=specification.targets + f=specification.formats or specification + else + local v=variants[specification] + if v then + t=v.targets + f=v.formats + variant=specification + end + end + targets=t or d.targets + target=targets[whereto] or target + if f then + d=d.formats + else + f=d.formats + d=f + end + setmetatableindex(f,d) + report_yes=f.report_yes + report_nop=f.report_nop + subreport_yes=f.subreport_yes + subreport_nop=f.subreport_nop + direct_yes=f.direct_yes + direct_nop=f.direct_nop + subdirect_yes=f.subdirect_yes + subdirect_nop=f.subdirect_nop + status_yes=f.status_yes + status_nop=f.status_nop + if variant=="ansi" then + useluawrites() + end + settarget(whereto) + end + setformatters(variant) setlogfile=ignore settimedlog=ignore else + local report_yes,subreport_yes,status_yes + local report_nop,subreport_nop,status_nop + local variants={ + default={ + formats={ + report_yes=formatters["%-15s | %s"], + report_nop=formatters["%-15s |"], + subreport_yes=formatters["%-15s | %s | %s"], + subreport_nop=formatters["%-15s | %s |"], + status_yes=formatters["%-15s : %s\n"], + status_nop=formatters["%-15s :\n"], + }, + }, + ansi={ + formats={ + report_yes=formatters["%-15s | %s"], + report_nop=formatters["%-15s |"], + subreport_yes=formatters["%-15s | %s | %s"], + subreport_nop=formatters["%-15s | %s |"], + status_yes=formatters["%-15s : %s\n"], + status_nop=formatters["%-15s :\n"], + }, + }, + } logs.flush=ignore writer=function(s) write_nl(s) @@ -7360,8 +7842,6 @@ else newline=function() write_nl("\n") end - local report_yes=formatters["%-15s | %s"] - local report_nop=formatters["%-15s |"] report=function(a,b,c,...) if c then write_nl(report_yes(a,formatters[b](c,...))) @@ -7373,8 +7853,6 @@ else write_nl("") end end - local subreport_yes=formatters["%-15s | %s | %s"] - local subreport_nop=formatters["%-15s | %s |"] subreport=function(a,sub,b,c,...) if c then write_nl(subreport_yes(a,sub,formatters[b](c,...))) @@ -7386,8 +7864,6 @@ else write_nl("") end end - local status_yes=formatters["%-15s : %s\n"] - local status_nop=formatters["%-15s :\n"] status=function(a,b,c,...) if c then write_nl(status_yes(a,formatters[b](c,...))) @@ -7412,14 +7888,34 @@ else writeline(f(s)) end end - setformatters=function(f) - report_yes=f.report_yes or report_yes - report_nop=f.report_nop or report_nop - subreport_yes=f.subreport_yes or subreport_yes - subreport_nop=f.subreport_nop or subreport_nop - status_yes=f.status_yes or status_yes - status_nop=f.status_nop or status_nop - end + setformatters=function(specification) + local f=nil + local d=variants.default + if specification then + if type(specification)=="table" then + f=specification.formats or specification + else + local v=variants[specification] + if v then + f=v.formats + end + end + end + if f then + d=d.formats + else + f=d.formats + d=f + end + setmetatableindex(f,d) + report_yes=f.report_yes + report_nop=f.report_nop + subreport_yes=f.subreport_yes + subreport_nop=f.subreport_nop + status_yes=f.status_yes + status_nop=f.status_nop + end + setformatters(variant) setlogfile=function(name,keepopen) if name and name~="" then local localtime=os.localtime @@ -7672,13 +8168,13 @@ end local simple=logs.reporter("comment") logs.simple=simple logs.simpleline=simple -function logs.setprogram () end -function logs.extendbanner() end -function logs.reportlines () end -function logs.reportbanner() end -function logs.reportline () end -function logs.simplelines () end -function logs.help () end +logs.setprogram=ignore +logs.extendbanner=ignore +logs.reportlines=ignore +logs.reportbanner=ignore +logs.reportline=ignore +logs.simplelines=ignore +logs.help=ignore local Carg,C,lpegmatch=lpeg.Carg,lpeg.C,lpeg.match local p_newline=lpeg.patterns.newline local linewise=( @@ -7755,10 +8251,11 @@ function logs.application(t) end return t end -function logs.system(whereto,process,jobname,category,...) - local message=formatters["%s %s => %s => %s => %s\r"](os.date("%d/%m/%y %H:%m:%S"),process,jobname,category,format(...)) +local f_syslog=formatters["%s %s => %s => %s => %s\r"] +function logs.system(whereto,process,jobname,category,fmt,arg,...) + local message=f_syslog(datetime("%d/%m/%y %H:%m:%S"),process,jobname,category,arg==nil and fmt or format(fmt,arg,...)) for i=1,10 do - local f=io.open(whereto,"a") + local f=openfile(whereto,"a") if f then f:write(message) f:close() @@ -7820,7 +8317,7 @@ do -- create closure to overcome 200 locals limit package.loaded["trac-inf"] = package.loaded["trac-inf"] or true --- original size: 7011, stripped down to: 5590 +-- original size: 6704, stripped down to: 5343 if not modules then modules={} end modules ['trac-inf']={ version=1.001, @@ -7993,15 +8490,6 @@ function statistics.tracefunction(base,tag,...) statistics.register(formatters["%s.%s"](tag,name),function() return serialize(stat,"calls") end) end end -commands=commands or {} -function commands.resettimer(name) - resettiming(name or "whatever") - starttiming(name or "whatever") -end -function commands.elapsedtime(name) - stoptiming(name or "whatever") - context(elapsedtime(name or "whatever")) -end end -- of closure @@ -8568,7 +9056,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-tpl"] = package.loaded["util-tpl"] or true --- original size: 6251, stripped down to: 3488 +-- original size: 7100, stripped down to: 3978 if not modules then modules={} end modules ['util-tpl']={ version=1.001, @@ -8610,7 +9098,7 @@ local sqlescape=lpeg.replacer { { "\r\n","\\n" }, { "\r","\\n" }, } -local sqlquoted=lpeg.Cs(lpeg.Cc("'")*sqlescape*lpeg.Cc("'")) +local sqlquoted=Cs(Cc("'")*sqlescape*Cc("'")) lpegpatterns.sqlescape=sqlescape lpegpatterns.sqlquoted=sqlquoted local luaescape=lpegpatterns.luaescape @@ -8633,12 +9121,24 @@ local quotedescapers={ local luaescaper=escapers.lua local quotedluaescaper=quotedescapers.lua local function replacekeyunquoted(s,t,how,recurse) - local escaper=how and escapers[how] or luaescaper - return escaper(replacekey(s,t,how,recurse)) + if how==false then + return replacekey(s,t,how,recurse) + else + local escaper=how and escapers[how] or luaescaper + return escaper(replacekey(s,t,how,recurse)) + end end local function replacekeyquoted(s,t,how,recurse) - local escaper=how and quotedescapers[how] or quotedluaescaper - return escaper(replacekey(s,t,how,recurse)) + if how==false then + return replacekey(s,t,how,recurse) + else + local escaper=how and quotedescapers[how] or quotedluaescaper + return escaper(replacekey(s,t,how,recurse)) + end +end +local function replaceoptional(l,m,r,t,how,recurse) + local v=t[l] + return v and v~="" and lpegmatch(replacer,r,1,t,how or "lua",recurse or false) or "" end local single=P("%") local double=P("%%") @@ -8653,11 +9153,16 @@ local nolquoted=lquoted/'' local norquoted=rquoted/'' local nolquotedq=lquotedq/'' local norquotedq=rquotedq/'' -local key=nosingle*((C((1-nosingle )^1)*Carg(1)*Carg(2)*Carg(3))/replacekey )*nosingle -local quoted=nolquotedq*((C((1-norquotedq)^1)*Carg(1)*Carg(2)*Carg(3))/replacekeyquoted )*norquotedq -local unquoted=nolquoted*((C((1-norquoted )^1)*Carg(1)*Carg(2)*Carg(3))/replacekeyunquoted)*norquoted +local noloptional=P("%?")/'' +local noroptional=P("?%")/'' +local nomoptional=P(":")/'' +local args=Carg(1)*Carg(2)*Carg(3) +local key=nosingle*((C((1-nosingle )^1)*args)/replacekey )*nosingle +local quoted=nolquotedq*((C((1-norquotedq )^1)*args)/replacekeyquoted )*norquotedq +local unquoted=nolquoted*((C((1-norquoted )^1)*args)/replacekeyunquoted)*norquoted +local optional=noloptional*((C((1-nomoptional)^1)*nomoptional*C((1-noroptional)^1)*args)/replaceoptional)*noroptional local any=P(1) - replacer=Cs((unquoted+quoted+escape+key+any)^0) + replacer=Cs((unquoted+quoted+escape+optional+key+any)^0) local function replace(str,mapping,how,recurse) if mapping and str then return lpegmatch(replacer,str,1,mapping,how or "lua",recurse or false) or str @@ -8696,7 +9201,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-env"] = package.loaded["util-env"] or true --- original size: 8814, stripped down to: 5092 +-- original size: 8022, stripped down to: 5038 if not modules then modules={} end modules ['util-env']={ version=1.001, @@ -8707,7 +9212,7 @@ if not modules then modules={} end modules ['util-env']={ } local allocate,mark=utilities.storage.allocate,utilities.storage.mark local format,sub,match,gsub,find=string.format,string.sub,string.match,string.gsub,string.find -local unquoted,quoted=string.unquoted,string.quoted +local unquoted,quoted,optionalquoted=string.unquoted,string.quoted,string.optionalquoted local concat,insert,remove=table.concat,table.insert,table.remove environment=environment or {} local environment=environment @@ -8820,24 +9325,14 @@ function environment.splitarguments(separator) return before,after end function environment.reconstructcommandline(arg,noquote) + local resolveprefix=resolvers.resolve arg=arg or environment.originalarguments if noquote and #arg==1 then - local a=arg[1] - a=resolvers.resolve(a) - a=unquoted(a) - return a + return unquoted(resolveprefix and resolveprefix(arg[1]) or arg[1]) elseif #arg>0 then local result={} for i=1,#arg do - local a=arg[i] - a=resolvers.resolve(a) - a=unquoted(a) - a=gsub(a,'"','\\"') - if find(a," ",1,true) then - result[#result+1]=quoted(a) - else - result[#result+1]=a - end + result[i]=optionalquoted(resolveprefix and resolveprefix(arg[i]) or resolveprefix) end return concat(result," ") else @@ -9046,7 +9541,7 @@ do -- create closure to overcome 200 locals limit package.loaded["lxml-tab"] = package.loaded["lxml-tab"] or true --- original size: 42614, stripped down to: 26694 +-- original size: 43882, stripped down to: 26870 if not modules then modules={} end modules ['lxml-tab']={ version=1.001, @@ -9061,10 +9556,10 @@ if lpeg.setmaxstack then lpeg.setmaxstack(1000) end xml=xml or {} local xml=xml local concat,remove,insert=table.concat,table.remove,table.insert -local type,next,setmetatable,getmetatable,tonumber=type,next,setmetatable,getmetatable,tonumber +local type,next,setmetatable,getmetatable,tonumber,rawset=type,next,setmetatable,getmetatable,tonumber,rawset local lower,find,match,gsub=string.lower,string.find,string.match,string.gsub local utfchar=utf.char -local lpegmatch=lpeg.match +local lpegmatch,lpegpatterns=lpeg.match,lpeg.patterns local P,S,R,C,V,C,Cs=lpeg.P,lpeg.S,lpeg.R,lpeg.C,lpeg.V,lpeg.C,lpeg.Cs local formatters=string.formatters xml.xmlns=xml.xmlns or {} @@ -9226,9 +9721,10 @@ local function fromdec(s) return formatters["d:%s"](s),true end end -local rest=(1-P(";"))^0 -local many=P(1)^0 -local parsedentity=P("&")*(P("#x")*(rest/fromhex)+P("#")*(rest/fromdec))*P(";")*P(-1)+(P("#x")*(many/fromhex)+P("#")*(many/fromdec)) +local p_rest=(1-P(";"))^0 +local p_many=P(1)^0 +local p_char=lpegpatterns.utf8character +local parsedentity=P("&")*(P("#x")*(p_rest/fromhex)+P("#")*(p_rest/fromdec))*P(";")*P(-1)+(P("#x")*(p_many/fromhex)+P("#")*(p_many/fromdec)) local predefined_unified={ [38]="&", [42]=""", @@ -9254,7 +9750,9 @@ local privates_u={ local privates_p={} local privates_n={ } -local escaped=utf.remapper(privates_u) +local escaped=utf.remapper(privates_u,"dynamic") +local unprivatized=utf.remapper(privates_p,"dynamic") +xml.unprivatized=unprivatized local function unescaped(s) local p=privates_n[s] if not p then @@ -9267,9 +9765,7 @@ local function unescaped(s) end return p end -local unprivatized=utf.remapper(privates_p) xml.privatetoken=unescaped -xml.unprivatized=unprivatized xml.privatecodes=privates_n local function handle_hex_entity(str) local h=hcache[str] @@ -9422,7 +9918,7 @@ local valid=R('az','AZ','09')+S('_-.') local name_yes=C(valid^1)*colon*C(valid^1) local name_nop=C(P(true))*C(valid^1) local name=name_yes+name_nop -local utfbom=lpeg.patterns.utfbom +local utfbom=lpegpatterns.utfbom local spacing=C(space^0) local anyentitycontent=(1-open-semicolon-space-close)^0 local hexentitycontent=R("AF","af","09")^0 @@ -9590,7 +10086,7 @@ local function _xmlconvert_(data,settings) reported_attribute_errors,mt,errorhandler=nil,nil,nil return result end -function xmlconvert(data,settings) +local function xmlconvert(data,settings) local ok,result=pcall(function() return _xmlconvert_(data,settings) end) if ok then return result @@ -9682,14 +10178,17 @@ function xml.checkbom(root) insert(dt,2,"\n" ) end end -local function verbose_element(e,handlers) +local f_attribute=formatters['%s=%q'] +local function verbose_element(e,handlers,escape) local handle=handlers.handle local serialize=handlers.serialize local ens,etg,eat,edt,ern=e.ns,e.tg,e.at,e.dt,e.rn local ats=eat and next(eat) and {} if ats then + local n=0 for k,v in next,eat do - ats[#ats+1]=formatters['%s=%q'](k,escaped(v)) + n=n+1 + ats[n]=f_attribute(k,escaped(v)) end end if ern and trace_entities and ern~=ens then @@ -10033,7 +10532,7 @@ do -- create closure to overcome 200 locals limit package.loaded["lxml-lpt"] = package.loaded["lxml-lpt"] or true --- original size: 48030, stripped down to: 30595 +-- original size: 48229, stripped down to: 30684 if not modules then modules={} end modules ['lxml-lpt']={ version=1.001, @@ -10418,8 +10917,8 @@ local lp_builtin=P ( P("ns")/"ll.ns" )*((spaces*P("(")*spaces*P(")"))/"") local lp_attribute=(P("@")+P("attribute::"))/""*Cc("(ll.at and ll.at['")*((R("az","AZ")+S("-_:"))^1)*Cc("'])") -lp_fastpos_p=P("+")^0*R("09")^1*P(-1)/"l==%0" -lp_fastpos_n=P("-")*R("09")^1*P(-1)/"(%0<0 and (#list+%0==l))" +local lp_fastpos_p=P("+")^0*R("09")^1*P(-1)/"l==%0" +local lp_fastpos_n=P("-")*R("09")^1*P(-1)/"(%0<0 and (#list+%0==l))" local lp_fastpos=lp_fastpos_n+lp_fastpos_p local lp_reserved=C("and")+C("or")+C("not")+C("div")+C("mod")+C("true")+C("false") local lp_lua_function=Cs((R("az","AZ","__")^1*(P(".")*R("az","AZ","__")^1)^1)*("("))/"%0" @@ -10598,7 +11097,7 @@ local function nodesettostring(set,nodetest) if not ns or ns=="" then ns="*" end if not tg or tg=="" then tg="*" end tg=(tg=="@rt@" and "[root]") or format("%s:%s",ns,tg) - t[i]=(directive and tg) or format("not(%s)",tg) + t[#t+1]=(directive and tg) or format("not(%s)",tg) end if nodetest==false then return format("not(%s)",concat(t,"|")) @@ -10864,7 +11363,6 @@ expressions.print=function(...) print(...) return true end -expressions.contains=find expressions.find=find expressions.upper=upper expressions.lower=lower @@ -10886,6 +11384,9 @@ function expressions.contains(str,pattern) end return false end +function xml.expressions.idstring(str) + return type(str)=="string" and gsub(str,"^#","") or "" +end local function traverse(root,pattern,handle) local collected=applylpath(root,pattern) if collected then @@ -11173,7 +11674,7 @@ do -- create closure to overcome 200 locals limit package.loaded["lxml-aux"] = package.loaded["lxml-aux"] or true --- original size: 23804, stripped down to: 16817 +-- original size: 28225, stripped down to: 20125 if not modules then modules={} end modules ['lxml-aux']={ version=1.001, @@ -11183,16 +11684,19 @@ if not modules then modules={} end modules ['lxml-aux']={ license="see context related readme files" } local trace_manipulations=false trackers.register("lxml.manipulations",function(v) trace_manipulations=v end) +local trace_inclusions=false trackers.register("lxml.inclusions",function(v) trace_inclusions=v end) local report_xml=logs.reporter("xml") local xml=xml -local xmlconvert,xmlcopy,xmlname=xml.convert,xml.copy,xml.name +local xmlcopy,xmlname=xml.copy,xml.name local xmlinheritedconvert=xml.inheritedconvert local xmlapplylpath=xml.applylpath local xmlfilter=xml.filter -local type,setmetatable,getmetatable=type,setmetatable,getmetatable +local type,next,setmetatable,getmetatable=type,next,setmetatable,getmetatable local insert,remove,fastcopy,concat=table.insert,table.remove,table.fastcopy,table.concat local gmatch,gsub,format,find,strip=string.gmatch,string.gsub,string.format,string.find,string.strip local utfbyte=utf.byte +local lpegmatch=lpeg.match +local striplinepatterns=utilities.strings.striplinepatterns local function report(what,pattern,c,e) report_xml("%s element %a, root %a, position %a, index %a, pattern %a",what,xmlname(e),xmlname(e.__p__),c,e.ni,pattern) end @@ -11247,13 +11751,15 @@ end function xml.each(root,pattern,handle,reverse) local collected=xmlapplylpath(root,pattern) if collected then - if reverse then - for c=#collected,1,-1 do - handle(collected[c]) - end - else - for c=1,#collected do - handle(collected[c]) + if handle then + if reverse then + for c=#collected,1,-1 do + handle(collected[c]) + end + else + for c=1,#collected do + handle(collected[c]) + end end end return collected @@ -11309,6 +11815,7 @@ local function redo_ni(d) end end end +xml.reindex=redo_ni local function xmltoelement(whatever,root) if not whatever then return nil @@ -11360,8 +11867,16 @@ function xml.delete(root,pattern) report('deleting',pattern,c,e) end local d=p.dt - remove(d,e.ni) - redo_ni(d) + local ni=e.ni + if ni<=#d then + if false then + p.dt[ni]="" + else + remove(d,ni) + redo_ni(d) + end + else + end end end end @@ -11481,28 +11996,40 @@ xml.insertafter=insert_element xml.insertbefore=function(r,p,e) insert_element(r,p,e,true) end xml.injectafter=inject_element xml.injectbefore=function(r,p,e) inject_element(r,p,e,true) end -local function include(xmldata,pattern,attribute,recursive,loaddata) +local function include(xmldata,pattern,attribute,recursive,loaddata,level) pattern=pattern or 'include' loaddata=loaddata or io.loaddata local collected=xmlapplylpath(xmldata,pattern) if collected then + if not level then + level=1 + end for c=1,#collected do local ek=collected[c] local name=nil local ekdt=ek.dt local ekat=ek.at - local epdt=ek.__p__.dt + local ekrt=ek.__p__ + local epdt=ekrt.dt if not attribute or attribute=="" then name=(type(ekdt)=="table" and ekdt[1]) or ekdt end if not name then for a in gmatch(attribute or "href","([^|]+)") do name=ekat[a] - if name then break end + if name then + break + end + end + end + local data=nil + if name and name~="" then + data=loaddata(name) or "" + if trace_inclusions then + report_xml("including %s bytes from %a at level %s by pattern %a and attribute %a (%srecursing)",#data,name,level,pattern,attribute or "",recursive and "" or "not ") end end - local data=(name and name~="" and loaddata(name)) or "" - if data=="" then + if not data or data=="" then epdt[ek.ni]="" elseif ekat["parse"]=="text" then epdt[ek.ni]=xml.escaped(data) @@ -11512,70 +12039,113 @@ local function include(xmldata,pattern,attribute,recursive,loaddata) epdt[ek.ni]="" else if recursive then - include(xi,pattern,attribute,recursive,loaddata) + include(xi,pattern,attribute,recursive,loaddata,level+1) + end + local child=xml.body(xi) + child.__p__=ekrt + child.__f__=name + epdt[ek.ni]=child + local inclusions=xmldata.settings.inclusions + if inclusions then + inclusions[#inclusions+1]=name + else + xmldata.settings.inclusions={ name } end - epdt[ek.ni]=xml.body(xi) end end end end end xml.include=include +function xml.inclusion(e,default) + while e do + local f=e.__f__ + if f then + return f + else + e=e.__p__ + end + end + return default +end +function xml.inclusions(e,sorted) + while e do + local settings=e.settings + if settings then + local inclusions=settings.inclusions + if inclusions then + inclusions=table.unique(inclusions) + if sorted then + table.sort(inclusions) + end + return inclusions + else + e=e.__p__ + end + else + e=e.__p__ + end + end +end +local b_collapser=lpeg.patterns.b_collapser +local m_collapser=lpeg.patterns.m_collapser +local e_collapser=lpeg.patterns.e_collapser +local b_stripper=lpeg.patterns.b_stripper +local m_stripper=lpeg.patterns.m_stripper +local e_stripper=lpeg.patterns.e_stripper +local lpegmatch=lpeg.match local function stripelement(e,nolines,anywhere) local edt=e.dt if edt then - if anywhere then - local t,n={},0 - for e=1,#edt do + local n=#edt + if n==0 then + return e + elseif anywhere then + local t={} + local m=0 + for e=1,n do local str=edt[e] if type(str)~="string" then - n=n+1 - t[n]=str + m=m+1 + t[m]=str elseif str~="" then if nolines then - str=gsub(str,"%s+"," ") + str=lpegmatch((n==1 and b_collapser) or (n==m and e_collapser) or m_collapser,str) + else + str=lpegmatch((n==1 and b_stripper) or (n==m and e_stripper) or m_stripper,str) end - str=gsub(str,"^%s*(.-)%s*$","%1") if str~="" then - n=n+1 - t[n]=str + m=m+1 + t[m]=str end end end e.dt=t else - if #edt>0 then - local str=edt[1] - if type(str)~="string" then - elseif str=="" then + local str=edt[1] + if type(str)=="string" then + if str~="" then + str=lpegmatch(nolines and b_collapser or b_stripper,str) + end + if str=="" then remove(edt,1) + n=n-1 else - if nolines then - str=gsub(str,"%s+"," ") - end - str=gsub(str,"^%s+","") - if str=="" then - remove(edt,1) - else - edt[1]=str - end + edt[1]=str end end - local nedt=#edt - if nedt>0 then - local str=edt[nedt] - if type(str)~="string" then - elseif str=="" then - remove(edt) - else - if nolines then - str=gsub(str,"%s+"," ") - end - str=gsub(str,"%s+$","") + if n>0 then + str=edt[n] + if type(str)=="string" then if str=="" then remove(edt) else - edt[nedt]=str + str=lpegmatch(nolines and e_collapser or e_stripper,str) + if str=="" then + remove(edt) + else + edt[n]=str + end end end end @@ -11761,8 +12331,8 @@ function xml.finalizers.xml.cdata(collected) end return "" end -function xml.insertcomment(e,str,n) - table.insert(e.dt,n or 1,{ +function xml.insertcomment(e,str,n) + insert(e.dt,n or 1,{ tg="@cm@", ns="", special=true, @@ -11770,7 +12340,25 @@ function xml.insertcomment(e,str,n) dt={ str }, }) end -function xml.setcdata(e,str) +function xml.insertcdata(e,str,n) + insert(e.dt,n or 1,{ + tg="@cd@", + ns="", + special=true, + at={}, + dt={ str }, + }) +end +function xml.setcomment(e,str,n) + e.dt={ { + tg="@cm@", + ns="", + special=true, + at={}, + dt={ str }, + } } +end +function xml.setcdata(e,str) e.dt={ { tg="@cd@", ns="", @@ -11840,7 +12428,7 @@ local function recurse(e,action) for i=1,#edt do local str=edt[i] if type(str)~="string" then - recurse(str,action,recursive) + recurse(str,action) elseif str~="" then edt[i]=action(str) end @@ -11858,6 +12446,65 @@ function helpers.recursetext(collected,action,recursive) end end end +local specials={ + ["@rt@"]="root", + ["@pi@"]="instruction", + ["@cm@"]="comment", + ["@dt@"]="declaration", + ["@cd@"]="cdata", +} +local function convert(x,strip,flat) + local ns=x.ns + local tg=x.tg + local at=x.at + local dt=x.dt + local node=flat and { + [0]=(not x.special and (ns~="" and ns..":"..tg or tg)) or nil, + } or { + _namespace=ns~="" and ns or nil, + _tag=not x.special and tg or nil, + _type=specials[tg] or "_element", + } + if at then + for k,v in next,at do + node[k]=v + end + end + local n=0 + for i=1,#dt do + local di=dt[i] + if type(di)=="table" then + if flat and di.special then + else + di=convert(di,strip,flat) + if di then + n=n+1 + node[n]=di + end + end + elseif strip then + di=lpegmatch(strip,di) + if di~="" then + n=n+1 + node[n]=di + end + else + n=n+1 + node[n]=di + end + end + if next(node) then + return node + end +end +function xml.totable(x,strip,flat) + if type(x)=="table" then + if strip then + strip=striplinepatterns[strip] + end + return convert(x,strip,flat) + end +end end -- of closure @@ -12414,7 +13061,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-ini"] = package.loaded["data-ini"] or true --- original size: 7927, stripped down to: 5528 +-- original size: 11085, stripped down to: 7662 if not modules then modules={} end modules ['data-ini']={ version=1.001, @@ -12423,14 +13070,15 @@ if not modules then modules={} end modules ['data-ini']={ copyright="PRAGMA ADE / ConTeXt Development Team", license="see context related readme files", } +local next,type,getmetatable,rawset=next,type,getmetatable,rawset local gsub,find,gmatch,char=string.gsub,string.find,string.gmatch,string.char -local next,type=next,type local filedirname,filebasename,filejoin=file.dirname,file.basename,file.join +local ostype,osname,osuname,ossetenv,osgetenv=os.type,os.name,os.uname,os.setenv,os.getenv +local P,S,R,C,Cs,Cc,lpegmatch=lpeg.P,lpeg.S,lpeg.R,lpeg.C,lpeg.Cs,lpeg.Cc,lpeg.match local trace_locating=false trackers.register("resolvers.locating",function(v) trace_locating=v end) local trace_detail=false trackers.register("resolvers.details",function(v) trace_detail=v end) local trace_expansions=false trackers.register("resolvers.expansions",function(v) trace_expansions=v end) local report_initialization=logs.reporter("resolvers","initialization") -local ostype,osname,ossetenv,osgetenv=os.type,os.name,os.setenv,os.getenv resolvers=resolvers or {} local resolvers=resolvers texconfig.kpse_init=false @@ -12563,61 +13211,158 @@ if type(profiler)=="table" and not jit then profiler.start("luatex-profile.log") end) end -if not resolvers.resolve then - function resolvers.resolve (s) return s end - function resolvers.unresolve(s) return s end - function resolvers.repath (s) return s end +local prefixes=utilities.storage.allocate() +resolvers.prefixes=prefixes +local resolved={} +local abstract={} +local dynamic={} +function resolvers.resetresolve(str) + resolved,abstract={},{} end - - -end -- of closure - -do -- create closure to overcome 200 locals limit - -package.loaded["data-exp"] = package.loaded["data-exp"] or true - --- original size: 15317, stripped down to: 9723 - -if not modules then modules={} end modules ['data-exp']={ - version=1.001, - comment="companion to luat-lib.mkiv", - author="Hans Hagen, PRAGMA-ADE, Hasselt NL", - copyright="PRAGMA ADE / ConTeXt Development Team", - license="see context related readme files", -} -local format,find,gmatch,lower,char,sub=string.format,string.find,string.gmatch,string.lower,string.char,string.sub -local concat,sort=table.concat,table.sort -local lpegmatch,lpegpatterns=lpeg.match,lpeg.patterns -local Ct,Cs,Cc,Carg,P,C,S=lpeg.Ct,lpeg.Cs,lpeg.Cc,lpeg.Carg,lpeg.P,lpeg.C,lpeg.S -local type,next=type,next -local ostype=os.type -local collapsepath=file.collapsepath -local trace_locating=false trackers.register("resolvers.locating",function(v) trace_locating=v end) -local trace_expansions=false trackers.register("resolvers.expansions",function(v) trace_expansions=v end) -local report_expansions=logs.reporter("resolvers","expansions") -local resolvers=resolvers -local function f_both(a,b) - local t,n={},0 - for sb in gmatch(b,"[^,]+") do - for sa in gmatch(a,"[^,]+") do - n=n+1;t[n]=sa..sb +function resolvers.allprefixes(separator) + local all=table.sortedkeys(prefixes) + if separator then + for i=1,#all do + all[i]=all[i]..":" end end - return concat(t,",") + return all end -local comma=P(",") -local nocomma=(1-comma)^1 -local docomma=comma^1/"," -local before=Cs((nocomma*Carg(1)+docomma)^0) -local after=Cs((Carg(1)*nocomma+docomma)^0) -local both=Cs(((C(nocomma)*Carg(1))/function(a,b) return lpegmatch(before,b,1,a) end+docomma)^0) -local function f_first (a,b) return lpegmatch(after,b,1,a) end -local function f_second(a,b) return lpegmatch(before,a,1,b) end -local function f_both (a,b) return lpegmatch(both,b,1,a) end -local left=P("{") -local right=P("}") -local var=P((1-S("{}" ))^0) -local set=P((1-S("{},"))^0) +local function _resolve_(method,target) + local action=prefixes[method] + if action then + return action(target) + else + return method..":"..target + end +end +function resolvers.unresolve(str) + return abstract[str] or str +end +function resolvers.setdynamic(str) + dynamic[str]=true +end +local pattern=Cs((C(R("az")^2)*P(":")*C((1-S(" \"\';,"))^1)/_resolve_+P(1))^0) +local prefix=C(R("az")^2)*P(":") +local target=C((1-S(" \"\';,"))^1) +local notarget=(#S(";,")+P(-1))*Cc("") +local p_resolve=Cs(((prefix*(target+notarget))/_resolve_+P(1))^0) +local p_simple=prefix*P(-1) +local function resolve(str) + if type(str)=="table" then + local res={} + for i=1,#str do + res[i]=resolve(str[i]) + end + return res + end + local res=resolved[str] + if res then + return res + end + local simple=lpegmatch(p_simple,str) + local action=prefixes[simple] + if action then + local res=action(res) + if not dynamic[simple] then + resolved[simple]=res + abstract[res]=simple + end + return res + end + res=lpegmatch(p_resolve,str) + resolved[str]=res + abstract[res]=str + return res +end +resolvers.resolve=resolve +if type(osuname)=="function" then + for k,v in next,osuname() do + if not prefixes[k] then + prefixes[k]=function() return v end + end + end +end +if ostype=="unix" then + local pattern + local function makepattern(t,k,v) + if t then + rawset(t,k,v) + end + local colon=P(":") + for k,v in table.sortedpairs(prefixes) do + if p then + p=P(k)+p + else + p=P(k) + end + end + pattern=Cs((p*colon+colon/";"+P(1))^0) + end + makepattern() + table.setmetatablenewindex(prefixes,makepattern) + function resolvers.repath(str) + return lpegmatch(pattern,str) + end +else + function resolvers.repath(str) + return str + end +end + + +end -- of closure + +do -- create closure to overcome 200 locals limit + +package.loaded["data-exp"] = package.loaded["data-exp"] or true + +-- original size: 17216, stripped down to: 10657 + +if not modules then modules={} end modules ['data-exp']={ + version=1.001, + comment="companion to luat-lib.mkiv", + author="Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright="PRAGMA ADE / ConTeXt Development Team", + license="see context related readme files", +} +local format,find,gmatch,lower,char,sub=string.format,string.find,string.gmatch,string.lower,string.char,string.sub +local concat,sort=table.concat,table.sort +local lpegmatch,lpegpatterns=lpeg.match,lpeg.patterns +local Ct,Cs,Cc,Carg,P,C,S=lpeg.Ct,lpeg.Cs,lpeg.Cc,lpeg.Carg,lpeg.P,lpeg.C,lpeg.S +local type,next=type,next +local isdir=lfs.isdir +local ostype=os.type +local collapsepath,joinpath,basename=file.collapsepath,file.join,file.basename +local trace_locating=false trackers.register("resolvers.locating",function(v) trace_locating=v end) +local trace_expansions=false trackers.register("resolvers.expansions",function(v) trace_expansions=v end) +local trace_globbing=true trackers.register("resolvers.globbing",function(v) trace_globbing=v end) +local report_expansions=logs.reporter("resolvers","expansions") +local report_globbing=logs.reporter("resolvers","globbing") +local resolvers=resolvers +local resolveprefix=resolvers.resolve +local function f_both(a,b) + local t,n={},0 + for sb in gmatch(b,"[^,]+") do + for sa in gmatch(a,"[^,]+") do + n=n+1;t[n]=sa..sb + end + end + return concat(t,",") +end +local comma=P(",") +local nocomma=(1-comma)^1 +local docomma=comma^1/"," +local before=Cs((nocomma*Carg(1)+docomma)^0) +local after=Cs((Carg(1)*nocomma+docomma)^0) +local both=Cs(((C(nocomma)*Carg(1))/function(a,b) return lpegmatch(before,b,1,a) end+docomma)^0) +local function f_first (a,b) return lpegmatch(after,b,1,a) end +local function f_second(a,b) return lpegmatch(before,a,1,b) end +local function f_both (a,b) return lpegmatch(both,b,1,a) end +local left=P("{") +local right=P("}") +local var=P((1-S("{}" ))^0) +local set=P((1-S("{},"))^0) local other=P(1) local l_first=Cs((Cc("{")*(C(set)*left*C(var)*right/f_first)*Cc("}")+other )^0 ) local l_second=Cs((Cc("{")*(left*C(var)*right*C(set)/f_second)*Cc("}")+other )^0 ) @@ -12685,35 +13430,27 @@ function resolvers.expandedpathfromlist(pathlist) end return newlist end -local cleanup=lpeg.replacer { - { "!","" }, - { "\\","/" }, -} -function resolvers.cleanpath(str) - local doslashes=(P("\\")/"/"+1)^0 - local donegation=(P("!")/"" )^0 - local homedir=lpegmatch(Cs(donegation*doslashes),environment.homedir or "") - if homedir=="~" or homedir=="" or not lfs.isdir(homedir) then - if trace_expansions then - report_expansions("no home dir set, ignoring dependent paths") - end - function resolvers.cleanpath(str) - if not str or find(str,"~",1,true) then - return "" - else - return lpegmatch(cleanup,str) +local usedhomedir=nil +local donegation=(P("!")/"" )^0 +local doslashes=(P("\\")/"/"+1)^0 +local function expandedhome() + if not usedhomedir then + usedhomedir=lpegmatch(Cs(donegation*doslashes),environment.homedir or "") + if usedhomedir=="~" or usedhomedir=="" or not isdir(usedhomedir) then + if trace_expansions then + report_expansions("no home dir set, ignoring dependent path using current path") end - end - else - local dohome=((P("~")+P("$HOME"))/homedir)^0 - local cleanup=Cs(donegation*dohome*doslashes) - function resolvers.cleanpath(str) - return str and lpegmatch(cleanup,str) or "" + usedhomedir="." end end - return resolvers.cleanpath(str) + return usedhomedir end -local expandhome=P("~")/"$HOME" +local dohome=((P("~")+P("$HOME")+P("%HOME%"))/expandedhome)^0 +local cleanup=Cs(donegation*dohome*doslashes) +resolvers.cleanpath=function(str) + return str and lpegmatch(cleanup,str) or "" +end +local expandhome=P("~")/"$HOME" local dodouble=P('"')/""*(expandhome+(1-P('"')))^0*P('"')/"" local dosingle=P("'")/""*(expandhome+(1-P("'")))^0*P("'")/"" local dostring=(expandhome+1 )^0 @@ -12765,46 +13502,67 @@ function resolvers.splitpath(str) end function resolvers.joinpath(str) if type(str)=='table' then - return file.joinpath(str) + return joinpath(str) else return str end end local attributes,directory=lfs.attributes,lfs.dir local weird=P(".")^1+lpeg.anywhere(S("~`!#$%^&*()={}[]:;\"\'||<>,?\n\r\t")) +local lessweird=P(".")^1+lpeg.anywhere(S("~`#$%^&*:;\"\'||<>,?\n\r\t")) local timer={} local scanned={} local nofscans=0 local scancache={} -local function scan(files,spec,path,n,m,r) - local full=(path=="" and spec) or (spec..path..'/') +local fullcache={} +local nofsharedscans=0 +local function scan(files,remap,spec,path,n,m,r,onlyone,tolerant) + local full=path=="" and spec or (spec..path..'/') local dirs={} local nofdirs=0 + local pattern=tolerant and lessweird or weird for name in directory(full) do - if not lpegmatch(weird,name) then - local mode=attributes(full..name,'mode') - if mode=='file' then + if not lpegmatch(pattern,name) then + local mode=attributes(full..name,"mode") + if mode=="file" then n=n+1 - local f=files[name] - if f then - if type(f)=='string' then - files[name]={ f,path } + local lower=lower(name) + local paths=files[lower] + if paths then + if onlyone then else - f[#f+1]=path + if type(paths)=="string" then + files[lower]={ paths,path } + else + paths[#paths+1]=path + end + if name~=lower then + local rl=remap[lower] + if not rl then + remap[lower]=name + r=r+1 + elseif trace_globbing and rl~=name then + report_globbing("confusing filename, name: %a, lower: %a, already: %a",name,lower,rl) + end + end end else - files[name]=path - local lower=lower(name) + files[lower]=path if name~=lower then - files["remap:"..lower]=name - r=r+1 + local rl=remap[lower] + if not rl then + remap[lower]=name + r=r+1 + elseif trace_globbing and rl~=name then + report_globbing("confusing filename, name: %a, lower: %a, already: %a",name,lower,rl) + end end end - elseif mode=='directory' then + elseif mode=="directory" then m=m+1 nofdirs=nofdirs+1 if path~="" then - dirs[nofdirs]=path..'/'..name + dirs[nofdirs]=path.."/"..name else dirs[nofdirs]=name end @@ -12814,107 +13572,69 @@ local function scan(files,spec,path,n,m,r) if nofdirs>0 then sort(dirs) for i=1,nofdirs do - files,n,m,r=scan(files,spec,dirs[i],n,m,r) + files,remap,n,m,r=scan(files,remap,spec,dirs[i],n,m,r,onlyonce,tolerant) end end scancache[sub(full,1,-2)]=files - return files,n,m,r + return files,remap,n,m,r end -local fullcache={} -function resolvers.scanfiles(path,branch,usecache) - statistics.starttiming(timer) - local realpath=resolvers.resolve(path) +function resolvers.scanfiles(path,branch,usecache,onlyonce,tolerant) + local realpath=resolveprefix(path) if usecache then - local files=fullcache[realpath] - if files then + local content=fullcache[realpath] + if content then if trace_locating then - report_expansions("using caches scan of path %a, branch %a",path,branch or path) + report_expansions("using cached scan of path %a, branch %a",path,branch or path) end - return files + nofsharedscans=nofsharedscans+1 + return content end end + statistics.starttiming(timer) if trace_locating then report_expansions("scanning path %a, branch %a",path,branch or path) end - local files,n,m,r=scan({},realpath..'/',"",0,0,0) - files.__path__=path - files.__files__=n - files.__directories__=m - files.__remappings__=r - if trace_locating then - report_expansions("%s files found on %s directories with %s uppercase remappings",n,m,r) - end - if usecache then - scanned[#scanned+1]=realpath - fullcache[realpath]=files - end - nofscans=nofscans+1 - statistics.stoptiming(timer) - return files -end -local function simplescan(files,spec,path) - local full=(path=="" and spec) or (spec..path..'/') - local dirs={} - local nofdirs=0 - for name in directory(full) do - if not lpegmatch(weird,name) then - local mode=attributes(full..name,'mode') - if mode=='file' then - if not files[name] then - files[name]=path - end - elseif mode=='directory' then - nofdirs=nofdirs+1 - if path~="" then - dirs[nofdirs]=path..'/'..name - else - dirs[nofdirs]=name - end - end - end - end - if nofdirs>0 then - sort(dirs) - for i=1,nofdirs do - files=simplescan(files,spec,dirs[i]) - end - end - return files -end -local simplecache={} -local nofsharedscans=0 -function resolvers.simplescanfiles(path,branch,usecache) - statistics.starttiming(timer) - local realpath=resolvers.resolve(path) - if usecache then - local files=simplecache[realpath] - if not files then - files=scancache[realpath] - if files then - nofsharedscans=nofsharedscans+1 - end + local content + if isdir(realpath) then + local files,remap,n,m,r=scan({},{},realpath..'/',"",0,0,0,onlyonce,tolerant) + content={ + metadata={ + path=path, + files=n, + directories=m, + remappings=r, + }, + files=files, + remap=remap, + } + if trace_locating then + report_expansions("%s files found on %s directories with %s uppercase remappings",n,m,r) end - if files then - if trace_locating then - report_expansions("using caches scan of path %a, branch %a",path,branch or path) - end - return files + else + content={ + metadata={ + path=path, + files=0, + directories=0, + remappings=0, + }, + files={}, + remap={}, + } + if trace_locating then + report_expansions("invalid path %a",realpath) end end - if trace_locating then - report_expansions("scanning path %a, branch %a",path,branch or path) - end - local files=simplescan({},realpath..'/',"") - if trace_locating then - report_expansions("%s files found",table.count(files)) - end if usecache then scanned[#scanned+1]=realpath - simplecache[realpath]=files + fullcache[realpath]=content end nofscans=nofscans+1 statistics.stoptiming(timer) - return files + return content +end +function resolvers.simplescanfiles(path,branch,usecache) + return resolvers.scanfiles(path,branch,usecache,true,true) end function resolvers.scandata() table.sort(scanned) @@ -12925,6 +13645,52 @@ function resolvers.scandata() paths=scanned, } end +function resolvers.get_from_content(content,path,name) + if not content then + return + end + local files=content.files + if not files then + return + end + local remap=content.remap + if not remap then + return + end + if name then + local used=lower(name) + return path,remap[used] or used + else + local name=path + local used=lower(name) + local path=files[used] + if path then + return path,remap[used] or used + end + end +end +local nothing=function() end +function resolvers.filtered_from_content(content,pattern) + if content and type(pattern)=="string" then + local pattern=lower(pattern) + local files=content.files + local remap=content.remap + if files and remap then + local n=next(files) + local function iterator() + while n do + local k=n + n=next(files,k) + if find(k,pattern) then + return files[k],remap and remap[k] or k + end + end + end + return iterator + end + end + return nothing +end end -- of closure @@ -12933,7 +13699,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-env"] = package.loaded["data-env"] or true --- original size: 8769, stripped down to: 6490 +-- original size: 9216, stripped down to: 6798 if not modules then modules={} end modules ['data-env']={ version=1.001, @@ -12951,10 +13717,12 @@ local formats=allocate() local suffixes=allocate() local dangerous=allocate() local suffixmap=allocate() +local usertypes=allocate() resolvers.formats=formats resolvers.suffixes=suffixes resolvers.dangerous=dangerous resolvers.suffixmap=suffixmap +resolvers.usertypes=usertypes local luasuffixes=utilities.lua.suffixes local relations=allocate { core={ @@ -13022,11 +13790,13 @@ local relations=allocate { names={ "mp" }, variable='MPINPUTS', suffixes={ 'mp','mpvi','mpiv','mpii' }, + usertype=true, }, tex={ names={ "tex" }, variable='TEXINPUTS', - suffixes={ 'tex',"mkvi","mkiv","mkii" }, + suffixes={ "tex","mkvi","mkiv","mkii","cld","lfg","xml" }, + usertype=true, }, icc={ names={ "icc","icc profile","icc profiles" }, @@ -13042,6 +13812,7 @@ local relations=allocate { names={ "lua" }, variable='LUAINPUTS', suffixes={ luasuffixes.lua,luasuffixes.luc,luasuffixes.tma,luasuffixes.tmc }, + usertype=true, }, lib={ names={ "lib" }, @@ -13050,11 +13821,15 @@ local relations=allocate { }, bib={ names={ 'bib' }, + variable='BIBINPUTS', suffixes={ 'bib' }, + usertype=true, }, bst={ names={ 'bst' }, + variable='BSTINPUTS', suffixes={ 'bst' }, + usertype=true, }, fontconfig={ names={ 'fontconfig','fontconfig file','fontconfig files' }, @@ -13136,8 +13911,9 @@ function resolvers.updaterelations() for name,relation in next,categories do local rn=relation.names local rv=relation.variable - local rs=relation.suffixes if rn and rv then + local rs=relation.suffixes + local ru=relation.usertype for i=1,#rn do local rni=lower(gsub(rn[i]," ","")) formats[rni]=rv @@ -13149,8 +13925,9 @@ function resolvers.updaterelations() end end end - end - if rs then + if ru then + usertypes[name]=true + end end end end @@ -13201,7 +13978,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-tmp"] = package.loaded["data-tmp"] or true --- original size: 15532, stripped down to: 11648 +-- original size: 15681, stripped down to: 11761 if not modules then modules={} end modules ['data-tmp']={ version=1.100, @@ -13220,6 +13997,7 @@ local trace_cache=false trackers.register("resolvers.cache",function(v) trace_ca local report_caches=logs.reporter("resolvers","caches") local report_resolvers=logs.reporter("resolvers","caching") local resolvers=resolvers +local cleanpath=resolvers.cleanpath local directive_cleanup=false directives.register("system.compile.cleanup",function(v) directive_cleanup=v end) local directive_strip=false directives.register("system.compile.strip",function(v) directive_strip=v end) local compile=utilities.lua.compile @@ -13241,7 +14019,7 @@ caches.relocate=false caches.defaults={ "TMPDIR","TEMPDIR","TMP","TEMP","HOME","HOMEPATH" } local writable,readables,usedreadables=nil,{},{} local function identify() - local texmfcaches=resolvers.cleanpathlist("TEXMFCACHE") + local texmfcaches=resolvers.cleanpathlist("TEXMFCACHE") if texmfcaches then for k=1,#texmfcaches do local cachepath=texmfcaches[k] @@ -13495,10 +14273,12 @@ local content_state={} function caches.contentstate() return content_state or {} end -function caches.loadcontent(cachename,dataname) - local name=caches.hashed(cachename) - local full,path=caches.getfirstreadablefile(addsuffix(name,luasuffixes.lua),"trees") - local filename=file.join(path,name) +function caches.loadcontent(cachename,dataname,filename) + if not filename then + local name=caches.hashed(cachename) + local full,path=caches.getfirstreadablefile(addsuffix(name,luasuffixes.lua),"trees") + filename=file.join(path,name) + end local blob=loadfile(addsuffix(filename,luasuffixes.luc)) or loadfile(addsuffix(filename,luasuffixes.lua)) if blob then local data=blob() @@ -13530,10 +14310,12 @@ function caches.collapsecontent(content) end end end -function caches.savecontent(cachename,dataname,content) - local name=caches.hashed(cachename) - local full,path=caches.setfirstwritablefile(addsuffix(name,luasuffixes.lua),"trees") - local filename=file.join(path,name) +function caches.savecontent(cachename,dataname,content,filename) + if not filename then + local name=caches.hashed(cachename) + local full,path=caches.setfirstwritablefile(addsuffix(name,luasuffixes.lua),"trees") + filename=file.join(path,name) + end local luaname=addsuffix(filename,luasuffixes.lua) local lucname=addsuffix(filename,luasuffixes.luc) if trace_locating then @@ -13576,7 +14358,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-met"] = package.loaded["data-met"] or true --- original size: 5460, stripped down to: 4014 +-- original size: 5347, stripped down to: 4015 if not modules then modules={} end modules ['data-met']={ version=1.100, @@ -13604,7 +14386,7 @@ local function splitmethod(filename) if type(filename)=="table" then return filename end - filename=file.collapsepath(filename,".") + filename=file.collapsepath(filename,".") if not find(filename,"://",1,true) then return { scheme="file",path=filename,original=filename,filename=filename } end @@ -13695,7 +14477,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-res"] = package.loaded["data-res"] or true --- original size: 62045, stripped down to: 43116 +-- original size: 67003, stripped down to: 46291 if not modules then modules={} end modules ['data-res']={ version=1.001, @@ -13705,7 +14487,7 @@ if not modules then modules={} end modules ['data-res']={ license="see context related readme files", } local gsub,find,lower,upper,match,gmatch=string.gsub,string.find,string.lower,string.upper,string.match,string.gmatch -local concat,insert,sortedkeys=table.concat,table.insert,table.sortedkeys +local concat,insert,remove,sortedkeys,sortedhash=table.concat,table.insert,table.remove,table.sortedkeys,table.sortedhash local next,type,rawget=next,type,rawget local os=os local P,S,R,C,Cc,Cs,Ct,Carg=lpeg.P,lpeg.S,lpeg.R,lpeg.C,lpeg.Cc,lpeg.Cs,lpeg.Ct,lpeg.Carg @@ -13714,17 +14496,23 @@ local formatters=string.formatters local filedirname=file.dirname local filebasename=file.basename local suffixonly=file.suffixonly +local addsuffix=file.addsuffix +local removesuffix=file.removesuffix local filejoin=file.join local collapsepath=file.collapsepath local joinpath=file.joinpath +local is_qualified_path=file.is_qualified_path local allocate=utilities.storage.allocate local settings_to_array=utilities.parsers.settings_to_array +local getcurrentdir=lfs.currentdir +local isfile=lfs.isfile +local isdir=lfs.isdir local setmetatableindex=table.setmetatableindex local luasuffixes=utilities.lua.suffixes -local getcurrentdir=lfs.currentdir local trace_locating=false trackers .register("resolvers.locating",function(v) trace_locating=v end) local trace_detail=false trackers .register("resolvers.details",function(v) trace_detail=v end) local trace_expansions=false trackers .register("resolvers.expansions",function(v) trace_expansions=v end) +local trace_paths=false trackers .register("resolvers.paths",function(v) trace_paths=v end) local resolve_otherwise=true directives.register("resolvers.otherwise",function(v) resolve_otherwise=v end) local report_resolving=logs.reporter("resolvers","resolving") local resolvers=resolvers @@ -13732,10 +14520,14 @@ local expandedpathfromlist=resolvers.expandedpathfromlist local checkedvariable=resolvers.checkedvariable local splitconfigurationpath=resolvers.splitconfigurationpath local methodhandler=resolvers.methodhandler +local filtered=resolvers.filtered_from_content +local lookup=resolvers.get_from_content +local cleanpath=resolvers.cleanpath +local resolveprefix=resolvers.resolve local initializesetter=utilities.setters.initialize local ostype,osname,osenv,ossetenv,osgetenv=os.type,os.name,os.env,os.setenv,os.getenv -resolvers.cacheversion='1.0.1' -resolvers.configbanner='' +resolvers.cacheversion="1.100" +resolvers.configbanner="" resolvers.homedir=environment.homedir resolvers.criticalvars=allocate { "SELFAUTOLOC","SELFAUTODIR","SELFAUTOPARENT","TEXMFCNF","TEXMF","TEXOS" } resolvers.luacnfname="texmfcnf.lua" @@ -13754,6 +14546,7 @@ end local unset_variable="unset" local formats=resolvers.formats local suffixes=resolvers.suffixes +local usertypes=resolvers.usertypes local dangerous=resolvers.dangerous local suffixmap=resolvers.suffixmap resolvers.defaultsuffixes={ "tex" } @@ -13762,7 +14555,7 @@ local instance=resolvers.instance or nil function resolvers.setenv(key,value,raw) if instance then instance.environment[key]=value - ossetenv(key,raw and value or resolvers.resolve(value)) + ossetenv(key,raw and value or resolveprefix(value)) end end local function getenv(key) @@ -13776,7 +14569,7 @@ local function getenv(key) end resolvers.getenv=getenv resolvers.env=getenv -local function resolve(k) +local function resolvevariable(k) return instance.expansions[k] end local dollarstripper=lpeg.stripper("$") @@ -13785,19 +14578,19 @@ local backslashswapper=lpeg.replacer("\\","/") local somevariable=P("$")/"" local somekey=C(R("az","AZ","09","__","--")^1) local somethingelse=P(";")*((1-S("!{}/\\"))^1*P(";")/"")+P(";")*(P(";")/"")+P(1) -local variableexpander=Cs((somevariable*(somekey/resolve)+somethingelse)^1 ) +local variableexpander=Cs((somevariable*(somekey/resolvevariable)+somethingelse)^1 ) local cleaner=P("\\")/"/"+P(";")*S("!{}/\\")^0*P(";")^1/";" local variablecleaner=Cs((cleaner+P(1))^0) -local somevariable=R("az","AZ","09","__","--")^1/resolve +local somevariable=R("az","AZ","09","__","--")^1/resolvevariable local variable=(P("$")/"")*(somevariable+(P("{")/"")*somevariable*(P("}")/"")) local variableresolver=Cs((variable+P(1))^0) local function expandedvariable(var) return lpegmatch(variableexpander,var) or var end -function resolvers.newinstance() - if trace_locating then +function resolvers.newinstance() + if trace_locating then report_resolving("creating instance") - end + end local environment,variables,expansions,order=allocate(),allocate(),allocate(),allocate() local newinstance={ environment=environment, @@ -13810,6 +14603,7 @@ function resolvers.newinstance() foundintrees=allocate(), hashes=allocate(), hashed=allocate(), + pathlists=false, specification=allocate(), lists=allocate(), data=allocate(), @@ -13822,6 +14616,7 @@ function resolvers.newinstance() savelists=true, pattern=nil, force_suffixes=true, + pathstack={}, } setmetatableindex(variables,function(t,k) local v @@ -13871,8 +14666,13 @@ function resolvers.reset() end local function reset_hashes() instance.lists={} + instance.pathlists=false instance.found={} end +local function reset_caches() + instance.lists={} + instance.pathlists=false +end local slash=P("/") local pathexpressionpattern=Cs ( Cc("^")*( @@ -13924,13 +14724,13 @@ local function identify_configuration_files() for i=1,#cnfpaths do local filepath=cnfpaths[i] local filename=collapsepath(filejoin(filepath,luacnfname)) - local realname=resolvers.resolve(filename) + local realname=resolveprefix(filename) if trace_locating then - local fullpath=gsub(resolvers.resolve(collapsepath(filepath)),"//","/") + local fullpath=gsub(resolveprefix(collapsepath(filepath)),"//","/") local weirdpath=find(fullpath,"/texmf.+/texmf") or not find(fullpath,"/web2c",1,true) report_resolving("looking for %a on %s path %a from specification %a",luacnfname,weirdpath and "weird" or "given",fullpath,filepath) end - if lfs.isfile(realname) then + if isfile(realname) then specification[#specification+1]=filename if trace_locating then report_resolving("found configuration file %a",realname) @@ -13952,7 +14752,7 @@ local function load_configuration_files() local filename=specification[i] local pathname=filedirname(filename) local filename=filejoin(pathname,luacnfname) - local realname=resolvers.resolve(filename) + local realname=resolveprefix(filename) local blob=loadfile(realname) if blob then local setups=instance.setups @@ -13960,7 +14760,7 @@ local function load_configuration_files() local parent=data and data.parent if parent then local filename=filejoin(pathname,parent) - local realname=resolvers.resolve(filename) + local realname=resolveprefix(filename) local blob=loadfile(realname) if blob then local parentdata=blob() @@ -13985,7 +14785,7 @@ local function load_configuration_files() elseif variables[k]==nil then if trace_locating and not warning then report_resolving("variables like %a in configuration file %a should move to the 'variables' subtable", - k,resolvers.resolve(filename)) + k,resolveprefix(filename)) warning=true end variables[k]=v @@ -14045,7 +14845,7 @@ local function locate_file_databases() local stripped=lpegmatch(inhibitstripper,path) if stripped~="" then local runtime=stripped==path - path=resolvers.cleanpath(path) + path=cleanpath(path) local spec=resolvers.splitmethod(stripped) if runtime and (spec.noscheme or spec.scheme=="file") then stripped="tree:///"..stripped @@ -14108,8 +14908,8 @@ function resolvers.renew(hashname) report_resolving("identifying tree %a",hashname) end end - local realpath=resolvers.resolve(hashname) - if lfs.isdir(realpath) then + local realpath=resolveprefix(hashname) + if isdir(realpath) then if trace_locating then report_resolving("using path %a",realpath) end @@ -14210,19 +15010,53 @@ end function resolvers.unexpandedpath(str) return joinpath(resolvers.unexpandedpathlist(str)) end +function resolvers.pushpath(name) + local pathstack=instance.pathstack + local lastpath=pathstack[#pathstack] + local pluspath=filedirname(name) + if lastpath then + lastpath=collapsepath(filejoin(lastpath,pluspath)) + else + lastpath=collapsepath(pluspath) + end + insert(pathstack,lastpath) + if trace_paths then + report_resolving("pushing path %a",lastpath) + end +end +function resolvers.poppath() + local pathstack=instance.pathstack + if trace_paths and #pathstack>0 then + report_resolving("popping path %a",pathstack[#pathstack]) + end + remove(pathstack) +end +function resolvers.stackpath() + local pathstack=instance.pathstack + local currentpath=pathstack[#pathstack] + return currentpath~="" and currentpath or nil +end local done={} function resolvers.resetextrapath() local ep=instance.extra_paths if not ep then - ep,done={},{} - instance.extra_paths=ep + done={} + instance.extra_paths={} elseif #ep>0 then - instance.lists,done={},{} + done={} + reset_caches() end end function resolvers.registerextrapath(paths,subpaths) - paths=settings_to_array(paths) - subpaths=settings_to_array(subpaths) + if not subpaths or subpaths=="" then + if not paths or path=="" then + return + elseif done[paths] then + return + end + end + local paths=settings_to_array(paths) + local subpaths=settings_to_array(subpaths) local ep=instance.extra_paths or {} local oldn=#ep local newn=oldn @@ -14237,7 +15071,7 @@ function resolvers.registerextrapath(paths,subpaths) local ps=p.."/"..s if not done[ps] then newn=newn+1 - ep[newn]=resolvers.cleanpath(ps) + ep[newn]=cleanpath(ps) done[ps]=true end end @@ -14247,7 +15081,7 @@ function resolvers.registerextrapath(paths,subpaths) local p=paths[i] if not done[p] then newn=newn+1 - ep[newn]=resolvers.cleanpath(p) + ep[newn]=cleanpath(p) done[p]=true end end @@ -14259,7 +15093,7 @@ function resolvers.registerextrapath(paths,subpaths) local ps=ep[i].."/"..s if not done[ps] then newn=newn+1 - ep[newn]=resolvers.cleanpath(ps) + ep[newn]=cleanpath(ps) done[ps]=true end end @@ -14268,52 +15102,70 @@ function resolvers.registerextrapath(paths,subpaths) if newn>0 then instance.extra_paths=ep end - if newn>oldn then - instance.lists={} + if newn~=oldn then + reset_caches() end end -local function made_list(instance,list) - local ep=instance.extra_paths - if not ep or #ep==0 then - return list +function resolvers.pushextrapath(path) + local paths=settings_to_array(path) + if instance.extra_stack then + insert(instance.extra_stack,1,paths) else - local done,new,newn={},{},0 - for k=1,#list do - local v=list[k] - if not done[v] then - if find(v,"^[%.%/]$") then - done[v]=true - newn=newn+1 - new[newn]=v - else - break - end - end - end - for k=1,#ep do - local v=ep[k] + instance.extra_stack={ paths } + end + reset_caches() +end +function resolvers.popextrapath() + if instance.extra_stack then + reset_caches() + return remove(instance.extra_stack,1) + end +end +local function made_list(instance,list,extra_too) + local done={} + local new={} + local newn=0 + local function add(p) + for k=1,#p do + local v=p[k] if not done[v] then done[v]=true newn=newn+1 new[newn]=v end end - for k=1,#list do - local v=list[k] - if not done[v] then - done[v]=true - newn=newn+1 - new[newn]=v + end + for k=1,#list do + local v=list[k] + if done[v] then + elseif find(v,"^[%.%/]$") then + done[v]=true + newn=newn+1 + new[newn]=v + else + break + end + end + if extra_too then + local es=instance.extra_stack + if es and #es>0 then + for k=1,#es do + add(es[k]) end end - return new + local ep=instance.extra_paths + if ep and #ep>0 then + add(ep) + end end + add(list) + return new end function resolvers.cleanpathlist(str) local t=resolvers.expandedpathlist(str) if t then for i=1,#t do - t[i]=collapsepath(resolvers.cleanpath(t[i])) + t[i]=collapsepath(cleanpath(t[i])) end end return t @@ -14321,22 +15173,22 @@ end function resolvers.expandpath(str) return joinpath(resolvers.expandedpathlist(str)) end -function resolvers.expandedpathlist(str) +function resolvers.expandedpathlist(str,extra_too) if not str then return {} - elseif instance.savelists then + elseif instance.savelists then str=lpegmatch(dollarstripper,str) local lists=instance.lists local lst=lists[str] if not lst then - local l=made_list(instance,resolvers.splitpath(resolvers.expansion(str))) + local l=made_list(instance,resolvers.splitpath(resolvers.expansion(str)),extra_too) lst=expandedpathfromlist(l) lists[str]=lst end return lst else local lst=resolvers.splitpath(resolvers.expansion(str)) - return made_list(instance,expandedpathfromlist(lst)) + return made_list(instance,expandedpathfromlist(lst),extra_too) end end function resolvers.expandedpathlistfromvariable(str) @@ -14347,6 +15199,13 @@ end function resolvers.expandpathfromvariable(str) return joinpath(resolvers.expandedpathlistfromvariable(str)) end +function resolvers.cleanedpathlist(v) + local t=resolvers.expandedpathlist(v) + for i=1,#t do + t[i]=resolvers.resolve(resolvers.cleanpath(t[i])) + end + return t +end function resolvers.expandbraces(str) local ori=str local pth=expandedpathfromlist(resolvers.splitpath(ori)) @@ -14363,7 +15222,7 @@ function resolvers.registerfilehash(name,content,someerror) end end local function isreadable(name) - local readable=lfs.isfile(name) + local readable=isfile(name) if trace_detail then if readable then report_resolving("file %a is readable",name) @@ -14373,70 +15232,57 @@ local function isreadable(name) end return readable end -local function collect_files(names) - local filelist,noffiles={},0 +local function collect_files(names) + local filelist={} + local noffiles=0 + local function check(hash,root,pathname,path,name) + if not pathname or find(path,pathname) then + local variant=hash.type + local search=filejoin(root,path,name) + local result=methodhandler('concatinators',variant,root,path,name) + if trace_detail then + report_resolving("match: variant %a, search %a, result %a",variant,search,result) + end + noffiles=noffiles+1 + filelist[noffiles]={ variant,search,result } + end + end for k=1,#names do - local fname=names[k] + local filename=names[k] if trace_detail then - report_resolving("checking name %a",fname) + report_resolving("checking name %a",filename) end - local bname=filebasename(fname) - local dname=filedirname(fname) - if dname=="" or find(dname,"^%.") then - dname=false + local basename=filebasename(filename) + local pathname=filedirname(filename) + if pathname=="" or find(pathname,"^%.") then + pathname=false else - dname=gsub(dname,"%*",".*") - dname="/"..dname.."$" + pathname=gsub(pathname,"%*",".*") + pathname="/"..pathname.."$" end local hashes=instance.hashes for h=1,#hashes do local hash=hashes[h] - local blobpath=hash.name - local files=blobpath and instance.files[blobpath] - if files then + local hashname=hash.name + local content=hashname and instance.files[hashname] + if content then if trace_detail then - report_resolving("deep checking %a, base %a, pattern %a",blobpath,bname,dname) - end - local blobfile=files[bname] - if not blobfile then - local rname="remap:"..bname - blobfile=files[rname] - if blobfile then - bname=files[rname] - blobfile=files[bname] - end + report_resolving("deep checking %a, base %a, pattern %a",hashname,basename,pathname) end - if blobfile then - local blobroot=files.__path__ or blobpath - if type(blobfile)=='string' then - if not dname or find(blobfile,dname) then - local variant=hash.type - local search=filejoin(blobroot,blobfile,bname) - local result=methodhandler('concatinators',hash.type,blobroot,blobfile,bname) - if trace_detail then - report_resolving("match: variant %a, search %a, result %a",variant,search,result) - end - noffiles=noffiles+1 - filelist[noffiles]={ variant,search,result } - end + local path,name=lookup(content,basename) + if path then + local metadata=content.metadata + local realroot=metadata and metadata.path or hashname + if type(path)=="string" then + check(hash,realroot,pathname,path,name) else - for kk=1,#blobfile do - local vv=blobfile[kk] - if not dname or find(vv,dname) then - local variant=hash.type - local search=filejoin(blobroot,vv,bname) - local result=methodhandler('concatinators',hash.type,blobroot,vv,bname) - if trace_detail then - report_resolving("match: variant %a, search %a, result %a",variant,search,result) - end - noffiles=noffiles+1 - filelist[noffiles]={ variant,search,result } - end + for i=1,#path do + check(hash,realroot,pathname,path[i],name) end end end elseif trace_locating then - report_resolving("no match in %a (%s)",blobpath,bname) + report_resolving("no match in %a (%s)",hashname,basename) end end end @@ -14461,7 +15307,7 @@ end local function can_be_dir(name) local fakepaths=instance.fakepaths if not fakepaths[name] then - if lfs.isdir(name) then + if isdir(name) then fakepaths[name]=1 else fakepaths[name]=2 @@ -14477,10 +15323,11 @@ local function find_analyze(filename,askedformat,allresults) if askedformat=="" then if ext=="" or not suffixmap[ext] then local defaultsuffixes=resolvers.defaultsuffixes + local formatofsuffix=resolvers.formatofsuffix for i=1,#defaultsuffixes do local forcedname=filename..'.'..defaultsuffixes[i] wantedfiles[#wantedfiles+1]=forcedname - filetype=resolvers.formatofsuffix(forcedname) + filetype=formatofsuffix(forcedname) if trace_locating then report_resolving("forcing filetype %a",filetype) end @@ -14520,14 +15367,14 @@ local function find_wildcard(filename,allresults) if trace_locating then report_resolving("checking wildcard %a",filename) end - local method,result=resolvers.findwildcardfiles(filename) + local result=resolvers.findwildcardfiles(filename) if result then return "wildcard",result end end end local function find_qualified(filename,allresults,askedformat,alsostripped) - if not file.is_qualified_path(filename) then + if not is_qualified_path(filename) then return end if trace_locating then @@ -14601,33 +15448,66 @@ local function check_subpath(fname) return fname end end -local function find_intree(filename,filetype,wantedfiles,allresults) +local function makepathlist(list,filetype) local typespec=resolvers.variableofformat(filetype) - local pathlist=resolvers.expandedpathlist(typespec) - local method="intree" + local pathlist=resolvers.expandedpathlist(typespec,filetype and usertypes[filetype]) + local entry={} if pathlist and #pathlist>0 then - local filelist=collect_files(wantedfiles) + for k=1,#pathlist do + local path=pathlist[k] + local prescanned=find(path,'^!!') + local resursive=find(path,'//$') + local pathname=lpegmatch(inhibitstripper,path) + local expression=makepathexpression(pathname) + local barename=gsub(pathname,"/+$","") + barename=resolveprefix(barename) + local scheme=url.hasscheme(barename) + local schemename=gsub(barename,"%.%*$",'') + entry[k]={ + path=path, + pathname=pathname, + prescanned=prescanned, + recursive=recursive, + expression=expression, + barename=barename, + scheme=scheme, + schemename=schemename, + } + end + entry.typespec=typespec + list[filetype]=entry + else + list[filetype]=false + end + return entry +end +local function find_intree(filename,filetype,wantedfiles,allresults) + local pathlists=instance.pathlists + if not pathlists then + pathlists=setmetatableindex(allocate(),makepathlist) + instance.pathlists=pathlists + end + local pathlist=pathlists[filetype] + if pathlist then + local method="intree" + local filelist=collect_files(wantedfiles) local dirlist={} + local result={} if filelist then for i=1,#filelist do dirlist[i]=filedirname(filelist[i][3]).."/" end end if trace_detail then - report_resolving("checking filename %a",filename) + report_resolving("checking filename %a in tree",filename) end - local resolve=resolvers.resolve - local result={} for k=1,#pathlist do - local path=pathlist[k] - local pathname=lpegmatch(inhibitstripper,path) - local doscan=path==pathname - if not find (pathname,'//$') then - doscan=false - end + local entry=pathlist[k] + local path=entry.path + local pathname=entry.pathname local done=false if filelist then - local expression=makepathexpression(pathname) + local expression=entry.expression if trace_detail then report_resolving("using pattern %a for path %a",expression,pathname) end @@ -14635,8 +15515,8 @@ local function find_intree(filename,filetype,wantedfiles,allresults) local fl=filelist[k] local f=fl[2] local d=dirlist[k] - if find(d,expression) or find(resolve(d),expression) then - result[#result+1]=resolve(fl[3]) + if find(d,expression) or find(resolveprefix(d),expression) then + result[#result+1]=resolveprefix(fl[3]) done=true if allresults then if trace_detail then @@ -14657,56 +15537,62 @@ local function find_intree(filename,filetype,wantedfiles,allresults) method="database" else method="filesystem" - pathname=gsub(pathname,"/+$","") - pathname=resolve(pathname) - local scheme=url.hasscheme(pathname) + local scheme=entry.scheme if not scheme or scheme=="file" then - local pname=gsub(pathname,"%.%*$",'') + local pname=entry.schemename if not find(pname,"*",1,true) then if can_be_dir(pname) then - for k=1,#wantedfiles do - local w=wantedfiles[k] - local fname=check_subpath(filejoin(pname,w)) - if fname then - result[#result+1]=fname - done=true - if not allresults then - break - end + if not done and not entry.prescanned then + if trace_detail then + report_resolving("quick root scan for %a",pname) end - end - if not done and doscan then - local files=resolvers.simplescanfiles(pname,false,true) for k=1,#wantedfiles do local w=wantedfiles[k] - local subpath=files[w] - if not subpath or subpath=="" then - elseif type(subpath)=="string" then - local fname=check_subpath(filejoin(pname,subpath,w)) - if fname then - result[#result+1]=fname - done=true - if not allresults then - break - end + local fname=check_subpath(filejoin(pname,w)) + if fname then + result[#result+1]=fname + done=true + if not allresults then + break end - else - for i=1,#subpath do - local sp=subpath[i] - if sp=="" then - else - local fname=check_subpath(filejoin(pname,sp,w)) - if fname then - result[#result+1]=fname - done=true - if not allresults then - break + end + end + if not done and entry.recursive then + if trace_detail then + report_resolving("scanning filesystem for %a",pname) + end + local files=resolvers.simplescanfiles(pname,false,true) + for k=1,#wantedfiles do + local w=wantedfiles[k] + local subpath=files[w] + if not subpath or subpath=="" then + elseif type(subpath)=="string" then + local fname=check_subpath(filejoin(pname,subpath,w)) + if fname then + result[#result+1]=fname + done=true + if not allresults then + break + end + end + else + for i=1,#subpath do + local sp=subpath[i] + if sp=="" then + else + local fname=check_subpath(filejoin(pname,sp,w)) + if fname then + result[#result+1]=fname + done=true + if not allresults then + break + end end end end - end - if done and not allresults then - break + if done and not allresults then + break + end end end end @@ -14714,6 +15600,18 @@ local function find_intree(filename,filetype,wantedfiles,allresults) end else end + else + for k=1,#wantedfiles do + local pname=entry.barename + local fname=methodhandler('finders',pname.."/"..wantedfiles[k]) + if fname then + result[#result+1]=fname + done=true + if not allresults then + break + end + end + end end end if done and not allresults then @@ -14748,10 +15646,13 @@ local function find_otherwise(filename,filetype,wantedfiles,allresults) local filelist=collect_files(wantedfiles) local fl=filelist and filelist[1] if fl then - return "otherwise",{ resolvers.resolve(fl[3]) } + return "otherwise",{ resolveprefix(fl[3]) } end end collect_instance_files=function(filename,askedformat,allresults) + if not filename or filename=="" then + return {} + end askedformat=askedformat or "" filename=collapsepath(filename,".") filename=gsub(filename,"^%./",getcurrentdir().."/") @@ -14786,7 +15687,11 @@ collect_instance_files=function(filename,askedformat,allresults) else local method,result,stamp,filetype,wantedfiles if instance.remember then - stamp=formatters["%s--%s"](filename,askedformat) + if askedformat=="" then + stamp=formatters["%s::%s"](suffixonly(filename),filename) + else + stamp=formatters["%s::%s"](askedformat,filename) + end result=stamp and instance.found[stamp] if result then if trace_locating then @@ -14821,7 +15726,7 @@ collect_instance_files=function(filename,askedformat,allresults) end if stamp then if trace_locating then - report_resolving("remembering file %a",filename) + report_resolving("remembering file %a using hash %a",filename,stamp) end instance.found[stamp]=result end @@ -14829,6 +15734,9 @@ collect_instance_files=function(filename,askedformat,allresults) end end local function findfiles(filename,filetype,allresults) + if not filename or filename=="" then + return {} + end local result,status=collect_instance_files(filename,filetype or "",allresults) if not result or #result==0 then local lowered=lower(filename) @@ -14848,39 +15756,30 @@ function resolvers.findpath(filename,filetype) return filedirname(findfiles(filename,filetype,false)[1] or "") end local function findgivenfiles(filename,allresults) - local bname,result=filebasename(filename),{} + local base=filebasename(filename) + local result={} local hashes=instance.hashes - local noffound=0 + local function okay(hash,path,name) + local found=methodhandler('concatinators',hash.type,hash.name,path,name) + if found and found~="" then + result[#result+1]=resolveprefix(found) + return not allresults + end + end for k=1,#hashes do local hash=hashes[k] - local files=instance.files[hash.name] or {} - local blist=files[bname] - if not blist then - local rname="remap:"..bname - blist=files[rname] - if blist then - bname=files[rname] - blist=files[bname] - end - end - if blist then - if type(blist)=='string' then - local found=methodhandler('concatinators',hash.type,hash.name,blist,bname) or "" - if found~="" then - noffound=noffound+1 - result[noffound]=resolvers.resolve(found) - if not allresults then - break - end + local content=instance.files[hash.name] + if content then + local path,name=lookup(content,base) + if not path then + elseif type(path)=="string" then + if okay(hash,path,name) then + return result end else - for kk=1,#blist do - local vv=blist[kk] - local found=methodhandler('concatinators',hash.type,hash.name,vv,bname) or "" - if found~="" then - noffound=noffound+1 - result[noffound]=resolvers.resolve(found) - if not allresults then break end + for i=1,#path do + if okay(hash,path[i],name) then + return result end end end @@ -14894,64 +15793,80 @@ end function resolvers.findgivenfile(filename) return findgivenfiles(filename,false)[1] or "" end -local function doit(path,blist,bname,tag,variant,result,allresults) - local done=false - if blist and variant then - local resolve=resolvers.resolve - if type(blist)=='string' then - if find(lower(blist),path) then - local full=methodhandler('concatinators',variant,tag,blist,bname) or "" - result[#result+1]=resolve(full) - done=true - end - else - for kk=1,#blist do - local vv=blist[kk] - if find(lower(vv),path) then - local full=methodhandler('concatinators',variant,tag,vv,bname) or "" - result[#result+1]=resolve(full) - done=true - if not allresults then break end - end - end - end - end - return done -end local makewildcard=Cs( (P("^")^0*P("/")*P(-1)+P(-1))/".*"+(P("^")^0*P("/")/"")^0*(P("*")/".*"+P("-")/"%%-"+P(".")/"%%."+P("?")/"."+P("\\")/"/"+P(1))^0 ) function resolvers.wildcardpattern(pattern) return lpegmatch(makewildcard,pattern) or pattern end -local function findwildcardfiles(filename,allresults,result) - result=result or {} +local function findwildcardfiles(filename,allresults,result) + local result=result or {} local base=filebasename(filename) local dirn=filedirname(filename) local path=lower(lpegmatch(makewildcard,dirn) or dirn) local name=lower(lpegmatch(makewildcard,base) or base) - local files,done=instance.files,false + local files=instance.files if find(name,"*",1,true) then local hashes=instance.hashes + local function okay(found,path,base,hashname,hashtype) + if find(found,path) then + local full=methodhandler('concatinators',hashtype,hashname,found,base) + if full and full~="" then + result[#result+1]=resolveprefix(full) + return not allresults + end + end + end for k=1,#hashes do local hash=hashes[k] - local hashname,hashtype=hash.name,hash.type - for kk,hh in next,files[hashname] do - if not find(kk,"^remap:") then - if find(lower(kk),name) then - if doit(path,hh,kk,hashname,hashtype,result,allresults) then done=true end - if done and not allresults then break end + local hashname=hash.name + local hashtype=hash.type + if hashname and hashtype then + for found,base in filtered(files[hashname],name) do + if type(found)=='string' then + if okay(found,path,base,hashname,hashtype) then + break + end + else + for i=1,#found do + if okay(found[i],path,base,hashname,hashtype) then + break + end + end end end end end else + local function okayokay(found,path,base,hashname,hashtype) + if find(found,path) then + local full=methodhandler('concatinators',hashtype,hashname,found,base) + if full and full~="" then + result[#result+1]=resolveprefix(full) + return not allresults + end + end + end local hashes=instance.hashes for k=1,#hashes do local hash=hashes[k] - local hashname,hashtype=hash.name,hash.type - if doit(path,files[hashname][base],base,hashname,hashtype,result,allresults) then done=true end - if done and not allresults then break end + local hashname=hash.name + local hashtype=hash.type + if hashname and hashtype then + local found,base=lookup(content,base) + if not found then + elseif type(found)=='string' then + if okay(found,path,base,hashname,hashtype) then + break + end + else + for i=1,#found do + if okay(found[i],path,base,hashname,hashtype) then + break + end + end + end + end end end return result @@ -15024,7 +15939,7 @@ end function resolvers.dowithpath(name,func) local pathlist=resolvers.expandedpathlist(name) for i=1,#pathlist do - func("^"..resolvers.cleanpath(pathlist[i])) + func("^"..cleanpath(pathlist[i])) end end function resolvers.dowithvariable(name,func) @@ -15032,23 +15947,23 @@ function resolvers.dowithvariable(name,func) end function resolvers.locateformat(name) local engine=environment.ownmain or "luatex" - local barename=file.removesuffix(name) - local fullname=file.addsuffix(barename,"fmt") + local barename=removesuffix(name) + local fullname=addsuffix(barename,"fmt") local fmtname=caches.getfirstreadablefile(fullname,"formats",engine) or "" if fmtname=="" then fmtname=resolvers.findfile(fullname) - fmtname=resolvers.cleanpath(fmtname) + fmtname=cleanpath(fmtname) end if fmtname~="" then - local barename=file.removesuffix(fmtname) - local luaname=file.addsuffix(barename,luasuffixes.lua) - local lucname=file.addsuffix(barename,luasuffixes.luc) - local luiname=file.addsuffix(barename,luasuffixes.lui) - if lfs.isfile(luiname) then + local barename=removesuffix(fmtname) + local luaname=addsuffix(barename,luasuffixes.lua) + local lucname=addsuffix(barename,luasuffixes.luc) + local luiname=addsuffix(barename,luasuffixes.lui) + if isfile(luiname) then return barename,luiname - elseif lfs.isfile(lucname) then + elseif isfile(lucname) then return barename,lucname - elseif lfs.isfile(luaname) then + elseif isfile(luaname) then return barename,luaname end end @@ -15070,29 +15985,24 @@ function resolvers.dowithfilesintree(pattern,handle,before,after) local hash=hashes[i] local blobtype=hash.type local blobpath=hash.name - if blobpath then + if blobtype and blobpath then + local total=0 + local checked=0 + local done=0 if before then before(blobtype,blobpath,pattern) end - local files=instance.files[blobpath] - local total,checked,done=0,0,0 - if files then - for k,v in table.sortedhash(files) do - total=total+1 - if find(k,"^remap:") then - elseif find(k,pattern) then - if type(v)=="string" then - checked=checked+1 - if handle(blobtype,blobpath,v,k) then - done=done+1 - end - else - checked=checked+#v - for i=1,#v do - if handle(blobtype,blobpath,v[i],k) then - done=done+1 - end - end + for path,name in filtered(instance.files[blobpath],pattern) do + if type(path)=="string" then + checked=checked+1 + if handle(blobtype,blobpath,path,name) then + done=done+1 + end + else + checked=checked+#path + for i=1,#path do + if handle(blobtype,blobpath,path[i],name) then + done=done+1 end end end @@ -15103,8 +16013,8 @@ function resolvers.dowithfilesintree(pattern,handle,before,after) end end end -resolvers.obsolete=resolvers.obsolete or {} -local obsolete=resolvers.obsolete +local obsolete=resolvers.obsolete or {} +resolvers.obsolete=obsolete resolvers.find_file=resolvers.findfile obsolete.find_file=resolvers.findfile resolvers.find_files=resolvers.findfiles obsolete.find_files=resolvers.findfiles @@ -15115,7 +16025,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-pre"] = package.loaded["data-pre"] or true --- original size: 6643, stripped down to: 4401 +-- original size: 3950, stripped down to: 2935 if not modules then modules={} end modules ['data-pre']={ version=1.001, @@ -15125,44 +16035,51 @@ if not modules then modules={} end modules ['data-pre']={ license="see context related readme files" } local resolvers=resolvers -local prefixes=utilities.storage.allocate() -resolvers.prefixes=prefixes -local cleanpath,findgivenfile,expansion=resolvers.cleanpath,resolvers.findgivenfile,resolvers.expansion +local prefixes=resolvers.prefixes +local cleanpath=resolvers.cleanpath +local findgivenfile=resolvers.findgivenfile +local expansion=resolvers.expansion local getenv=resolvers.getenv -local P,S,R,C,Cs,Cc,lpegmatch=lpeg.P,lpeg.S,lpeg.R,lpeg.C,lpeg.Cs,lpeg.Cc,lpeg.match -local joinpath,basename,dirname=file.join,file.basename,file.dirname -local getmetatable,rawset,type=getmetatable,rawset,type +local basename=file.basename +local dirname=file.dirname +local joinpath=file.join +local isfile=lfs.isfile prefixes.environment=function(str) return cleanpath(expansion(str)) end -prefixes.relative=function(str,n) - if io.exists(str) then - elseif io.exists("./"..str) then - str="./"..str - else - local p="../" - for i=1,n or 2 do - if io.exists(p..str) then - str=p..str - break - else - p=p.."../" +local function relative(str,n) + if not isfile(str) then + local pstr="./"..str + if isfile(pstr) then + str=pstr + else + local p="../" + for i=1,n or 2 do + local pstr=p..str + if isfile(pstr) then + str=pstr + break + else + p=p.."../" + end end end end return cleanpath(str) end +local function locate(str) + local fullname=findgivenfile(str) or "" + return cleanpath(fullname~="" and fullname or str) +end +prefixes.relative=relative +prefixes.locate=locate prefixes.auto=function(str) - local fullname=prefixes.relative(str) - if not lfs.isfile(fullname) then - fullname=prefixes.locate(str) + local fullname=relative(str) + if not isfile(fullname) then + fullname=locate(str) end return fullname end -prefixes.locate=function(str) - local fullname=findgivenfile(str) or "" - return cleanpath((fullname~="" and fullname) or str) -end prefixes.filename=function(str) local fullname=findgivenfile(str) or "" return cleanpath(basename((fullname~="" and fullname) or str)) @@ -15183,6 +16100,13 @@ end prefixes.home=function(str) return cleanpath(joinpath(getenv('HOME'),str)) end +prefixes.env=prefixes.environment +prefixes.rel=prefixes.relative +prefixes.loc=prefixes.locate +prefixes.kpse=prefixes.locate +prefixes.full=prefixes.locate +prefixes.file=prefixes.filename +prefixes.path=prefixes.pathname local function toppath() local inputstack=resolvers.inputstack if not inputstack then @@ -15195,98 +16119,22 @@ local function toppath() return pathname end end -resolvers.toppath=toppath -prefixes.toppath=function(str) - return cleanpath(joinpath(toppath(),str)) -end -prefixes.env=prefixes.environment -prefixes.rel=prefixes.relative -prefixes.loc=prefixes.locate -prefixes.kpse=prefixes.locate -prefixes.full=prefixes.locate -prefixes.file=prefixes.filename -prefixes.path=prefixes.pathname -function resolvers.allprefixes(separator) - local all=table.sortedkeys(prefixes) - if separator then - for i=1,#all do - all[i]=all[i]..":" - end - end - return all -end -local function _resolve_(method,target) - local action=prefixes[method] - if action then - return action(target) - else - return method..":"..target - end -end -local resolved,abstract={},{} -function resolvers.resetresolve(str) - resolved,abstract={},{} -end -local pattern=Cs((C(R("az")^2)*P(":")*C((1-S(" \"\';,"))^1)/_resolve_+P(1))^0) -local prefix=C(R("az")^2)*P(":") -local target=C((1-S(" \"\';,"))^1) -local notarget=(#S(";,")+P(-1))*Cc("") -local pattern=Cs(((prefix*(target+notarget))/_resolve_+P(1))^0) -local function resolve(str) - if type(str)=="table" then - local t={} - for i=1,#str do - t[i]=resolve(str[i]) - end - return t +local function jobpath() + local path=resolvers.stackpath() + if not path or path=="" then + return "." else - local res=resolved[str] - if not res then - res=lpegmatch(pattern,str) - resolved[str]=res - abstract[res]=str - end - return res - end -end -local function unresolve(str) - return abstract[str] or str -end -resolvers.resolve=resolve -resolvers.unresolve=unresolve -if type(os.uname)=="function" then - for k,v in next,os.uname() do - if not prefixes[k] then - prefixes[k]=function() return v end - end - end -end -if os.type=="unix" then - local pattern - local function makepattern(t,k,v) - if t then - rawset(t,k,v) - end - local colon=P(":") - for k,v in table.sortedpairs(prefixes) do - if p then - p=P(k)+p - else - p=P(k) - end - end - pattern=Cs((p*colon+colon/";"+P(1))^0) - end - makepattern() - getmetatable(prefixes).__newindex=makepattern - function resolvers.repath(str) - return lpegmatch(pattern,str) - end -else - function resolvers.repath(str) - return str + return path end end +resolvers.toppath=toppath +resolvers.jobpath=jobpath +prefixes.toppath=function(str) return cleanpath(joinpath(toppath(),str)) end +prefixes.jobpath=function(str) return cleanpath(joinpath(jobpath(),str)) end +resolvers.setdynamic("toppath") +resolvers.setdynamic("jobpath") +prefixes.jobfile=prefixes.jobpath +resolvers.setdynamic("jobfile") end -- of closure @@ -15348,7 +16196,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-fil"] = package.loaded["data-fil"] or true --- original size: 3801, stripped down to: 3231 +-- original size: 3863, stripped down to: 3310 if not modules then modules={} end modules ['data-fil']={ version=1.001, @@ -15360,30 +16208,31 @@ if not modules then modules={} end modules ['data-fil']={ local trace_locating=false trackers.register("resolvers.locating",function(v) trace_locating=v end) local report_files=logs.reporter("resolvers","files") local resolvers=resolvers +local resolveprefix=resolvers.resolve local finders,openers,loaders,savers=resolvers.finders,resolvers.openers,resolvers.loaders,resolvers.savers local locators,hashers,generators,concatinators=resolvers.locators,resolvers.hashers,resolvers.generators,resolvers.concatinators local checkgarbage=utilities.garbagecollector and utilities.garbagecollector.check function locators.file(specification) - local name=specification.filename - local realname=resolvers.resolve(name) + local filename=specification.filename + local realname=resolveprefix(filename) if realname and realname~='' and lfs.isdir(realname) then if trace_locating then - report_files("file locator %a found as %a",name,realname) + report_files("file locator %a found as %a",filename,realname) end - resolvers.appendhash('file',name,true) + resolvers.appendhash('file',filename,true) elseif trace_locating then - report_files("file locator %a not found",name) + report_files("file locator %a not found",filename) end end function hashers.file(specification) - local name=specification.filename - local content=caches.loadcontent(name,'files') - resolvers.registerfilehash(name,content,content==nil) + local pathname=specification.filename + local content=caches.loadcontent(pathname,'files') + resolvers.registerfilehash(pathname,content,content==nil) end function generators.file(specification) - local path=specification.filename - local content=resolvers.scanfiles(path,false,true) - resolvers.registerfilehash(path,content,true) + local pathname=specification.filename + local content=resolvers.scanfiles(pathname,false,true) + resolvers.registerfilehash(pathname,content,true) end concatinators.file=file.join function finders.file(specification,filetype) @@ -15665,7 +16514,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-zip"] = package.loaded["data-zip"] or true --- original size: 8489, stripped down to: 6757 +-- original size: 8772, stripped down to: 6841 if not modules then modules={} end modules ['data-zip']={ version=1.001, @@ -15684,16 +16533,6 @@ zip.archives=zip.archives or {} local archives=zip.archives zip.registeredfiles=zip.registeredfiles or {} local registeredfiles=zip.registeredfiles -local limited=false -directives.register("system.inputmode",function(v) - if not limited then - local i_limiter=io.i_limiter(v) - if i_limiter then - zip.open=i_limiter.protect(zip.open) - limited=true - end - end -end) local function validzip(str) if not find(str,"^zip://") then return "zip:///"..str @@ -15708,7 +16547,7 @@ function zip.openarchive(name) local arch=archives[name] if not arch then local full=resolvers.findfile(name) or "" - arch=(full~="" and zip.open(full)) or false + arch=full~="" and zip.open(full) or false archives[name]=arch end return arch @@ -15867,31 +16706,42 @@ function resolvers.usezipfile(archive) end end function resolvers.registerzipfile(z,tree) - local files,filter={},"" - if tree=="" then - filter="^(.+)/(.-)$" - else - filter=format("^%s/(.+)/(.-)$",tree) - end + local names={} + local files={} + local remap={} + local n=0 + local filter=tree=="" and "^(.+)/(.-)$" or format("^%s/(.+)/(.-)$",tree) + local register=resolvers.registerfile if trace_locating then report_zip("registering: using filter %a",filter) end - local register,n=resolvers.registerfile,0 for i in z:files() do - local path,name=match(i.filename,filter) - if path then - if name and name~='' then - register(files,name,path) - n=n+1 - else + local filename=i.filename + local path,name=match(filename,filter) + if not path then + n=n+1 + register(names,filename,"") + local usedname=lower(filename) + files[usedname]="" + if usedname~=filename then + remap[usedname]=filename end - else - register(files,i.filename,'') + elseif name and name~="" then n=n+1 + register(names,name,path) + local usedname=lower(name) + files[usedname]=path + if usedname~=name then + remap[usedname]=name + end + else end end report_zip("registering: %s files registered",n) - return files + return { + files=files, + remap=remap, + } end @@ -15901,7 +16751,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-tre"] = package.loaded["data-tre"] or true --- original size: 2508, stripped down to: 2074 +-- original size: 8479, stripped down to: 5580 if not modules then modules={} end modules ['data-tre']={ version=1.001, @@ -15910,42 +16760,64 @@ if not modules then modules={} end modules ['data-tre']={ copyright="PRAGMA ADE / ConTeXt Development Team", license="see context related readme files" } -local find,gsub,format=string.find,string.gsub,string.format +local find,gsub,lower=string.find,string.gsub,string.lower +local basename,dirname,joinname=file.basename,file.dirname,file .join +local globdir,isdir,isfile=dir.glob,lfs.isdir,lfs.isfile +local P,lpegmatch=lpeg.P,lpeg.match local trace_locating=false trackers.register("resolvers.locating",function(v) trace_locating=v end) local report_trees=logs.reporter("resolvers","trees") local resolvers=resolvers -local done,found,notfound={},{},resolvers.finders.notfound -function resolvers.finders.tree(specification) +local resolveprefix=resolvers.resolve +local notfound=resolvers.finders.notfound +local lookup=resolvers.get_from_content +local collectors={} +local found={} +function resolvers.finders.tree(specification) local spec=specification.filename - local fnd=found[spec] - if fnd==nil then + local okay=found[spec] + if okay==nil then if spec~="" then - local path,name=file.dirname(spec),file.basename(spec) - if path=="" then path="." end - local hash=done[path] - if not hash then - local pattern=path.."/*" - hash=dir.glob(pattern) - done[path]=hash + local path=dirname(spec) + local name=basename(spec) + if path=="" then + path="." + end + local names=collectors[path] + if not names then + local pattern=find(path,"/%*+$") and path or (path.."/*") + names=globdir(pattern) + collectors[path]=names end local pattern="/"..gsub(name,"([%.%-%+])","%%%1").."$" - for k=1,#hash do - local v=hash[k] - if find(v,pattern) then - found[spec]=v - return v + for i=1,#names do + local fullname=names[i] + if find(fullname,pattern) then + found[spec]=fullname + return fullname + end + end + local pattern=lower(pattern) + for i=1,#names do + local fullname=lower(names[i]) + if find(fullname,pattern) then + if isfile(fullname) then + found[spec]=fullname + return fullname + else + break + end end end end - fnd=notfound() - found[spec]=fnd + okay=notfound() + found[spec]=okay end - return fnd + return okay end function resolvers.locators.tree(specification) local name=specification.filename - local realname=resolvers.resolve(name) - if realname and realname~='' and lfs.isdir(realname) then + local realname=resolveprefix(name) + if realname and realname~='' and isdir(realname) then if trace_locating then report_trees("locator %a found",realname) end @@ -15956,16 +16828,110 @@ function resolvers.locators.tree(specification) end function resolvers.hashers.tree(specification) local name=specification.filename - if trace_locating then - report_trees("analysing %a",name) - end + report_trees("analyzing %a",name) resolvers.methodhandler("hashers",name) resolvers.generators.file(specification) end -resolvers.concatinators.tree=resolvers.concatinators.file -resolvers.generators.tree=resolvers.generators.file -resolvers.openers.tree=resolvers.openers.file -resolvers.loaders.tree=resolvers.loaders.file +local collectors={} +local splitter=lpeg.splitat("/**/") +local stripper=lpeg.replacer { [P("/")*P("*")^1*P(-1)]="" } +table.setmetatableindex(collectors,function(t,k) + local rootname=lpegmatch(stripper,k) + local dataname=joinname(rootname,"dirlist") + local content=caches.loadcontent(dataname,"files",dataname) + if not content then + content=resolvers.scanfiles(rootname,nil,nil,false,true) + caches.savecontent(dataname,"files",content,dataname) + end + t[k]=content + return content +end) +local function checked(root,p,n) + if p then + if type(p)=="table" then + for i=1,#p do + local fullname=joinname(root,p[i],n) + if isfile(fullname) then + return fullname + end + end + else + local fullname=joinname(root,p,n) + if isfile(fullname) then + return fullname + end + end + end + return notfound() +end +local function resolve(specification) + local filename=specification.filename + if filename~="" then + local root,rest=lpegmatch(splitter,filename) + if root and rest then + local path,name=dirname(rest),basename(rest) + if name~=rest then + local content=collectors[root] + local p,n=lookup(content,name) + if not p then + return notfound() + end + local pattern=".*/"..path.."$" + local istable=type(p)=="table" + if istable then + for i=1,#p do + local pi=p[i] + if pi==path or find(pi,pattern) then + local fullname=joinname(root,pi,n) + if isfile(fullname) then + return fullname + end + end + end + elseif p==path or find(p,pattern) then + local fullname=joinname(root,p,n) + if isfile(fullname) then + return fullname + end + end + local queries=specification.queries + if queries and queries.option=="fileonly" then + return checked(root,p,n) + else + return notfound() + end + end + end + local path,name=dirname(filename),basename(filename) + local root=lpegmatch(stripper,path) + local content=collectors[path] + local p,n=lookup(content,name) + if p then + return checked(root,p,n) + end + end + return notfound() +end +resolvers.finders .dirlist=resolve +resolvers.locators .dirlist=resolvers.locators .tree +resolvers.hashers .dirlist=resolvers.hashers .tree +resolvers.generators.dirlist=resolvers.generators.file +resolvers.openers .dirlist=resolvers.openers .file +resolvers.loaders .dirlist=resolvers.loaders .file +function resolvers.finders.dirfile(specification) + local queries=specification.queries + if queries then + queries.option="fileonly" + else + specification.queries={ option="fileonly" } + end + return resolve(specification) +end +resolvers.locators .dirfile=resolvers.locators .dirlist +resolvers.hashers .dirfile=resolvers.hashers .dirlist +resolvers.generators.dirfile=resolvers.generators.dirlist +resolvers.openers .dirfile=resolvers.openers .dirlist +resolvers.loaders .dirfile=resolvers.loaders .dirlist end -- of closure @@ -15974,7 +16940,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-sch"] = package.loaded["data-sch"] or true --- original size: 6213, stripped down to: 5160 +-- original size: 6569, stripped down to: 5304 if not modules then modules={} end modules ['data-sch']={ version=1.001, @@ -16000,8 +16966,13 @@ directives.register("schemes.threshold",function(v) threshold=tonumber(v) or thr function cleaners.none(specification) return specification.original end -function cleaners.strip(specification) - return (gsub(specification.original,"[^%a%d%.]+","-")) +function cleaners.strip(specification) + local path,name=file.splitbase(specification.original) + if path=="" then + return (gsub(name,"[^%a%d%.]+","-")) + else + return (gsub((gsub(path,"%.","-").."-"..name),"[^%a%d%.]+","-")) + end end function cleaners.md5(specification) return file.addsuffix(md5.hex(specification.original),file.suffix(specification.path)) @@ -16018,7 +16989,7 @@ end local cached,loaded,reused,thresholds,handlers={},{},{},{},{} local function runcurl(name,cachename) local command="curl --silent --insecure --create-dirs --output "..cachename.." "..name - os.spawn(command) + os.execute(command) end local function fetch(specification) local original=specification.original @@ -16150,7 +17121,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-lua"] = package.loaded["data-lua"] or true --- original size: 4237, stripped down to: 3177 +-- original size: 4313, stripped down to: 3227 if not modules then modules={} end modules ['data-lua']={ version=1.001, @@ -16159,7 +17130,7 @@ if not modules then modules={} end modules ['data-lua']={ copyright="PRAGMA ADE / ConTeXt Development Team", license="see context related readme files" } -local resolvers,package=resolvers,package +local package,lpeg=package,lpeg local gsub=string.gsub local concat=table.concat local addsuffix=file.addsuffix @@ -16170,9 +17141,11 @@ local luaformats={ 'TEXINPUTS','LUAINPUTS' } local libformats={ 'CLUAINPUTS' } local helpers=package.helpers or {} local methods=helpers.methods or {} +local resolvers=resolvers +local resolveprefix=resolvers.resolve +helpers.report=logs.reporter("resolvers","libraries") trackers.register("resolvers.libraries",function(v) helpers.trace=v end) trackers.register("resolvers.locating",function(v) helpers.trace=v end) -helpers.report=logs.reporter("resolvers","libraries") helpers.sequence={ "already loaded", "preload table", @@ -16187,7 +17160,7 @@ helpers.sequence={ } local pattern=Cs(P("!")^0/""*(P("/")*P(-1)/"/"+P("/")^1/"/"+1)^0) function helpers.cleanpath(path) - return resolvers.resolve(lpegmatch(pattern,path)) + return resolveprefix(lpegmatch(pattern,path)) end local loadedaslib=helpers.loadedaslib local getextraluapaths=package.extraluapaths @@ -16324,7 +17297,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-tmf"] = package.loaded["data-tmf"] or true --- original size: 2600, stripped down to: 1627 +-- original size: 2601, stripped down to: 1627 if not modules then modules={} end modules ['data-tmf']={ version=1.001, @@ -16380,7 +17353,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-lst"] = package.loaded["data-lst"] or true --- original size: 2654, stripped down to: 2301 +-- original size: 2734, stripped down to: 2354 if not modules then modules={} end modules ['data-lst']={ version=1.001, @@ -16389,10 +17362,13 @@ if not modules then modules={} end modules ['data-lst']={ copyright="PRAGMA ADE / ConTeXt Development Team", license="see context related readme files" } -local find,concat,upper,format=string.find,table.concat,string.upper,string.format +local rawget,type,next=rawget,type,next +local find,concat,upper=string.find,table.concat,string.upper local fastcopy,sortedpairs=table.fastcopy,table.sortedpairs -resolvers.listers=resolvers.listers or {} local resolvers=resolvers +local listers=resolvers.listers or {} +resolvers.listers=listers +local resolveprefix=resolvers.resolve local report_lists=logs.reporter("resolvers","lists") local function tabstr(str) if type(str)=='table' then @@ -16401,7 +17377,7 @@ local function tabstr(str) return str end end -function resolvers.listers.variables(pattern) +function listers.variables(pattern) local instance=resolvers.instance local environment=instance.environment local variables=instance.variables @@ -16422,10 +17398,10 @@ function resolvers.listers.variables(pattern) for key,value in sortedpairs(configured) do if key~="" and (pattern=="" or find(upper(key),pattern)) then report_lists(key) - report_lists(" env: %s",tabstr(rawget(environment,key)) or "unset") - report_lists(" var: %s",tabstr(configured[key]) or "unset") - report_lists(" exp: %s",tabstr(expansions[key]) or "unset") - report_lists(" res: %s",tabstr(resolvers.resolve(expansions[key])) or "unset") + report_lists(" env: %s",tabstr(rawget(environment,key)) or "unset") + report_lists(" var: %s",tabstr(configured[key]) or "unset") + report_lists(" exp: %s",tabstr(expansions[key]) or "unset") + report_lists(" res: %s",tabstr(resolveprefix(expansions[key])) or "unset") end end instance.environment=fastcopy(env) @@ -16433,15 +17409,15 @@ function resolvers.listers.variables(pattern) instance.expansions=fastcopy(exp) end local report_resolved=logs.reporter("system","resolved") -function resolvers.listers.configurations() +function listers.configurations() local configurations=resolvers.instance.specification for i=1,#configurations do - report_resolved("file : %s",resolvers.resolve(configurations[i])) + report_resolved("file : %s",resolveprefix(configurations[i])) end report_resolved("") local list=resolvers.expandedpathfromlist(resolvers.splitpath(resolvers.luacnfspec)) for i=1,#list do - local li=resolvers.resolve(list[i]) + local li=resolveprefix(list[i]) if lfs.isdir(li) then report_resolved("path - %s",li) else @@ -16746,7 +17722,7 @@ do -- create closure to overcome 200 locals limit package.loaded["luat-fmt"] = package.loaded["luat-fmt"] or true --- original size: 5951, stripped down to: 4922 +-- original size: 5955, stripped down to: 4926 if not modules then modules={} end modules ['luat-fmt']={ version=1.001, @@ -16834,7 +17810,7 @@ function environment.make_format(name) end local command=format("%s --ini %s --lua=%s %s %sdump",engine,primaryflags(),quoted(usedluastub),quoted(fulltexsourcename),os.platform=="unix" and "\\\\" or "\\") report_format("running command: %s\n",command) - os.spawn(command) + os.execute(command) local pattern=file.removesuffix(file.basename(usedluastub)).."-*.mem" local mp=dir.glob(pattern) if mp then @@ -16869,7 +17845,7 @@ function environment.run_format(name,data,more) else local command=format("%s %s --fmt=%s --lua=%s %s %s",engine,primaryflags(),quoted(barename),quoted(luaname),quoted(data),more~="" and quoted(more) or "") report_format("running command: %s",command) - os.spawn(command) + os.execute(command) end end end @@ -16880,8 +17856,8 @@ end -- of closure -- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua -- skipped libraries : - --- original bytes : 695180 --- stripped bytes : 246794 +-- original bytes : 739251 +-- stripped bytes : 264497 -- end library merge @@ -17107,6 +18083,7 @@ local helpinfo = [[ run an mtx script (lua prefered method) (), no script gives list + run code passed on the commandline (between quotes) run a script or program (texmfstart method) () resolve prefixed arguments run internally (using preloaded libs) @@ -17132,6 +18109,7 @@ local helpinfo = [[ give a bit more info enable given trackers format or backend + show current operating system, processor, etc launch editor with found file @@ -17761,6 +18739,39 @@ function runners.associate(filename) os.launch(filename) end +function runners.evaluate(code,filename) -- for Luigi + if code == "loop" then + while true do + io.write("> ") + local code = io.read() + if code ~= "" then + local temp = string.match(code,"^= (.*)$") + if temp then + code = "print("..temp..")" + end + local compiled, message = loadstring(code) + if type(compiled) ~= "function" then + io.write("! " .. (message or code).."\n") + else + io.write(compiled()) + end + end + end + else + if type(code) ~= "string" or code == "" then + code = filename + end + if code ~= "" then + local compiled, message = loadstring(code) + if type(compiled) ~= "function" then + io.write("invalid lua code: " .. (message or code)) + return + end + io.write(compiled()) + end + end +end + function runners.gethelp(filename) local url = environment.argument("url") if url and url ~= "" then @@ -17772,6 +18783,15 @@ function runners.gethelp(filename) end end +function runners.systeminfo() + report("architecture : %s",os.platform or "") + report("operating system : %s",os.name or "") + report("file architecture : %s",os.type or "") + report("binary path : %s",os.selfdir or "") + report("binary suffix : %s",os.binsuffix or "") + report("library suffix : %s",os.libsuffix or "") +end + -- this is a bit dirty ... first we store the first filename and next we -- split the arguments so that we only see the ones meant for this script -- ... later we will use the second half @@ -17887,16 +18907,7 @@ end if e_argument("ansi") then - local formatters = string.formatters - - logs.setformatters { - report_yes = formatters["%-15s | %s"], - report_nop = formatters["%-15s |"], - subreport_yes = formatters["%-15s | %s | %s"], - subreport_nop = formatters["%-15s | %s |"], - status_yes = formatters["%-15s : %s\n"], - status_nop = formatters["%-15s :\n"], - } + logs.setformatters("ansi") local script = e_argument("script") or e_argument("scripts") @@ -17921,6 +18932,10 @@ if e_argument("script") or e_argument("scripts") then ok = runners.execute_ctx_script(filename) end +elseif e_argument("evaluate") then + + runners.evaluate(e_argument("evaluate"),filename) + elseif e_argument("selfmerge") then -- embed used libraries @@ -18213,6 +19228,10 @@ elseif e_argument("exporthelp") then runners.loadbase() application.export(e_argument("exporthelp"),filename) +elseif e_argument("systeminfo") then + + runners.systeminfo() + elseif e_argument("help") or filename=='help' or filename == "" then application.help() diff --git a/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-context.lua b/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-context.lua index aeee8590f67..0dc4c4af000 100644 --- a/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-context.lua +++ b/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-context.lua @@ -1,4 +1,4 @@ return { - ["constants"]={ "zerocount", "minusone", "minustwo", "plusone", "plustwo", "plusthree", "plusfour", "plusfive", "plussix", "plusseven", "pluseight", "plusnine", "plusten", "plussixteen", "plushundred", "plusthousand", "plustenthousand", "plustwentythousand", "medcard", "maxcard", "zeropoint", "onepoint", "halfapoint", "onebasepoint", "maxdimen", "scaledpoint", "thousandpoint", "points", "halfpoint", "zeroskip", "zeromuskip", "onemuskip", "pluscxxvii", "pluscxxviii", "pluscclv", "pluscclvi", "normalpagebox", "endoflinetoken", "outputnewlinechar", "emptytoks", "empty", "undefined", "voidbox", "emptybox", "emptyvbox", "emptyhbox", "bigskipamount", "medskipamount", "smallskipamount", "fmtname", "fmtversion", "texengine", "texenginename", "texengineversion", "luatexengine", "pdftexengine", "xetexengine", "unknownengine", "etexversion", "pdftexversion", "xetexversion", "xetexrevision", "activecatcode", "bgroup", "egroup", "endline", "conditionaltrue", "conditionalfalse", "attributeunsetvalue", "uprotationangle", "rightrotationangle", "downrotationangle", "leftrotationangle", "inicatcodes", "ctxcatcodes", "texcatcodes", "notcatcodes", "txtcatcodes", "vrbcatcodes", "prtcatcodes", "nilcatcodes", "luacatcodes", "tpacatcodes", "tpbcatcodes", "xmlcatcodes", "ctdcatcodes", "escapecatcode", "begingroupcatcode", "endgroupcatcode", "mathshiftcatcode", "alignmentcatcode", "endoflinecatcode", "parametercatcode", "superscriptcatcode", "subscriptcatcode", "ignorecatcode", "spacecatcode", "lettercatcode", "othercatcode", "activecatcode", "commentcatcode", "invalidcatcode", "tabasciicode", "newlineasciicode", "formfeedasciicode", "endoflineasciicode", "endoffileasciicode", "spaceasciicode", "hashasciicode", "dollarasciicode", "commentasciicode", "ampersandasciicode", "colonasciicode", "backslashasciicode", "circumflexasciicode", "underscoreasciicode", "leftbraceasciicode", "barasciicode", "rightbraceasciicode", "tildeasciicode", "delasciicode", "lessthanasciicode", "morethanasciicode", "doublecommentsignal", "atsignasciicode", "exclamationmarkasciicode", "questionmarkasciicode", "doublequoteasciicode", "singlequoteasciicode", "forwardslashasciicode", "primeasciicode", "activemathcharcode", "activetabtoken", "activeformfeedtoken", "activeendoflinetoken", "batchmodecode", "nonstopmodecode", "scrollmodecode", "errorstopmodecode", "bottomlevelgroupcode", "simplegroupcode", "hboxgroupcode", "adjustedhboxgroupcode", "vboxgroupcode", "vtopgroupcode", "aligngroupcode", "noaligngroupcode", "outputgroupcode", "mathgroupcode", "discretionarygroupcode", "insertgroupcode", "vcentergroupcode", "mathchoicegroupcode", "semisimplegroupcode", "mathshiftgroupcode", "mathleftgroupcode", "vadjustgroupcode", "charnodecode", "hlistnodecode", "vlistnodecode", "rulenodecode", "insertnodecode", "marknodecode", "adjustnodecode", "ligaturenodecode", "discretionarynodecode", "whatsitnodecode", "mathnodecode", "gluenodecode", "kernnodecode", "penaltynodecode", "unsetnodecode", "mathsnodecode", "charifcode", "catifcode", "numifcode", "dimifcode", "oddifcode", "vmodeifcode", "hmodeifcode", "mmodeifcode", "innerifcode", "voidifcode", "hboxifcode", "vboxifcode", "xifcode", "eofifcode", "trueifcode", "falseifcode", "caseifcode", "definedifcode", "csnameifcode", "fontcharifcode", "fontslantperpoint", "fontinterwordspace", "fontinterwordstretch", "fontinterwordshrink", "fontexheight", "fontemwidth", "fontextraspace", "slantperpoint", "interwordspace", "interwordstretch", "interwordshrink", "exheight", "emwidth", "extraspace", "mathsupdisplay", "mathsupnormal", "mathsupcramped", "mathsubnormal", "mathsubcombined", "mathaxisheight", "startmode", "stopmode", "startnotmode", "stopnotmode", "startmodeset", "stopmodeset", "doifmode", "doifmodeelse", "doifnotmode", "startmodeset", "stopmodeset", "startallmodes", "stopallmodes", "startnotallmodes", "stopnotallmodes", "doifallmodes", "doifallmodeselse", "doifnotallmodes", "startenvironment", "stopenvironment", "environment", "startcomponent", "stopcomponent", "component", "startproduct", "stopproduct", "product", "startproject", "stopproject", "project", "starttext", "stoptext", "startnotext", "stopnotext", "startdocument", "stopdocument", "documentvariable", "setupdocument", "startmodule", "stopmodule", "usemodule", "usetexmodule", "useluamodule", "setupmodule", "currentmoduleparameter", "moduleparameter", "everystarttext", "startTEXpage", "stopTEXpage", "enablemode", "disablemode", "preventmode", "globalenablemode", "globaldisablemode", "globalpreventmode", "pushmode", "popmode", "typescriptone", "typescripttwo", "typescriptthree", "mathsizesuffix", "mathordcode", "mathopcode", "mathbincode", "mathrelcode", "mathopencode", "mathclosecode", "mathpunctcode", "mathalphacode", "mathinnercode", "mathnothingcode", "mathlimopcode", "mathnolopcode", "mathboxcode", "mathchoicecode", "mathaccentcode", "mathradicalcode", "constantnumber", "constantnumberargument", "constantdimen", "constantdimenargument", "constantemptyargument", "continueifinputfile", "luastringsep", "!!bs", "!!es", "lefttorightmark", "righttoleftmark", "breakablethinspace", "nobreakspace", "narrownobreakspace", "zerowidthnobreakspace", "ideographicspace", "ideographichalffillspace", "twoperemspace", "threeperemspace", "fourperemspace", "fiveperemspace", "sixperemspace", "figurespace", "punctuationspace", "hairspace", "zerowidthspace", "zerowidthnonjoiner", "zerowidthjoiner", "zwnj", "zwj", "optionalspace" }, - ["helpers"]={ "startsetups", "stopsetups", "startxmlsetups", "stopxmlsetups", "startluasetups", "stopluasetups", "starttexsetups", "stoptexsetups", "startrawsetups", "stoprawsetups", "startlocalsetups", "stoplocalsetups", "starttexdefinition", "stoptexdefinition", "starttexcode", "stoptexcode", "startcontextcode", "stopcontextcode", "startcontextdefinitioncode", "stopcontextdefinitioncode", "doifsetupselse", "doifsetups", "doifnotsetups", "setup", "setups", "texsetup", "xmlsetup", "luasetup", "directsetup", "doifelsecommandhandler", "doifnotcommandhandler", "doifcommandhandler", "newmode", "setmode", "resetmode", "newsystemmode", "setsystemmode", "resetsystemmode", "pushsystemmode", "popsystemmode", "booleanmodevalue", "newcount", "newdimen", "newskip", "newmuskip", "newbox", "newtoks", "newread", "newwrite", "newmarks", "newinsert", "newattribute", "newif", "newlanguage", "newfamily", "newfam", "newhelp", "then", "begcsname", "strippedcsname", "firstargumentfalse", "firstargumenttrue", "secondargumentfalse", "secondargumenttrue", "thirdargumentfalse", "thirdargumenttrue", "fourthargumentfalse", "fourthargumenttrue", "fifthargumentfalse", "fifthsargumenttrue", "sixthargumentfalse", "sixtsargumenttrue", "doglobal", "dodoglobal", "redoglobal", "resetglobal", "donothing", "dontcomplain", "forgetall", "donetrue", "donefalse", "htdp", "unvoidbox", "hfilll", "vfilll", "mathbox", "mathlimop", "mathnolop", "mathnothing", "mathalpha", "currentcatcodetable", "defaultcatcodetable", "catcodetablename", "newcatcodetable", "startcatcodetable", "stopcatcodetable", "startextendcatcodetable", "stopextendcatcodetable", "pushcatcodetable", "popcatcodetable", "restorecatcodes", "setcatcodetable", "letcatcodecommand", "defcatcodecommand", "uedcatcodecommand", "hglue", "vglue", "hfillneg", "vfillneg", "hfilllneg", "vfilllneg", "ruledhss", "ruledhfil", "ruledhfill", "ruledhfilneg", "ruledhfillneg", "normalhfillneg", "ruledvss", "ruledvfil", "ruledvfill", "ruledvfilneg", "ruledvfillneg", "normalvfillneg", "ruledhbox", "ruledvbox", "ruledvtop", "ruledvcenter", "ruledmbox", "ruledhskip", "ruledvskip", "ruledkern", "ruledmskip", "ruledmkern", "ruledhglue", "ruledvglue", "normalhglue", "normalvglue", "ruledpenalty", "filledhboxb", "filledhboxr", "filledhboxg", "filledhboxc", "filledhboxm", "filledhboxy", "filledhboxk", "scratchcounter", "globalscratchcounter", "scratchdimen", "globalscratchdimen", "scratchskip", "globalscratchskip", "scratchmuskip", "globalscratchmuskip", "scratchtoks", "globalscratchtoks", "scratchbox", "globalscratchbox", "normalbaselineskip", "normallineskip", "normallineskiplimit", "availablehsize", "localhsize", "setlocalhsize", "nextbox", "dowithnextbox", "dowithnextboxcs", "dowithnextboxcontent", "dowithnextboxcontentcs", "scratchwidth", "scratchheight", "scratchdepth", "scratchoffset", "scratchdistance", "scratchhsize", "scratchvsize", "scratchxoffset", "scratchyoffset", "scratchhoffset", "scratchvoffset", "scratchxposition", "scratchyposition", "scratchtopoffset", "scratchbottomoffset", "scratchleftoffset", "scratchrightoffset", "scratchcounterone", "scratchcountertwo", "scratchcounterthree", "scratchdimenone", "scratchdimentwo", "scratchdimenthree", "scratchskipone", "scratchskiptwo", "scratchskipthree", "scratchmuskipone", "scratchmuskiptwo", "scratchmuskipthree", "scratchtoksone", "scratchtokstwo", "scratchtoksthree", "scratchboxone", "scratchboxtwo", "scratchboxthree", "scratchnx", "scratchny", "scratchmx", "scratchmy", "scratchunicode", "scratchleftskip", "scratchrightskip", "scratchtopskip", "scratchbottomskip", "doif", "doifnot", "doifelse", "doifinset", "doifnotinset", "doifinsetelse", "doifnextcharelse", "doifnextoptionalelse", "doifnextoptionalcselse", "doiffastoptionalcheckelse", "doifnextbgroupelse", "doifnextbgroupcselse", "doifnextparenthesiselse", "doifundefinedelse", "doifdefinedelse", "doifundefined", "doifdefined", "doifelsevalue", "doifvalue", "doifnotvalue", "doifnothing", "doifsomething", "doifelsenothing", "doifsomethingelse", "doifvaluenothing", "doifvaluesomething", "doifelsevaluenothing", "doifdimensionelse", "doifnumberelse", "doifnumber", "doifnotnumber", "doifcommonelse", "doifcommon", "doifnotcommon", "doifinstring", "doifnotinstring", "doifinstringelse", "doifassignmentelse", "docheckassignment", "tracingall", "tracingnone", "loggingall", "removetoks", "appendtoks", "prependtoks", "appendtotoks", "prependtotoks", "to", "endgraf", "endpar", "everyendpar", "reseteverypar", "finishpar", "empty", "null", "space", "quad", "enspace", "obeyspaces", "obeylines", "obeyedspace", "obeyedline", "normalspace", "executeifdefined", "singleexpandafter", "doubleexpandafter", "tripleexpandafter", "dontleavehmode", "removelastspace", "removeunwantedspaces", "keepunwantedspaces", "wait", "writestatus", "define", "defineexpandable", "redefine", "setmeasure", "setemeasure", "setgmeasure", "setxmeasure", "definemeasure", "freezemeasure", "measure", "measured", "installcorenamespace", "getvalue", "getuvalue", "setvalue", "setevalue", "setgvalue", "setxvalue", "letvalue", "letgvalue", "resetvalue", "undefinevalue", "ignorevalue", "setuvalue", "setuevalue", "setugvalue", "setuxvalue", "globallet", "glet", "udef", "ugdef", "uedef", "uxdef", "checked", "unique", "getparameters", "geteparameters", "getgparameters", "getxparameters", "forgetparameters", "copyparameters", "getdummyparameters", "dummyparameter", "directdummyparameter", "setdummyparameter", "letdummyparameter", "usedummystyleandcolor", "usedummystyleparameter", "usedummycolorparameter", "processcommalist", "processcommacommand", "quitcommalist", "quitprevcommalist", "processaction", "processallactions", "processfirstactioninset", "processallactionsinset", "unexpanded", "expanded", "startexpanded", "stopexpanded", "protected", "protect", "unprotect", "firstofoneargument", "firstoftwoarguments", "secondoftwoarguments", "firstofthreearguments", "secondofthreearguments", "thirdofthreearguments", "firstoffourarguments", "secondoffourarguments", "thirdoffourarguments", "fourthoffourarguments", "firstoffivearguments", "secondoffivearguments", "thirdoffivearguments", "fourthoffivearguments", "fifthoffivearguments", "firstofsixarguments", "secondofsixarguments", "thirdofsixarguments", "fourthofsixarguments", "fifthofsixarguments", "sixthofsixarguments", "firstofoneunexpanded", "gobbleoneargument", "gobbletwoarguments", "gobblethreearguments", "gobblefourarguments", "gobblefivearguments", "gobblesixarguments", "gobblesevenarguments", "gobbleeightarguments", "gobbleninearguments", "gobbletenarguments", "gobbleoneoptional", "gobbletwooptionals", "gobblethreeoptionals", "gobblefouroptionals", "gobblefiveoptionals", "dorecurse", "doloop", "exitloop", "dostepwiserecurse", "recurselevel", "recursedepth", "dofastloopcs", "dowith", "newconstant", "setnewconstant", "setconstant", "setconstantvalue", "newconditional", "settrue", "setfalse", "settruevalue", "setfalsevalue", "newmacro", "setnewmacro", "newfraction", "newsignal", "dosingleempty", "dodoubleempty", "dotripleempty", "doquadrupleempty", "doquintupleempty", "dosixtupleempty", "doseventupleempty", "dosingleargument", "dodoubleargument", "dotripleargument", "doquadrupleargument", "doquintupleargument", "dosixtupleargument", "doseventupleargument", "dosinglegroupempty", "dodoublegroupempty", "dotriplegroupempty", "doquadruplegroupempty", "doquintuplegroupempty", "permitspacesbetweengroups", "dontpermitspacesbetweengroups", "nopdfcompression", "maximumpdfcompression", "normalpdfcompression", "modulonumber", "dividenumber", "getfirstcharacter", "doiffirstcharelse", "startnointerference", "stopnointerference", "twodigits", "threedigits", "leftorright", "offinterlineskip", "oninterlineskip", "nointerlineskip", "strut", "setstrut", "strutbox", "strutht", "strutdp", "strutwd", "struthtdp", "begstrut", "endstrut", "lineheight", "ordordspacing", "ordopspacing", "ordbinspacing", "ordrelspacing", "ordopenspacing", "ordclosespacing", "ordpunctspacing", "ordinnerspacing", "opordspacing", "opopspacing", "opbinspacing", "oprelspacing", "opopenspacing", "opclosespacing", "oppunctspacing", "opinnerspacing", "binordspacing", "binopspacing", "binbinspacing", "binrelspacing", "binopenspacing", "binclosespacing", "binpunctspacing", "bininnerspacing", "relordspacing", "relopspacing", "relbinspacing", "relrelspacing", "relopenspacing", "relclosespacing", "relpunctspacing", "relinnerspacing", "openordspacing", "openopspacing", "openbinspacing", "openrelspacing", "openopenspacing", "openclosespacing", "openpunctspacing", "openinnerspacing", "closeordspacing", "closeopspacing", "closebinspacing", "closerelspacing", "closeopenspacing", "closeclosespacing", "closepunctspacing", "closeinnerspacing", "punctordspacing", "punctopspacing", "punctbinspacing", "punctrelspacing", "punctopenspacing", "punctclosespacing", "punctpunctspacing", "punctinnerspacing", "innerordspacing", "inneropspacing", "innerbinspacing", "innerrelspacing", "inneropenspacing", "innerclosespacing", "innerpunctspacing", "innerinnerspacing", "normalreqno", "startimath", "stopimath", "normalstartimath", "normalstopimath", "startdmath", "stopdmath", "normalstartdmath", "normalstopdmath", "uncramped", "cramped", "triggermathstyle", "mathstylefont", "mathsmallstylefont", "mathstyleface", "mathsmallstyleface", "mathstylecommand", "mathpalette", "mathstylehbox", "mathstylevbox", "mathstylevcenter", "mathstylevcenteredhbox", "mathstylevcenteredvbox", "mathtext", "setmathsmalltextbox", "setmathtextbox", "triggerdisplaystyle", "triggertextstyle", "triggerscriptstyle", "triggerscriptscriptstyle", "triggeruncrampedstyle", "triggercrampedstyle", "triggersmallstyle", "triggeruncrampedsmallstyle", "triggercrampedsmallstyle", "triggerbigstyle", "triggeruncrampedbigstyle", "triggercrampedbigstyle", "luaexpr", "expdoifelse", "expdoif", "expdoifnot", "expdoifcommonelse", "expdoifinsetelse", "ctxdirectlua", "ctxlatelua", "ctxsprint", "ctxwrite", "ctxcommand", "ctxdirectcommand", "ctxlatecommand", "ctxreport", "ctxlua", "luacode", "lateluacode", "directluacode", "registerctxluafile", "ctxloadluafile", "luaversion", "luamajorversion", "luaminorversion", "ctxluacode", "luaconditional", "luaexpanded", "startluaparameterset", "stopluaparameterset", "luaparameterset", "definenamedlua", "obeylualines", "obeyluatokens", "startluacode", "stopluacode", "startlua", "stoplua", "startctxfunction", "stopctxfunction", "ctxfunction", "startctxfunctiondefinition", "stopctxfunctiondefinition", "carryoverpar", "assumelongusagecs", "Umathbotaccent", "righttolefthbox", "lefttorighthbox", "righttoleftvbox", "lefttorightvbox", "righttoleftvtop", "lefttorightvtop", "rtlhbox", "ltrhbox", "rtlvbox", "ltrvbox", "rtlvtop", "ltrvtop", "autodirhbox", "autodirvbox", "autodirvtop", "lefttoright", "righttoleft", "synchronizelayoutdirection", "synchronizedisplaydirection", "synchronizeinlinedirection", "lesshyphens", "morehyphens", "nohyphens", "dohyphens", "Ucheckedstartdisplaymath", "Ucheckedstopdisplaymath" }, + ["constants"]={ "zerocount", "minusone", "minustwo", "plusone", "plustwo", "plusthree", "plusfour", "plusfive", "plussix", "plusseven", "pluseight", "plusnine", "plusten", "plussixteen", "plushundred", "plusthousand", "plustenthousand", "plustwentythousand", "medcard", "maxcard", "maxcardminusone", "zeropoint", "onepoint", "halfapoint", "onebasepoint", "maxdimen", "scaledpoint", "thousandpoint", "points", "halfpoint", "zeroskip", "zeromuskip", "onemuskip", "pluscxxvii", "pluscxxviii", "pluscclv", "pluscclvi", "normalpagebox", "endoflinetoken", "outputnewlinechar", "emptytoks", "empty", "undefined", "voidbox", "emptybox", "emptyvbox", "emptyhbox", "bigskipamount", "medskipamount", "smallskipamount", "fmtname", "fmtversion", "texengine", "texenginename", "texengineversion", "luatexengine", "pdftexengine", "xetexengine", "unknownengine", "activecatcode", "bgroup", "egroup", "endline", "conditionaltrue", "conditionalfalse", "attributeunsetvalue", "uprotationangle", "rightrotationangle", "downrotationangle", "leftrotationangle", "inicatcodes", "ctxcatcodes", "texcatcodes", "notcatcodes", "txtcatcodes", "vrbcatcodes", "prtcatcodes", "nilcatcodes", "luacatcodes", "tpacatcodes", "tpbcatcodes", "xmlcatcodes", "ctdcatcodes", "escapecatcode", "begingroupcatcode", "endgroupcatcode", "mathshiftcatcode", "alignmentcatcode", "endoflinecatcode", "parametercatcode", "superscriptcatcode", "subscriptcatcode", "ignorecatcode", "spacecatcode", "lettercatcode", "othercatcode", "activecatcode", "commentcatcode", "invalidcatcode", "tabasciicode", "newlineasciicode", "formfeedasciicode", "endoflineasciicode", "endoffileasciicode", "spaceasciicode", "hashasciicode", "dollarasciicode", "commentasciicode", "ampersandasciicode", "colonasciicode", "backslashasciicode", "circumflexasciicode", "underscoreasciicode", "leftbraceasciicode", "barasciicode", "rightbraceasciicode", "tildeasciicode", "delasciicode", "lessthanasciicode", "morethanasciicode", "doublecommentsignal", "atsignasciicode", "exclamationmarkasciicode", "questionmarkasciicode", "doublequoteasciicode", "singlequoteasciicode", "forwardslashasciicode", "primeasciicode", "hyphenasciicode", "activemathcharcode", "activetabtoken", "activeformfeedtoken", "activeendoflinetoken", "batchmodecode", "nonstopmodecode", "scrollmodecode", "errorstopmodecode", "bottomlevelgroupcode", "simplegroupcode", "hboxgroupcode", "adjustedhboxgroupcode", "vboxgroupcode", "vtopgroupcode", "aligngroupcode", "noaligngroupcode", "outputgroupcode", "mathgroupcode", "discretionarygroupcode", "insertgroupcode", "vcentergroupcode", "mathchoicegroupcode", "semisimplegroupcode", "mathshiftgroupcode", "mathleftgroupcode", "vadjustgroupcode", "charnodecode", "hlistnodecode", "vlistnodecode", "rulenodecode", "insertnodecode", "marknodecode", "adjustnodecode", "ligaturenodecode", "discretionarynodecode", "whatsitnodecode", "mathnodecode", "gluenodecode", "kernnodecode", "penaltynodecode", "unsetnodecode", "mathsnodecode", "charifcode", "catifcode", "numifcode", "dimifcode", "oddifcode", "vmodeifcode", "hmodeifcode", "mmodeifcode", "innerifcode", "voidifcode", "hboxifcode", "vboxifcode", "xifcode", "eofifcode", "trueifcode", "falseifcode", "caseifcode", "definedifcode", "csnameifcode", "fontcharifcode", "fontslantperpoint", "fontinterwordspace", "fontinterwordstretch", "fontinterwordshrink", "fontexheight", "fontemwidth", "fontextraspace", "slantperpoint", "interwordspace", "interwordstretch", "interwordshrink", "exheight", "emwidth", "extraspace", "mathsupdisplay", "mathsupnormal", "mathsupcramped", "mathsubnormal", "mathsubcombined", "mathaxisheight", "muquad", "startmode", "stopmode", "startnotmode", "stopnotmode", "startmodeset", "stopmodeset", "doifmode", "doifelsemode", "doifmodeelse", "doifnotmode", "startmodeset", "stopmodeset", "startallmodes", "stopallmodes", "startnotallmodes", "stopnotallmodes", "doifallmodes", "doifelseallmodes", "doifallmodeselse", "doifnotallmodes", "startenvironment", "stopenvironment", "environment", "startcomponent", "stopcomponent", "component", "startproduct", "stopproduct", "product", "startproject", "stopproject", "project", "starttext", "stoptext", "startnotext", "stopnotext", "startdocument", "stopdocument", "documentvariable", "setupdocument", "startmodule", "stopmodule", "usemodule", "usetexmodule", "useluamodule", "setupmodule", "currentmoduleparameter", "moduleparameter", "everystarttext", "startTEXpage", "stopTEXpage", "enablemode", "disablemode", "preventmode", "definemode", "globalenablemode", "globaldisablemode", "globalpreventmode", "pushmode", "popmode", "typescriptone", "typescripttwo", "typescriptthree", "mathsizesuffix", "mathordcode", "mathopcode", "mathbincode", "mathrelcode", "mathopencode", "mathclosecode", "mathpunctcode", "mathalphacode", "mathinnercode", "mathnothingcode", "mathlimopcode", "mathnolopcode", "mathboxcode", "mathchoicecode", "mathaccentcode", "mathradicalcode", "constantnumber", "constantnumberargument", "constantdimen", "constantdimenargument", "constantemptyargument", "continueifinputfile", "luastringsep", "!!bs", "!!es", "lefttorightmark", "righttoleftmark", "breakablethinspace", "nobreakspace", "nonbreakablespace", "narrownobreakspace", "zerowidthnobreakspace", "ideographicspace", "ideographichalffillspace", "twoperemspace", "threeperemspace", "fourperemspace", "fiveperemspace", "sixperemspace", "figurespace", "punctuationspace", "hairspace", "zerowidthspace", "zerowidthnonjoiner", "zerowidthjoiner", "zwnj", "zwj", "optionalspace", "asciispacechar" }, + ["helpers"]={ "startsetups", "stopsetups", "startxmlsetups", "stopxmlsetups", "startluasetups", "stopluasetups", "starttexsetups", "stoptexsetups", "startrawsetups", "stoprawsetups", "startlocalsetups", "stoplocalsetups", "starttexdefinition", "stoptexdefinition", "starttexcode", "stoptexcode", "startcontextcode", "stopcontextcode", "startcontextdefinitioncode", "stopcontextdefinitioncode", "texdefinition", "doifelsesetups", "doifsetupselse", "doifsetups", "doifnotsetups", "setup", "setups", "texsetup", "xmlsetup", "luasetup", "directsetup", "fastsetup", "doifelsecommandhandler", "doifcommandhandlerelse", "doifnotcommandhandler", "doifcommandhandler", "newmode", "setmode", "resetmode", "newsystemmode", "setsystemmode", "resetsystemmode", "pushsystemmode", "popsystemmode", "booleanmodevalue", "newcount", "newdimen", "newskip", "newmuskip", "newbox", "newtoks", "newread", "newwrite", "newmarks", "newinsert", "newattribute", "newif", "newlanguage", "newfamily", "newfam", "newhelp", "then", "begcsname", "strippedcsname", "checkedstrippedcsname", "firstargumentfalse", "firstargumenttrue", "secondargumentfalse", "secondargumenttrue", "thirdargumentfalse", "thirdargumenttrue", "fourthargumentfalse", "fourthargumenttrue", "fifthargumentfalse", "fifthsargumenttrue", "sixthargumentfalse", "sixtsargumenttrue", "doglobal", "dodoglobal", "redoglobal", "resetglobal", "donothing", "dontcomplain", "forgetall", "donetrue", "donefalse", "inlineordisplaymath", "indisplaymath", "forcedisplaymath", "startforceddisplaymath", "stopforceddisplaymath", "reqno", "htdp", "unvoidbox", "hfilll", "vfilll", "mathbox", "mathlimop", "mathnolop", "mathnothing", "mathalpha", "currentcatcodetable", "defaultcatcodetable", "catcodetablename", "newcatcodetable", "startcatcodetable", "stopcatcodetable", "startextendcatcodetable", "stopextendcatcodetable", "pushcatcodetable", "popcatcodetable", "restorecatcodes", "setcatcodetable", "letcatcodecommand", "defcatcodecommand", "uedcatcodecommand", "hglue", "vglue", "hfillneg", "vfillneg", "hfilllneg", "vfilllneg", "ruledhss", "ruledhfil", "ruledhfill", "ruledhfilneg", "ruledhfillneg", "normalhfillneg", "ruledvss", "ruledvfil", "ruledvfill", "ruledvfilneg", "ruledvfillneg", "normalvfillneg", "ruledhbox", "ruledvbox", "ruledvtop", "ruledvcenter", "ruledmbox", "ruledhskip", "ruledvskip", "ruledkern", "ruledmskip", "ruledmkern", "ruledhglue", "ruledvglue", "normalhglue", "normalvglue", "ruledpenalty", "filledhboxb", "filledhboxr", "filledhboxg", "filledhboxc", "filledhboxm", "filledhboxy", "filledhboxk", "scratchcounter", "globalscratchcounter", "scratchdimen", "globalscratchdimen", "scratchskip", "globalscratchskip", "scratchmuskip", "globalscratchmuskip", "scratchtoks", "globalscratchtoks", "scratchbox", "globalscratchbox", "normalbaselineskip", "normallineskip", "normallineskiplimit", "availablehsize", "localhsize", "setlocalhsize", "distributedhsize", "hsizefraction", "nextbox", "dowithnextbox", "dowithnextboxcs", "dowithnextboxcontent", "dowithnextboxcontentcs", "scratchwidth", "scratchheight", "scratchdepth", "scratchoffset", "scratchdistance", "scratchhsize", "scratchvsize", "scratchxoffset", "scratchyoffset", "scratchhoffset", "scratchvoffset", "scratchxposition", "scratchyposition", "scratchtopoffset", "scratchbottomoffset", "scratchleftoffset", "scratchrightoffset", "scratchcounterone", "scratchcountertwo", "scratchcounterthree", "scratchdimenone", "scratchdimentwo", "scratchdimenthree", "scratchskipone", "scratchskiptwo", "scratchskipthree", "scratchmuskipone", "scratchmuskiptwo", "scratchmuskipthree", "scratchtoksone", "scratchtokstwo", "scratchtoksthree", "scratchboxone", "scratchboxtwo", "scratchboxthree", "scratchnx", "scratchny", "scratchmx", "scratchmy", "scratchunicode", "scratchleftskip", "scratchrightskip", "scratchtopskip", "scratchbottomskip", "doif", "doifnot", "doifelse", "doifinset", "doifnotinset", "doifelseinset", "doifinsetelse", "doifelsenextchar", "doifnextcharelse", "doifelsenextoptional", "doifnextoptionalelse", "doifelsenextoptionalcs", "doifnextoptionalcselse", "doifelsefastoptionalcheck", "doiffastoptionalcheckelse", "doifelsenextbgroup", "doifnextbgroupelse", "doifelsenextbgroupcs", "doifnextbgroupcselse", "doifelsenextparenthesis", "doifnextparenthesiselse", "doifelseundefined", "doifundefinedelse", "doifelsedefined", "doifdefinedelse", "doifundefined", "doifdefined", "doifelsevalue", "doifvalue", "doifnotvalue", "doifnothing", "doifsomething", "doifelsenothing", "doifnothingelse", "doifelsesomething", "doifsomethingelse", "doifvaluenothing", "doifvaluesomething", "doifelsevaluenothing", "doifvaluenothingelse", "doifelsedimension", "doifdimensionelse", "doifelsenumber", "doifnumberelse", "doifnumber", "doifnotnumber", "doifelsecommon", "doifcommonelse", "doifcommon", "doifnotcommon", "doifinstring", "doifnotinstring", "doifelseinstring", "doifinstringelse", "doifelseassignment", "doifassignmentelse", "docheckassignment", "tracingall", "tracingnone", "loggingall", "removetoks", "appendtoks", "prependtoks", "appendtotoks", "prependtotoks", "to", "endgraf", "endpar", "everyendpar", "reseteverypar", "finishpar", "empty", "null", "space", "quad", "enspace", "nbsp", "obeyspaces", "obeylines", "obeyedspace", "obeyedline", "obeyedtab", "obeyedpage", "normalspace", "executeifdefined", "singleexpandafter", "doubleexpandafter", "tripleexpandafter", "dontleavehmode", "removelastspace", "removeunwantedspaces", "keepunwantedspaces", "wait", "writestatus", "define", "defineexpandable", "redefine", "setmeasure", "setemeasure", "setgmeasure", "setxmeasure", "definemeasure", "freezemeasure", "measure", "measured", "installcorenamespace", "getvalue", "getuvalue", "setvalue", "setevalue", "setgvalue", "setxvalue", "letvalue", "letgvalue", "resetvalue", "undefinevalue", "ignorevalue", "setuvalue", "setuevalue", "setugvalue", "setuxvalue", "globallet", "glet", "udef", "ugdef", "uedef", "uxdef", "checked", "unique", "getparameters", "geteparameters", "getgparameters", "getxparameters", "forgetparameters", "copyparameters", "getdummyparameters", "dummyparameter", "directdummyparameter", "setdummyparameter", "letdummyparameter", "usedummystyleandcolor", "usedummystyleparameter", "usedummycolorparameter", "processcommalist", "processcommacommand", "quitcommalist", "quitprevcommalist", "processaction", "processallactions", "processfirstactioninset", "processallactionsinset", "unexpanded", "expanded", "startexpanded", "stopexpanded", "protected", "protect", "unprotect", "firstofoneargument", "firstoftwoarguments", "secondoftwoarguments", "firstofthreearguments", "secondofthreearguments", "thirdofthreearguments", "firstoffourarguments", "secondoffourarguments", "thirdoffourarguments", "fourthoffourarguments", "firstoffivearguments", "secondoffivearguments", "thirdoffivearguments", "fourthoffivearguments", "fifthoffivearguments", "firstofsixarguments", "secondofsixarguments", "thirdofsixarguments", "fourthofsixarguments", "fifthofsixarguments", "sixthofsixarguments", "firstofoneunexpanded", "firstoftwounexpanded", "secondoftwounexpanded", "firstofthreeunexpanded", "secondofthreeunexpanded", "thirdofthreeunexpanded", "gobbleoneargument", "gobbletwoarguments", "gobblethreearguments", "gobblefourarguments", "gobblefivearguments", "gobblesixarguments", "gobblesevenarguments", "gobbleeightarguments", "gobbleninearguments", "gobbletenarguments", "gobbleoneoptional", "gobbletwooptionals", "gobblethreeoptionals", "gobblefouroptionals", "gobblefiveoptionals", "dorecurse", "doloop", "exitloop", "dostepwiserecurse", "recurselevel", "recursedepth", "dofastloopcs", "dowith", "newconstant", "setnewconstant", "setconstant", "setconstantvalue", "newconditional", "settrue", "setfalse", "settruevalue", "setfalsevalue", "newmacro", "setnewmacro", "newfraction", "newsignal", "dosingleempty", "dodoubleempty", "dotripleempty", "doquadrupleempty", "doquintupleempty", "dosixtupleempty", "doseventupleempty", "dosingleargument", "dodoubleargument", "dotripleargument", "doquadrupleargument", "doquintupleargument", "dosixtupleargument", "doseventupleargument", "dosinglegroupempty", "dodoublegroupempty", "dotriplegroupempty", "doquadruplegroupempty", "doquintuplegroupempty", "permitspacesbetweengroups", "dontpermitspacesbetweengroups", "nopdfcompression", "maximumpdfcompression", "normalpdfcompression", "modulonumber", "dividenumber", "getfirstcharacter", "doifelsefirstchar", "doiffirstcharelse", "startnointerference", "stopnointerference", "twodigits", "threedigits", "leftorright", "offinterlineskip", "oninterlineskip", "nointerlineskip", "strut", "halfstrut", "quarterstrut", "depthstrut", "setstrut", "strutbox", "strutht", "strutdp", "strutwd", "struthtdp", "begstrut", "endstrut", "lineheight", "ordordspacing", "ordopspacing", "ordbinspacing", "ordrelspacing", "ordopenspacing", "ordclosespacing", "ordpunctspacing", "ordinnerspacing", "opordspacing", "opopspacing", "opbinspacing", "oprelspacing", "opopenspacing", "opclosespacing", "oppunctspacing", "opinnerspacing", "binordspacing", "binopspacing", "binbinspacing", "binrelspacing", "binopenspacing", "binclosespacing", "binpunctspacing", "bininnerspacing", "relordspacing", "relopspacing", "relbinspacing", "relrelspacing", "relopenspacing", "relclosespacing", "relpunctspacing", "relinnerspacing", "openordspacing", "openopspacing", "openbinspacing", "openrelspacing", "openopenspacing", "openclosespacing", "openpunctspacing", "openinnerspacing", "closeordspacing", "closeopspacing", "closebinspacing", "closerelspacing", "closeopenspacing", "closeclosespacing", "closepunctspacing", "closeinnerspacing", "punctordspacing", "punctopspacing", "punctbinspacing", "punctrelspacing", "punctopenspacing", "punctclosespacing", "punctpunctspacing", "punctinnerspacing", "innerordspacing", "inneropspacing", "innerbinspacing", "innerrelspacing", "inneropenspacing", "innerclosespacing", "innerpunctspacing", "innerinnerspacing", "normalreqno", "startimath", "stopimath", "normalstartimath", "normalstopimath", "startdmath", "stopdmath", "normalstartdmath", "normalstopdmath", "uncramped", "cramped", "triggermathstyle", "mathstylefont", "mathsmallstylefont", "mathstyleface", "mathsmallstyleface", "mathstylecommand", "mathpalette", "mathstylehbox", "mathstylevbox", "mathstylevcenter", "mathstylevcenteredhbox", "mathstylevcenteredvbox", "mathtext", "setmathsmalltextbox", "setmathtextbox", "pushmathstyle", "popmathstyle", "triggerdisplaystyle", "triggertextstyle", "triggerscriptstyle", "triggerscriptscriptstyle", "triggeruncrampedstyle", "triggercrampedstyle", "triggersmallstyle", "triggeruncrampedsmallstyle", "triggercrampedsmallstyle", "triggerbigstyle", "triggeruncrampedbigstyle", "triggercrampedbigstyle", "luaexpr", "expelsedoif", "expdoif", "expdoifnot", "expdoifelsecommon", "expdoifcommonelse", "expdoifelseinset", "expdoifinsetelse", "ctxdirectlua", "ctxlatelua", "ctxsprint", "ctxwrite", "ctxcommand", "ctxdirectcommand", "ctxlatecommand", "ctxreport", "ctxlua", "luacode", "lateluacode", "directluacode", "registerctxluafile", "ctxloadluafile", "luaversion", "luamajorversion", "luaminorversion", "ctxluacode", "luaconditional", "luaexpanded", "startluaparameterset", "stopluaparameterset", "luaparameterset", "definenamedlua", "obeylualines", "obeyluatokens", "startluacode", "stopluacode", "startlua", "stoplua", "startctxfunction", "stopctxfunction", "ctxfunction", "startctxfunctiondefinition", "stopctxfunctiondefinition", "installctxfunction", "carryoverpar", "assumelongusagecs", "Umathbotaccent", "righttolefthbox", "lefttorighthbox", "righttoleftvbox", "lefttorightvbox", "righttoleftvtop", "lefttorightvtop", "rtlhbox", "ltrhbox", "rtlvbox", "ltrvbox", "rtlvtop", "ltrvtop", "autodirhbox", "autodirvbox", "autodirvtop", "lefttoright", "righttoleft", "synchronizelayoutdirection", "synchronizedisplaydirection", "synchronizeinlinedirection", "lesshyphens", "morehyphens", "nohyphens", "dohyphens", "Ucheckedstartdisplaymath", "Ucheckedstopdisplaymath", "nobreak", "allowbreak", "goodbreak" }, } \ No newline at end of file diff --git a/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-interfaces.lua b/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-interfaces.lua index b2c09b62a82..43994afaae4 100644 --- a/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-interfaces.lua +++ b/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-interfaces.lua @@ -1,10 +1,10 @@ return { - ["cs"]={ "CAP", "Cap", "Caps", "Cisla", "KAP", "Kap", "Kaps", "MESIC", "Rimskecislice", "SLOVA", "SLOVO", "Slova", "Slovo", "VSEDNIDEN", "Znak", "Znaky", "aktualnicislonadpisu", "aktualnidatum", "appendix", "arg", "atleftmargin", "atrightmargin", "barevnalista", "barva", "bilemisto", "bottomspace", "bublinkovanapoveda", "bydliste", "bypassblocks", "cap", "celkovypocetstran", "cernalinka", "cernelinky", "chapter", "chem", "cisla", "cislonadpisu", "cislopodrovnice", "cislorovnice", "cislostrany", "citace", "citovat", "comment", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "completepagenumber", "completeregister", "coupledregister", "crlf", "cutspace", "datum", "decrementnumber", "definebodyfontDEF", "definebodyfontREF", "definecolumnbreak", "definecolumnset", "definecombination", "definedfont", "definefontfeature", "definefonthandling", "defineindentedtext", "defineinmargin", "defineitemgroup", "definelayer", "definelayout", "definemathalignment", "definepagebreak", "defineplacement", "definerawfont", "definerule", "definetextposition", "definetextvariable", "definetype", "definetypeface", "definuj", "definujakcent", "definujbarvu", "definujblok", "definujbloksekce", "definujbuffer", "definujfont", "definujformatodkazu", "definujhbox", "definujhlavnipole", "definujinterakcnimenu", "definujkombinovanyseznam", "definujkonverzi", "definujlogo", "definujnadpis", "definujobrazeksymbol", "definujodkaz", "definujodstavce", "definujopis", "definujoramovani", "definujoramovanytext", "definujpaletu", "definujplvouciobjekt", "definujpodpole", "definujpole", "definujpopis", "definujpopisek", "definujprekryv", "definujpreskok", "definujprikaz", "definujprofil", "definujprogram", "definujprostredizakladnihofontu", "definujrejstrik", "definujsablonutabulky", "definujsekci", "definujseznam", "definujseznamodkazu", "definujskupinubarev", "definujstartstop", "definujstyl", "definujstylfontu", "definujsymbol", "definujsynonumumfontu", "definujsynonyma", "definujtabelaci", "definujtext", "definujtrideni", "definujupravu", "definujvelikostpapiru", "definujverzi", "definujvycet", "definujvystup", "definujzakladnifont", "definujzasobnikpoli", "definujznaceni", "definujznak", "delkaseznamu", "description", "dodrzujprofil", "dodrzujverzi", "dodrzujverziprofilu", "dvoustrannypapir", "emptylines", "enumeration", "externiobraz", "fakt", "footnotetext", "forceblocks", "framedtext", "getnumber", "headsym", "hl", "hlavnijazyk", "hlavniuroven", "hodnotabarvy", "hodnotasedi", "immediatebetweenlist", "immediatetolist", "indentation", "ininner", "inneredgedistance", "inneredgewidth", "innermargindistance", "innermarginwidth", "inouter", "instalacejazyka", "interakcnilista", "interakcnitlacitka", "interaktivnimenu", "jazyk", "jdidolu", "jdina", "jdinabox", "jdinastranu", "jmeno", "kap", "klonujpole", "komponenta", "konvertujcislo", "kopirujpole", "korekcebilehomista", "labeling", "leg", "listsymbol", "loadsorts", "loadsynonyms", "maoramovani", "mapfontsize", "marginalnilinka", "marginalninadpis", "marginalnislovo", "marginalnitext", "matematika", "mazaramovani", "mediaeval", "meritko", "mesic", "mezera", "moveformula", "movesidefloat", "mrizka", "nadpis", "nadruhyokraj", "nalevo", "nalevyokraj", "name", "naokraj", "napravo", "napravyokraj", "nastavbarvu", "nastavbarvy", "nastavbilamista", "nastavblok", "nastavbloksekce", "nastavbuffer", "nastavcernelinky", "nastavcislonadpisu", "nastavcislostrany", "nastavcislovani", "nastavcislovaniodstavcu", "nastavcislovaniradku", "nastavcislovanistran", "nastavcitaci", "nastavdefinicipoznamekpodcarou", "nastavdeleniplvoucichobjektu", "nastavdelitko", "nastavdolnitexty", "nastaveni", "nastavexterniobrazy", "nastavhorejsek", "nastavhornitexty", "nastavinterakci", "nastavinterakcnilistu", "nastavinterakcnimenu", "nastavinterakcniobrazovku", "nastavjazyk", "nastavkapitalky", "nastavkombinovanyseznam", "nastavkomentar", "nastavkomentarstrany", "nastavlegendu", "nastavmarginalie", "nastavmarginalniblok", "nastavmarginalnilinky", "nastavmeziradkovoumezeru", "nastavnadpis", "nastavnadpisy", "nastavodkazovani", "nastavodsazovani", "nastavodstavce", "nastavopis", "nastavoramovanetexty", "nastavoramovani", "nastavorez", "nastavotoceni", "nastavpaletu", "nastavplvouciobjekt", "nastavplvouciobjekty", "nastavpodcislostrany", "nastavpodtrzeni", "nastavpole", "nastavpolozky", "nastavpopisek", "nastavpopisky", "nastavpopisy", "nastavpozadi", "nastavpoznamkypodcarou", "nastavprechodstrany", "nastavpreskok", "nastavprofily", "nastavprogramy", "nastavprostredizakladnihofontu", "nastavpublikace", "nastavradkovani", "nastavradky", "nastavrastr", "nastavrejstrik", "nastavrovnice", "nastavsadusymbolu", "nastavsekci", "nastavseznam", "nastavseznamodkazu", "nastavsirkucary", "nastavsloupce", "nastavspodek", "nastavspojeni", "nastavsynchronizaci", "nastavsynchronizacnilistu", "nastavsynonyma", "nastavsystem", "nastavtab", "nastavtabelaci", "nastavtabulky", "nastavtenkelinky", "nastavtext", "nastavtexthlavicky", "nastavtextovelinky", "nastavtextpopisku", "nastavtexttexty", "nastavtextyupati", "nastavtextyzahlavi", "nastavtlacitka", "nastavtoleranci", "nastavtrideni", "nastavtype", "nastavumisteniprotejsku", "nastavumistovani", "nastavupati", "nastavupravu", "nastavurl", "nastavusporadani", "nastavvelikostpapiru", "nastavverze", "nastavvsechnapole", "nastavvycty", "nastavvyplnovelinky", "nastavvyplnoveradky", "nastavvystup", "nastavvzhled", "nastavzahlavi", "nastavzakladnifont", "nastavzarovnani", "nastavznaceni", "nastavzuzeni", "nastrane", "navigating", "nejakyradek", "nekde", "nextsection", "neznamo", "nivy", "nizky", "nocap", "nokap", "nop", "numberofsubpages", "obrazovka", "odkaz", "odkaznadatum", "odkaznastranu", "odkaznatext", "odkazujici", "odsazenishora", "odsazenizleva", "odsazovani", "okr", "opakovat", "opis", "opissoubor", "oramovani", "oref", "orez", "otocit", "outeredgedistance", "outeredgewidth", "outermargindistance", "outermarginwidth", "overbar", "overbars", "overstrike", "overstrikes", "oznaceni", "oznacverzi", "pagedepth", "pageoffset", "paragraph", "parovastrana", "part", "pis", "placefloat", "placeheadnumber", "placeheadtext", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "placepagenumber", "placerawlist", "placereferencelist", "placerule", "placetextvariable", "plnezneni", "pol", "pole", "polozka", "polozky", "popisky", "poppisek", "porovnejpaletu", "porovnejskupinubarev", "positiontext", "pozadi", "pozice", "poznamka", "poznamkapodcarou", "pref", "prelozit", "premistinamrizku", "prepninazakladnifont", "preskoc", "prizpusobivepole", "prizpusobvzhled", "produkt", "program", "projekt", "propojeneznaceni", "propojenydokument", "propojenyrejstrik", "prostredi", "publikace", "ran", "ref", "register", "reservefloat", "reset", "resetnumber", "resettextcontent", "resetznaceni", "rimskecislice", "rozdelplvouciobjekt", "rozmer", "rozpojeneznaceni", "roztazene", "schovejbloky", "section", "sedabarva", "seeregister", "setnumber", "settextcontent", "settextvariable", "setupanswerarea", "setupcolumnset", "setupcolumnsetlines", "setupcolumnsetstart", "setupfonthandling", "setupfontsynonym", "setupforms", "setupindentedtext", "setupinterlinespace2", "setupitemgroup", "setuplistalternative", "setupmathalignment", "setupnumber", "setuppaper", "setupplacement", "setuprule", "setupstartstop", "setupstrut", "setuptextposition", "setuptextvariable", "sirkalevehookraje", "sirkalevemarginalie", "sirkamarginalie", "sirkaokraje", "sirkapapiru", "sirkapravehookraje", "sirkapravemarginalie", "sirkasazby", "sirkaseznamu", "sirkatextu", "sirkatiskpapiru", "sloupec", "slovovpravo", "sort", "spodek", "stanovcharakteristickuseznamu", "stanovcislonadpisu", "startalignment", "startbarva", "startbuffer", "startcislovaniradku", "startcitace", "startcolumnmakeup", "startcolumns", "startcolumnset", "startcombination", "startcomment", "startdescription", "startdocument", "startdokument", "startenumeration", "startfakt", "startfigure", "startfloattext", "startformula", "startframedtext", "startglobalni", "starthiding", "startinteraktivnimenu", "startitemgroup", "startkodovani", "startkomponenta", "startkorekceradku", "startlegend", "startline", "startlinecorrection", "startlinenumbering", "startlines", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startlokalni", "startlokalnipoznamkypodcarou", "startmakeup", "startmarginalniblok", "startmarginalnilinka", "startmarginblock", "startnamemakeup", "startnarrower", "startnezhustene", "startobraz", "startopposite", "startoverlay", "startoverview", "startparagraph", "startpositioning", "startpostponing", "startpozadi", "startprehled", "startprekryv", "startprodukt", "startprofil", "startprofile", "startprojekt", "startprostredi", "startprotejsek", "startradek", "startradky", "startrastr", "startregister", "startsadasymbolu", "startsloupce", "startspojeni", "startsymbolset", "startsynchronizace", "startsynchronization", "starttable", "starttables", "starttabulate", "starttabulka", "starttabulky", "starttext", "starttextovalinka", "starttyping", "startumistovani", "startunpacked", "startuprava", "startverze", "startzarovnavani", "startzhustene", "startzuzeni", "stopalignment", "stopbarva", "stopbuffer", "stopcislovaniradku", "stopcitace", "stopcolumnmakeup", "stopcolumns", "stopcolumnset", "stopcombination", "stopcomment", "stopdescription", "stopdocument", "stopdokument", "stopenumeration", "stopfakt", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stopglobalni", "stophiding", "stopinteraktivnimenu", "stopitemgroup", "stopkodovani", "stopkomponenta", "stopkorekceradku", "stoplegend", "stopline", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stoplokalni", "stoplokalnipoznamkypodcarou", "stopmakeup", "stopmarginalniblok", "stopmarginalnilinka", "stopmarginblock", "stopnamemakeup", "stopnarrower", "stopnezhustene", "stopopposite", "stopoverlay", "stopoverview", "stopparagraph", "stoppositioning", "stoppostponing", "stoppozadi", "stopprehled", "stopprekryv", "stopprodukt", "stopprofil", "stopprofile", "stopprojekt", "stopprostredi", "stopprotejsek", "stopradek", "stopradky", "stoprastr", "stopsloupce", "stopspojeni", "stopsymbolset", "stopsynchronizace", "stopsynchronization", "stoptable", "stoptables", "stoptabulate", "stoptabulka", "stoptabulky", "stoptext", "stoptextovalinka", "stoptyping", "stopumistovani", "stopunpacked", "stopuprava", "stopverze", "stopzarovnavani", "stopzhustene", "stopzuzeni", "strana", "sub", "subject", "subpagenumber", "subsection", "subsubject", "subsubsection", "subsubsubject", "switchtorawfont", "sym", "symbol", "synchronizacnilista", "synchronizovat", "synonym", "tab", "tecky", "tenkalinka", "tenkelinky", "testcolumn", "testpage", "tex", "texthlavicky", "textovalinka", "textpopisku", "textvariable", "title", "tlacitko", "tlacitkomenu", "tloustkacary", "tref", "tvrdamezera", "tvrdemezery", "txt", "typebuffer", "ukazbarvu", "ukazexterniobrazy", "ukazmrizku", "ukaznastaveni", "ukazpaletu", "ukazpodpery", "ukazpole", "ukazpostredizakladnihofontu", "ukazramecek", "ukazsadusymbolu", "ukazskupinubarev", "ukazupravu", "ukazvytisk", "ukazvzhled", "ukazzakladnifont", "umistikombinovanyseznam", "umistilegendu", "umistiloga", "umistilokalnipoznamkypodcarou", "umistinadsebe", "umistinamrizku", "umistipodrovnici", "umistipoznamkypodcarou", "umistirejstrik", "umistirovnici", "umistiseznam", "umistivedlesebe", "umistizalozky", "underbar", "underbars", "urcicharakteristikurejstriku", "useXMLfilter", "usedirectory", "usetypescript", "usetypescriptfile", "uzijJSscripts", "uzijURL", "uzijadresar", "uzijbloky", "uzijexternidokument", "uzijexterniobraz", "uzijexternisoubor", "uzijexternisoubory", "uzijexternizvuk", "uzijkodovani", "uzijmodul", "uzijmoduly", "uzijodkazy", "uzijprikazy", "uzijspeciality", "uzijsymbol", "uzijurl", "verze", "vl", "vlasovalinka", "vlevo", "vpravo", "vradku", "vsedniden", "vyberbloky", "vyberpapir", "vyberverzi", "vyplnenytext", "vyplnovelinky", "vyplnovepole", "vyplnovyradek", "vyskahorejsku", "vyskapapiru", "vyskasazby", "vyskaseznamu", "vyskaspodku", "vyskatextu", "vyskatiskpapiru", "vyskaupati", "vyskazahlavi", "vysoky", "vyznam", "vzdalenosthorejsku", "vzdalenostlevehookraje", "vzdalenostlevemarginalie", "vzdalenostmarginalie", "vzdalenostokraje", "vzdalenostpravehookraje", "vzdalenostpravemarginalie", "vzdalenostspodku", "vzdalenostupati", "vzdalenostzahlavi", "zablokujinterakcnimenu", "zachovejbloky", "zadnamezera", "zadnebilemisto", "zadnedalsibloky", "zadnedalsisoubory", "zadnehorniadolniradky", "zadneodsazovani", "zadnezahlaviaupati", "zadneznaceni", "zadnyrozmer", "zadnyseznam", "zadnytest", "zalozka", "zapisdorejstriku", "zapisdoseznamu", "zapisdoseznamuodkazu", "zapismeziseznam", "zaramovani", "zarovnanonastred", "zarovnanovlevo", "zarovnanovpravo", "zasobnikpoli", "zaznamovepole", "zhustene", "ziskejbuffer", "ziskejznaceni", "zlomek", "znaceni", "znak", "znaky", "zpracujbloky", "zpracujstranu", "zrcadlit", "zref", "zvysujicicislo" }, - ["de"]={ "Buchstabe", "Buchstaben", "CAP", "Cap", "Caps", "KAP", "Kap", "Kaps", "MONAT", "Roemischezahlen", "WOCHENTAG", "WOERTER", "WORT", "Woerter", "Wort", "Ziffern", "abstandlinkerrand", "abstandoben", "abstandrechterrand", "abstandunten", "amgitterausrichten", "amgitterneuausrichten", "appendix", "arg", "atleftmargin", "atrightmargin", "aufseite", "ausfuellfeld", "ausfuelltext", "ausschnitt", "bearbeitebloecke", "bearbeiteseite", "bedeutung", "behaltebloecke", "bei", "bemerkung", "benutzekodierung", "benutzespezielles", "benutzeverzeichnis", "beschrifteversion", "beschriftung", "bestimmekopfnummer", "bestimmelistencharakeristika", "bestimmeregistercharakteristika", "bildschirm", "blanko", "bookmark", "bottomspace", "breitelinkerrand", "breiterechterrand", "bruch", "buchstabe", "buchstaben", "but", "bypassblocks", "cap", "chapter", "chem", "comment", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "completepagenumber", "completeregister", "coupledregister", "crlf", "cutspace", "datum", "decrementnumber", "definebodyfontDEF", "definebodyfontREF", "definecolumnbreak", "definecolumnset", "definecombination", "definedfont", "definefontfeature", "definefonthandling", "defineindentedtext", "defineinmargin", "defineitemgroup", "definelayer", "definelayout", "definemathalignment", "defineoutput", "definepagebreak", "defineplacement", "definerawfont", "definerule", "defineschriftsynonym", "definetextposition", "definetextvariable", "definetype", "definetypeface", "definiereabbsymbol", "definiereabsaetze", "definiereabschnitt", "definiereabschnittsblock", "definiereakzent", "definierebefehl", "definierebeschreibung", "definierebeschreibungen", "definierebeschriftung", "definiereblanko", "definiereblock", "definierefarbe", "definierefarbengruppe", "definierefeld", "definierefeldstapel", "definierefliesstext", "definierefliesstextumgebung", "definieregleitobjekt", "definierehauptfeld", "definierehbox", "definiereinteraktionsmenue", "definierekonversion", "definierelabel", "definiereliste", "definierelogo", "definieren", "definierenummerierung", "definiereoverlay", "definierepalette", "definierepapierformat", "definiereprofil", "definiereprogramme", "definierepuffer", "definierereferenz", "definierereferenzformat", "definierereferenzliste", "definiereregister", "definiereschrift", "definiereschriftstil", "definieresortieren", "definierestartstop", "definierestil", "definieresubfeld", "definieresymbol", "definieresynonyme", "definieretabellenvorlage", "definieretabulator", "definieretext", "definieretippen", "definiereueberschrift", "definiereumbruch", "definiereumrahmt", "definiereumrahmtertext", "definiereversion", "definierezeichen", "definierezusammengestellteliste", "description", "dimension", "doppelseite", "doppelseitigespapier", "drehen", "duennelinie", "duennerumriss", "einezeile", "einstellungen", "einziehen", "emptylines", "entknuepfebeschriftung", "enumeration", "externeabbildung", "farbbalken", "farbe", "farbewert", "feld", "feldstapel", "festesspatium", "folgeprofil", "folgeprofilversion", "folgeversion", "footnotetext", "forceblocks", "format", "formelnummer", "framedtext", "fussnote", "fusszeileabstand", "fusszeilenhoehe", "gefuelltesrechteck", "gefuelltezeile", "geg", "gesamtseitenanzahl", "gestreckt", "getnumber", "gitter", "graufarbe", "grauwert", "haarlinie", "hauptsprache", "headsym", "heutigesdatum", "heutigeskopfnummer", "hintergrund", "hl", "hoch", "hoeheoben", "hoeheunten", "holebeschriftung", "holepuffer", "imlinken", "imlinkenrand", "immaumrise", "immediatebetweenlist", "immediatetolist", "imrechten", "imrechtenrand", "imumriss", "in", "inaktiviereinteraktionsmenue", "inanderermarginale", "indentation", "ininner", "inlinkermarginale", "inmarginalie", "inneredgedistance", "inneredgewidth", "innermargindistance", "innermarginwidth", "inouter", "inrechtermarginale", "installieresprache", "interaktionsbalken", "interaktionsknopfe", "interaktionsmenue", "inzeile", "irgendwo", "its", "kap", "keindimension", "keinebeschriftung", "keinebloeckemehr", "keinedateienmehr", "keinekopfundfusszeilen", "keineliste", "keinspatium", "keintest", "keinzeilenobenundunten", "keinzwischenraum", "kleinerdurchschuss", "klonierefeld", "knopf", "komponente", "konvertierezahl", "kopf", "kopfniveau", "kopfnummer", "kopfweite", "kopfzeilenabstand", "kopfzeilenhoehe", "kopierefeld", "korrigierezwischenraum", "label", "labeling", "labels", "labeltext", "leg", "liniendicke", "linkemarginalafstand", "linkemarginalbreite", "linksbuendig", "listenbreite", "listenhoehe", "listenlaenge", "listsymbol", "loadsorts", "loadsynonyms", "mapfontsize", "mar", "marginalafstand", "marginalbreite", "marginallinie", "marginaltext", "marginaltitel", "marginalwort", "mathematik", "maumrise", "mediaeval", "menueknopf", "monat", "moveformula", "movesidefloat", "nachunten", "name", "navigating", "nextsection", "nichteinziehen", "nocap", "nokap", "nop", "notiz", "numberofsubpages", "nummererhoehen", "outeredgedistance", "outeredgewidth", "outermargindistance", "outermarginwidth", "overbar", "overbars", "overstrike", "overstrikes", "pagedepth", "pageoffset", "papierbreite", "papierhoehe", "paragraph", "part", "passelayoutan", "passendfeld", "placefloat", "placeheadnumber", "placeheadtext", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "placepagenumber", "placerawlist", "placereferencelist", "placerule", "placetextvariable", "platzierebookmarks", "platziereformel", "platzierefussnoten", "platzierelegende", "platziereliste", "platzierelogo", "platzierelokalefussnoten", "platzierenebeneinander", "platziereregister", "platziereuntereinander", "platziereunterformel", "platzierezusammengestellteliste", "pos", "position", "positiontext", "posten", "printpapierbreite", "printpapierhoehe", "produkt", "programm", "projekt", "publikation", "punkt", "ran", "randabstand", "randbreite", "rechteck", "rechtecke", "rechtemarginalafstand", "rechtemarginalbreite", "rechtsbuendig", "ref", "referenz", "referieren", "register", "registrierefelder", "reservefloat", "resetnumber", "resettextcontent", "roemischezahlen", "ruecksetzten", "ruecksetztenbeschriftung", "rumpfweite", "satzbreite", "satzhoehe", "schreibezumregister", "schreibezurliste", "schreibezurreferenzliste", "schreibezwischenliste", "section", "seeregister", "seite", "seitenreferenz", "seitenummer", "setnumber", "settext", "settextvariable", "setupanswerarea", "setupcolumnset", "setupcolumnsetlines", "setupcolumnsetstart", "setupfonthandling", "setupfontsynonym", "setupforms", "setupindentedtext", "setupinterlinespace2", "setupitemgroup", "setuplistalternative", "setupmathalignment", "setupnumber", "setuppaper", "setupplacement", "setuprule", "setupstartstop", "setupstrut", "setuptextposition", "setuptextvariable", "showsymbolset", "sort", "spalte", "spatium", "spiegeln", "sprache", "startabbildung", "startalignment", "startausrichtung", "startbuffer", "startcolumnmakeup", "startcolumns", "startcolumnset", "startcombination", "startcomment", "startdescription", "startdocument", "startdokument", "startenger", "startenumeration", "startfarbe", "startfigure", "startfloattext", "startformula", "startframedtext", "startgeg", "startgegenueber", "startglobal", "startgrosserdurchschuss", "starthiding", "starthintergrund", "startinteraktionsmenue", "startitemgroup", "startkleinerdurchschuss", "startkodierung", "startkombination", "startkomponente", "startlegend", "startline", "startlinecorrection", "startlinenumbering", "startlines", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startlokal", "startlokalefussnoten", "startmakeup", "startmarginalblock", "startmarginallinie", "startmarginblock", "startnamemakeup", "startnarrower", "startopposite", "startoverlay", "startoverview", "startparagraph", "startpositionieren", "startpositioning", "startpostponing", "startprodukt", "startprofil", "startprofile", "startprojekt", "startraster", "startregister", "startspalten", "startsymbolset", "startsynchronisation", "startsynchronization", "starttabelle", "starttabellen", "starttable", "starttables", "starttabulate", "starttext", "starttextlinie", "starttyping", "startueberblick", "startumbruch", "startumgebung", "startunpacked", "startversion", "startzeile", "startzeilen", "startzeilenkorrektur", "startzeilennumerierung", "startzitat", "stelleabsaetzeein", "stelleabsatznummerierungein", "stelleabschnittein", "stelleabschnittsblockein", "stelleanordnenein", "stelleaufzaehlungenein", "stelleausgabeein", "stelleausrichtungein", "stelleausschnittein", "stellebeschreibungein", "stellebeschriftungein", "stellebilderunterschriftein", "stellebildunterschriftein", "stellebindestrichein", "stelleblankoein", "stelleblockein", "stelledrehenein", "stelleduennerumrissein", "stelleeinziehenein", "stelleengerein", "stelleexterneabbildungenein", "stellefarbeein", "stellefarbenein", "stellefeldein", "stellefelderin", "stellefliesstextein", "stellefliesstextumgebungein", "stelleformelnein", "stellefussnotendefinitionein", "stellefussnotenein", "stellefusszeileein", "stellefusszeilentextein", "stellegefuelltesrechteckein", "stellegefuelltezeileein", "stellegegenueberplatzierenein", "stellegleitobjekteein", "stellegleitobjektein", "stellehintergruendeein", "stellehintergrundein", "stelleinmarginalieein", "stelleinteraktionein", "stelleinteraktionsbalkenein", "stelleinteraktionsbildschirmein", "stelleinteraktionsmenueein", "stelleknopfein", "stellekombinationein", "stellekommentarein", "stellekopfzahlein", "stellekopfzeileein", "stellekopfzeilentextein", "stellelabeltextein", "stellelayoutein", "stellelegendeein", "stellelinienbreiteein", "stellelisteein", "stellemarginalblockein", "stellemarginallinieein", "stellenobenein", "stellenummerierungein", "stellepaletteein", "stellepapierformatein", "stelleplatziegeteiltegleitobjekt", "stellepositionierenein", "stellepostenein", "stelleprofilein", "stelleprogrammein", "stellepublikationein", "stellepufferein", "stellerasterein", "stellerechteckein", "stellereferenzierenein", "stellereferenzlisteein", "stelleregisterein", "stelleseitenkommentarein", "stelleseitennummerein", "stelleseitennummeriernungein", "stelleseitenuebergangein", "stellesortierenein", "stellespaltenein", "stellespatiumein", "stellespracheein", "stellesymbolsetein", "stellesynchronisationein", "stellesynchronisationsbalkenein", "stellesynonymein", "stellesystemein", "stelletabein", "stelletabellenein", "stelletabulatorein", "stelletextein", "stelletextobenein", "stelletexttexteein", "stelletextumrissein", "stelletextuntenein", "stelletipein", "stelletippenein", "stelletoleranzein", "stelleueberschriftein", "stelleueberschriftenein", "stelleueberschrifttextein", "stelleumbruchein", "stelleumrahmtein", "stelleumrahmtetexteein", "stelleuntenein", "stelleunterseitennummerein", "stelleunterstreichenein", "stelleurlein", "stelleversalienein", "stelleversionein", "stellezeilenabstandein", "stellezeilenein", "stellezeilennumerierungein", "stellezitierenein", "stellezusammengestelltelisteein", "stellezwischenraumein", "stopalignment", "stopausrichtung", "stopbuffer", "stopcolumnmakeup", "stopcolumns", "stopcolumnset", "stopcombination", "stopcomment", "stopdescription", "stopdocument", "stopdokument", "stopenger", "stopenumeration", "stopfarbe", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stopgeg", "stopgegenueber", "stopglobal", "stopgrosserdurchschuss", "stophiding", "stophintergrund", "stopinteraktionsmenue", "stopitemgroup", "stopkleinerdurchschuss", "stopkodierung", "stopkombination", "stopkomponente", "stoplegend", "stopline", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stoplokal", "stoplokalefussnoten", "stopmakeup", "stopmarginalblock", "stopmarginallinie", "stopmarginblock", "stopnamemakeup", "stopnarrower", "stopopposite", "stopoverlay", "stopoverview", "stopparagraph", "stoppositionieren", "stoppositioning", "stoppostponing", "stopprodukt", "stopprofil", "stopprofile", "stopprojekt", "stopraster", "stopspalten", "stopsymbolset", "stopsynchronisation", "stopsynchronization", "stoptabelle", "stoptabellen", "stoptable", "stoptables", "stoptabulate", "stoptext", "stoptextlinie", "stoptyping", "stopueberblick", "stopumbruch", "stopumgebung", "stopunpacked", "stopversion", "stopzeile", "stopzeilen", "stopzeilenkorrektur", "stopzeilennumerierung", "stopzitat", "sub", "subject", "subpagenumber", "subsection", "subsubject", "subsubsection", "subsubsubject", "switchtorawfont", "sym", "symbol", "synchronisationsbalken", "synchronisieren", "synonym", "tab", "teilegleitobjekt", "testcolumn", "testpage", "tex", "textbreite", "texthoehe", "textlinie", "textreferenz", "textvariable", "tief", "tiho", "tip", "tippedatei", "tippen", "tippepuffer", "title", "tooltip", "txt", "ueber", "ueberschrifttext", "uebersetzten", "umgebung", "umrahmt", "unbekant", "underbar", "underbars", "unterformelnummer", "useXMLfilter", "usedirectory", "usetypescript", "usetypescriptfile", "verbergebloecke", "vergleichefarbengruppe", "vergleichepalette", "verknuepfebeschriftung", "verknuepfedokument", "verknuepfregister", "version", "verweis", "verweisdatum", "verwendeJSscript", "verwendeURL", "verwendebefehl", "verwendebloecke", "verwendeexteresdokument", "verwendeexterneabbildung", "verwendeexternedatei", "verwendeexternedateien", "verwendeexternestonstueck", "verwendemodul", "verwendemodule", "verwendereferenzen", "verwendesymbole", "verwendeurl", "vl", "volleswort", "von", "waehlebloeckeaus", "waehlepapieraus", "waehleversionaus", "wechselezumfliesstext", "wiederholen", "wochentag", "wohnort", "wortrechts", "zeigedruck", "zeigeeinstellungen", "zeigeexterneabbildungen", "zeigefarbe", "zeigefarbengruppe", "zeigefelder", "zeigefliesstext", "zeigefliesstextumgebung", "zeigegitter", "zeigelayout", "zeigepalette", "zeigerahmen", "zeigestruts", "zeigeumbruch", "zentriert", "ziffern", "zitat", "zitieren", "zu", "zurbox", "zurseite", "zwischenraum" }, - ["en"]={ "CAP", "Cap", "Caps", "Character", "Characters", "MONTH", "Numbers", "Romannumerals", "WEEKDAY", "WORD", "WORDS", "Word", "Words", "about", "adaptlayout", "adding", "appendix", "arg", "at", "atleftmargin", "atpage", "atrightmargin", "background", "backspace", "blackrule", "blackrules", "blank", "bookmark", "bottomdistance", "bottomheight", "bottomspace", "but", "button", "bypassblocks", "cap", "chapter", "character", "characters", "chem", "clip", "clonefield", "color", "colorbar", "colorvalue", "column", "comment", "comparecolorgroup", "comparepalet", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "completepagenumber", "completeregister", "component", "convertnumber", "copyfield", "correctwhitespace", "coupledocument", "coupledregister", "couplemarking", "couplepage", "couplepaper", "coupleregister", "crlf", "currentdate", "currentheadnumber", "cutspace", "date", "decouplemarking", "decrementnumber", "define", "defineaccent", "defineblank", "defineblock", "definebodyfont", "definebodyfontDEF", "definebodyfontREF", "definebodyfontenvironment", "definebuffer", "definecharacter", "definecolor", "definecolorgroup", "definecolumnbreak", "definecolumnset", "definecombination", "definecombinedlist", "definecommand", "defineconversion", "definedescription", "definedfont", "defineenumeration", "definefield", "definefieldstack", "definefiguresymbol", "definefloat", "definefont", "definefontfeature", "definefonthandling", "definefontstyle", "definefontsynonym", "defineframed", "defineframedtext", "definehbox", "definehead", "defineindentedtext", "defineinmargin", "defineinteractionmenu", "defineitemgroup", "definelabel", "definelayer", "definelayout", "definelist", "definelogo", "definemainfield", "definemakeup", "definemarking", "definemathalignment", "defineoutput", "defineoverlay", "definepagebreak", "definepalet", "definepapersize", "defineparagraphs", "defineplacement", "defineprofile", "defineprogram", "definerawfont", "definereference", "definereferenceformat", "definereferencelist", "defineregister", "definerule", "definesection", "definesectionblock", "definesorting", "definestartstop", "definestyle", "definesubfield", "definesymbol", "definesynonyms", "definetabletemplate", "definetabulate", "definetext", "definetextposition", "definetextvariable", "definetype", "definetypeface", "definetyping", "defineversion", "description", "determineheadnumber", "determinelistcharacteristics", "determineregistercharacteristics", "dimension", "disableinteractionmenu", "domicile", "donttest", "edgedistance", "edgewidth", "emptylines", "enumeration", "environment", "externalfigure", "fact", "field", "fieldstack", "fillinfield", "fillinline", "fillinrules", "fillintext", "fitfield", "fixedspace", "fixedspaces", "followprofile", "followprofileversion", "followversion", "footerdistance", "footerheight", "footnote", "footnotetext", "forceblocks", "formulanumber", "fraction", "framed", "framedtext", "from", "getbuffer", "getmarking", "getnumber", "godown", "goto", "gotobox", "gotopage", "graycolor", "greyvalue", "grid", "hairline", "head", "headerdistance", "headerheight", "headlevel", "headnumber", "headsym", "headtext", "hideblocks", "high", "hl", "immediatebetweenlist", "immediatetolist", "in", "incrementnumber", "indentation", "indenting", "inframed", "infull", "ininner", "inleft", "inleftedge", "inleftmargin", "inline", "inmaframed", "inmargin", "inneredgedistance", "inneredgewidth", "innermargindistance", "innermarginwidth", "inothermargin", "inouter", "inright", "inrightedge", "inrightmargin", "installlanguage", "interactionbar", "interactionbuttons", "interactionmenu", "item", "items", "its", "keepblocks", "label", "labeling", "labels", "labeltext", "language", "leftaligned", "leftedgedistance", "leftedgewidth", "leftmargindistance", "leftmarginwidth", "leg", "linethickness", "listheight", "listlength", "listsymbol", "listwidth", "loadsorts", "loadsynonyms", "logfields", "lohi", "low", "maframed", "mainlanguage", "makeupheight", "makeupwidth", "mapfontsize", "mar", "margindistance", "marginrule", "margintext", "margintitle", "marginwidth", "marginword", "marking", "markversion", "mathematics", "mediaeval", "menubutton", "midaligned", "mirror", "month", "moveformula", "moveongrid", "movesidefloat", "name", "navigating", "nextsection", "nocap", "nodimension", "noheaderandfooterlines", "noindenting", "nolist", "nomarking", "nomoreblocks", "nomorefiles", "nop", "nospace", "note", "notopandbottomlines", "nowhitespace", "numberofsubpages", "numbers", "outeredgedistance", "outeredgewidth", "outermargindistance", "outermarginwidth", "overbar", "overbars", "overstrike", "overstrikes", "packed", "page", "pagedepth", "pagenumber", "pageoffset", "pagereference", "paperheight", "paperwidth", "paragraph", "part", "periods", "placebookmarks", "placecombinedlist", "placefloat", "placefootnotes", "placeformula", "placeheadnumber", "placeheadtext", "placelegend", "placelist", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "placelocalfootnotes", "placelogos", "placeongrid", "placeontopofeachother", "placepagenumber", "placerawlist", "placereferencelist", "placeregister", "placerule", "placesidebyside", "placesubformula", "placetextvariable", "position", "positiontext", "printpaperheight", "printpaperwidth", "processblocks", "processpage", "product", "program", "project", "publication", "quotation", "quote", "ran", "redo", "ref", "reference", "referral", "referraldate", "referring", "register", "remark", "reservefloat", "reset", "resetmarking", "resetnumber", "resettextcontent", "rightaligned", "rightedgedistance", "rightedgewidth", "rightmargindistance", "rightmarginwidth", "romannumerals", "rotate", "scale", "screen", "section", "seeregister", "selectblocks", "selectpaper", "selectversion", "setnumber", "settextcontent", "settextvariable", "setupalign", "setupanswerarea", "setuparranging", "setupbackground", "setupbackgrounds", "setupblackrules", "setupblank", "setupblock", "setupbodyfont", "setupbodyfontenvironment", "setupbottom", "setupbottomtexts", "setupbuffer", "setupbuttons", "setupcapitals", "setupcaption", "setupcaptions", "setupclipping", "setupcolor", "setupcolors", "setupcolumns", "setupcolumnset", "setupcolumnsetlines", "setupcolumnsetstart", "setupcombinations", "setupcombinedlist", "setupcomment", "setupdescriptions", "setupenumerations", "setupexternalfigures", "setupfield", "setupfields", "setupfillinlines", "setupfillinrules", "setupfloat", "setupfloats", "setupfloatsplitting", "setupfonthandling", "setupfontsynonym", "setupfooter", "setupfootertexts", "setupfootnotedefinition", "setupfootnotes", "setupforms", "setupformulae", "setupframed", "setupframedtexts", "setuphead", "setupheader", "setupheadertexts", "setupheadnumber", "setupheads", "setupheadtext", "setuphyphenmark", "setupindentedtext", "setupindenting", "setupinmargin", "setupinteraction", "setupinteractionbar", "setupinteractionmenu", "setupinteractionscreen", "setupinterlinespace", "setupinterlinespace2", "setupitemgroup", "setupitemizations", "setupitems", "setuplabeltext", "setuplanguage", "setuplayout", "setuplegend", "setuplinenumbering", "setuplines", "setuplinewidth", "setuplist", "setuplistalternative", "setupmakeup", "setupmarginblocks", "setupmarginrules", "setupmarking", "setupmathalignment", "setupnarrower", "setupnumber", "setupnumbering", "setupoppositeplacing", "setupoutput", "setuppagecomment", "setuppagenumber", "setuppagenumbering", "setuppagetransitions", "setuppalet", "setuppaper", "setuppapersize", "setupparagraphnumbering", "setupparagraphs", "setupplacement", "setuppositioning", "setupprofiles", "setupprograms", "setuppublications", "setupquote", "setupreferencelist", "setupreferencing", "setupregister", "setuprotate", "setuprule", "setups", "setupscreens", "setupsection", "setupsectionblock", "setupsorting", "setupspacing", "setupstartstop", "setupstrut", "setupsubpagenumber", "setupsymbolset", "setupsynchronization", "setupsynchronizationbar", "setupsynonyms", "setupsystem", "setuptab", "setuptables", "setuptabulate", "setuptext", "setuptextposition", "setuptextrules", "setuptexttexts", "setuptextvariable", "setupthinrules", "setuptolerance", "setuptop", "setuptoptexts", "setuptype", "setuptyping", "setupunderbar", "setupurl", "setupversions", "setupwhitespace", "showbodyfont", "showbodyfontenvironment", "showcolor", "showcolorgroup", "showexternalfigures", "showfields", "showframe", "showgrid", "showlayout", "showmakeup", "showpalet", "showprint", "showsetups", "showstruts", "showsymbolset", "someline", "somewhere", "sort", "space", "splitfloat", "startalignment", "startbackground", "startbuffer", "startcoding", "startcolor", "startcolumnmakeup", "startcolumns", "startcolumnset", "startcombination", "startcomment", "startcomponent", "startdescription", "startdocument", "startenumeration", "startenvironment", "startfact", "startfigure", "startfloattext", "startformula", "startframedtext", "startglobal", "starthiding", "startinteractionmenu", "startitemgroup", "startlegend", "startline", "startlinecorrection", "startlinenumbering", "startlines", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startmakeup", "startmarginblock", "startmarginrule", "startnamemakeup", "startnarrower", "startopposite", "startoverlay", "startoverview", "startpacked", "startparagraph", "startpositioning", "startpostponing", "startproduct", "startprofile", "startproject", "startquotation", "startraster", "startregister", "startsymbolset", "startsynchronization", "starttable", "starttables", "starttabulate", "starttext", "starttextrule", "starttyping", "startunpacked", "startversion", "stopalignment", "stopbackground", "stopbuffer", "stopcoding", "stopcolor", "stopcolumnmakeup", "stopcolumns", "stopcolumnset", "stopcombination", "stopcomment", "stopcomponent", "stopdescription", "stopdocument", "stopenumeration", "stopenvironment", "stopfact", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stopglobal", "stophiding", "stopinteractionmenu", "stopitemgroup", "stoplegend", "stopline", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stopmakeup", "stopmarginblock", "stopmarginrule", "stopnamemakeup", "stopnarrower", "stopopposite", "stopoverlay", "stopoverview", "stoppacked", "stopparagraph", "stoppositioning", "stoppostponing", "stopproduct", "stopprofile", "stopproject", "stopquotation", "stopraster", "stopsymbolset", "stopsynchronization", "stoptable", "stoptables", "stoptabulate", "stoptext", "stoptextrule", "stoptyping", "stopunpacked", "stopversion", "stretched", "sub", "subformulanumber", "subject", "subpagenumber", "subsection", "subsubject", "subsubsection", "subsubsubject", "switchtobodyfont", "switchtorawfont", "sym", "symbol", "symoffset", "synchronizationbar", "synchronize", "synonym", "tab", "testcolumn", "testpage", "tex", "textheight", "textreference", "textrule", "textvariable", "textwidth", "thinrule", "thinrules", "title", "tooltip", "topdistance", "topheight", "topspace", "totalnumberofpages", "translate", "txt", "typ", "type", "typebuffer", "typefile", "underbar", "underbars", "unitmeaning", "unknown", "useJSscripts", "useURL", "useXMLfilter", "useblocks", "usecommands", "usedirectory", "useencoding", "useexternaldocument", "useexternalfigure", "useexternalfile", "useexternalfiles", "useexternalsoundtrack", "usemodule", "usemodules", "usereferences", "usespecials", "usesymbols", "usetypescript", "usetypescriptfile", "useurl", "version", "vl", "weekday", "whitespace", "wordright", "writebetweenlist", "writetolist", "writetoreferencelist", "writetoregister" }, - ["fr"]={ "CAP", "Cap", "Caps", "Caractere", "Caracteres", "Chiffresromains", "JOURSEMAINE", "MOIS", "MOT", "MOTS", "Mot", "Mots", "Numeros", "a", "adaptedisposition", "affectenumero", "affectevariabletexte", "ajustechamp", "alaligne", "alapage", "aligneadroite", "aligneagauche", "aligneaumilieu", "appendix", "arg", "arriereplan", "atleftmargin", "atrightmargin", "baha", "barrecouleur", "barreinteraction", "barresynchronisation", "bas", "bouton", "boutonmenu", "boutonsinteraction", "but", "cacheblocs", "cap", "caractere", "caracteres", "champ", "changepolicebrute", "changepolicecorps", "chapter", "chem", "chiffresromains", "citation", "citer", "clip", "clonechamp", "colonne", "comment", "commentaire", "comparegroupecouleur", "comparepalette", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "completenumeropage", "completeregistre", "composant", "composeenalinea", "concernant", "convertitnumero", "copitchamp", "corrigeespaceblanc", "couleur", "couleurgrise", "coupledocument", "coupledregister", "couplemarquage", "couplepapier", "coupleregistre", "crlf", "cutspace", "dactylographier", "dans", "dansautremarge", "dansborddroit", "dansbordgauche", "dansdroite", "dansgauche", "dansmarge", "dansmargedroite", "dansmargegauche", "date", "datecourante", "daterecommandation", "de", "decouplemarquage", "decrementenumero", "definebodyfontDEF", "definebodyfontREF", "definecombination", "definedfont", "definefontfeature", "definefonthandling", "defineframed", "defineframedtext", "defineindentedtext", "defineitemgroup", "definemathalignment", "defineplacement", "definetypeface", "definicaractere", "definit", "definitaccent", "definitbloc", "definitblocsection", "definitbuffer", "definitcalque", "definitchamp", "definitchampprincipal", "definitcommande", "definitconversion", "definitcouleur", "definitdactylo", "definitdansmarge", "definitdemarrestoppe", "definitdescription", "definitdisposition", "definitenumeration", "definitenvironnementpolicecorps", "definitetiquette", "definitflottant", "definitformatreference", "definitgroupecouleur", "definithbox", "definitjeucolonne", "definitliste", "definitlisteimbriquee", "definitlistereference", "definitlogo", "definitmakeup", "definitmarquage", "definitmenuinteraction", "definitnotepdp", "definitpalette", "definitparagraphes", "definitpilechamp", "definitpolice", "definitpolicebrute", "definitpolicecorps", "definitpositiontexte", "definitprofil", "definitprogramme", "definitreference", "definitregistre", "definitregle", "definitrevetement", "definitsautdecolonne", "definitsautdepage", "definitsection", "definitsortie", "definitsouschamp", "definitstyle", "definitstylepolice", "definitsymbole", "definitsymbolefigure", "definitsynonymepolice", "definitsynonymes", "definittabulation", "definittaillepapier", "definittete", "definittexte", "definittrametableau", "definittri", "definittype", "definitvariabletexte", "definitversion", "definitvide", "demarrealignement", "demarrearriereplan", "demarreblocmarge", "demarrecitation", "demarreciter", "demarrecodage", "demarrecolonnes", "demarrecombinaison", "demarrecompoetroite", "demarrecomposant", "demarrecorrectionligne", "demarrecouleur", "demarredegroupe", "demarredocument", "demarreenvironement", "demarrefigure", "demarreglobal", "demarregroupe", "demarrejeucolonne", "demarrejeusymboles", "demarreligne", "demarreligneregleetexte", "demarrelignes", "demarrelocal", "demarremakeup", "demarremargereglee", "demarrenotespdplocales", "demarrenumerotationligne", "demarreopposition", "demarrepositionnement", "demarreproduit", "demarreprofil", "demarreprojet", "demarreraster", "demarrerevetement", "demarresynchronisation", "demarretableau", "demarretableaux", "demarretexte", "demarreversion", "demarrevuedensemble", "deplaceformule", "deplacesurgrille", "description", "determinecaracteristiqueliste", "determinecaracteristiquesregistre", "determinenumerotete", "dimension", "distancebord", "distanceborddroit", "distancebordgauche", "distanceentete", "distanceinf", "distancemarge", "distancemargedroite", "distancemargegauche", "distancepdp", "distancesup", "domicile", "echelle", "ecran", "ecritdansliste", "ecritdanslistereference", "ecritentreliste", "ecritregistre", "el", "element", "elements", "emptylines", "enumeration", "environement", "espace", "espaceblanc", "espacefixe", "espaceinf", "espacesfixes", "espacesup", "etiquette", "etiquettes", "etire", "fait", "faitreference", "fichierdactylo", "figureexterne", "forceblocs", "fraction", "framed", "framedtext", "gardeblocs", "getnumber", "grille", "groupe", "haut", "hauteureditionpapier", "hauteurentete", "hauteurinf", "hauteurliste", "hauteurmakeup", "hauteurpapier", "hauteurpdp", "hauteursup", "hauteurtexte", "headsym", "hl", "immediatebetweenlist", "immediatetolist", "inconnu", "incrementenumero", "indentation", "inframed", "infull", "inhibemenuinteraction", "ininner", "inmframed", "inneredgedistance", "inneredgewidth", "innermargindistance", "innermarginwidth", "inouter", "installelangue", "joursemaine", "labeling", "labeltexte", "langue", "langueprincipale", "largeurbord", "largeurborddroit", "largeurbordgauche", "largeureditionpapier", "largeurligne", "largeurliste", "largeurmakeup", "largeurmarge", "largeurmargedroite", "largeurmargegauche", "largeurpapier", "largeurtexte", "leg", "ligneh", "lignenoire", "ligneregleetexte", "lignesnoires", "listesymbole", "llongueurliste", "loadsorts", "loadsynonyms", "logchamp", "mapfontsize", "mar", "margereglee", "marquage", "marquageversion", "marquepage", "mathematique", "mediaeval", "menuinteraction", "mframed", "mois", "montrecadre", "montrechamps", "montrecouleur", "montredisposition", "montreedition", "montreenvironnementpolicecorps", "montrefiguresexternes", "montregrille", "montregroupecouleur", "montrejeusymboles", "montremakeup", "montrepalette", "montrepolicecorps", "montrereglages", "montrestruts", "motdroit", "motmarge", "movesidefloat", "name", "navigating", "nextsection", "niveautete", "nocap", "nombredesouspages", "nombretotaldepages", "nommacro", "nop", "note", "notepdp", "numeroformule", "numeropage", "numeros", "numerosousformule", "numerotete", "numerotetecourant", "obtientmarquage", "oriente", "outeredgedistance", "outeredgewidth", "outermargindistance", "outermarginwidth", "overbar", "overbars", "overstrike", "overstrikes", "page", "pagedepth", "pagedouble", "pageoffset", "paragraph", "part", "pasplusdeblocs", "pasplusdefichiers", "periodes", "pilechamp", "placecoteacote", "placeflottant", "placeformule", "placelegende", "placelesunsaudessusdesautres", "placeliste", "placelisteinmbriquee", "placelistereference", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "placelogos", "placemarquespages", "placenotespdp", "placenotespdplocales", "placenumeropage", "placenumerotete", "placerawlist", "placeregistre", "placeregle", "placesousformule", "placesurgrille", "placetextetete", "placevariabletexte", "position", "positionnetexte", "prendbuffer", "produit", "programme", "projet", "publication", "qqpart", "ran", "raz", "razmarquage", "raznumero", "recommandation", "ref", "refait", "reference", "referencepage", "referencetexte", "reflete", "register", "reglages", "reglealignement", "reglearrangement", "reglearriereplan", "reglearriereplans", "reglebarreinteraction", "reglebarresynchronisation", "reglebloc", "regleblocmarge", "regleblocsection", "regleboutons", "reglebuffer", "reglecapitales", "reglechamp", "reglechamps", "regleclipping", "reglecolonnes", "reglecombinaisons", "reglecommentaire", "reglecommentairepage", "reglecompoetroite", "reglecomposeenalinea", "reglecouleur", "reglecouleurs", "regledactylo", "regledansmarge", "regledemarrestoppe", "regledescriptions", "regledisposition", "regleecraninteraction", "regleecrans", "regleelements", "regleencadre", "regleentete", "regleenumerations", "regleenvironnementpolicecorps", "regleepaisseurligne", "regleespaceblanc", "regleespacement", "regleespacementinterligne", "reglefiguresexternes", "regleflottant", "regleflottants", "regleformulaires", "regleformules", "reglegroupeselements", "regleinf", "regleinteraction", "regleintitule", "regleintitules", "reglejeucolonne", "reglejeusymboles", "reglelabeltexte", "reglelangue", "reglelegende", "reglelignes", "reglelignesnoires", "reglelignesreglestexte", "regleliste", "reglelisteimbriquee", "reglelistereference", "reglemakeup", "reglemargereglee", "reglemarquage", "reglemarquagehyphenation", "reglemenuinteraction", "reglenotepdp", "reglenumero", "reglenumeropage", "reglenumerotation", "reglenumerotationligne", "reglenumerotationpage", "reglenumerotationparagraphe", "reglenumerotete", "regleoriente", "reglepalette", "reglepapier", "regleparagraphes", "reglepdp", "regleplacementopposition", "reglepolicecorps", "reglepositionnement", "reglepositiontexte", "regleprofils", "regleprogrammes", "reglepublications", "reglereferencage", "regleregistre", "regleregle", "regleremplitligne", "regleremplitlignesreglees", "reglesection", "regleseparationflottant", "reglesortie", "reglesouslignage", "reglesousnumeropage", "reglestrut", "reglesup", "reglesynchronisation", "reglesynonymes", "reglesysteme", "regletab", "regletableaux", "regletabulation", "regletaillepapier", "regletete", "regletetes", "regletexte", "regletextesentete", "regletextesinf", "regletextespdp", "regletextessup", "regletextestexte", "regletextetete", "regletolerance", "regletraitsfins", "regletransitionspage", "regletri", "regletype", "regleurl", "reglevariabletexte", "regleversions", "remplitchamp", "remplitligne", "remplitlignesreglees", "remplittexte", "reservefloat", "resettextcontent", "retourarriere", "sansalinea", "sansdimension", "sansespace", "sansespaceblanc", "sanslignesenteteetpdp", "sanslignessupetinf", "sansliste", "sansmarquage", "sanstest", "sauteblocs", "section", "seeregister", "selectionneblocs", "selectionnepapier", "selectionneversion", "sensunite", "separeflottant", "settext", "setupanswerarea", "setupcolumnsetlines", "setupcolumnsetstart", "setupfonthandling", "setupfontsynonym", "setupframedtexts", "setupindentedtext", "setupinterlinespace2", "setupitemgroup", "setuplistalternative", "setupmathalignment", "setupplacement", "sort", "sousnumeropage", "startalignment", "startarriereplan", "startbuffer", "startcitation", "startcolumnmakeup", "startcolumns", "startcombination", "startcomment", "startcomposant", "startcouleur", "startdescription", "startdocument", "startenumeration", "startenvironement", "startfait", "startfigure", "startfloattext", "startformula", "startframedtext", "startgroupe", "starthiding", "startitemgroup", "startlegend", "startligneregleetexte", "startline", "startlinecorrection", "startlinenumbering", "startlines", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startmakeup", "startmargereglee", "startmarginblock", "startmenuinteraction", "startnamemakeup", "startnarrower", "startopposite", "startoverlay", "startoverview", "startparagraph", "startpositioning", "startpostponing", "startproduit", "startprofile", "startprojet", "startregister", "startsymbolset", "startsynchronization", "starttable", "starttables", "starttabulate", "starttyping", "startunpacked", "startversion", "stopalignment", "stoparriereplan", "stopbuffer", "stopcitation", "stopcolumnmakeup", "stopcolumns", "stopcombination", "stopcomment", "stopcompoetroite", "stopcomposant", "stopcouleur", "stopdescription", "stopdocument", "stopenumeration", "stopenvironement", "stopfait", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stopgroupe", "stophiding", "stopitemgroup", "stoplegend", "stopligneregleetexte", "stopline", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stopmakeup", "stopmargereglee", "stopmarginblock", "stopmenuinteraction", "stopnamemakeup", "stopnarrower", "stopopposite", "stopoverlay", "stopoverview", "stopparagraph", "stoppealignement", "stoppearriereplan", "stoppeblocmarge", "stoppecitation", "stoppecodage", "stoppecolonnes", "stoppecombinaison", "stoppecomposant", "stoppecorrectionligne", "stoppecouleur", "stoppedegroupe", "stoppedocument", "stoppeenvironement", "stoppeglobal", "stoppegroupe", "stoppejeucolonne", "stoppeligne", "stoppeligneregleetexte", "stoppelignes", "stoppelocal", "stoppemakeup", "stoppemargereglee", "stoppenotespdplocales", "stoppenumerotationligne", "stoppeopposition", "stoppepositionnement", "stoppeproduit", "stoppeprofil", "stoppeprojet", "stopperaster", "stopperevetement", "stoppesynchronisation", "stoppetableau", "stoppetableaux", "stoppetexte", "stoppeversion", "stoppevuedensemble", "stoppositioning", "stoppostponing", "stopproduit", "stopprofile", "stopprojet", "stopsymbolset", "stopsynchronization", "stoptable", "stoptables", "stoptabulate", "stoptyping", "stopunpacked", "stopversion", "sub", "subject", "subsection", "subsubject", "subsubsection", "subsubsubject", "suggestion", "suivantprofil", "suivantversion", "suivantversionprofil", "sym", "symbole", "synchronise", "synonym", "tab", "tapebuffer", "testcolumn", "testpage", "tete", "tex", "textemarge", "textenotepdp", "textetete", "title", "titremarge", "traduire", "traiteblocs", "traitepage", "traitfin", "traitsfins", "txt", "typ", "underbar", "underbars", "uneligne", "useXMLfilter", "usedirectory", "usetypescript", "usetypescriptfile", "utiliseJSscripts", "utiliseURL", "utiliseblocs", "utilisechemin", "utilisecommandes", "utilisedocumentexterne", "utiliseencodage", "utilisefichierexterne", "utilisefichiersexternes", "utilisefigureexterne", "utilisemodule", "utilisemodules", "utilisepsiteaudioexterne", "utilisereferences", "utilisespecialites", "utilisesymboles", "utiliseurl", "va", "vaalaboite", "vaalapage", "vaenbas", "valeurcouleur", "valeurgris", "variabletexte", "version", "vide", "vl" }, - ["it"]={ "CAP", "Cap", "Caps", "GIORNOSETTIMANA", "Lettera", "Lettere", "MESE", "Numeri", "Numeriromani", "PAROLA", "PAROLE", "Parola", "Parole", "accoppiacarta", "accoppiadocumento", "accoppiamarcatura", "accoppiapagina", "accoppiaregistro", "adattacampo", "adattalayout", "al", "allineacentro", "allineadestra", "allineasinistra", "altezzacarta", "altezzacartastampa", "altezzacima", "altezzaelenco", "altezzafondo", "altezzaintestazione", "altezzamakeup", "altezzapdp", "altezzatesto", "ambiente", "ampiezzabordo", "ampiezzabordodestro", "ampiezzabordosinistro", "ampiezzacarta", "ampiezzacartastampa", "ampiezzaelenco", "ampiezzamakeup", "ampiezzamargine", "ampiezzamarginedestro", "ampiezzamarginesinistro", "ampiezzatesto", "ap", "apagina", "appendix", "arg", "atleftmargin", "atrightmargin", "barracolori", "barrainterazione", "barrasincronizzazione", "bastablocchi", "bastafile", "cambiaafontdeltesto", "campi", "camporiempimento", "cap", "capello", "chapter", "chim", "circondato", "citazione", "clip", "clonacampo", "colonna", "colore", "coloregrigio", "comment", "commento", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "completeregister", "componenet", "confrontagruppocolori", "confrontatavolozza", "convertinumero", "copiacampo", "correggispaziobianco", "coupledregister", "crlf", "cutspace", "da", "daqualcheparte", "data", "datadioggi", "datareferral", "decrementnumber", "definebodyfontDEF", "definebodyfontREF", "definecolumnbreak", "definecombination", "definedfont", "definefontfeature", "definefonthandling", "defineindentedtext", "defineinmargin", "defineitemgroup", "definelayer", "definemathalignment", "definepagebreak", "defineplacement", "definetypeface", "definisci", "definisciaccento", "definisciambientefontdeltesto", "definisciblocco", "definiscibloccosezione", "definiscibuffer", "definiscicampo", "definiscicampoprincipale", "definiscicapoversi", "definiscicarattere", "definiscicolore", "definiscicomando", "definisciconversione", "definiscidescrizione", "definiscidimensionicarta", "definiscielenco", "definiscielencocombinato", "definiscienumerazione", "definiscietichetta", "definiscifigurasimbolo", "definiscifont", "definiscifontdeltesto", "definiscifontgrezzo", "definisciformatoriferimento", "definiscigruppocolonne", "definiscigruppocolori", "definiscihbox", "definisciincorniciato", "definisciiniziatermina", "definiscilayout", "definiscilinea", "definiscilistariferimenti", "definiscilogo", "definiscimakeup", "definiscimarcatura", "definiscimenuinterazione", "definiscimodellotabella", "definiscioggettomobile", "definisciordinamento", "definiscioutput", "definisciposizionetesto", "definisciprofilo", "definisciprogramma", "definisciregistro", "definisciriferimento", "definiscirigovuoto", "definiscisezione", "definiscisimbolo", "definiscisinonimi", "definiscisinonimofont", "definiscisottocampo", "definiscisovrapposizione", "definiscistackcampi", "definiscistile", "definiscistilefont", "definiscitabulato", "definiscitavolozza", "definiscitesta", "definiscitesto", "definiscitestoincorniciato", "definiscitype", "definiscityping", "definiscivariabiletesto", "definisciversion", "description", "determinacaratteristicheregistro", "determinacarattersticheelenco", "determinanumerotesta", "dimensione", "disabilitamenuinterazione", "distanzabordo", "distanzabordodestro", "distanzabordosinistro", "distanzacima", "distanzafondo", "distanzaintestazione", "distanzamargine", "distanzamarginedestro", "distanzamarginesinistro", "distanzapdp", "domicilio", "el", "elaborablocchi", "elaborapagina", "elementi", "elemento", "emptylines", "enumeration", "etichetta", "etichette", "fatto", "figuraesterna", "fondo", "forzablocchi", "framedtext", "frazione", "getnumber", "giornosettimana", "griglia", "headsym", "hl", "ignoto", "immediatebetweenlist", "immediatetolist", "impaccato", "impostaallineamento", "impostaambientefontdeltesto", "impostaampiezzariga", "impostabarrainterazione", "impostabarrasincronizzazione", "impostablocchimargine", "impostablocco", "impostabloccosezione", "impostabuffer", "impostacampi", "impostacampo", "impostacapoversi", "impostacaption", "impostacaptions", "impostacima", "impostaclippling", "impostacolonne", "impostacolore", "impostacolori", "impostacombinazioni", "impostacommento", "impostacommentopagina", "impostadefinizionenotepdp", "impostadescrizioni", "impostadimensionicarta", "impostaelementi", "impostaelencazioni", "impostaelenco", "impostaelencocombinato", "impostaenumerazioni", "impostafigureesterne", "impostafondo", "impostafontdeltesto", "impostaforms", "impostaformule", "impostagruppocolonne", "impostaincorniciato", "impostainiziatermina", "impostainmargine", "impostainstestazione", "impostainterazione", "impostainterlinea", "impostalayout", "impostalegenda", "impostalinea", "impostalineemargine", "impostalineenere", "impostalineeriempimento", "impostalineesottili", "impostalineetesto", "impostalingua", "impostalistariferimenti", "impostamaiuscole", "impostamakeup", "impostamarcatura", "impostamenuinterazione", "impostamenzione", "impostanotepdp", "impostanumerazione", "impostanumerazionecapoversi", "impostanumerazionepagina", "impostanumerazionerighe", "impostanumeropagina", "impostanumerosottopagina", "impostanumerotesta", "impostaoggettimobili", "impostaoggettomobile", "impostaordinamento", "impostaoutput", "impostaparranging", "impostapdp", "impostapiustretto", "impostaposizionamento", "impostaposizionamentoopposti", "impostaposizionetesto", "impostaprofili", "impostaprogrammi", "impostapubblicazioni", "impostapulsanti", "impostaregistro", "impostarientro", "impostariferimento", "impostarighe", "impostarigheriempimento", "impostarigovuoto", "impostarotazione", "impostaschermi", "impostaschermointerazione", "impostasegnosillabazione", "impostasetsimboli", "impostasezione", "impostasfondi", "impostasfondo", "impostasincronizzazione", "impostasinonimi", "impostasistema", "impostasottolinea", "impostaspaziatura", "impostaspaziobianco", "impostaspezzamentooggettomobile", "impostastrut", "impostatab", "impostatabelle", "impostatabulato", "impostatavolozza", "impostatesta", "impostateste", "impostatesticima", "impostatestifondo", "impostatestiincorniciati", "impostatestiintestazioni", "impostatestipdp", "impostatesto", "impostatestoetichette", "impostatestointestazioni", "impostatestotesti", "impostatolleranza", "impostatransizionepagina", "impostatype", "impostatyping", "impostaurl", "impostavariabiletesto", "impostaversioni", "impostazioni", "in", "inaltromargine", "incorniciato", "incrementanumero", "indentation", "indestra", "ininner", "iniziaallineamento", "iniziaambiente", "iniziabloccomargine", "iniziacitazione", "iniziacodifica", "iniziacolonne", "iniziacolore", "iniziacombinazione", "iniziacomponente", "iniziacorrezioneriga", "iniziadocumento", "iniziafigura", "iniziaglobale", "iniziagruppocolonne", "iniziaimpaccato", "inizialineamargine", "inizialineatesto", "inizialocale", "iniziamakeup", "inizianotepdplocali", "inizianumerazionerighe", "iniziaopposto", "iniziaoverview", "iniziapiustretto", "iniziaposizionamento", "iniziaprodotto", "iniziaprofilo", "iniziaprogetto", "iniziaraster", "iniziariga", "iniziarighe", "iniziasetsimboli", "iniziasfondo", "iniziasincronizzazione", "iniziasovrapposizione", "iniziatabella", "iniziatabelle", "iniziatesto", "iniziaunpacked", "iniziaversione", "inlatodestro", "inlatosinistro", "inmaframed", "inmargine", "inmarginedestro", "inmarginesinistro", "inneredgedistance", "inneredgewidth", "innermargindistance", "innermarginwidth", "inouter", "inriga", "insinistra", "installalingua", "intorno", "labeling", "leg", "lettera", "lettere", "lineamargine", "lineanera", "lineasottile", "lineatesto", "lineenere", "lineeriempimento", "lineesottili", "lingua", "linguaprincipale", "listsymbol", "livellotesta", "loadsorts", "loadsynonyms", "logcampi", "lunghezzaelenco", "maframed", "mapfontsize", "mar", "marcatura", "marcaversione", "matematica", "mediaeval", "menuinterattivo", "menzione", "mese", "mettielenco", "mettielencocombinato", "mettifiancoafianco", "mettiformula", "mettiingriglia", "mettilegenda", "mettilinea", "mettiloghi", "mettinotepdp", "mettinotepdplocali", "mettinumeropagina", "mettiregistro", "mettisegnalibro", "mettisottoformula", "mettiunosullaltro", "mettivariabiletesto", "mostraambientefontdeltesto", "mostracampi", "mostracolore", "mostracornice", "mostrafiguresterne", "mostrafontdeltesto", "mostragriglia", "mostragruppocolori", "mostraimpostazioni", "mostralyout", "mostramakeup", "mostrasetsimboli", "mostrastampa", "mostrastruts", "mostratavolozza", "movesidefloat", "name", "nascondiblocchi", "navigating", "nextsection", "nientedimensioni", "nienteelenco", "nientelineecimafondo", "nientelineintestazionepdp", "nientemarcatura", "nienterientro", "nientespazio", "nientespaziobianco", "nocap", "nome", "nomeunita", "nop", "nota", "notapdp", "notest", "numberofsubpages", "numeri", "numeriromani", "numeroformula", "numeropagina", "numeropaginacompleto", "numerosottoformula", "numerotesta", "numerotestacorrente", "numerototaledipagine", "outeredgedistance", "outeredgewidth", "outermargindistance", "outermarginwidth", "overbar", "overbars", "overstrike", "overstrikes", "pagedepth", "pageoffset", "pagina", "paragraph", "paroladestra", "parolainmargine", "part", "passaafontgrezzo", "ped", "pedap", "perlungo", "placefloat", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "placerawlist", "placereferencelist", "posizionanumerotesta", "posizionatesto", "posizionatestotesta", "posizione", "prendibuffer", "prendimarcatura", "prodotto", "progetto", "programma", "pubblicazione", "pulsante", "pulsantemenu", "pulsantinterazione", "punti", "qualcheriga", "ran", "referral", "referring", "register", "reimposta", "reimpostamarcatura", "reservefloat", "resetnumber", "resettextcontent", "rientro", "rif", "rifai", "riferimento", "riferimentopagina", "riferimentotesto", "riflessione", "rigariempimento", "rigovuoto", "ruota", "saltablocchi", "scala", "schermo", "scrividentroelenco", "scriviinelenco", "scriviinlistariferimenti", "scriviinregistro", "section", "seeregister", "segnalibro", "seguiprofilo", "seguiversione", "seguiversioneprofilo", "selezionablocchi", "selezionacarta", "selezionaversione", "separamarcatura", "setnumber", "settext", "setupanswerarea", "setupcolumnsetlines", "setupcolumnsetstart", "setupfonthandling", "setupfontsynonym", "setupindentedtext", "setupinterlinespace2", "setupitemgroup", "setuplistalternative", "setupmathalignment", "setuppaper", "setupplacement", "setvariabiletesto", "sfondo", "sim", "simbolo", "sincronizza", "sort", "spazifissi", "spazio", "spaziobianco", "spaziocima", "spaziodietro", "spaziofisso", "spaziofondo", "spessoreriga", "spezzaoggettomobile", "spostaagriglia", "spostaformula", "stackcampi", "startalignment", "startambiente", "startbuffer", "startcitazione", "startcolore", "startcolumnmakeup", "startcolumns", "startcombination", "startcomment", "startcomponenet", "startdescription", "startdocument", "startenumeration", "startfatto", "startfigure", "startfloattext", "startformula", "startframedtext", "starthiding", "startimpaccato", "startitemgroup", "startlegend", "startline", "startlineamargine", "startlineatesto", "startlinecorrection", "startlinenumbering", "startlines", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startmakeup", "startmarginblock", "startmenuinterattivo", "startnamemakeup", "startnarrower", "startopposite", "startoverlay", "startoverview", "startparagraph", "startpositioning", "startpostponing", "startprodotto", "startprofile", "startprogetto", "startregister", "startsfondo", "startsymbolset", "startsynchronization", "starttable", "starttables", "starttabulate", "starttyping", "startunpacked", "startversione", "stirato", "stopalignment", "stopambiente", "stopbuffer", "stopcitazione", "stopcolore", "stopcolumnmakeup", "stopcolumns", "stopcombination", "stopcomment", "stopcomponenet", "stopdescription", "stopdocument", "stopenumeration", "stopfatto", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stophiding", "stopimpaccato", "stopitemgroup", "stoplegend", "stopline", "stoplineamargine", "stoplineatesto", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stopmakeup", "stopmarginblock", "stopmenuinterattivo", "stopnamemakeup", "stopnarrower", "stopopposite", "stopoverlay", "stopoverview", "stopparagraph", "stoppositioning", "stoppostponing", "stopprodotto", "stopprofile", "stopprogetto", "stopsfondo", "stopsymbolset", "stopsynchronization", "stoptable", "stoptables", "stoptabulate", "stoptyping", "stopunpacked", "stopversione", "sub", "subject", "subpagenumber", "subsection", "subsubject", "subsubsection", "subsubsubject", "synonym", "tab", "terminaallineamento", "terminaambiente", "terminabloccomargine", "terminacitazione", "terminacodifica", "terminacolonne", "terminacolore", "terminacombinazione", "terminacomponente", "terminacorrezioneriga", "terminadocumento", "terminaglobale", "terminagruppocolonne", "terminaimpaccato", "terminalineamargine", "terminalineatesto", "terminalocale", "terminamakeup", "terminanotepdplocali", "terminanumerazionerighe", "terminaopposto", "terminaoverview", "terminapiustretto", "terminaposizionamento", "terminaprodotto", "terminaprofili", "terminaprogetto", "terminaraster", "terminariga", "terminarighe", "terminasfondo", "terminasincronizzazione", "terminasovrapposizione", "terminatabella", "terminatabelle", "terminatesto", "terminaunpacked", "terminaversioni", "testa", "testcolumn", "testoetichetta", "testoinmargine", "testoinstestazioni", "testonotapdp", "testoriempimento", "testpage", "tex", "tieniblocchi", "title", "titoloinmargine", "tooltip", "traduci", "txt", "typ", "type", "typebuffer", "typefile", "underbar", "underbars", "usaJSscripts", "usaURL", "usablocco", "usacartella", "usacodifica", "usacolonnasonoraesterna", "usacomandi", "usadocumentoesterno", "usafiguraesterna", "usafileesterni", "usafileesterno", "usamoduli", "usamodulo", "usariferimenti", "usasimboli", "usaspecialita", "usaurl", "useXMLfilter", "usedirectory", "usetypescript", "usetypescriptfile", "vaia", "vaiabox", "vaiapagina", "vaigiu", "valorecolore", "valoregrigio", "variabiletesto", "versione", "vl" }, - ["nl"]={ "CAP", "Cap", "Caps", "Cijfers", "KAP", "Kap", "Kaps", "Letter", "Letters", "MAAND", "Romeins", "WEEKDAG", "WOORD", "WOORDEN", "Woord", "Woorden", "aantalsubpaginas", "about", "achtergrond", "appendix", "arg", "bepaalkopnummer", "bepaallijstkenmerken", "bepaalregisterkenmerken", "betekenis", "binnenmargeafstand", "binnenmargebreedte", "binnenrandafstand", "binnenrandbreedte", "blanko", "blokje", "blokjes", "blokkeerinteractiemenu", "bodemwit", "bookmark", "bovenafstand", "bovenhoogte", "breuk", "buitenmargeafstand", "buitenmargebreedte", "buitenrandafstand", "buitenrandbreedte", "but", "button", "cap", "chapter", "chem", "cijfers", "citaat", "citeer", "clip", "comment", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "converteernummer", "copieerveld", "corrigeerwitruimte", "coupledregister", "crlf", "datum", "definebodyfontDEF", "definebodyfontREF", "definedfont", "definefontfeature", "definefonthandling", "definerawfont", "definetypeface", "definieer", "definieeraccent", "definieeralineas", "definieerbeeldmerk", "definieerblanko", "definieerblok", "definieerbuffer", "definieercombinatie", "definieercommando", "definieerconversie", "definieerfiguursymbool", "definieerfont", "definieerfontstijl", "definieerfontsynoniem", "definieerhbox", "definieerhoofdveld", "definieeringesprongentext", "definieerinmarge", "definieerinteractiemenu", "definieeritemgroep", "definieerkadertekst", "definieerkarakter", "definieerkleur", "definieerkleurgroep", "definieerkolomgroep", "definieerkolomovergang", "definieerkop", "definieerkorps", "definieerkorpsomgeving", "definieerlayer", "definieerlayout", "definieerletter", "definieerlijn", "definieerlijst", "definieermarkering", "definieeromlijnd", "definieeropmaak", "definieeroverlay", "definieerpaginaovergang", "definieerpalet", "definieerpapierformaat", "definieerplaats", "definieerplaatsblok", "definieerprofiel", "definieerprogramma", "definieerreferentie", "definieerreferentieformaat", "definieerreferentielijst", "definieerregister", "definieersamengesteldelijst", "definieersectie", "definieersectieblok", "definieersorteren", "definieerstartstop", "definieersubveld", "definieersymbool", "definieersynoniemen", "definieertabelvorm", "definieertabulatie", "definieertekst", "definieertekstpositie", "definieertekstvariabele", "definieertype", "definieertypen", "definieeruitvoer", "definieerveld", "definieerveldstapel", "definieerversie", "definieerwiskundeuitlijnen", "description", "dimensie", "directnaarlijst", "directtussenlijst", "doordefinieren", "doorlabelen", "doornummeren", "dunnelijn", "dunnelijnen", "eenregel", "enumeration", "ergens", "externfiguur", "forceerblokken", "formulenummer", "framedtext", "gebruikJSscripts", "gebruikURL", "gebruikXMLfilter", "gebruikblokken", "gebruikcommandos", "gebruikexterndocument", "gebruikexternefile", "gebruikexternefiles", "gebruikexternfiguur", "gebruikexterngeluidsfragment", "gebruikgebied", "gebruikmodule", "gebruikmodules", "gebruikreferenties", "gebruikspecials", "gebruiksymbolen", "gebruiktypescript", "gebruiktypescriptfile", "gebruikurl", "geenblokkenmeer", "geenbovenenonderregels", "geendimensie", "geenfilesmeer", "geenhoofdenvoetregels", "geenlijst", "geenmarkering", "geenspatie", "geentest", "geenwitruimte", "geg", "grijskleur", "grijswaarde", "haalbuffer", "haalmarkering", "haalnummer", "haarlijn", "handhaafblokken", "herhaal", "hl", "hoofdafstand", "hoofdhoogte", "hoofdtaal", "hoog", "huidigedatum", "huidigekopnummer", "in", "inanderemarge", "inbinnen", "inbuiten", "indentation", "inlijnd", "inlinker", "inlinkermarge", "inlinkerrand", "inmarge", "inrechter", "inrechtermarge", "inrechterrand", "inregel", "inspringen", "installeertaal", "instellingen", "interactiebalk", "interactiebuttons", "interactiemenu", "invullijnen", "invulregel", "invultekst", "invulveld", "inwilijnd", "items", "its", "kantlijn", "kap", "kenmerk", "kenmerkdatum", "kentekstvariabeletoe", "kleur", "kleurenbalk", "kleurwaarde", "kloonveld", "kolom", "kop", "kopniveau", "kopnummer", "koppeldocument", "koppelmarkering", "koppelpagina", "koppelpapier", "koppelregister", "kopsym", "koptekst", "kopwit", "laag", "label", "labeling", "labels", "labeltekst", "laho", "leg", "legeregels", "letter", "letters", "lijndikte", "lijstbreedte", "lijsthoogte", "lijstlengte", "lijstsymbool", "linkermargeafstand", "linkermargebreedte", "linkerrandafstand", "linkerrandbreedte", "loadsorts", "loadsynonyms", "maand", "mapfontsize", "mar", "margeafstand", "margebreedte", "margetekst", "margetitel", "margewoord", "markeer", "markeerversie", "mediaeval", "menubutton", "naam", "naar", "naarbox", "naarpagina", "name", "navigerend", "nextsection", "nietinspringen", "nocap", "nokap", "noot", "nop", "omgeving", "omlaag", "omlijnd", "onbekend", "onderafstand", "onderdeel", "onderhoogte", "ontkoppelmarkering", "op", "opelkaar", "oplinkermarge", "oppagina", "oprechtermarge", "overbar", "overbars", "overstrike", "overstrikes", "pagina", "paginadiepte", "paginanummer", "paginaoffset", "paginareferentie", "papierbreedte", "papierhoogte", "paragraph", "part", "paslayoutaan", "passeerblokken", "passendveld", "plaatsbeeldmerken", "plaatsbookmarks", "plaatsformule", "plaatskopnummer", "plaatskoptekst", "plaatslegenda", "plaatslijn", "plaatslijst", "plaatslokalevoetnoten", "plaatsnaastelkaar", "plaatsonderelkaar", "plaatsopgrid", "plaatspaginanummer", "plaatsplaatsblok", "plaatsreferentielijst", "plaatsregister", "plaatsruwelijst", "plaatssamengesteldelijst", "plaatssubformule", "plaatstekstvariabele", "plaatsvoetnoten", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "positioneer", "positioneertekst", "printpapierbreedte", "printpapierhoogte", "produkt", "programma", "projekt", "publicatie", "punten", "ran", "randafstand", "randbreedte", "rechtermargeafstand", "rechtermargebreedte", "rechterrandafstand", "rechterrandbreedte", "ref", "refereer", "referentie", "regellinks", "regelmidden", "regelrechts", "register", "registreervelden", "reservefloat", "reset", "resetmarkering", "resetnummer", "resettekstinhoud", "resettextcontent", "romeins", "rooster", "roteer", "rugwit", "schaal", "scherm", "schrijfnaarlijst", "schrijfnaarreferentielijst", "schrijfnaarregister", "schrijftussenlijst", "section", "seeregister", "selecteerblokken", "selecteerpapier", "selecteerversie", "setnummer", "setupfonthandling", "setupfontsynonym", "setupinterlinespace2", "setuplistalternative", "snijwit", "som", "sort", "spatie", "spiegel", "splitsplaatsblok", "startachtergrond", "startalignment", "startbuffer", "startcitaat", "startcodering", "startcolumns", "startcombinatie", "startcombination", "startcomment", "startdescription", "startdocument", "startenumeration", "startfigure", "startfiguur", "startfloattext", "startformula", "startframedtext", "startgeg", "startglobaal", "starthiding", "startinteractiemenu", "startitemgroup", "startkantlijn", "startkleur", "startkolomgroep", "startkolommen", "startkolomopmaak", "startlegend", "startline", "startlinecorrection", "startlinenumbering", "startlines", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startlokaal", "startlokalevoetnoten", "startmakeup", "startmargeblok", "startmarginblock", "startnaast", "startnamemakeup", "startnarrower", "startomgeving", "startonderdeel", "startopelkaar", "startopmaak", "startopposite", "startoverlay", "startoverview", "startoverzicht", "startparagraph", "startpositioneren", "startpositioning", "startpostponing", "startprodukt", "startprofiel", "startprofile", "startprojekt", "startraster", "startregel", "startregelcorrectie", "startregelnummeren", "startregels", "startregister", "startsmaller", "startsymbolset", "startsymboolset", "startsynchronisatie", "startsynchronization", "starttabel", "starttabellen", "starttable", "starttables", "starttabulate", "starttekst", "starttekstlijn", "starttyping", "startuitlijnen", "startunpacked", "startvanelkaar", "startversie", "stelachtergrondenin", "stelachtergrondin", "stelalineasin", "stelantwoordgebiedin", "stelarrangerenin", "stelblankoin", "stelblokin", "stelblokjesin", "stelblokkopjein", "stelblokkopjesin", "stelbovenin", "stelboventekstenin", "stelbufferin", "stelbuttonsin", "stelciterenin", "stelclipin", "stelcombinatiesin", "stelcommentaarin", "steldoordefinierenin", "steldoornummerenin", "steldunnelijnenin", "stelexternefigurenin", "stelformulesin", "stelformulierenin", "stelhoofdin", "stelhoofdtekstenin", "stelingesprongentextin", "stelinmargein", "stelinspringenin", "stelinteractiebalkin", "stelinteractiein", "stelinteractiemenuin", "stelinteractieschermin", "stelinterliniein", "stelinvullijnenin", "stelinvulregelsin", "stelitemgroepin", "stelitemsin", "stelkadertekstenin", "stelkantlijnin", "stelkapitalenin", "stelkleurenin", "stelkleurin", "stelkolomgroepin", "stelkolomgroepregelsin", "stelkolomgroepstartin", "stelkolommenin", "stelkopin", "stelkopnummerin", "stelkoppeltekenin", "stelkoppenin", "stelkoptekstin", "stelkorpsin", "stelkorpsomgevingin", "stellabeltekstin", "stellayoutin", "stellegendain", "stellijndiktein", "stellijnin", "stellijstin", "stelmargeblokkenin", "stelmarkeringin", "stelnaastplaatsenin", "stelnummerenin", "stelnummerin", "stelomlijndin", "stelonderin", "stelonderstrepenin", "stelondertekstenin", "stelopmaakin", "stelopsommingenin", "stelpaginacommentaarin", "stelpaginanummerin", "stelpaginanummeringin", "stelpaginaovergangenin", "stelpaletin", "stelpapierformaatin", "stelpapierin", "stelparagraafnummerenin", "stelplaatsblokin", "stelplaatsblokkenin", "stelplaatsbloksplitsenin", "stelplaatsin", "stelpositionerenin", "stelprofielenin", "stelprogrammasin", "stelpublicatiesin", "stelrastersin", "stelreferentielijstin", "stelrefererenin", "stelregelnummerenin", "stelregelsin", "stelregisterin", "stelroterenin", "stelsamengesteldelijstin", "stelsectieblokin", "stelsectiein", "stelsmallerin", "stelsorterenin", "stelspatieringin", "stelstartstopin", "stelstrutin", "stelsubpaginanummerin", "stelsymboolsetin", "stelsynchronisatiebalkin", "stelsynchronisatiein", "stelsynoniemenin", "stelsysteemin", "steltaalin", "steltabellenin", "steltabin", "steltabulatiein", "steltekstin", "steltekstinhoudin", "steltekstlijnenin", "steltekstpositiein", "stelteksttekstenin", "steltekstvariabelein", "steltolerantiein", "steltypein", "steltypenin", "steluitlijnenin", "steluitvoerin", "stelurlin", "stelveldenin", "stelveldin", "stelversiesin", "stelvoetin", "stelvoetnootdefinitiein", "stelvoetnotenin", "stelvoettekstenin", "stelwiskundeuitlijnenin", "stelwitruimtein", "stopachtergrond", "stopalignment", "stopbuffer", "stopcitaat", "stopcodering", "stopcolumns", "stopcombinatie", "stopcombination", "stopcomment", "stopdescription", "stopdocument", "stopenumeration", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stopgeg", "stopglobaal", "stophiding", "stopinteractiemenu", "stopitemgroup", "stopkantlijn", "stopkleur", "stopkolomgroep", "stopkolommen", "stopkolomopmaak", "stoplegend", "stopline", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stoplokaal", "stoplokalevoetnoten", "stopmakeup", "stopmargeblok", "stopmarginblock", "stopnaast", "stopnamemakeup", "stopnarrower", "stopomgeving", "stoponderdeel", "stopopelkaar", "stopopmaak", "stopopposite", "stopoverlay", "stopoverview", "stopoverzicht", "stopparagraph", "stoppositioneren", "stoppositioning", "stoppostponing", "stopprodukt", "stopprofiel", "stopprofile", "stopprojekt", "stopraster", "stopregel", "stopregelcorrectie", "stopregelnummeren", "stopregels", "stopsmaller", "stopsymbolset", "stopsynchronisatie", "stopsynchronization", "stoptabel", "stoptabellen", "stoptable", "stoptables", "stoptabulate", "stoptekst", "stoptekstlijn", "stoptyping", "stopuitlijnen", "stopunpacked", "stopvanelkaar", "stopversie", "sub", "subformulenummer", "subject", "subpaginanummer", "subsection", "subsubject", "subsubsection", "subsubsubject", "suggestie", "switchnaarkorps", "switchtorawfont", "sym", "symbool", "symoffset", "synchronisatiebalk", "synchroniseer", "synonym", "taal", "tab", "tekstbreedte", "teksthoogte", "tekstlijn", "tekstreferentie", "tekstvariabele", "testkolom", "testpagina", "tex", "title", "toelichting", "toonexternefiguren", "toongrid", "tooninstellingen", "toonkader", "toonkleur", "toonkleurgroep", "toonkorps", "toonkorpsomgeving", "toonlayout", "toonopmaak", "toonpalet", "toonprint", "toonstruts", "toonsymboolset", "toonvelden", "totaalaantalpaginas", "txt", "typ", "type", "typebuffer", "typefile", "uit", "uitgerekt", "underbar", "underbars", "usecodering", "usedirectory", "vastespatie", "vastespaties", "veld", "veldstapel", "verbergblokken", "vergelijkkleurgroep", "vergelijkpalet", "verhoognummer", "verlaagnummer", "verplaatsformule", "verplaatsopgrid", "verplaatszijblok", "versie", "vertaal", "verwerkblokken", "verwerkpagina", "vl", "voetafstand", "voethoogte", "voetnoot", "voetnoottekst", "volgprofiel", "volgprofielversie", "volgversie", "volledigepaginanummer", "volledigregister", "voluit", "weekdag", "wilijnd", "wiskunde", "witruimte", "woonplaats", "woordrechts", "zetbreedte", "zethoogte" }, - ["pe"]={ "CAP", "Cap", "Caps", "Character", "Characters", "MONTH", "Numbers", "Romannumerals", "WEEKDAY", "WORD", "WORDS", "Word", "Words", "appendix", "cap", "chapter", "chem", "comment", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "coupledregister", "crlf", "definebodyfontDEF", "definebodyfontREF", "definedfont", "definefontfeature", "definefonthandling", "defineindentedtext", "definetypeface", "description", "enumeration", "framedtext", "indentation", "inmframed", "its", "labeling", "loadsorts", "loadsynonyms", "mapfontsize", "mediaeval", "mframed", "name", "nextsection", "nocap", "overbar", "overbars", "overstrike", "overstrikes", "paragraph", "part", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "ran", "register", "reservefloat", "resettextcontent", "section", "seeregister", "setupanswerarea", "setupcapitals", "setupfonthandling", "setupfontsynonym", "setupindentedtext", "setupinterlinespace2", "setuplistalternative", "setupurl", "sort", "startalignment", "startbuffer", "startcolumns", "startcombination", "startcomment", "startdescription", "startdocument", "startenumeration", "startfigure", "startfloattext", "startformula", "startframedtext", "starthiding", "startitemgroup", "startlegend", "startline", "startlinecorrection", "startlinenumbering", "startlines", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startmakeup", "startmarginblock", "startnamemakeup", "startnarrower", "startopposite", "startoverlay", "startoverview", "startparagraph", "startpositioning", "startpostponing", "startprofile", "startraster", "startregister", "startsymbolset", "startsynchronization", "starttable", "starttables", "starttabulate", "starttyping", "startunpacked", "startتولید", "startحقیقت", "startخط‌حاشیه", "startخط‌متن", "startرنگ", "startفشرده", "startمحیط", "startمنوی‌پانل", "startمولفه", "startنسخه", "startنقل‌قول", "startپروژه", "startپس‌زمینه", "stopalignment", "stopbuffer", "stopcolumns", "stopcombination", "stopcomment", "stopdescription", "stopdocument", "stopenumeration", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stophiding", "stopitemgroup", "stoplegend", "stopline", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stopmakeup", "stopmarginblock", "stopnamemakeup", "stopnarrower", "stopopposite", "stopoverlay", "stopoverview", "stopparagraph", "stoppositioning", "stoppostponing", "stopprofile", "stopraster", "stopsymbolset", "stopsynchronization", "stoptable", "stoptables", "stoptabulate", "stoptyping", "stopunpacked", "stopتولید", "stopحقیقت", "stopخط‌حاشیه", "stopخط‌متن", "stopرنگ", "stopفشرده", "stopمحیط", "stopمنوی‌پانل", "stopمولفه", "stopنسخه", "stopنقل‌قول", "stopپروژه", "stopپس‌زمینه", "sub", "subject", "subsection", "subsubject", "subsubsection", "subsubsubject", "synonym", "title", "tooltip", "txt", "typ", "underbar", "underbars", "useJSscripts", "useURL", "useXMLfilter", "usedirectory", "useurl", "آفست‌صفحه", "آیتم", "آیتمها", "آینه", "اجباربلوکها", "ارتفاع‌آرایش", "ارتفاع‌بالا", "ارتفاع‌برگ", "ارتفاع‌ته‌برگ", "ارتفاع‌خط", "ارتفاع‌سربرگ", "ارتفاع‌متن", "ارتفاع‌پایین", "از", "ازکارانداختن‌منوی‌پانل", "استفاده‌بلوکها", "استفاده‌دستخط‌تایپ", "استفاده‌رمزینه", "استفاده‌شکل‌خارجی", "استفاده‌فرمانها", "استفاده‌قطعه‌موزیک‌خارجی", "استفاده‌مدول", "استفاده‌مدولها", "استفاده‌مرجعها", "استفاده‌مسیر", "استفاده‌نمادها", "استفاده‌نوشتارخارجی", "استفاده‌ویژگیها", "استفاده‌پرونده‌خارجی", "استفاده‌پرونده‌دستخط‌تایپ", "استفاده‌پرونده‌های‌خارجی", "اعدادلاتین", "افزودن", "اما", "امتحان‌نکن", "انتخاب‌برگ", "انتخاب‌بلوکها", "انتخاب‌نسخه", "انتقال‌به‌توری", "انتقال‌فرمول", "انتقال‌کنار‌شناور", "انجام‌دوباره", "بارگذاریها", "بارگذاری‌آرایش", "بارگذاری‌آیتمها", "بارگذاری‌ارجاع", "بارگذاری‌اندازه‌برگ", "بارگذاری‌باریکتر", "بارگذاری‌بافر", "بارگذاری‌بالا", "بارگذاری‌بخش", "بارگذاری‌بردباری", "بارگذاری‌برنامه‌ها", "بارگذاری‌برگ", "بارگذاری‌بست", "بارگذاری‌بلوک", "بارگذاری‌بلوکهای‌حاشیه", "بارگذاری‌بلوک‌بخش", "بارگذاری‌تایپ", "بارگذاری‌تایپ‌کردن", "بارگذاری‌تب", "بارگذاری‌ترتیب", "بارگذاری‌ترکیب‌ها", "بارگذاری‌تطابق", "بارگذاری‌تعریف‌پانوشت", "بارگذاری‌تنظیم", "بارگذاری‌تنظیم‌ریاضی", "بارگذاری‌ته‌برگ", "بارگذاری‌تورفتگی", "بارگذاری‌توضیح", "بارگذاری‌توضیح‌صفحه", "بارگذاری‌ثبت", "بارگذاری‌جانشانی", "بارگذاری‌جدولها", "بارگذاری‌جدول‌بندی", "بارگذاری‌خالی", "بارگذاری‌خروجی", "بارگذاری‌خط", "بارگذاری‌خطها", "بارگذاری‌خطهای‌حاشیه", "بارگذاری‌خطهای‌سیاه", "بارگذاری‌خطهای‌متن", "بارگذاری‌خطهای‌مجموعه‌ستون", "بارگذاری‌خطها‌ی‌نازک", "بارگذاری‌درج‌درخطها", "بارگذاری‌درج‌مخالف", "بارگذاری‌درون‌حاشیه", "بارگذاری‌دوران", "بارگذاری‌دکمه‌ها", "بارگذاری‌راهنما", "بارگذاری‌رنگ", "بارگذاری‌رنگها", "بارگذاری‌زبان", "بارگذاری‌ستونها", "بارگذاری‌سر", "بارگذاری‌سربرگ", "بارگذاری‌سرها", "بارگذاری‌سیستم", "بارگذاری‌شرح", "بارگذاری‌شرحها", "بارگذاری‌شروع‌مجموعه‌ستون", "بارگذاری‌شروع‌پایان", "بارگذاری‌شماره", "بارگذاری‌شماره‌زیرصفحه", "بارگذاری‌شماره‌سر", "بارگذاری‌شماره‌صفحه", "بارگذاری‌شماره‌گذاری", "بارگذاری‌شماره‌گذاریها", "بارگذاری‌شماره‌گذاری‌صفحه", "بارگذاری‌شماره‌گذاری‌پاراگراف", "بارگذاری‌شماره‌‌گذاری‌خط", "بارگذاری‌شناور", "بارگذاری‌شناورها", "بارگذاری‌شکافتن‌شناورها", "بارگذاری‌شکلهای‌خارجی", "بارگذاری‌طرح", "بارگذاری‌طرح‌بندی", "بارگذاری‌عرض‌خط", "بارگذاری‌فاصله‌بین‌خط", "بارگذاری‌فرمولها", "بارگذاری‌فضای‌سفید", "بارگذاری‌فضا‌گذاری", "بارگذاری‌قالبی", "بارگذاری‌قلم‌متن", "بارگذاری‌لوح", "بارگذاری‌لیست", "بارگذاری‌لیست‌ترکیبی", "بارگذاری‌لیست‌مرجع", "بارگذاری‌مترادفها", "بارگذاری‌متغیر‌متن", "بارگذاری‌متن", "بارگذاری‌متنهای‌بالا", "بارگذاری‌متن‌سر", "بارگذاری‌متن‌سربرگ", "بارگذاری‌متن‌قالبی", "بارگذاری‌متن‌متنها", "بارگذاری‌متن‌پانوشت", "بارگذاری‌متن‌پایین", "بارگذاری‌مجموعه‌ستون", "بارگذاری‌مجموعه‌نماد", "بارگذاری‌محیط‌قلم‌متن", "بارگذاری‌منوی‌پانل", "بارگذاری‌مکان‌متن", "بارگذاری‌مکان‌گذاری", "بارگذاری‌میدان", "بارگذاری‌میدانها", "بارگذاری‌میله‌تطابق", "بارگذاری‌میله‌زیر", "بارگذاری‌میله‌پانل", "بارگذاری‌نسخه‌ها", "بارگذاری‌نشانه‌شکستن", "بارگذاری‌نشانه‌گذاری", "بارگذاری‌نشرها", "بارگذاری‌نقل", "بارگذاری‌پاراگرافها", "بارگذاری‌پانل", "بارگذاری‌پانوشتها", "بارگذاری‌پایین", "بارگذاری‌پرده‌ها", "بارگذاری‌پرده‌پانل", "بارگذاری‌پروفایلها", "بارگذاری‌پرکردن‌خطها", "بارگذاری‌پس‌زمینه", "بارگذاری‌پس‌زمینه‌ها", "بارگذاری‌چیدن", "بارگذاری‌گذارصفحه", "بارگذاری‌گروههای‌آیتم", "بارگذاری‌گروه‌آیتم", "بازنشانی", "بازنشانی‌شماره", "بازنشانی‌متن", "بازنشانی‌نشانه‌گذاری", "باگذاری‌متن‌برچسب", "بدون‌بعد", "بدون‌بلوکهای‌بیشتر", "بدون‌تورفتگی", "بدون‌خط‌بالاوپایین", "بدون‌خط‌سروته‌برگ", "بدون‌فایلهای‌بیشتر", "بدون‌فضا", "بدون‌فضای‌سفید", "بدون‌لیست", "بدون‌نشانه‌گذاری", "برنامه", "بروبه", "بروبه‌جعبه", "بروبه‌صفحه", "بروپایین", "برچسب", "برچسبها", "بعد", "بلند", "بلوکهای‌پردازش", "بلوکها‌پنهان", "بنویس‌بین‌لیست", "بنویس‌درثبت", "بنویس‌درلیست‌مرجع", "بنویس‌در‌لیست", "تاریخ", "تاریخ‌جاری", "تاریخ‌رجوع", "تایپ", "تایپ‌بافر", "تایپ‌پرونده", "تب", "ترجمه", "تطابق", "تعریف", "تعریف‌آرایش", "تعریف‌آرم", "تعریف‌الگوی‌جدول", "تعریف‌اندازه‌برگ", "تعریف‌بافر", "تعریف‌بخش", "تعریف‌برنامه", "تعریف‌برچسب", "تعریف‌بلوک", "تعریف‌بلوک‌بخش", "تعریف‌تایپ", "تعریف‌تایپ‌کردن", "تعریف‌تبدیل", "تعریف‌ترتیب", "تعریف‌ترکیب", "تعریف‌تنظیم‌ریاضی", "تعریف‌توده‌میدان", "تعریف‌ثبت", "تعریف‌جانشانی", "تعریف‌جدول‌بندی", "تعریف‌جعبه‌‌افقی", "تعریف‌حرف", "تعریف‌خالی", "تعریف‌خروجی", "تعریف‌خط‌حائل", "تعریف‌درون‌حاشیه", "تعریف‌رنگ", "تعریف‌زیرمیدان", "تعریف‌سبک", "تعریف‌سبک‌قلم", "تعریف‌سر", "تعریف‌شرح", "تعریف‌شروع‌پایان", "تعریف‌شماره‌بندی", "تعریف‌شمایل‌مرجع", "تعریف‌شناور", "تعریف‌شکستن‌ستون", "تعریف‌شکست‌صفحه", "تعریف‌طرح‌بندی", "تعریف‌فرمان", "تعریف‌قالبی", "تعریف‌قلم", "تعریف‌قلم‌خام", "تعریف‌قلم‌متن", "تعریف‌لایه", "تعریف‌لهجه", "تعریف‌لوح", "تعریف‌لیست", "تعریف‌لیست‌ترکیبی", "تعریف‌لیست‌مرجع", "تعریف‌مترادفها", "تعریف‌مترادف‌قلم", "تعریف‌متغیرمتن", "تعریف‌متن", "تعریف‌متن‌قالبی", "تعریف‌مجموعه‌ستون", "تعریف‌محیط‌قلم‌بدنه", "تعریف‌مرجع", "تعریف‌منوی‌پانل", "تعریف‌مکان‌متن", "تعریف‌میدان", "تعریف‌میدان‌اصلی", "تعریف‌نسخه", "تعریف‌نشانه‌گذاری", "تعریف‌نماد", "تعریف‌نمادشکل", "تعریف‌پاراگرافها", "تعریف‌پروفایل", "تعریف‌پوشش", "تعریف‌گروه‌آیتم", "تعریف‌گروه‌رنگ", "تعیین‌شماره", "تعیین‌شماره‌سر", "تعیین‌متغیر‌متن", "تعیین‌محتوای‌متن", "تعیین‌مشخصات‌ثبت", "تعیین‌مشخصات‌لیست", "تغییربه‌قلم‌بدنه", "تغییربه‌قلم‌خام", "تنظیم‌راست", "تنظیم‌طرح‌بندی", "تنظیم‌وسط", "توجه", "تورفتگی", "توری", "تولید", "تک", "ثبت‌زوج", "ثبت‌کامل", "جداسازی‌نشانه‌گذاری", "حاش", "حرف", "حرفها", "حفظ‌بلوکها", "حقیقت", "خالی", "خطهای‌سیاه", "خطهای‌نازک", "خطها‌خالی", "خط‌حاشیه", "خط‌سیاه", "خط‌متن", "خط‌مو", "خط‌نازک", "خ‌ا", "خ‌ع", "در", "درج‌آرمها", "درج‌ثبت", "درج‌خط", "درج‌درخط", "درج‌درخطها", "درج‌درمتن", "درج‌درمیدان", "درج‌در‌بالای‌یکدیگر", "درج‌در‌توری", "درج‌راهنما", "درج‌زیرفرمول", "درج‌شماره‌سر", "درج‌شماره‌صفحه", "درج‌شناور", "درج‌فرمول", "درج‌لیست", "درج‌لیست‌خام", "درج‌لیست‌مختلط", "درج‌لیست‌مرجع", "درج‌متغیرمتن", "درج‌متن‌سر", "درج‌پانوشتها", "درج‌پانوشتهای‌موضعی", "درج‌چوب‌خط", "درج‌کنار‌به‌کنار", "درحاشیه", "درحاشیه‌دیگر", "درحاشیه‌راست", "درحاشیه‌چپ", "درخارجی", "درخط", "درداخلی", "درراست", "درصفحه", "درقالبی", "درلبه‌راست", "درلبه‌چپ", "درمورد", "درون", "درپر", "درچپ", "دریافت‌بافر", "دریافت‌شماره", "دریافت‌نشانه", "دوران", "دکمه", "دکمه‌منو", "دکمه‌پانل", "رج", "رجوع", "رنگ", "رنگ‌خاکستری", "روزهفته", "ریاضی", "زبان", "زبان‌اصلی", "ستون", "ستون‌امتحان", "سر", "سرپوش‌کوچک‌نه", "شروع‌آرایش", "شروع‌آرایش‌ستون", "شروع‌باریکتر", "شروع‌بازبینی", "شروع‌بلوک‌حاشیه", "شروع‌ترکیب", "شروع‌تصحیح‌خط", "شروع‌تطابق", "شروع‌تنظیم", "شروع‌تولید", "شروع‌جدول", "شروع‌جدولها", "شروع‌خط", "شروع‌خطها", "شروع‌خط‌حاشیه", "شروع‌خط‌متن", "شروع‌رنگ", "شروع‌ستونها", "شروع‌سراسری", "شروع‌شماره‌گذاری‌خط", "شروع‌شکل", "شروع‌غیر‌فشرده", "شروع‌فشرده", "شروع‌متن", "شروع‌مجموعه‌ستون", "شروع‌مجموعه‌نماد", "شروع‌محیط", "شروع‌مخالف", "شروع‌موضعی", "شروع‌مولفه", "شروع‌مکان‌گذاری", "شروع‌نسخه", "شروع‌نقل‌قول", "شروع‌نوشتار", "شروع‌پانوشتهای‌موضعی", "شروع‌پروفایل", "شروع‌پروژه", "شروع‌پس‌زمینه", "شروع‌پوشش", "شروع‌کد", "شماره‌افزایش", "شماره‌زیرصفحه", "شماره‌زیرفرمول", "شماره‌سر", "شماره‌سرجاری", "شماره‌صفحه", "شماره‌صفحه‌کامل", "شماره‌فرمول", "شماره‌مبدل", "شماره‌ها", "شماره‌کاهش", "شماره‌کل‌صفحه‌ها", "شکافتن‌شناور", "شکل‌خارجی", "صفحه", "صفحه‌تست", "صفحه‌زوج", "صفحه‌پردازش", "طول‌لیست", "عبوربلوکها", "عرض‌آرایش", "عرض‌برگ", "عرض‌حاشیه", "عرض‌حاشیه‌خارجی", "عرض‌حاشیه‌داخلی", "عرض‌حاشیه‌راست", "عرض‌حاشیه‌چپ", "عرض‌خط", "عرض‌لبه", "عرض‌لبه‌خارجی", "عرض‌لبه‌داخلی", "عرض‌لبه‌راست", "عرض‌لبه‌چپ", "عرض‌لیست", "عرض‌متن", "عمق‌صفحه", "عنوان‌حاشیه", "فاصله‌بالا", "فاصله‌ته‌برگ", "فاصله‌حاشیه", "فاصله‌حاشیه‌خارجی", "فاصله‌حاشیه‌داخلی", "فاصله‌حاشیه‌راست", "فاصله‌حاشیه‌چپ", "فاصله‌سربرگ", "فاصله‌لبه", "فاصله‌لبه‌خارجی", "فاصله‌لبه‌داخلی", "فاصله‌لبه‌راست", "فاصله‌لبه‌چپ", "فاصله‌پایین", "فاصله‌پشت", "فشرده", "فضا", "فضاهای‌ثابت", "فضای‌بالا", "فضای‌برش", "فضای‌ثابت", "فضای‌سفید", "فضای‌سفیدصحیح", "فضای‌پایین", "فوری‌به‌لیست", "فوری‌بین‌لیست", "قالبی", "لوح‌مقایسه", "ماه", "متغیر متن", "متن‌برچسب", "متن‌حاشیه", "متن‌سر", "متن‌پانوشت", "محیط", "مراجعه", "مرجع", "مرجع‌صفحه", "مرجع‌متن", "مرحله‌سر", "مسکن", "معنی‌واحد", "مقایسه‌گروه‌رنگ", "مقدارخاکستری", "مقداررنگ", "مقیاس", "منفی", "منوی‌پانل", "مولفه", "مکان", "مکان‌متن", "میدان", "میدانهای‌گزارش", "میدان‌شبیه‌سازی", "میدان‌پشته", "میدان‌کپی", "میله‌تطابق", "میله‌رنگ", "میله‌پانل", "ناشناس", "نام‌ماکرو", "نسخه", "نسخه‌نشانه", "نشانه‌گذاری", "نشانه‌گذاری‌زوج", "نشر", "نصب‌زبان", "نقطه‌ها", "نقل", "نقل‌قول", "نم", "نماد", "نمادسر", "نمادلیست", "نمایش‌آرایش", "نمایش‌بارگذاریها", "نمایش‌بستها", "نمایش‌توری", "نمایش‌رنگ", "نمایش‌شکلهای‌خارجی", "نمایش‌طرح‌بندی", "نمایش‌قالب", "نمایش‌قلم‌بدنه", "نمایش‌لوح", "نمایش‌مجموعه‌علامت", "نمایش‌محیط‌قلم‌بدنه", "نمایش‌میدانها", "نمایش‌چاپ", "نمایش‌گروه‌رنگ", "نوشتارزوج", "هدایت", "پا", "پابا", "پانوشت", "پایان‌آرایش", "پایان‌آرایش‌ستون", "پایان‌بازبینی", "پایان‌بلوک‌حاشیه", "پایان‌ترکیب", "پایان‌تصحیح‌خط", "پایان‌تطابق", "پایان‌تنظیم", "پایان‌تولید", "پایان‌جدول", "پایان‌جدولها", "پایان‌خط", "پایان‌خطها", "پایان‌خط‌حاشیه", "پایان‌خط‌متن", "پایان‌رنگ", "پایان‌ستونها", "پایان‌سراسری", "پایان‌شماره‌گذاری‌خط", "پایان‌غیرفشرده", "پایان‌فشرده", "پایان‌متن", "پایان‌مجموعه‌ستون", "پایان‌محیط", "پایان‌مخالف", "پایان‌موضعی", "پایان‌مولفه", "پایان‌مکان‌گذاری", "پایان‌نازکتر", "پایان‌نسخه", "پایان‌نقل‌قول", "پایان‌نوشتار", "پایان‌پانوشتهای‌موضعی", "پایان‌پروفایل", "پایان‌پروژه", "پایان‌پس‌زمینه", "پایان‌پوشش", "پایان‌کد", "پایین", "پرده", "پروژه", "پرکردن‌میدان", "پس‌زمینه", "پیروی‌نسخه", "پیروی‌نسخه‌پروفایل", "پیروی‌پروفایل", "چاپ‌ارتفاع‌برگ", "چاپ‌عرض‌برگ", "چوبخط", "چپ‌چین", "کاغذزوج", "کسر", "کشیده", "کلمه‌حاشیه", "کلمه‌راست", "گیره", "یادداشت", "یک‌جا", "یک‌خط" }, - ["ro"]={ "CAP", "CUVANT", "CUVINTE", "Cap", "Caps", "Cuvant", "Cuvinte", "KAP", "Kap", "Kaps", "LUNA", "Litera", "Litere", "Numere", "Numereromane", "ZIDINSAPTAMANA", "adapteazaaspect", "adubuffer", "adumarcaje", "afiseazaaspect", "afiseazacampuri", "afiseazaculoare", "afiseazafiguriexterne", "afiseazafonttext", "afiseazagrid", "afiseazagrupculoare", "afiseazamakeup", "afiseazamediufonttext", "afiseazapaleta", "afiseazarama", "afiseazasetari", "afiseazasetsimboluri", "afiseazastruts", "afiseazatiparire", "aliniat", "aliniatcentru", "aliniatdreapta", "aliniatstanga", "appendix", "arg", "ascundeblocuri", "atleftmargin", "atrightmargin", "baraculoare", "barainteractiune", "barasincronizare", "blanc", "but", "butoaneinteractiune", "buton", "butonmeniu", "camp", "campumplere", "cap", "chapter", "chem", "citat", "clip", "cloneazacamp", "coloana", "comment", "comparagrupculoare", "comparapaleta", "completeazanumarpagina", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "completeregister", "componenta", "convertestenumar", "copiazacamp", "corecteazaspatiualb", "coupledregister", "crlf", "culoare", "culoaregri", "cupleazadocument", "cupleazamarcaje", "cupleazaregistru", "cutspace", "cuvantdreapta", "cuvantmarginal", "data", "datacurenta", "datareferit", "decrementnumber", "decupleazamarcaje", "definebodyfontDEF", "definebodyfontREF", "definecolumnbreak", "definecolumnset", "definecombination", "definedfont", "definefontfeature", "definefonthandling", "defineindentedtext", "defineinmargin", "defineitemgroup", "definelayer", "definelayout", "definemathalignment", "definepagebreak", "defineplacement", "defineste", "definesteaccent", "definesteantet", "definesteblanc", "definestebloc", "definesteblocsectiune", "definestebuffer", "definestecamp", "definestecampprincipal", "definestecaracter", "definestecomanda", "definesteconversie", "definesteculoare", "definestedescriere", "definestedimensiunehartie", "definesteenumerare", "definesteeticheta", "definestefloat", "definestefont", "definestefontraw", "definestefonttext", "definesteformatreferinte", "definestegrupculori", "definestehbox", "definesteinconjurare", "definestelista", "definestelistacombinata", "definestelistareferinte", "definestelogo", "definestemakeup", "definestemarcaje", "definestemediulfonttext", "definestemeniuinteractiune", "definesteoutput", "definesteoverlay", "definestepaleta", "definesteparagraf", "definestepozitietext", "definesteprofil", "definesteprogram", "definestereferinte", "definesteregistru", "definesterigla", "definestesablontabel", "definestesectiune", "definestesimbol", "definestesimbolfigura", "definestesinonim", "definestesinonimfont", "definestesortare", "definestestartstop", "definestestil", "definestestilfont", "definestestivacampuri", "definestesubcamp", "definestetabulatori", "definestetext", "definestetexteinconjurate", "definestetextinconjurat", "definestetyping", "definestevariabilatext", "definesteversiune", "definetype", "definetypeface", "description", "despre", "determinacaracteristicilelistei", "determinacaracteristiciregistru", "determinanumartitlu", "dezactiveazameniuinteractiune", "dimensiune", "din", "distantaantet", "distantacolt", "distantacoltdreapta", "distantacoltstanga", "distantajos", "distantamargine", "distantamarginedreapta", "distantamarginestanga", "distantasubsol", "distantasus", "domiciliu", "dute", "dutebox", "dutepagina", "ecran", "el", "element", "emptylines", "enumeration", "eticheta", "etichete", "fact", "faraaliniat", "faradimensiune", "farafisiere", "faraliniiantetsisubsol", "faraliniisussijos", "faralista", "faramarcaje", "faraspatiu", "faraspatiualb", "figuraexterna", "firdepar", "folosesteURL", "folosestebloc", "folosestecodificarea", "folosestecomenzi", "folosestedirector", "folosestedocumentextern", "folosestefiguraexterna", "folosestefisiereexterne", "folosestefisierextern", "folosestemodul", "folosestemodule", "folosestemuzicaexterna", "folosestereferinte", "folosestescriptJS", "folosestesimboluri", "folosestespeciale", "folosesteurl", "footnotetext", "forteazablocuri", "fractie", "framed", "framedtext", "fundal", "gatablocuri", "getnumber", "grid", "grosimelinie", "hartiedubla", "headsym", "hl", "immediatebetweenlist", "immediatetolist", "impachetat", "impartefloat", "in", "inalt", "inaltamargine", "inaltimeantet", "inaltimehartie", "inaltimehartieimprimanta", "inaltimejos", "inaltimelista", "inaltimemakeup", "inaltimesubsol", "inaltimesus", "inaltimetext", "indentation", "indreapta", "inframed", "ininner", "injos", "inlinie", "inmaframed", "inmargineadreapta", "inmargineastanga", "inneredgedistance", "inneredgewidth", "innermargindistance", "innermarginwidth", "inouter", "inparteadreapta", "inparteastanga", "instalarelimba", "instanga", "intins", "jos", "jossus", "kap", "la", "labeling", "lapagina", "latimecoltdreapta", "latimecoltstanga", "latimecolturi", "latimehartie", "latimehartieimprimanta", "latimelista", "latimemakeup", "latimemargine", "latimemarginedreapta", "latimemarginestanga", "latimetext", "leg", "limba", "limbaprincipala", "liniemargine", "linieneagra", "liniesubtire", "linieumplere", "liniinegre", "liniisubtiri", "listsymbol", "litera", "litere", "loadsorts", "loadsynonyms", "logcampuri", "luna", "lungimelista", "maframed", "mapfontsize", "mar", "marcaje", "marcheazaversiune", "marginal", "matematica", "mediaeval", "mediu", "meniuinteractiune", "minicitat", "moveformula", "movesidefloat", "mutapegrid", "name", "navigating", "necunoscut", "nextsection", "niveltitlu", "nocap", "nokap", "nop", "nota", "notasubsol", "numarformula", "numarincrement", "numarpagina", "numarsubformula", "numartitlu", "numartitlucurent", "numartotalpagini", "numberofsubpages", "nume", "numere", "numereromane", "numeunitate", "nutesta", "olinie", "outeredgedistance", "outeredgewidth", "outermargindistance", "outermarginwidth", "overbar", "overbars", "overstrike", "overstrikes", "pagedepth", "pageoffset", "pagina", "paginadubla", "paragraph", "part", "pastreazablocuri", "pelung", "placefloat", "placeheadnumber", "placeheadtext", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "placerawlist", "placereferencelist", "plaseazapegrid", "plaseazasemnecarte", "potrivestecamp", "pozitie", "pozitietext", "proceseazabloc", "proceseazapagina", "produs", "program", "proiect", "publicatie", "puncte", "punedeasuprafiecareia", "punefatainfata", "puneformula", "punelegenda", "punelista", "punelistacombinata", "punelogouri", "punenotesubsol", "punenotesubsollocale", "punenumarpagina", "puneregistru", "punerigla", "punesubformula", "punevariabilatext", "ran", "ref", "refa", "referinta", "referintapagina", "referintatext", "referit", "referring", "reflexie", "register", "remarca", "reservefloat", "reset", "reseteazamarcaje", "resetnumber", "resettextcontent", "riglatext", "rigleumplere", "roteste", "saripesteblocuri", "scala", "scriebuffer", "scrieinlista", "scrieinlistareferinte", "scrieinregistru", "scrieintreliste", "section", "seeregister", "selecteazablocuri", "selecteazahartie", "selecteazaversiune", "semncarte", "setarebarasincronizare", "setareitemization", "setarelimba", "setareoutput", "setarepozitie", "setaresincronizare", "setari", "seteazaaliniat", "seteazaalinierea", "seteazaantet", "seteazaaranjareapag", "seteazaaspect", "seteazabarainteractiune", "seteazablanc", "seteazabloc", "seteazablocsectiune", "seteazablocurimarginale", "seteazabuffer", "seteazabutoane", "seteazacamp", "seteazacampuri", "seteazaclipping", "seteazacoloane", "seteazacombinari", "seteazacomentariu", "seteazacomentariupagina", "seteazaculoare", "seteazaculori", "seteazadefinireanotasubsol", "seteazadescriere", "seteazadimensiunihartie", "seteazaecrane", "seteazaecraninteractiune", "seteazaelemente", "seteazaenumerare", "seteazafiguriexterne", "seteazafloat", "seteazafloats", "seteazafonttext", "seteazaformulare", "seteazaformule", "seteazafundal", "seteazafundaluri", "seteazagrosimelinie", "seteazaimpartireafloat", "seteazainconjurat", "seteazaingust", "seteazainteractiunea", "seteazajos", "seteazalegenda", "seteazalegendele", "seteazaliniesilabe", "seteazaliniesubtire", "seteazalinii", "seteazaliniimargine", "seteazaliniinegre", "seteazaliniiumplere", "seteazalista", "seteazalistacombinata", "seteazalistareferinte", "seteazamajuscule", "seteazamakeup", "seteazamarcaje", "seteazamarginal", "seteazamediulfonttext", "seteazameniuinteractiune", "seteazaminicitat", "seteazanotasubsol", "seteazanumarpagina", "seteazanumarsubpagina", "seteazanumartitlu", "seteazanumerotare", "seteazanumerotarelinii", "seteazanumerotarepagina", "seteazanumerotareparagrafe", "seteazapaleta", "seteazaparagrafe", "seteazaplasareaopozita", "seteazapozitietext", "seteazaprofile", "seteazaprograme", "seteazapublicatii", "seteazareferinte", "seteazaregistru", "seteazarigla", "seteazarigletext", "seteazarigleumplere", "seteazarotare", "seteazasectiune", "seteazasimbol", "seteazasinonime", "seteazasistem", "seteazasortare", "seteazaspatiu", "seteazaspatiualb", "seteazaspatiuinterliniar", "seteazastrut", "seteazasublinie", "seteazasubsol", "seteazasus", "seteazatab", "seteazatabele", "seteazatabulatori", "seteazatext", "seteazatexteantet", "seteazatextejos", "seteazatextesubsol", "seteazatextesus", "seteazatextetext", "seteazatexteticheta", "seteazatexttitlu", "seteazatitlu", "seteazatitluri", "seteazatoleranta", "seteazatranzitiepagina", "seteazatype", "seteazatyping", "seteazaurl", "seteazavariabilatext", "seteazaversiuni", "setnumber", "settextcontent", "setupanswerarea", "setupcolumnset", "setupcolumnsetlines", "setupcolumnsetstart", "setupfonthandling", "setupfontsynonym", "setupindentedtext", "setupinterlinespace2", "setupitemgroup", "setuplistalternative", "setupmathalignment", "setupnumber", "setuppaper", "setupplacement", "setupstartstop", "setvariabilatext", "sim", "simbol", "sincronizeaza", "sort", "spatiifixate", "spatiu", "spatiualb", "spatiufixat", "spatiujos", "spatiuspate", "spatiusus", "startalignment", "startaliniere", "startblocmarginal", "startbuffer", "startcitat", "startcodificare", "startcoloane", "startcolumnmakeup", "startcolumns", "startcolumnset", "startcombinare", "startcombination", "startcomment", "startcomponenta", "startcorectielinie", "startculoare", "startdescription", "startdocument", "startenumeration", "startfact", "startfigura", "startfigure", "startfloattext", "startformula", "startframedtext", "startfundal", "startglobal", "starthiding", "startimpachetat", "startingust", "startitemgroup", "startlegend", "startline", "startlinecorrection", "startlinenumbering", "startlines", "startlinie", "startliniemargine", "startlinii", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startmakeup", "startmarginblock", "startmediu", "startmeniuinteractiune", "startnamemakeup", "startnarrower", "startneimpachetat", "startnotesubsollocale", "startnumerotarelinii", "startopozit", "startopposite", "startoverlay", "startoverview", "startparagraph", "startpositioning", "startpostponing", "startpozitionare", "startprodus", "startprofil", "startprofile", "startproiect", "startraster", "startregister", "startriglatext", "startsetsimboluri", "startsincronizare", "startsymbolset", "startsynchronization", "starttabel", "starttabele", "starttable", "starttables", "starttabulate", "starttext", "starttyping", "startunpacked", "startversiune", "stivacampuri", "stopalignment", "stopaliniere", "stopblobal", "stopblocmarginal", "stopbuffer", "stopcitat", "stopcodificare", "stopcoloane", "stopcolumnmakeup", "stopcolumns", "stopcolumnset", "stopcombinare", "stopcombination", "stopcomment", "stopcomponenta", "stopcorectielinie", "stopculoare", "stopdescription", "stopdocument", "stopenumeration", "stopfact", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stopfundal", "stophiding", "stopimpachetat", "stopingust", "stopitemgroup", "stoplegend", "stopline", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplinie", "stopliniemargine", "stoplinii", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stopmakeup", "stopmarginblock", "stopmediu", "stopmeniuinteractiune", "stopnamemakeup", "stopnarrower", "stopneimpachetat", "stopnotesubsollocale", "stopnumerotarelinii", "stopopozit", "stopopposite", "stopoverlay", "stopoverview", "stopparagraph", "stoppositioning", "stoppostponing", "stoppozitionare", "stopprodus", "stopprofil", "stopprofile", "stopproiect", "stopraster", "stopriglatext", "stopsincronizare", "stopsymbolset", "stopsynchronization", "stoptabel", "stoptabele", "stoptable", "stoptables", "stoptabulate", "stoptext", "stoptyping", "stopunpacked", "stopversiune", "sub", "subject", "subpagenumber", "subsection", "subsubject", "subsubsection", "subsubsubject", "synonym", "tab", "testcolumn", "testpage", "tex", "texteticheta", "textmarginal", "texttitlu", "textumplere", "title", "titlu", "titlumarginal", "tooltip", "traduce", "trecilafontraw", "trecilafonttext", "txt", "typ", "type", "typefile", "underbar", "underbars", "undeva", "urmeazaprofil", "urmeazaversiune", "urmeazaversiuneprofil", "useXMLfilter", "usedirectory", "usetypescript", "usetypescriptfile", "valoareculoare", "valoaregri", "variabilatext", "versiune", "vl", "zidinsaptamana" }, + ["cs"]={ "CAP", "Cap", "Caps", "Cisla", "KAP", "Kap", "Kaps", "MESIC", "Rimskecislice", "SLOVA", "SLOVO", "Slova", "Slovo", "VSEDNIDEN", "Znak", "Znaky", "aktualnicislonadpisu", "aktualnidatum", "appendix", "arg", "atleftmargin", "atrightmargin", "barevnalista", "barva", "bilemisto", "bottomspace", "bublinkovanapoveda", "bydliste", "bypassblocks", "cap", "celkovypocetstran", "cernalinka", "cernelinky", "chapter", "chem", "cisla", "cislonadpisu", "cislopodrovnice", "cislorovnice", "cislostrany", "citace", "citovat", "comment", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "completepagenumber", "completeregister", "coupledregister", "crlf", "cutspace", "datum", "decrementnumber", "definebodyfontDEF", "definebodyfontREF", "definecolumnbreak", "definecolumnset", "definecombination", "definedfont", "definefontfeature", "definefonthandling", "defineindentedtext", "defineinmargin", "defineitemgroup", "definelayer", "definelayout", "definemathalignment", "definepagebreak", "defineplacement", "definerawfont", "definerule", "definetextposition", "definetextvariable", "definetype", "definetypeface", "definuj", "definujakcent", "definujbarvu", "definujblok", "definujbloksekce", "definujbuffer", "definujfont", "definujformatodkazu", "definujhbox", "definujhlavnipole", "definujinterakcnimenu", "definujkombinovanyseznam", "definujkonverzi", "definujlogo", "definujnadpis", "definujobrazeksymbol", "definujodkaz", "definujodstavce", "definujopis", "definujoramovani", "definujoramovanytext", "definujpaletu", "definujplvouciobjekt", "definujpodpole", "definujpole", "definujpopis", "definujpopisek", "definujprekryv", "definujpreskok", "definujprikaz", "definujprofil", "definujprogram", "definujprostredizakladnihofontu", "definujrejstrik", "definujsablonutabulky", "definujsekci", "definujseznam", "definujseznamodkazu", "definujskupinubarev", "definujstartstop", "definujstyl", "definujstylfontu", "definujsymbol", "definujsynonumumfontu", "definujsynonyma", "definujtabelaci", "definujtext", "definujtrideni", "definujupravu", "definujvelikostpapiru", "definujverzi", "definujvycet", "definujvystup", "definujzakladnifont", "definujzasobnikpoli", "definujznaceni", "definujznak", "delkaseznamu", "description", "dodrzujprofil", "dodrzujverzi", "dodrzujverziprofilu", "dvoustrannypapir", "emptylines", "enumeration", "externiobraz", "fakt", "footnotetext", "forceblocks", "framedtext", "getnumber", "headsym", "hl", "hlavnijazyk", "hlavniuroven", "hodnotabarvy", "hodnotasedi", "immediatebetweenlist", "immediatetolist", "indentation", "ininner", "inneredgedistance", "inneredgewidth", "innermargindistance", "innermarginwidth", "inouter", "instalacejazyka", "interakcnilista", "interakcnitlacitka", "interaktivnimenu", "jazyk", "jdidolu", "jdina", "jdinabox", "jdinastranu", "jmeno", "kap", "klonujpole", "komponenta", "konvertujcislo", "kopirujpole", "korekcebilehomista", "labeling", "leg", "listsymbol", "loadsorts", "loadsynonyms", "maoramovani", "mapfontsize", "marginalnilinka", "marginalninadpis", "marginalnislovo", "marginalnitext", "matematika", "mazaramovani", "mediaeval", "meritko", "mesic", "mezera", "moveformula", "movesidefloat", "mrizka", "nadpis", "nadruhyokraj", "nalevo", "nalevyokraj", "name", "naokraj", "napravo", "napravyokraj", "nastavbarvu", "nastavbarvy", "nastavbilamista", "nastavblok", "nastavbloksekce", "nastavbuffer", "nastavcernelinky", "nastavcislonadpisu", "nastavcislostrany", "nastavcislovani", "nastavcislovaniodstavcu", "nastavcislovaniradku", "nastavcislovanistran", "nastavcitaci", "nastavdefinicipoznamekpodcarou", "nastavdeleniplvoucichobjektu", "nastavdelitko", "nastavdolnitexty", "nastavexterniobrazy", "nastavhorejsek", "nastavhornitexty", "nastavinterakci", "nastavinterakcnilistu", "nastavinterakcnimenu", "nastavinterakcniobrazovku", "nastavjazyk", "nastavkapitalky", "nastavkombinovanyseznam", "nastavkomentar", "nastavkomentarstrany", "nastavlegendu", "nastavmarginalie", "nastavmarginalniblok", "nastavmarginalnilinky", "nastavmeziradkovoumezeru", "nastavnadpis", "nastavnadpisy", "nastavodkazovani", "nastavodsazovani", "nastavodstavce", "nastavopis", "nastavoramovanetexty", "nastavoramovani", "nastavorez", "nastavotoceni", "nastavpaletu", "nastavplvouciobjekt", "nastavplvouciobjekty", "nastavpodcislostrany", "nastavpodtrzeni", "nastavpole", "nastavpolozky", "nastavpopisek", "nastavpopisky", "nastavpopisy", "nastavpozadi", "nastavpoznamkypodcarou", "nastavprechodstrany", "nastavpreskok", "nastavprofily", "nastavprogramy", "nastavprostredizakladnihofontu", "nastavpublikace", "nastavradkovani", "nastavradky", "nastavrastr", "nastavrejstrik", "nastavrovnice", "nastavsadusymbolu", "nastavsekci", "nastavseznam", "nastavseznamodkazu", "nastavsirkucary", "nastavsloupce", "nastavspodek", "nastavspojeni", "nastavsynchronizaci", "nastavsynchronizacnilistu", "nastavsynonyma", "nastavsystem", "nastavtab", "nastavtabelaci", "nastavtabulky", "nastavtenkelinky", "nastavtext", "nastavtexthlavicky", "nastavtextovelinky", "nastavtextpopisku", "nastavtexttexty", "nastavtextyupati", "nastavtextyzahlavi", "nastavtlacitka", "nastavtoleranci", "nastavtrideni", "nastavtype", "nastavumisteniprotejsku", "nastavumistovani", "nastavupati", "nastavupravu", "nastavurl", "nastavusporadani", "nastavvelikostpapiru", "nastavverze", "nastavvsechnapole", "nastavvycty", "nastavvyplnovelinky", "nastavvyplnoveradky", "nastavvystup", "nastavvzhled", "nastavzahlavi", "nastavzakladnifont", "nastavzarovnani", "nastavznaceni", "nastavzuzeni", "nastrane", "navigating", "nejakyradek", "nekde", "nextsection", "neznamo", "nivy", "nizky", "nocap", "nokap", "nop", "numberofsubpages", "obrazovka", "odkaz", "odkaznadatum", "odkaznastranu", "odkaznatext", "odkazujici", "odsazenishora", "odsazenizleva", "odsazovani", "okr", "opakovat", "opis", "opissoubor", "oramovani", "oref", "orez", "otocit", "outeredgedistance", "outeredgewidth", "outermargindistance", "outermarginwidth", "overbar", "overbars", "overstrike", "overstrikes", "oznaceni", "oznacverzi", "pagedepth", "pageoffset", "paragraph", "parovastrana", "part", "pis", "placefloat", "placeheadnumber", "placeheadtext", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "placepagenumber", "placerawlist", "placereferencelist", "placerule", "placetextvariable", "plnezneni", "pol", "pole", "polozka", "polozky", "popisky", "poppisek", "porovnejpaletu", "porovnejskupinubarev", "positiontext", "pozadi", "pozice", "poznamka", "poznamkapodcarou", "pref", "prelozit", "premistinamrizku", "prepninazakladnifont", "preskoc", "prizpusobivepole", "prizpusobvzhled", "produkt", "program", "projekt", "propojeneznaceni", "propojenydokument", "propojenyrejstrik", "prostredi", "publikace", "ran", "ref", "register", "reservefloat", "reset", "resetnumber", "resettextcontent", "resetznaceni", "rimskecislice", "rozdelplvouciobjekt", "rozmer", "rozpojeneznaceni", "roztazene", "schovejbloky", "section", "sedabarva", "seeregister", "setnumber", "settextcontent", "settextvariable", "setupanswerarea", "setupcolumnset", "setupcolumnsetlines", "setupcolumnsetstart", "setupfonthandling", "setupfontsynonym", "setupforms", "setupindentedtext", "setupinterlinespace2", "setupitemgroup", "setuplistalternative", "setupmathalignment", "setupnumber", "setuppaper", "setupplacement", "setuprule", "setupstartstop", "setupstrut", "setuptextposition", "setuptextvariable", "sirkalevehookraje", "sirkalevemarginalie", "sirkamarginalie", "sirkaokraje", "sirkapapiru", "sirkapravehookraje", "sirkapravemarginalie", "sirkasazby", "sirkaseznamu", "sirkatextu", "sirkatiskpapiru", "sloupec", "slovovpravo", "sort", "spodek", "stanovcharakteristickuseznamu", "stanovcislonadpisu", "startalignment", "startbarva", "startbuffer", "startcislovaniradku", "startcitace", "startcolumnmakeup", "startcolumns", "startcolumnset", "startcombination", "startcomment", "startdescription", "startdocument", "startdokument", "startenumeration", "startfakt", "startfigure", "startfloattext", "startformula", "startframedtext", "startglobalni", "starthiding", "startinteraktivnimenu", "startitemgroup", "startkodovani", "startkomponenta", "startkorekceradku", "startlegend", "startline", "startlinecorrection", "startlinenumbering", "startlines", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startlokalni", "startlokalnipoznamkypodcarou", "startmakeup", "startmarginalniblok", "startmarginalnilinka", "startmarginblock", "startnamemakeup", "startnarrower", "startnezhustene", "startobraz", "startopposite", "startoverlay", "startoverview", "startparagraph", "startpositioning", "startpostponing", "startpozadi", "startprehled", "startprekryv", "startprodukt", "startprofil", "startprofile", "startprojekt", "startprostredi", "startprotejsek", "startradek", "startradky", "startrastr", "startregister", "startsadasymbolu", "startsloupce", "startspojeni", "startsymbolset", "startsynchronizace", "startsynchronization", "starttable", "starttables", "starttabulate", "starttabulka", "starttabulky", "starttext", "starttextovalinka", "starttyping", "startumistovani", "startunpacked", "startuprava", "startverze", "startzarovnavani", "startzhustene", "startzuzeni", "stopalignment", "stopbarva", "stopbuffer", "stopcislovaniradku", "stopcitace", "stopcolumnmakeup", "stopcolumns", "stopcolumnset", "stopcombination", "stopcomment", "stopdescription", "stopdocument", "stopdokument", "stopenumeration", "stopfakt", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stopglobalni", "stophiding", "stopinteraktivnimenu", "stopitemgroup", "stopkodovani", "stopkomponenta", "stopkorekceradku", "stoplegend", "stopline", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stoplokalni", "stoplokalnipoznamkypodcarou", "stopmakeup", "stopmarginalniblok", "stopmarginalnilinka", "stopmarginblock", "stopnamemakeup", "stopnarrower", "stopnezhustene", "stopopposite", "stopoverlay", "stopoverview", "stopparagraph", "stoppositioning", "stoppostponing", "stoppozadi", "stopprehled", "stopprekryv", "stopprodukt", "stopprofil", "stopprofile", "stopprojekt", "stopprostredi", "stopprotejsek", "stopradek", "stopradky", "stoprastr", "stopsloupce", "stopspojeni", "stopsymbolset", "stopsynchronizace", "stopsynchronization", "stoptable", "stoptables", "stoptabulate", "stoptabulka", "stoptabulky", "stoptext", "stoptextovalinka", "stoptyping", "stopumistovani", "stopunpacked", "stopuprava", "stopverze", "stopzarovnavani", "stopzhustene", "stopzuzeni", "strana", "sub", "subject", "subpagenumber", "subsection", "subsubject", "subsubsection", "subsubsubject", "switchtorawfont", "sym", "symbol", "synchronizacnilista", "synchronizovat", "synonym", "tab", "tecky", "tenkalinka", "tenkelinky", "testcolumn", "testpage", "tex", "texthlavicky", "textovalinka", "textpopisku", "textvariable", "title", "tlacitko", "tlacitkomenu", "tloustkacary", "tref", "tvrdamezera", "tvrdemezery", "txt", "typebuffer", "ukazbarvu", "ukazexterniobrazy", "ukazmrizku", "ukaznastaveni", "ukazpaletu", "ukazpodpery", "ukazpole", "ukazpostredizakladnihofontu", "ukazramecek", "ukazsadusymbolu", "ukazskupinubarev", "ukazupravu", "ukazvytisk", "ukazvzhled", "ukazzakladnifont", "umistikombinovanyseznam", "umistilegendu", "umistiloga", "umistilokalnipoznamkypodcarou", "umistinadsebe", "umistinamrizku", "umistipodrovnici", "umistipoznamkypodcarou", "umistirejstrik", "umistirovnici", "umistiseznam", "umistivedlesebe", "umistizalozky", "underbar", "underbars", "urcicharakteristikurejstriku", "useXMLfilter", "usedirectory", "usetypescript", "usetypescriptfile", "uzijJSscripts", "uzijURL", "uzijadresar", "uzijbloky", "uzijexternidokument", "uzijexterniobraz", "uzijexternisoubor", "uzijexternisoubory", "uzijexternizvuk", "uzijkodovani", "uzijmodul", "uzijmoduly", "uzijodkazy", "uzijprikazy", "uzijspeciality", "uzijsymbol", "uzijurl", "verze", "vl", "vlasovalinka", "vlevo", "vpravo", "vradku", "vsedniden", "vyberbloky", "vyberpapir", "vyberverzi", "vyplnenytext", "vyplnovelinky", "vyplnovepole", "vyplnovyradek", "vyskahorejsku", "vyskapapiru", "vyskasazby", "vyskaseznamu", "vyskaspodku", "vyskatextu", "vyskatiskpapiru", "vyskaupati", "vyskazahlavi", "vysoky", "vyznam", "vzdalenosthorejsku", "vzdalenostlevehookraje", "vzdalenostlevemarginalie", "vzdalenostmarginalie", "vzdalenostokraje", "vzdalenostpravehookraje", "vzdalenostpravemarginalie", "vzdalenostspodku", "vzdalenostupati", "vzdalenostzahlavi", "zablokujinterakcnimenu", "zachovejbloky", "zadnamezera", "zadnebilemisto", "zadnedalsibloky", "zadnedalsisoubory", "zadnehorniadolniradky", "zadneodsazovani", "zadnezahlaviaupati", "zadneznaceni", "zadnyrozmer", "zadnyseznam", "zadnytest", "zalozka", "zapisdorejstriku", "zapisdoseznamu", "zapisdoseznamuodkazu", "zapismeziseznam", "zaramovani", "zarovnanonastred", "zarovnanovlevo", "zarovnanovpravo", "zasobnikpoli", "zaznamovepole", "zhustene", "ziskejbuffer", "ziskejznaceni", "zlomek", "znaceni", "znak", "znaky", "zpracujbloky", "zpracujstranu", "zrcadlit", "zref", "zvysujicicislo" }, + ["de"]={ "Buchstabe", "Buchstaben", "CAP", "Cap", "Caps", "KAP", "Kap", "Kaps", "MONAT", "Roemischezahlen", "WOCHENTAG", "WOERTER", "WORT", "Woerter", "Wort", "Ziffern", "abstandlinkerrand", "abstandoben", "abstandrechterrand", "abstandunten", "amgitterausrichten", "amgitterneuausrichten", "appendix", "arg", "atleftmargin", "atrightmargin", "aufseite", "ausfuellfeld", "ausfuelltext", "ausschnitt", "bearbeitebloecke", "bearbeiteseite", "bedeutung", "behaltebloecke", "bei", "bemerkung", "benutzekodierung", "benutzespezielles", "benutzeverzeichnis", "beschrifteversion", "beschriftung", "bestimmekopfnummer", "bestimmelistencharakeristika", "bestimmeregistercharakteristika", "bildschirm", "blanko", "bookmark", "bottomspace", "breitelinkerrand", "breiterechterrand", "bruch", "buchstabe", "buchstaben", "but", "bypassblocks", "cap", "chapter", "chem", "comment", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "completepagenumber", "completeregister", "coupledregister", "crlf", "cutspace", "datum", "decrementnumber", "definebodyfontDEF", "definebodyfontREF", "definecolumnbreak", "definecolumnset", "definecombination", "definedfont", "definefontfeature", "definefonthandling", "defineindentedtext", "defineinmargin", "defineitemgroup", "definelayer", "definelayout", "definemathalignment", "defineoutput", "definepagebreak", "defineplacement", "definerawfont", "definerule", "defineschriftsynonym", "definetextposition", "definetextvariable", "definetype", "definetypeface", "definiereabbsymbol", "definiereabsaetze", "definiereabschnitt", "definiereabschnittsblock", "definiereakzent", "definierebefehl", "definierebeschreibung", "definierebeschreibungen", "definierebeschriftung", "definiereblanko", "definiereblock", "definierefarbe", "definierefarbengruppe", "definierefeld", "definierefeldstapel", "definierefliesstext", "definierefliesstextumgebung", "definieregleitobjekt", "definierehauptfeld", "definierehbox", "definiereinteraktionsmenue", "definierekonversion", "definierelabel", "definiereliste", "definierelogo", "definieren", "definierenummerierung", "definiereoverlay", "definierepalette", "definierepapierformat", "definiereprofil", "definiereprogramme", "definierepuffer", "definierereferenz", "definierereferenzformat", "definierereferenzliste", "definiereregister", "definiereschrift", "definiereschriftstil", "definieresortieren", "definierestartstop", "definierestil", "definieresubfeld", "definieresymbol", "definieresynonyme", "definieretabellenvorlage", "definieretabulator", "definieretext", "definieretippen", "definiereueberschrift", "definiereumbruch", "definiereumrahmt", "definiereumrahmtertext", "definiereversion", "definierezeichen", "definierezusammengestellteliste", "description", "dimension", "doppelseite", "doppelseitigespapier", "drehen", "duennelinie", "duennerumriss", "einezeile", "einziehen", "emptylines", "entknuepfebeschriftung", "enumeration", "externeabbildung", "farbbalken", "farbe", "farbewert", "feld", "feldstapel", "festesspatium", "folgeprofil", "folgeprofilversion", "folgeversion", "footnotetext", "forceblocks", "format", "formelnummer", "framedtext", "fussnote", "fusszeileabstand", "fusszeilenhoehe", "gefuelltesrechteck", "gefuelltezeile", "geg", "gesamtseitenanzahl", "gestreckt", "getnumber", "gitter", "graufarbe", "grauwert", "haarlinie", "hauptsprache", "headsym", "heutigesdatum", "heutigeskopfnummer", "hintergrund", "hl", "hoch", "hoeheoben", "hoeheunten", "holebeschriftung", "holepuffer", "imlinken", "imlinkenrand", "immaumrise", "immediatebetweenlist", "immediatetolist", "imrechten", "imrechtenrand", "imumriss", "in", "inaktiviereinteraktionsmenue", "inanderermarginale", "indentation", "ininner", "inlinkermarginale", "inmarginalie", "inneredgedistance", "inneredgewidth", "innermargindistance", "innermarginwidth", "inouter", "inrechtermarginale", "installieresprache", "interaktionsbalken", "interaktionsknopfe", "interaktionsmenue", "inzeile", "irgendwo", "its", "kap", "keindimension", "keinebeschriftung", "keinebloeckemehr", "keinedateienmehr", "keinekopfundfusszeilen", "keineliste", "keinspatium", "keintest", "keinzeilenobenundunten", "keinzwischenraum", "kleinerdurchschuss", "klonierefeld", "knopf", "komponente", "konvertierezahl", "kopf", "kopfniveau", "kopfnummer", "kopfweite", "kopfzeilenabstand", "kopfzeilenhoehe", "kopierefeld", "korrigierezwischenraum", "label", "labeling", "labels", "labeltext", "leg", "liniendicke", "linkemarginalafstand", "linkemarginalbreite", "linksbuendig", "listenbreite", "listenhoehe", "listenlaenge", "listsymbol", "loadsorts", "loadsynonyms", "mapfontsize", "mar", "marginalafstand", "marginalbreite", "marginallinie", "marginaltext", "marginaltitel", "marginalwort", "mathematik", "maumrise", "mediaeval", "menueknopf", "monat", "moveformula", "movesidefloat", "nachunten", "name", "navigating", "nextsection", "nichteinziehen", "nocap", "nokap", "nop", "notiz", "numberofsubpages", "nummererhoehen", "outeredgedistance", "outeredgewidth", "outermargindistance", "outermarginwidth", "overbar", "overbars", "overstrike", "overstrikes", "pagedepth", "pageoffset", "papierbreite", "papierhoehe", "paragraph", "part", "passelayoutan", "passendfeld", "placefloat", "placeheadnumber", "placeheadtext", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "placepagenumber", "placerawlist", "placereferencelist", "placerule", "placetextvariable", "platzierebookmarks", "platziereformel", "platzierefussnoten", "platzierelegende", "platziereliste", "platzierelogo", "platzierelokalefussnoten", "platzierenebeneinander", "platziereregister", "platziereuntereinander", "platziereunterformel", "platzierezusammengestellteliste", "pos", "position", "positiontext", "posten", "printpapierbreite", "printpapierhoehe", "produkt", "programm", "projekt", "publikation", "punkt", "ran", "randabstand", "randbreite", "rechteck", "rechtecke", "rechtemarginalafstand", "rechtemarginalbreite", "rechtsbuendig", "ref", "referenz", "referieren", "register", "registrierefelder", "reservefloat", "resetnumber", "resettextcontent", "roemischezahlen", "ruecksetzten", "ruecksetztenbeschriftung", "rumpfweite", "satzbreite", "satzhoehe", "schreibezumregister", "schreibezurliste", "schreibezurreferenzliste", "schreibezwischenliste", "section", "seeregister", "seite", "seitenreferenz", "seitenummer", "setnumber", "settext", "settextvariable", "setupanswerarea", "setupcolumnset", "setupcolumnsetlines", "setupcolumnsetstart", "setupfonthandling", "setupfontsynonym", "setupforms", "setupindentedtext", "setupinterlinespace2", "setupitemgroup", "setuplistalternative", "setupmathalignment", "setupnumber", "setuppaper", "setupplacement", "setuprule", "setupstartstop", "setupstrut", "setuptextposition", "setuptextvariable", "showsymbolset", "sort", "spalte", "spatium", "spiegeln", "sprache", "startabbildung", "startalignment", "startausrichtung", "startbuffer", "startcolumnmakeup", "startcolumns", "startcolumnset", "startcombination", "startcomment", "startdescription", "startdocument", "startdokument", "startenger", "startenumeration", "startfarbe", "startfigure", "startfloattext", "startformula", "startframedtext", "startgeg", "startgegenueber", "startglobal", "startgrosserdurchschuss", "starthiding", "starthintergrund", "startinteraktionsmenue", "startitemgroup", "startkleinerdurchschuss", "startkodierung", "startkombination", "startkomponente", "startlegend", "startline", "startlinecorrection", "startlinenumbering", "startlines", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startlokal", "startlokalefussnoten", "startmakeup", "startmarginalblock", "startmarginallinie", "startmarginblock", "startnamemakeup", "startnarrower", "startopposite", "startoverlay", "startoverview", "startparagraph", "startpositionieren", "startpositioning", "startpostponing", "startprodukt", "startprofil", "startprofile", "startprojekt", "startraster", "startregister", "startspalten", "startsymbolset", "startsynchronisation", "startsynchronization", "starttabelle", "starttabellen", "starttable", "starttables", "starttabulate", "starttext", "starttextlinie", "starttyping", "startueberblick", "startumbruch", "startumgebung", "startunpacked", "startversion", "startzeile", "startzeilen", "startzeilenkorrektur", "startzeilennumerierung", "startzitat", "stelleabsaetzeein", "stelleabsatznummerierungein", "stelleabschnittein", "stelleabschnittsblockein", "stelleanordnenein", "stelleaufzaehlungenein", "stelleausgabeein", "stelleausrichtungein", "stelleausschnittein", "stellebeschreibungein", "stellebeschriftungein", "stellebilderunterschriftein", "stellebildunterschriftein", "stellebindestrichein", "stelleblankoein", "stelleblockein", "stelledrehenein", "stelleduennerumrissein", "stelleeinziehenein", "stelleengerein", "stelleexterneabbildungenein", "stellefarbeein", "stellefarbenein", "stellefeldein", "stellefelderin", "stellefliesstextein", "stellefliesstextumgebungein", "stelleformelnein", "stellefussnotendefinitionein", "stellefussnotenein", "stellefusszeileein", "stellefusszeilentextein", "stellegefuelltesrechteckein", "stellegefuelltezeileein", "stellegegenueberplatzierenein", "stellegleitobjekteein", "stellegleitobjektein", "stellehintergruendeein", "stellehintergrundein", "stelleinmarginalieein", "stelleinteraktionein", "stelleinteraktionsbalkenein", "stelleinteraktionsbildschirmein", "stelleinteraktionsmenueein", "stelleknopfein", "stellekombinationein", "stellekommentarein", "stellekopfzahlein", "stellekopfzeileein", "stellekopfzeilentextein", "stellelabeltextein", "stellelayoutein", "stellelegendeein", "stellelinienbreiteein", "stellelisteein", "stellemarginalblockein", "stellemarginallinieein", "stellenobenein", "stellenummerierungein", "stellepaletteein", "stellepapierformatein", "stelleplatziegeteiltegleitobjekt", "stellepositionierenein", "stellepostenein", "stelleprofilein", "stelleprogrammein", "stellepublikationein", "stellepufferein", "stellerasterein", "stellerechteckein", "stellereferenzierenein", "stellereferenzlisteein", "stelleregisterein", "stelleseitenkommentarein", "stelleseitennummerein", "stelleseitennummeriernungein", "stelleseitenuebergangein", "stellesortierenein", "stellespaltenein", "stellespatiumein", "stellespracheein", "stellesymbolsetein", "stellesynchronisationein", "stellesynchronisationsbalkenein", "stellesynonymein", "stellesystemein", "stelletabein", "stelletabellenein", "stelletabulatorein", "stelletextein", "stelletextobenein", "stelletexttexteein", "stelletextumrissein", "stelletextuntenein", "stelletipein", "stelletippenein", "stelletoleranzein", "stelleueberschriftein", "stelleueberschriftenein", "stelleueberschrifttextein", "stelleumbruchein", "stelleumrahmtein", "stelleumrahmtetexteein", "stelleuntenein", "stelleunterseitennummerein", "stelleunterstreichenein", "stelleurlein", "stelleversalienein", "stelleversionein", "stellezeilenabstandein", "stellezeilenein", "stellezeilennumerierungein", "stellezitierenein", "stellezusammengestelltelisteein", "stellezwischenraumein", "stopalignment", "stopausrichtung", "stopbuffer", "stopcolumnmakeup", "stopcolumns", "stopcolumnset", "stopcombination", "stopcomment", "stopdescription", "stopdocument", "stopdokument", "stopenger", "stopenumeration", "stopfarbe", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stopgeg", "stopgegenueber", "stopglobal", "stopgrosserdurchschuss", "stophiding", "stophintergrund", "stopinteraktionsmenue", "stopitemgroup", "stopkleinerdurchschuss", "stopkodierung", "stopkombination", "stopkomponente", "stoplegend", "stopline", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stoplokal", "stoplokalefussnoten", "stopmakeup", "stopmarginalblock", "stopmarginallinie", "stopmarginblock", "stopnamemakeup", "stopnarrower", "stopopposite", "stopoverlay", "stopoverview", "stopparagraph", "stoppositionieren", "stoppositioning", "stoppostponing", "stopprodukt", "stopprofil", "stopprofile", "stopprojekt", "stopraster", "stopspalten", "stopsymbolset", "stopsynchronisation", "stopsynchronization", "stoptabelle", "stoptabellen", "stoptable", "stoptables", "stoptabulate", "stoptext", "stoptextlinie", "stoptyping", "stopueberblick", "stopumbruch", "stopumgebung", "stopunpacked", "stopversion", "stopzeile", "stopzeilen", "stopzeilenkorrektur", "stopzeilennumerierung", "stopzitat", "sub", "subject", "subpagenumber", "subsection", "subsubject", "subsubsection", "subsubsubject", "switchtorawfont", "sym", "symbol", "synchronisationsbalken", "synchronisieren", "synonym", "tab", "teilegleitobjekt", "testcolumn", "testpage", "tex", "textbreite", "texthoehe", "textlinie", "textreferenz", "textvariable", "tief", "tiho", "tip", "tippedatei", "tippen", "tippepuffer", "title", "tooltip", "txt", "ueber", "ueberschrifttext", "uebersetzten", "umgebung", "umrahmt", "unbekant", "underbar", "underbars", "unterformelnummer", "useXMLfilter", "usedirectory", "usetypescript", "usetypescriptfile", "verbergebloecke", "vergleichefarbengruppe", "vergleichepalette", "verknuepfebeschriftung", "verknuepfedokument", "verknuepfregister", "version", "verweis", "verweisdatum", "verwendeJSscript", "verwendeURL", "verwendebefehl", "verwendebloecke", "verwendeexteresdokument", "verwendeexterneabbildung", "verwendeexternedatei", "verwendeexternedateien", "verwendeexternestonstueck", "verwendemodul", "verwendemodule", "verwendereferenzen", "verwendesymbole", "verwendeurl", "vl", "volleswort", "von", "waehlebloeckeaus", "waehlepapieraus", "waehleversionaus", "wechselezumfliesstext", "wiederholen", "wochentag", "wohnort", "wortrechts", "zeigedruck", "zeigeeinstellungen", "zeigeexterneabbildungen", "zeigefarbe", "zeigefarbengruppe", "zeigefelder", "zeigefliesstext", "zeigefliesstextumgebung", "zeigegitter", "zeigelayout", "zeigepalette", "zeigerahmen", "zeigestruts", "zeigeumbruch", "zentriert", "ziffern", "zitat", "zitieren", "zu", "zurbox", "zurseite", "zwischenraum" }, + ["en"]={ "CAP", "Cap", "Caps", "Character", "Characters", "MONTH", "Numbers", "Romannumerals", "WEEKDAY", "WORD", "WORDS", "Word", "Words", "about", "adaptlayout", "adding", "appendix", "arg", "at", "atleftmargin", "atpage", "atrightmargin", "background", "backspace", "blackrule", "blackrules", "blank", "bookmark", "bottomdistance", "bottomheight", "bottomspace", "but", "button", "bypassblocks", "cap", "chapter", "character", "characters", "chem", "clip", "clonefield", "color", "colorbar", "colorvalue", "column", "comment", "comparecolorgroup", "comparepalet", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "completepagenumber", "completeregister", "component", "convertnumber", "copyfield", "correctwhitespace", "coupledocument", "coupledregister", "couplemarking", "couplepage", "couplepaper", "coupleregister", "crlf", "currentdate", "currentheadnumber", "cutspace", "date", "decouplemarking", "decrementnumber", "define", "defineaccent", "defineblank", "defineblock", "definebodyfont", "definebodyfontDEF", "definebodyfontREF", "definebodyfontenvironment", "definebuffer", "definecharacter", "definecolor", "definecolorgroup", "definecolumnbreak", "definecolumnset", "definecombination", "definecombinedlist", "definecommand", "defineconversion", "definedescription", "definedfont", "defineenumeration", "definefield", "definefieldstack", "definefiguresymbol", "definefloat", "definefont", "definefontfeature", "definefonthandling", "definefontstyle", "definefontsynonym", "defineframed", "defineframedtext", "definehbox", "definehead", "defineindentedtext", "defineinmargin", "defineinteractionmenu", "defineitemgroup", "definelabel", "definelayer", "definelayout", "definelist", "definelogo", "definemainfield", "definemakeup", "definemarking", "definemathalignment", "defineoutput", "defineoverlay", "definepagebreak", "definepalet", "definepapersize", "defineparagraphs", "defineplacement", "defineprofile", "defineprogram", "definerawfont", "definereference", "definereferenceformat", "definereferencelist", "defineregister", "definerule", "definesection", "definesectionblock", "definesorting", "definestartstop", "definestyle", "definesubfield", "definesymbol", "definesynonyms", "definetabletemplate", "definetabulate", "definetext", "definetextbackground", "definetextposition", "definetextvariable", "definetype", "definetypeface", "definetyping", "defineversion", "description", "determineheadnumber", "determinelistcharacteristics", "determineregistercharacteristics", "dimension", "disableinteractionmenu", "domicile", "donttest", "edgedistance", "edgewidth", "emptylines", "enumeration", "environment", "externalfigure", "fact", "field", "fieldstack", "fillinfield", "fillinline", "fillinrules", "fillintext", "fitfield", "fixedspace", "fixedspaces", "followprofile", "followprofileversion", "followversion", "footerdistance", "footerheight", "footnote", "footnotetext", "forceblocks", "formulanumber", "fraction", "framed", "framedtext", "from", "getbuffer", "getmarking", "getnumber", "godown", "goto", "gotobox", "gotopage", "graycolor", "greyvalue", "grid", "hairline", "head", "headerdistance", "headerheight", "headlevel", "headnumber", "headsym", "headtext", "hideblocks", "high", "hl", "immediatebetweenlist", "immediatetolist", "in", "incrementnumber", "indentation", "indenting", "inframed", "infull", "ininner", "inleft", "inleftedge", "inleftmargin", "inline", "inmaframed", "inmargin", "inneredgedistance", "inneredgewidth", "innermargindistance", "innermarginwidth", "inothermargin", "inouter", "inright", "inrightedge", "inrightmargin", "installlanguage", "interactionbar", "interactionbuttons", "interactionmenu", "item", "items", "its", "keepblocks", "label", "labeling", "labels", "labeltext", "language", "leftaligned", "leftedgedistance", "leftedgewidth", "leftmargindistance", "leftmarginwidth", "leg", "linethickness", "listheight", "listlength", "listsymbol", "listwidth", "loadsorts", "loadsynonyms", "logfields", "lohi", "low", "maframed", "mainlanguage", "makeupheight", "makeupwidth", "mapfontsize", "mar", "margindistance", "marginrule", "margintext", "margintitle", "marginwidth", "marginword", "marking", "markversion", "mathematics", "mediaeval", "menubutton", "midaligned", "mirror", "month", "moveformula", "moveongrid", "movesidefloat", "name", "navigating", "nextsection", "nocap", "nodimension", "noheaderandfooterlines", "noindenting", "nolist", "nomarking", "nomoreblocks", "nomorefiles", "nop", "nospace", "note", "notopandbottomlines", "nowhitespace", "numberofsubpages", "numbers", "outeredgedistance", "outeredgewidth", "outermargindistance", "outermarginwidth", "overbar", "overbars", "overstrike", "overstrikes", "packed", "page", "pagedepth", "pagenumber", "pageoffset", "pagereference", "paperheight", "paperwidth", "paragraph", "part", "periods", "placebookmarks", "placecombinedlist", "placefloat", "placefootnotes", "placeformula", "placeheadnumber", "placeheadtext", "placelegend", "placelist", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "placelocalfootnotes", "placelogos", "placeongrid", "placeontopofeachother", "placepagenumber", "placerawlist", "placereferencelist", "placeregister", "placerule", "placesidebyside", "placesubformula", "placetextvariable", "position", "positiontext", "printpaperheight", "printpaperwidth", "processblocks", "processpage", "product", "program", "project", "publication", "quotation", "quote", "ran", "redo", "ref", "reference", "referral", "referraldate", "referring", "register", "remark", "reservefloat", "reset", "resetmarking", "resetnumber", "resettextcontent", "rightaligned", "rightedgedistance", "rightedgewidth", "rightmargindistance", "rightmarginwidth", "romannumerals", "rotate", "scale", "screen", "section", "seeregister", "selectblocks", "selectpaper", "selectversion", "setnumber", "settextcontent", "settextvariable", "setupalign", "setupanswerarea", "setuparranging", "setupbackground", "setupbackgrounds", "setupblackrules", "setupblank", "setupblock", "setupbodyfont", "setupbodyfontenvironment", "setupbottom", "setupbottomtexts", "setupbuffer", "setupbuttons", "setupcapitals", "setupcaption", "setupcaptions", "setupclipping", "setupcolor", "setupcolors", "setupcolumns", "setupcolumnset", "setupcolumnsetlines", "setupcolumnsetstart", "setupcombinations", "setupcombinedlist", "setupcomment", "setupdescriptions", "setupenumerations", "setupexternalfigures", "setupfield", "setupfields", "setupfillinlines", "setupfillinrules", "setupfloat", "setupfloats", "setupfloatsplitting", "setupfonthandling", "setupfontsynonym", "setupfooter", "setupfootertexts", "setupfootnotedefinition", "setupfootnotes", "setupforms", "setupformulae", "setupframed", "setupframedtexts", "setuphead", "setupheader", "setupheadertexts", "setupheadnumber", "setupheads", "setupheadtext", "setuphyphenmark", "setupindentedtext", "setupindenting", "setupinmargin", "setupinteraction", "setupinteractionbar", "setupinteractionmenu", "setupinteractionscreen", "setupinterlinespace", "setupinterlinespace2", "setupitemgroup", "setupitemizations", "setupitems", "setuplabeltext", "setuplanguage", "setuplayout", "setuplegend", "setuplinenumbering", "setuplines", "setuplinewidth", "setuplist", "setuplistalternative", "setupmakeup", "setupmarginblocks", "setupmarginrules", "setupmarking", "setupmathalignment", "setupnarrower", "setupnumber", "setupnumbering", "setupoppositeplacing", "setupoutput", "setuppagecomment", "setuppagenumber", "setuppagenumbering", "setuppagetransitions", "setuppalet", "setuppaper", "setuppapersize", "setupparagraphnumbering", "setupparagraphs", "setupplacement", "setuppositioning", "setupprofiles", "setupprograms", "setuppublications", "setupquote", "setupreferencelist", "setupreferencing", "setupregister", "setuprotate", "setuprule", "setupscreens", "setupsection", "setupsectionblock", "setupsorting", "setupspacing", "setupstartstop", "setupstrut", "setupsubpagenumber", "setupsymbolset", "setupsynchronization", "setupsynchronizationbar", "setupsynonyms", "setupsystem", "setuptab", "setuptables", "setuptabulate", "setuptext", "setuptextbackground", "setuptextposition", "setuptextrules", "setuptexttexts", "setuptextvariable", "setupthinrules", "setuptolerance", "setuptop", "setuptoptexts", "setuptype", "setuptyping", "setupunderbar", "setupurl", "setupversions", "setupwhitespace", "showbodyfont", "showbodyfontenvironment", "showcolor", "showcolorgroup", "showexternalfigures", "showfields", "showframe", "showgrid", "showlayout", "showmakeup", "showpalet", "showprint", "showsetups", "showstruts", "showsymbolset", "someline", "somewhere", "sort", "space", "splitfloat", "startalignment", "startbackground", "startbuffer", "startcoding", "startcolor", "startcolumnmakeup", "startcolumns", "startcolumnset", "startcombination", "startcomment", "startcomponent", "startdescription", "startdocument", "startenumeration", "startenvironment", "startfact", "startfigure", "startfloattext", "startformula", "startframed", "startframedtext", "startglobal", "starthiding", "startinteractionmenu", "startitemgroup", "startlegend", "startline", "startlinecorrection", "startlinenumbering", "startlines", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startmakeup", "startmarginblock", "startmarginrule", "startnamemakeup", "startnarrower", "startopposite", "startoverlay", "startoverview", "startpacked", "startparagraph", "startpositioning", "startpostponing", "startproduct", "startprofile", "startproject", "startquotation", "startraster", "startregister", "startsymbolset", "startsynchronization", "starttable", "starttables", "starttabulate", "starttext", "starttextbackground", "starttextrule", "starttyping", "startunpacked", "startversion", "stopalignment", "stopbackground", "stopbuffer", "stopcoding", "stopcolor", "stopcolumnmakeup", "stopcolumns", "stopcolumnset", "stopcombination", "stopcomment", "stopcomponent", "stopdescription", "stopdocument", "stopenumeration", "stopenvironment", "stopfact", "stopfigure", "stopfloattext", "stopformula", "stopframed", "stopframedtext", "stopglobal", "stophiding", "stopinteractionmenu", "stopitemgroup", "stoplegend", "stopline", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stopmakeup", "stopmarginblock", "stopmarginrule", "stopnamemakeup", "stopnarrower", "stopopposite", "stopoverlay", "stopoverview", "stoppacked", "stopparagraph", "stoppositioning", "stoppostponing", "stopproduct", "stopprofile", "stopproject", "stopquotation", "stopraster", "stopsymbolset", "stopsynchronization", "stoptable", "stoptables", "stoptabulate", "stoptext", "stoptextbackground", "stoptextrule", "stoptyping", "stopunpacked", "stopversion", "stretched", "sub", "subformulanumber", "subject", "subpagenumber", "subsection", "subsubject", "subsubsection", "subsubsubject", "switchtobodyfont", "switchtorawfont", "sym", "symbol", "symoffset", "synchronizationbar", "synchronize", "synonym", "tab", "testcolumn", "testpage", "tex", "textheight", "textreference", "textrule", "textvariable", "textwidth", "thinrule", "thinrules", "title", "tooltip", "topdistance", "topheight", "topspace", "totalnumberofpages", "translate", "txt", "typ", "type", "typebuffer", "typefile", "underbar", "underbars", "unitmeaning", "unknown", "useJSscripts", "useURL", "useXMLfilter", "useblocks", "usecommands", "usedirectory", "useencoding", "useexternaldocument", "useexternalfigure", "useexternalfile", "useexternalfiles", "useexternalsoundtrack", "usemodule", "usemodules", "usereferences", "usespecials", "usesymbols", "usetypescript", "usetypescriptfile", "useurl", "version", "vl", "weekday", "whitespace", "wordright", "writebetweenlist", "writetolist", "writetoreferencelist", "writetoregister" }, + ["fr"]={ "CAP", "Cap", "Caps", "Caractere", "Caracteres", "Chiffresromains", "JOURSEMAINE", "MOIS", "MOT", "MOTS", "Mot", "Mots", "Numeros", "a", "adaptedisposition", "affectenumero", "affectevariabletexte", "ajustechamp", "alaligne", "alapage", "aligneadroite", "aligneagauche", "aligneaumilieu", "appendix", "arg", "arriereplan", "atleftmargin", "atrightmargin", "baha", "barrecouleur", "barreinteraction", "barresynchronisation", "bas", "bouton", "boutonmenu", "boutonsinteraction", "but", "cacheblocs", "cap", "caractere", "caracteres", "champ", "changepolicebrute", "changepolicecorps", "chapter", "chem", "chiffresromains", "citation", "citer", "clip", "clonechamp", "colonne", "comment", "commentaire", "comparegroupecouleur", "comparepalette", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "completenumeropage", "completeregistre", "composant", "composeenalinea", "concernant", "convertitnumero", "copitchamp", "corrigeespaceblanc", "couleur", "couleurgrise", "coupledocument", "coupledregister", "couplemarquage", "couplepapier", "coupleregistre", "crlf", "cutspace", "dactylographier", "dans", "dansautremarge", "dansborddroit", "dansbordgauche", "dansdroite", "dansgauche", "dansmarge", "dansmargedroite", "dansmargegauche", "date", "datecourante", "daterecommandation", "de", "decouplemarquage", "decrementenumero", "definebodyfontDEF", "definebodyfontREF", "definecombination", "definedfont", "definefontfeature", "definefonthandling", "defineframed", "defineframedtext", "defineindentedtext", "defineitemgroup", "definemathalignment", "defineplacement", "definetypeface", "definicaractere", "definit", "definitaccent", "definitbloc", "definitblocsection", "definitbuffer", "definitcalque", "definitchamp", "definitchampprincipal", "definitcommande", "definitconversion", "definitcouleur", "definitdactylo", "definitdansmarge", "definitdemarrestoppe", "definitdescription", "definitdisposition", "definitenumeration", "definitenvironnementpolicecorps", "definitetiquette", "definitflottant", "definitformatreference", "definitgroupecouleur", "definithbox", "definitjeucolonne", "definitliste", "definitlisteimbriquee", "definitlistereference", "definitlogo", "definitmakeup", "definitmarquage", "definitmenuinteraction", "definitnotepdp", "definitpalette", "definitparagraphes", "definitpilechamp", "definitpolice", "definitpolicebrute", "definitpolicecorps", "definitpositiontexte", "definitprofil", "definitprogramme", "definitreference", "definitregistre", "definitregle", "definitrevetement", "definitsautdecolonne", "definitsautdepage", "definitsection", "definitsortie", "definitsouschamp", "definitstyle", "definitstylepolice", "definitsymbole", "definitsymbolefigure", "definitsynonymepolice", "definitsynonymes", "definittabulation", "definittaillepapier", "definittete", "definittexte", "definittrametableau", "definittri", "definittype", "definitvariabletexte", "definitversion", "definitvide", "demarrealignement", "demarrearriereplan", "demarreblocmarge", "demarrecitation", "demarreciter", "demarrecodage", "demarrecolonnes", "demarrecombinaison", "demarrecompoetroite", "demarrecomposant", "demarrecorrectionligne", "demarrecouleur", "demarredegroupe", "demarredocument", "demarreenvironement", "demarrefigure", "demarreglobal", "demarregroupe", "demarrejeucolonne", "demarrejeusymboles", "demarreligne", "demarreligneregleetexte", "demarrelignes", "demarrelocal", "demarremakeup", "demarremargereglee", "demarrenotespdplocales", "demarrenumerotationligne", "demarreopposition", "demarrepositionnement", "demarreproduit", "demarreprofil", "demarreprojet", "demarreraster", "demarrerevetement", "demarresynchronisation", "demarretableau", "demarretableaux", "demarretexte", "demarreversion", "demarrevuedensemble", "deplaceformule", "deplacesurgrille", "description", "determinecaracteristiqueliste", "determinecaracteristiquesregistre", "determinenumerotete", "dimension", "distancebord", "distanceborddroit", "distancebordgauche", "distanceentete", "distanceinf", "distancemarge", "distancemargedroite", "distancemargegauche", "distancepdp", "distancesup", "domicile", "echelle", "ecran", "ecritdansliste", "ecritdanslistereference", "ecritentreliste", "ecritregistre", "el", "element", "elements", "emptylines", "enumeration", "environement", "espace", "espaceblanc", "espacefixe", "espaceinf", "espacesfixes", "espacesup", "etiquette", "etiquettes", "etire", "fait", "faitreference", "fichierdactylo", "figureexterne", "forceblocs", "fraction", "framed", "framedtext", "gardeblocs", "getnumber", "grille", "groupe", "haut", "hauteureditionpapier", "hauteurentete", "hauteurinf", "hauteurliste", "hauteurmakeup", "hauteurpapier", "hauteurpdp", "hauteursup", "hauteurtexte", "headsym", "hl", "immediatebetweenlist", "immediatetolist", "inconnu", "incrementenumero", "indentation", "inframed", "infull", "inhibemenuinteraction", "ininner", "inmframed", "inneredgedistance", "inneredgewidth", "innermargindistance", "innermarginwidth", "inouter", "installelangue", "joursemaine", "labeling", "labeltexte", "langue", "langueprincipale", "largeurbord", "largeurborddroit", "largeurbordgauche", "largeureditionpapier", "largeurligne", "largeurliste", "largeurmakeup", "largeurmarge", "largeurmargedroite", "largeurmargegauche", "largeurpapier", "largeurtexte", "leg", "ligneh", "lignenoire", "ligneregleetexte", "lignesnoires", "listesymbole", "llongueurliste", "loadsorts", "loadsynonyms", "logchamp", "mapfontsize", "mar", "margereglee", "marquage", "marquageversion", "marquepage", "mathematique", "mediaeval", "menuinteraction", "mframed", "mois", "montrecadre", "montrechamps", "montrecouleur", "montredisposition", "montreedition", "montreenvironnementpolicecorps", "montrefiguresexternes", "montregrille", "montregroupecouleur", "montrejeusymboles", "montremakeup", "montrepalette", "montrepolicecorps", "montrereglages", "montrestruts", "motdroit", "motmarge", "movesidefloat", "name", "navigating", "nextsection", "niveautete", "nocap", "nombredesouspages", "nombretotaldepages", "nommacro", "nop", "note", "notepdp", "numeroformule", "numeropage", "numeros", "numerosousformule", "numerotete", "numerotetecourant", "obtientmarquage", "oriente", "outeredgedistance", "outeredgewidth", "outermargindistance", "outermarginwidth", "overbar", "overbars", "overstrike", "overstrikes", "page", "pagedepth", "pagedouble", "pageoffset", "paragraph", "part", "pasplusdeblocs", "pasplusdefichiers", "periodes", "pilechamp", "placecoteacote", "placeflottant", "placeformule", "placelegende", "placelesunsaudessusdesautres", "placeliste", "placelisteinmbriquee", "placelistereference", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "placelogos", "placemarquespages", "placenotespdp", "placenotespdplocales", "placenumeropage", "placenumerotete", "placerawlist", "placeregistre", "placeregle", "placesousformule", "placesurgrille", "placetextetete", "placevariabletexte", "position", "positionnetexte", "prendbuffer", "produit", "programme", "projet", "publication", "qqpart", "ran", "raz", "razmarquage", "raznumero", "recommandation", "ref", "refait", "reference", "referencepage", "referencetexte", "reflete", "register", "reglealignement", "reglearrangement", "reglearriereplan", "reglearriereplans", "reglebarreinteraction", "reglebarresynchronisation", "reglebloc", "regleblocmarge", "regleblocsection", "regleboutons", "reglebuffer", "reglecapitales", "reglechamp", "reglechamps", "regleclipping", "reglecolonnes", "reglecombinaisons", "reglecommentaire", "reglecommentairepage", "reglecompoetroite", "reglecomposeenalinea", "reglecouleur", "reglecouleurs", "regledactylo", "regledansmarge", "regledemarrestoppe", "regledescriptions", "regledisposition", "regleecraninteraction", "regleecrans", "regleelements", "regleencadre", "regleentete", "regleenumerations", "regleenvironnementpolicecorps", "regleepaisseurligne", "regleespaceblanc", "regleespacement", "regleespacementinterligne", "reglefiguresexternes", "regleflottant", "regleflottants", "regleformulaires", "regleformules", "reglegroupeselements", "regleinf", "regleinteraction", "regleintitule", "regleintitules", "reglejeucolonne", "reglejeusymboles", "reglelabeltexte", "reglelangue", "reglelegende", "reglelignes", "reglelignesnoires", "reglelignesreglestexte", "regleliste", "reglelisteimbriquee", "reglelistereference", "reglemakeup", "reglemargereglee", "reglemarquage", "reglemarquagehyphenation", "reglemenuinteraction", "reglenotepdp", "reglenumero", "reglenumeropage", "reglenumerotation", "reglenumerotationligne", "reglenumerotationpage", "reglenumerotationparagraphe", "reglenumerotete", "regleoriente", "reglepalette", "reglepapier", "regleparagraphes", "reglepdp", "regleplacementopposition", "reglepolicecorps", "reglepositionnement", "reglepositiontexte", "regleprofils", "regleprogrammes", "reglepublications", "reglereferencage", "regleregistre", "regleregle", "regleremplitligne", "regleremplitlignesreglees", "reglesection", "regleseparationflottant", "reglesortie", "reglesouslignage", "reglesousnumeropage", "reglestrut", "reglesup", "reglesynchronisation", "reglesynonymes", "reglesysteme", "regletab", "regletableaux", "regletabulation", "regletaillepapier", "regletete", "regletetes", "regletexte", "regletextesentete", "regletextesinf", "regletextespdp", "regletextessup", "regletextestexte", "regletextetete", "regletolerance", "regletraitsfins", "regletransitionspage", "regletri", "regletype", "regleurl", "reglevariabletexte", "regleversions", "remplitchamp", "remplitligne", "remplitlignesreglees", "remplittexte", "reservefloat", "resettextcontent", "retourarriere", "sansalinea", "sansdimension", "sansespace", "sansespaceblanc", "sanslignesenteteetpdp", "sanslignessupetinf", "sansliste", "sansmarquage", "sanstest", "sauteblocs", "section", "seeregister", "selectionneblocs", "selectionnepapier", "selectionneversion", "sensunite", "separeflottant", "settext", "setupanswerarea", "setupcolumnsetlines", "setupcolumnsetstart", "setupfonthandling", "setupfontsynonym", "setupframedtexts", "setupindentedtext", "setupinterlinespace2", "setupitemgroup", "setuplistalternative", "setupmathalignment", "setupplacement", "sort", "sousnumeropage", "startalignment", "startarriereplan", "startbuffer", "startcitation", "startcolumnmakeup", "startcolumns", "startcombination", "startcomment", "startcomposant", "startcouleur", "startdescription", "startdocument", "startenumeration", "startenvironement", "startfait", "startfigure", "startfloattext", "startformula", "startframedtext", "startgroupe", "starthiding", "startitemgroup", "startlegend", "startligneregleetexte", "startline", "startlinecorrection", "startlinenumbering", "startlines", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startmakeup", "startmargereglee", "startmarginblock", "startmenuinteraction", "startnamemakeup", "startnarrower", "startopposite", "startoverlay", "startoverview", "startparagraph", "startpositioning", "startpostponing", "startproduit", "startprofile", "startprojet", "startregister", "startsymbolset", "startsynchronization", "starttable", "starttables", "starttabulate", "starttyping", "startunpacked", "startversion", "stopalignment", "stoparriereplan", "stopbuffer", "stopcitation", "stopcolumnmakeup", "stopcolumns", "stopcombination", "stopcomment", "stopcompoetroite", "stopcomposant", "stopcouleur", "stopdescription", "stopdocument", "stopenumeration", "stopenvironement", "stopfait", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stopgroupe", "stophiding", "stopitemgroup", "stoplegend", "stopligneregleetexte", "stopline", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stopmakeup", "stopmargereglee", "stopmarginblock", "stopmenuinteraction", "stopnamemakeup", "stopnarrower", "stopopposite", "stopoverlay", "stopoverview", "stopparagraph", "stoppealignement", "stoppearriereplan", "stoppeblocmarge", "stoppecitation", "stoppecodage", "stoppecolonnes", "stoppecombinaison", "stoppecomposant", "stoppecorrectionligne", "stoppecouleur", "stoppedegroupe", "stoppedocument", "stoppeenvironement", "stoppeglobal", "stoppegroupe", "stoppejeucolonne", "stoppeligne", "stoppeligneregleetexte", "stoppelignes", "stoppelocal", "stoppemakeup", "stoppemargereglee", "stoppenotespdplocales", "stoppenumerotationligne", "stoppeopposition", "stoppepositionnement", "stoppeproduit", "stoppeprofil", "stoppeprojet", "stopperaster", "stopperevetement", "stoppesynchronisation", "stoppetableau", "stoppetableaux", "stoppetexte", "stoppeversion", "stoppevuedensemble", "stoppositioning", "stoppostponing", "stopproduit", "stopprofile", "stopprojet", "stopsymbolset", "stopsynchronization", "stoptable", "stoptables", "stoptabulate", "stoptyping", "stopunpacked", "stopversion", "sub", "subject", "subsection", "subsubject", "subsubsection", "subsubsubject", "suggestion", "suivantprofil", "suivantversion", "suivantversionprofil", "sym", "symbole", "synchronise", "synonym", "tab", "tapebuffer", "testcolumn", "testpage", "tete", "tex", "textemarge", "textenotepdp", "textetete", "title", "titremarge", "traduire", "traiteblocs", "traitepage", "traitfin", "traitsfins", "txt", "typ", "underbar", "underbars", "uneligne", "useXMLfilter", "usedirectory", "usetypescript", "usetypescriptfile", "utiliseJSscripts", "utiliseURL", "utiliseblocs", "utilisechemin", "utilisecommandes", "utilisedocumentexterne", "utiliseencodage", "utilisefichierexterne", "utilisefichiersexternes", "utilisefigureexterne", "utilisemodule", "utilisemodules", "utilisepsiteaudioexterne", "utilisereferences", "utilisespecialites", "utilisesymboles", "utiliseurl", "va", "vaalaboite", "vaalapage", "vaenbas", "valeurcouleur", "valeurgris", "variabletexte", "version", "vide", "vl" }, + ["it"]={ "CAP", "Cap", "Caps", "GIORNOSETTIMANA", "Lettera", "Lettere", "MESE", "Numeri", "Numeriromani", "PAROLA", "PAROLE", "Parola", "Parole", "accoppiacarta", "accoppiadocumento", "accoppiamarcatura", "accoppiapagina", "accoppiaregistro", "adattacampo", "adattalayout", "al", "allineacentro", "allineadestra", "allineasinistra", "altezzacarta", "altezzacartastampa", "altezzacima", "altezzaelenco", "altezzafondo", "altezzaintestazione", "altezzamakeup", "altezzapdp", "altezzatesto", "ambiente", "ampiezzabordo", "ampiezzabordodestro", "ampiezzabordosinistro", "ampiezzacarta", "ampiezzacartastampa", "ampiezzaelenco", "ampiezzamakeup", "ampiezzamargine", "ampiezzamarginedestro", "ampiezzamarginesinistro", "ampiezzatesto", "ap", "apagina", "appendix", "arg", "atleftmargin", "atrightmargin", "barracolori", "barrainterazione", "barrasincronizzazione", "bastablocchi", "bastafile", "cambiaafontdeltesto", "campi", "camporiempimento", "cap", "capello", "chapter", "chim", "circondato", "citazione", "clip", "clonacampo", "colonna", "colore", "coloregrigio", "comment", "commento", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "completeregister", "componenet", "confrontagruppocolori", "confrontatavolozza", "convertinumero", "copiacampo", "correggispaziobianco", "coupledregister", "crlf", "cutspace", "da", "daqualcheparte", "data", "datadioggi", "datareferral", "decrementnumber", "definebodyfontDEF", "definebodyfontREF", "definecolumnbreak", "definecombination", "definedfont", "definefontfeature", "definefonthandling", "defineindentedtext", "defineinmargin", "defineitemgroup", "definelayer", "definemathalignment", "definepagebreak", "defineplacement", "definetypeface", "definisci", "definisciaccento", "definisciambientefontdeltesto", "definisciblocco", "definiscibloccosezione", "definiscibuffer", "definiscicampo", "definiscicampoprincipale", "definiscicapoversi", "definiscicarattere", "definiscicolore", "definiscicomando", "definisciconversione", "definiscidescrizione", "definiscidimensionicarta", "definiscielenco", "definiscielencocombinato", "definiscienumerazione", "definiscietichetta", "definiscifigurasimbolo", "definiscifont", "definiscifontdeltesto", "definiscifontgrezzo", "definisciformatoriferimento", "definiscigruppocolonne", "definiscigruppocolori", "definiscihbox", "definisciincorniciato", "definisciiniziatermina", "definiscilayout", "definiscilinea", "definiscilistariferimenti", "definiscilogo", "definiscimakeup", "definiscimarcatura", "definiscimenuinterazione", "definiscimodellotabella", "definiscioggettomobile", "definisciordinamento", "definiscioutput", "definisciposizionetesto", "definisciprofilo", "definisciprogramma", "definisciregistro", "definisciriferimento", "definiscirigovuoto", "definiscisezione", "definiscisimbolo", "definiscisinonimi", "definiscisinonimofont", "definiscisottocampo", "definiscisovrapposizione", "definiscistackcampi", "definiscistile", "definiscistilefont", "definiscitabulato", "definiscitavolozza", "definiscitesta", "definiscitesto", "definiscitestoincorniciato", "definiscitype", "definiscityping", "definiscivariabiletesto", "definisciversion", "description", "determinacaratteristicheregistro", "determinacarattersticheelenco", "determinanumerotesta", "dimensione", "disabilitamenuinterazione", "distanzabordo", "distanzabordodestro", "distanzabordosinistro", "distanzacima", "distanzafondo", "distanzaintestazione", "distanzamargine", "distanzamarginedestro", "distanzamarginesinistro", "distanzapdp", "domicilio", "el", "elaborablocchi", "elaborapagina", "elementi", "elemento", "emptylines", "enumeration", "etichetta", "etichette", "fatto", "figuraesterna", "fondo", "forzablocchi", "framedtext", "frazione", "getnumber", "giornosettimana", "griglia", "headsym", "hl", "ignoto", "immediatebetweenlist", "immediatetolist", "impaccato", "impostaallineamento", "impostaambientefontdeltesto", "impostaampiezzariga", "impostabarrainterazione", "impostabarrasincronizzazione", "impostablocchimargine", "impostablocco", "impostabloccosezione", "impostabuffer", "impostacampi", "impostacampo", "impostacapoversi", "impostacaption", "impostacaptions", "impostacima", "impostaclippling", "impostacolonne", "impostacolore", "impostacolori", "impostacombinazioni", "impostacommento", "impostacommentopagina", "impostadefinizionenotepdp", "impostadescrizioni", "impostadimensionicarta", "impostaelementi", "impostaelencazioni", "impostaelenco", "impostaelencocombinato", "impostaenumerazioni", "impostafigureesterne", "impostafondo", "impostafontdeltesto", "impostaforms", "impostaformule", "impostagruppocolonne", "impostaincorniciato", "impostainiziatermina", "impostainmargine", "impostainstestazione", "impostainterazione", "impostainterlinea", "impostalayout", "impostalegenda", "impostalinea", "impostalineemargine", "impostalineenere", "impostalineeriempimento", "impostalineesottili", "impostalineetesto", "impostalingua", "impostalistariferimenti", "impostamaiuscole", "impostamakeup", "impostamarcatura", "impostamenuinterazione", "impostamenzione", "impostanotepdp", "impostanumerazione", "impostanumerazionecapoversi", "impostanumerazionepagina", "impostanumerazionerighe", "impostanumeropagina", "impostanumerosottopagina", "impostanumerotesta", "impostaoggettimobili", "impostaoggettomobile", "impostaordinamento", "impostaoutput", "impostaparranging", "impostapdp", "impostapiustretto", "impostaposizionamento", "impostaposizionamentoopposti", "impostaposizionetesto", "impostaprofili", "impostaprogrammi", "impostapubblicazioni", "impostapulsanti", "impostaregistro", "impostarientro", "impostariferimento", "impostarighe", "impostarigheriempimento", "impostarigovuoto", "impostarotazione", "impostaschermi", "impostaschermointerazione", "impostasegnosillabazione", "impostasetsimboli", "impostasezione", "impostasfondi", "impostasfondo", "impostasincronizzazione", "impostasinonimi", "impostasistema", "impostasottolinea", "impostaspaziatura", "impostaspaziobianco", "impostaspezzamentooggettomobile", "impostastrut", "impostatab", "impostatabelle", "impostatabulato", "impostatavolozza", "impostatesta", "impostateste", "impostatesticima", "impostatestifondo", "impostatestiincorniciati", "impostatestiintestazioni", "impostatestipdp", "impostatesto", "impostatestoetichette", "impostatestointestazioni", "impostatestotesti", "impostatolleranza", "impostatransizionepagina", "impostatype", "impostatyping", "impostaurl", "impostavariabiletesto", "impostaversioni", "in", "inaltromargine", "incorniciato", "incrementanumero", "indentation", "indestra", "ininner", "iniziaallineamento", "iniziaambiente", "iniziabloccomargine", "iniziacitazione", "iniziacodifica", "iniziacolonne", "iniziacolore", "iniziacombinazione", "iniziacomponente", "iniziacorrezioneriga", "iniziadocumento", "iniziafigura", "iniziaglobale", "iniziagruppocolonne", "iniziaimpaccato", "inizialineamargine", "inizialineatesto", "inizialocale", "iniziamakeup", "inizianotepdplocali", "inizianumerazionerighe", "iniziaopposto", "iniziaoverview", "iniziapiustretto", "iniziaposizionamento", "iniziaprodotto", "iniziaprofilo", "iniziaprogetto", "iniziaraster", "iniziariga", "iniziarighe", "iniziasetsimboli", "iniziasfondo", "iniziasincronizzazione", "iniziasovrapposizione", "iniziatabella", "iniziatabelle", "iniziatesto", "iniziaunpacked", "iniziaversione", "inlatodestro", "inlatosinistro", "inmaframed", "inmargine", "inmarginedestro", "inmarginesinistro", "inneredgedistance", "inneredgewidth", "innermargindistance", "innermarginwidth", "inouter", "inriga", "insinistra", "installalingua", "intorno", "labeling", "leg", "lettera", "lettere", "lineamargine", "lineanera", "lineasottile", "lineatesto", "lineenere", "lineeriempimento", "lineesottili", "lingua", "linguaprincipale", "listsymbol", "livellotesta", "loadsorts", "loadsynonyms", "logcampi", "lunghezzaelenco", "maframed", "mapfontsize", "mar", "marcatura", "marcaversione", "matematica", "mediaeval", "menuinterattivo", "menzione", "mese", "mettielenco", "mettielencocombinato", "mettifiancoafianco", "mettiformula", "mettiingriglia", "mettilegenda", "mettilinea", "mettiloghi", "mettinotepdp", "mettinotepdplocali", "mettinumeropagina", "mettiregistro", "mettisegnalibro", "mettisottoformula", "mettiunosullaltro", "mettivariabiletesto", "mostraambientefontdeltesto", "mostracampi", "mostracolore", "mostracornice", "mostrafiguresterne", "mostrafontdeltesto", "mostragriglia", "mostragruppocolori", "mostraimpostazioni", "mostralyout", "mostramakeup", "mostrasetsimboli", "mostrastampa", "mostrastruts", "mostratavolozza", "movesidefloat", "name", "nascondiblocchi", "navigating", "nextsection", "nientedimensioni", "nienteelenco", "nientelineecimafondo", "nientelineintestazionepdp", "nientemarcatura", "nienterientro", "nientespazio", "nientespaziobianco", "nocap", "nome", "nomeunita", "nop", "nota", "notapdp", "notest", "numberofsubpages", "numeri", "numeriromani", "numeroformula", "numeropagina", "numeropaginacompleto", "numerosottoformula", "numerotesta", "numerotestacorrente", "numerototaledipagine", "outeredgedistance", "outeredgewidth", "outermargindistance", "outermarginwidth", "overbar", "overbars", "overstrike", "overstrikes", "pagedepth", "pageoffset", "pagina", "paragraph", "paroladestra", "parolainmargine", "part", "passaafontgrezzo", "ped", "pedap", "perlungo", "placefloat", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "placerawlist", "placereferencelist", "posizionanumerotesta", "posizionatesto", "posizionatestotesta", "posizione", "prendibuffer", "prendimarcatura", "prodotto", "progetto", "programma", "pubblicazione", "pulsante", "pulsantemenu", "pulsantinterazione", "punti", "qualcheriga", "ran", "referral", "referring", "register", "reimposta", "reimpostamarcatura", "reservefloat", "resetnumber", "resettextcontent", "rientro", "rif", "rifai", "riferimento", "riferimentopagina", "riferimentotesto", "riflessione", "rigariempimento", "rigovuoto", "ruota", "saltablocchi", "scala", "schermo", "scrividentroelenco", "scriviinelenco", "scriviinlistariferimenti", "scriviinregistro", "section", "seeregister", "segnalibro", "seguiprofilo", "seguiversione", "seguiversioneprofilo", "selezionablocchi", "selezionacarta", "selezionaversione", "separamarcatura", "setnumber", "settext", "setupanswerarea", "setupcolumnsetlines", "setupcolumnsetstart", "setupfonthandling", "setupfontsynonym", "setupindentedtext", "setupinterlinespace2", "setupitemgroup", "setuplistalternative", "setupmathalignment", "setuppaper", "setupplacement", "setvariabiletesto", "sfondo", "sim", "simbolo", "sincronizza", "sort", "spazifissi", "spazio", "spaziobianco", "spaziocima", "spaziodietro", "spaziofisso", "spaziofondo", "spessoreriga", "spezzaoggettomobile", "spostaagriglia", "spostaformula", "stackcampi", "startalignment", "startambiente", "startbuffer", "startcitazione", "startcolore", "startcolumnmakeup", "startcolumns", "startcombination", "startcomment", "startcomponenet", "startdescription", "startdocument", "startenumeration", "startfatto", "startfigure", "startfloattext", "startformula", "startframedtext", "starthiding", "startimpaccato", "startitemgroup", "startlegend", "startline", "startlineamargine", "startlineatesto", "startlinecorrection", "startlinenumbering", "startlines", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startmakeup", "startmarginblock", "startmenuinterattivo", "startnamemakeup", "startnarrower", "startopposite", "startoverlay", "startoverview", "startparagraph", "startpositioning", "startpostponing", "startprodotto", "startprofile", "startprogetto", "startregister", "startsfondo", "startsymbolset", "startsynchronization", "starttable", "starttables", "starttabulate", "starttyping", "startunpacked", "startversione", "stirato", "stopalignment", "stopambiente", "stopbuffer", "stopcitazione", "stopcolore", "stopcolumnmakeup", "stopcolumns", "stopcombination", "stopcomment", "stopcomponenet", "stopdescription", "stopdocument", "stopenumeration", "stopfatto", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stophiding", "stopimpaccato", "stopitemgroup", "stoplegend", "stopline", "stoplineamargine", "stoplineatesto", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stopmakeup", "stopmarginblock", "stopmenuinterattivo", "stopnamemakeup", "stopnarrower", "stopopposite", "stopoverlay", "stopoverview", "stopparagraph", "stoppositioning", "stoppostponing", "stopprodotto", "stopprofile", "stopprogetto", "stopsfondo", "stopsymbolset", "stopsynchronization", "stoptable", "stoptables", "stoptabulate", "stoptyping", "stopunpacked", "stopversione", "sub", "subject", "subpagenumber", "subsection", "subsubject", "subsubsection", "subsubsubject", "synonym", "tab", "terminaallineamento", "terminaambiente", "terminabloccomargine", "terminacitazione", "terminacodifica", "terminacolonne", "terminacolore", "terminacombinazione", "terminacomponente", "terminacorrezioneriga", "terminadocumento", "terminaglobale", "terminagruppocolonne", "terminaimpaccato", "terminalineamargine", "terminalineatesto", "terminalocale", "terminamakeup", "terminanotepdplocali", "terminanumerazionerighe", "terminaopposto", "terminaoverview", "terminapiustretto", "terminaposizionamento", "terminaprodotto", "terminaprofili", "terminaprogetto", "terminaraster", "terminariga", "terminarighe", "terminasfondo", "terminasincronizzazione", "terminasovrapposizione", "terminatabella", "terminatabelle", "terminatesto", "terminaunpacked", "terminaversioni", "testa", "testcolumn", "testoetichetta", "testoinmargine", "testoinstestazioni", "testonotapdp", "testoriempimento", "testpage", "tex", "tieniblocchi", "title", "titoloinmargine", "tooltip", "traduci", "txt", "typ", "type", "typebuffer", "typefile", "underbar", "underbars", "usaJSscripts", "usaURL", "usablocco", "usacartella", "usacodifica", "usacolonnasonoraesterna", "usacomandi", "usadocumentoesterno", "usafiguraesterna", "usafileesterni", "usafileesterno", "usamoduli", "usamodulo", "usariferimenti", "usasimboli", "usaspecialita", "usaurl", "useXMLfilter", "usedirectory", "usetypescript", "usetypescriptfile", "vaia", "vaiabox", "vaiapagina", "vaigiu", "valorecolore", "valoregrigio", "variabiletesto", "versione", "vl" }, + ["nl"]={ "CAP", "Cap", "Caps", "Cijfers", "KAP", "Kap", "Kaps", "Letter", "Letters", "MAAND", "Romeins", "WEEKDAG", "WOORD", "WOORDEN", "Woord", "Woorden", "aantalsubpaginas", "about", "achtergrond", "appendix", "arg", "bepaalkopnummer", "bepaallijstkenmerken", "bepaalregisterkenmerken", "betekenis", "binnenmargeafstand", "binnenmargebreedte", "binnenrandafstand", "binnenrandbreedte", "blanko", "blokje", "blokjes", "blokkeerinteractiemenu", "bodemwit", "bookmark", "bovenafstand", "bovenhoogte", "breuk", "buitenmargeafstand", "buitenmargebreedte", "buitenrandafstand", "buitenrandbreedte", "but", "button", "cap", "chapter", "chem", "cijfers", "citaat", "citeer", "clip", "comment", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "converteernummer", "copieerveld", "corrigeerwitruimte", "coupledregister", "crlf", "datum", "definebodyfontDEF", "definebodyfontREF", "definedfont", "definefontfeature", "definefonthandling", "definerawfont", "definetypeface", "definieer", "definieeraccent", "definieeralineas", "definieerbeeldmerk", "definieerblanko", "definieerblok", "definieerbuffer", "definieercombinatie", "definieercommando", "definieerconversie", "definieerfiguursymbool", "definieerfont", "definieerfontstijl", "definieerfontsynoniem", "definieerhbox", "definieerhoofdveld", "definieeringesprongentext", "definieerinmarge", "definieerinteractiemenu", "definieeritemgroep", "definieerkadertekst", "definieerkarakter", "definieerkleur", "definieerkleurgroep", "definieerkolomgroep", "definieerkolomovergang", "definieerkop", "definieerkorps", "definieerkorpsomgeving", "definieerlayer", "definieerlayout", "definieerletter", "definieerlijn", "definieerlijst", "definieermarkering", "definieeromlijnd", "definieeropmaak", "definieeroverlay", "definieerpaginaovergang", "definieerpalet", "definieerpapierformaat", "definieerplaats", "definieerplaatsblok", "definieerprofiel", "definieerprogramma", "definieerreferentie", "definieerreferentieformaat", "definieerreferentielijst", "definieerregister", "definieersamengesteldelijst", "definieersectie", "definieersectieblok", "definieersorteren", "definieerstartstop", "definieersubveld", "definieersymbool", "definieersynoniemen", "definieertabelvorm", "definieertabulatie", "definieertekst", "definieertekstachtergrond", "definieertekstpositie", "definieertekstvariabele", "definieertype", "definieertypen", "definieeruitvoer", "definieerveld", "definieerveldstapel", "definieerversie", "definieerwiskundeuitlijnen", "description", "dimensie", "directnaarlijst", "directtussenlijst", "doordefinieren", "doorlabelen", "doornummeren", "dunnelijn", "dunnelijnen", "eenregel", "enumeration", "ergens", "externfiguur", "forceerblokken", "formulenummer", "framedtext", "gebruikJSscripts", "gebruikURL", "gebruikXMLfilter", "gebruikblokken", "gebruikcommandos", "gebruikexterndocument", "gebruikexternefile", "gebruikexternefiles", "gebruikexternfiguur", "gebruikexterngeluidsfragment", "gebruikgebied", "gebruikmodule", "gebruikmodules", "gebruikreferenties", "gebruikspecials", "gebruiksymbolen", "gebruiktypescript", "gebruiktypescriptfile", "gebruikurl", "geenblokkenmeer", "geenbovenenonderregels", "geendimensie", "geenfilesmeer", "geenhoofdenvoetregels", "geenlijst", "geenmarkering", "geenspatie", "geentest", "geenwitruimte", "geg", "grijskleur", "grijswaarde", "haalbuffer", "haalmarkering", "haalnummer", "haarlijn", "handhaafblokken", "herhaal", "hl", "hoofdafstand", "hoofdhoogte", "hoofdtaal", "hoog", "huidigedatum", "huidigekopnummer", "in", "inanderemarge", "inbinnen", "inbuiten", "indentation", "inlijnd", "inlinker", "inlinkermarge", "inlinkerrand", "inmarge", "inrechter", "inrechtermarge", "inrechterrand", "inregel", "inspringen", "installeertaal", "interactiebalk", "interactiebuttons", "interactiemenu", "invullijnen", "invulregel", "invultekst", "invulveld", "inwilijnd", "items", "its", "kantlijn", "kap", "kenmerk", "kenmerkdatum", "kentekstvariabeletoe", "kleur", "kleurenbalk", "kleurwaarde", "kloonveld", "kolom", "kop", "kopniveau", "kopnummer", "koppeldocument", "koppelmarkering", "koppelpagina", "koppelpapier", "koppelregister", "kopsym", "koptekst", "kopwit", "laag", "label", "labeling", "labels", "labeltekst", "laho", "leg", "legeregels", "letter", "letters", "lijndikte", "lijstbreedte", "lijsthoogte", "lijstlengte", "lijstsymbool", "linkermargeafstand", "linkermargebreedte", "linkerrandafstand", "linkerrandbreedte", "loadsorts", "loadsynonyms", "maand", "mapfontsize", "mar", "margeafstand", "margebreedte", "margetekst", "margetitel", "margewoord", "markeer", "markeerversie", "mediaeval", "menubutton", "naam", "naar", "naarbox", "naarpagina", "name", "navigerend", "nextsection", "nietinspringen", "nocap", "nokap", "noot", "nop", "omgeving", "omlaag", "omlijnd", "onbekend", "onderafstand", "onderdeel", "onderhoogte", "ontkoppelmarkering", "op", "opelkaar", "oplinkermarge", "oppagina", "oprechtermarge", "overbar", "overbars", "overstrike", "overstrikes", "pagina", "paginadiepte", "paginanummer", "paginaoffset", "paginareferentie", "papierbreedte", "papierhoogte", "paragraph", "part", "paslayoutaan", "passeerblokken", "passendveld", "plaatsbeeldmerken", "plaatsbookmarks", "plaatsformule", "plaatskopnummer", "plaatskoptekst", "plaatslegenda", "plaatslijn", "plaatslijst", "plaatslijstmetsynoniemen", "plaatslokalevoetnoten", "plaatsnaastelkaar", "plaatsonderelkaar", "plaatsopgrid", "plaatspaginanummer", "plaatsplaatsblok", "plaatsreferentielijst", "plaatsregister", "plaatsruwelijst", "plaatssamengesteldelijst", "plaatssubformule", "plaatstekstvariabele", "plaatsvoetnoten", "placelistoffloats", "placelistofsorts", "positioneer", "positioneertekst", "printpapierbreedte", "printpapierhoogte", "produkt", "programma", "projekt", "publicatie", "punten", "ran", "randafstand", "randbreedte", "rechtermargeafstand", "rechtermargebreedte", "rechterrandafstand", "rechterrandbreedte", "ref", "refereer", "referentie", "regellinks", "regelmidden", "regelrechts", "register", "registreervelden", "reservefloat", "reset", "resetmarkering", "resetnummer", "resettekstinhoud", "resettextcontent", "romeins", "rooster", "roteer", "rugwit", "schaal", "scherm", "schrijfnaarlijst", "schrijfnaarreferentielijst", "schrijfnaarregister", "schrijftussenlijst", "section", "seeregister", "selecteerblokken", "selecteerpapier", "selecteerversie", "setnummer", "setupfonthandling", "setupfontsynonym", "setupinterlinespace2", "setuplistalternative", "snijwit", "som", "sort", "spatie", "spiegel", "splitsplaatsblok", "startachtergrond", "startalignment", "startbuffer", "startcitaat", "startcodering", "startcolumns", "startcombinatie", "startcombination", "startcomment", "startdescription", "startdocument", "startenumeration", "startfigure", "startfiguur", "startfloattext", "startformula", "startframedtext", "startgeg", "startglobaal", "starthiding", "startinteractiemenu", "startitemgroup", "startkantlijn", "startkleur", "startkolomgroep", "startkolommen", "startkolomopmaak", "startlegend", "startline", "startlinecorrection", "startlinenumbering", "startlines", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startlokaal", "startlokalevoetnoten", "startmakeup", "startmargeblok", "startmarginblock", "startnaast", "startnamemakeup", "startnarrower", "startomgeving", "startomlijnd", "startonderdeel", "startopelkaar", "startopmaak", "startopposite", "startoverlay", "startoverview", "startoverzicht", "startparagraph", "startpositioneren", "startpositioning", "startpostponing", "startprodukt", "startprofiel", "startprofile", "startprojekt", "startraster", "startregel", "startregelcorrectie", "startregelnummeren", "startregels", "startregister", "startsmaller", "startsymbolset", "startsymboolset", "startsynchronisatie", "startsynchronization", "starttabel", "starttabellen", "starttable", "starttables", "starttabulate", "starttekst", "starttekstachtergrond", "starttekstlijn", "starttyping", "startuitlijnen", "startunpacked", "startvanelkaar", "startversie", "stelachtergrondenin", "stelachtergrondin", "stelalineasin", "stelantwoordgebiedin", "stelarrangerenin", "stelblankoin", "stelblokin", "stelblokjesin", "stelblokkopjein", "stelblokkopjesin", "stelbovenin", "stelboventekstenin", "stelbufferin", "stelbuttonsin", "stelciterenin", "stelclipin", "stelcombinatiesin", "stelcommentaarin", "steldoordefinierenin", "steldoornummerenin", "steldunnelijnenin", "stelexternefigurenin", "stelformulesin", "stelformulierenin", "stelhoofdin", "stelhoofdtekstenin", "stelingesprongentextin", "stelinmargein", "stelinspringenin", "stelinteractiebalkin", "stelinteractiein", "stelinteractiemenuin", "stelinteractieschermin", "stelinterliniein", "stelinvullijnenin", "stelinvulregelsin", "stelitemgroepin", "stelitemsin", "stelkadertekstenin", "stelkantlijnin", "stelkapitalenin", "stelkleurenin", "stelkleurin", "stelkolomgroepin", "stelkolomgroepregelsin", "stelkolomgroepstartin", "stelkolommenin", "stelkopin", "stelkopnummerin", "stelkoppeltekenin", "stelkoppenin", "stelkoptekstin", "stelkorpsin", "stelkorpsomgevingin", "stellabeltekstin", "stellayoutin", "stellegendain", "stellijndiktein", "stellijnin", "stellijstin", "stelmargeblokkenin", "stelmarkeringin", "stelnaastplaatsenin", "stelnummerenin", "stelnummerin", "stelomlijndin", "stelonderin", "stelonderstrepenin", "stelondertekstenin", "stelopmaakin", "stelopsommingenin", "stelpaginacommentaarin", "stelpaginanummerin", "stelpaginanummeringin", "stelpaginaovergangenin", "stelpaletin", "stelpapierformaatin", "stelpapierin", "stelparagraafnummerenin", "stelplaatsblokin", "stelplaatsblokkenin", "stelplaatsbloksplitsenin", "stelplaatsin", "stelpositionerenin", "stelprofielenin", "stelprogrammasin", "stelpublicatiesin", "stelrastersin", "stelreferentielijstin", "stelrefererenin", "stelregelnummerenin", "stelregelsin", "stelregisterin", "stelroterenin", "stelsamengesteldelijstin", "stelsectieblokin", "stelsectiein", "stelsmallerin", "stelsorterenin", "stelspatieringin", "stelstartstopin", "stelstrutin", "stelsubpaginanummerin", "stelsymboolsetin", "stelsynchronisatiebalkin", "stelsynchronisatiein", "stelsynoniemenin", "stelsysteemin", "steltaalin", "steltabellenin", "steltabin", "steltabulatiein", "steltekstachtergrondin", "steltekstin", "steltekstinhoudin", "steltekstlijnenin", "steltekstpositiein", "stelteksttekstenin", "steltekstvariabelein", "steltolerantiein", "steltypein", "steltypenin", "steluitlijnenin", "steluitvoerin", "stelurlin", "stelveldenin", "stelveldin", "stelversiesin", "stelvoetin", "stelvoetnootdefinitiein", "stelvoetnotenin", "stelvoettekstenin", "stelwiskundeuitlijnenin", "stelwitruimtein", "stopachtergrond", "stopalignment", "stopbuffer", "stopcitaat", "stopcodering", "stopcolumns", "stopcombinatie", "stopcombination", "stopcomment", "stopdescription", "stopdocument", "stopenumeration", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stopgeg", "stopglobaal", "stophiding", "stopinteractiemenu", "stopitemgroup", "stopkantlijn", "stopkleur", "stopkolomgroep", "stopkolommen", "stopkolomopmaak", "stoplegend", "stopline", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stoplokaal", "stoplokalevoetnoten", "stopmakeup", "stopmargeblok", "stopmarginblock", "stopnaast", "stopnamemakeup", "stopnarrower", "stopomgeving", "stopomlijnd", "stoponderdeel", "stopopelkaar", "stopopmaak", "stopopposite", "stopoverlay", "stopoverview", "stopoverzicht", "stopparagraph", "stoppositioneren", "stoppositioning", "stoppostponing", "stopprodukt", "stopprofiel", "stopprofile", "stopprojekt", "stopraster", "stopregel", "stopregelcorrectie", "stopregelnummeren", "stopregels", "stopsmaller", "stopsymbolset", "stopsynchronisatie", "stopsynchronization", "stoptabel", "stoptabellen", "stoptable", "stoptables", "stoptabulate", "stoptekst", "stoptekstachtergrond", "stoptekstlijn", "stoptyping", "stopuitlijnen", "stopunpacked", "stopvanelkaar", "stopversie", "sub", "subformulenummer", "subject", "subpaginanummer", "subsection", "subsubject", "subsubsection", "subsubsubject", "suggestie", "switchnaarkorps", "switchtorawfont", "sym", "symbool", "symoffset", "synchronisatiebalk", "synchroniseer", "synonym", "taal", "tab", "tekstbreedte", "teksthoogte", "tekstlijn", "tekstreferentie", "tekstvariabele", "testkolom", "testpagina", "tex", "title", "toelichting", "toonexternefiguren", "toongrid", "tooninstellingen", "toonkader", "toonkleur", "toonkleurgroep", "toonkorps", "toonkorpsomgeving", "toonlayout", "toonopmaak", "toonpalet", "toonprint", "toonstruts", "toonsymboolset", "toonvelden", "totaalaantalpaginas", "txt", "typ", "type", "typebuffer", "typefile", "uit", "uitgerekt", "underbar", "underbars", "usecodering", "usedirectory", "vastespatie", "vastespaties", "veld", "veldstapel", "verbergblokken", "vergelijkkleurgroep", "vergelijkpalet", "verhoognummer", "verlaagnummer", "verplaatsformule", "verplaatsopgrid", "verplaatszijblok", "versie", "vertaal", "verwerkblokken", "verwerkpagina", "vl", "voetafstand", "voethoogte", "voetnoot", "voetnoottekst", "volgprofiel", "volgprofielversie", "volgversie", "volledigepaginanummer", "volledigregister", "voluit", "weekdag", "wilijnd", "wiskunde", "witruimte", "woonplaats", "woordrechts", "zetbreedte", "zethoogte" }, + ["pe"]={ "CAP", "Cap", "Caps", "Character", "Characters", "MONTH", "Numbers", "Romannumerals", "WEEKDAY", "WORD", "WORDS", "Word", "Words", "appendix", "cap", "chapter", "chem", "comment", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "coupledregister", "crlf", "definebodyfontDEF", "definebodyfontREF", "definedfont", "definefontfeature", "definefonthandling", "defineindentedtext", "definetypeface", "description", "enumeration", "framedtext", "indentation", "inmframed", "its", "labeling", "loadsorts", "loadsynonyms", "mapfontsize", "mediaeval", "mframed", "name", "nextsection", "nocap", "overbar", "overbars", "overstrike", "overstrikes", "paragraph", "part", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "ran", "register", "reservefloat", "resettextcontent", "section", "seeregister", "setupanswerarea", "setupcapitals", "setupfonthandling", "setupfontsynonym", "setupindentedtext", "setupinterlinespace2", "setuplistalternative", "setupurl", "sort", "startalignment", "startbuffer", "startcolumns", "startcombination", "startcomment", "startdescription", "startdocument", "startenumeration", "startfigure", "startfloattext", "startformula", "startframedtext", "starthiding", "startitemgroup", "startlegend", "startline", "startlinecorrection", "startlinenumbering", "startlines", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startmakeup", "startmarginblock", "startnamemakeup", "startnarrower", "startopposite", "startoverlay", "startoverview", "startparagraph", "startpositioning", "startpostponing", "startprofile", "startraster", "startregister", "startsymbolset", "startsynchronization", "starttable", "starttables", "starttabulate", "starttyping", "startunpacked", "startتولید", "startحقیقت", "startخط‌حاشیه", "startخط‌متن", "startرنگ", "startفشرده", "startمحیط", "startمنوی‌پانل", "startمولفه", "startنسخه", "startنقل‌قول", "startپروژه", "startپس‌زمینه", "stopalignment", "stopbuffer", "stopcolumns", "stopcombination", "stopcomment", "stopdescription", "stopdocument", "stopenumeration", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stophiding", "stopitemgroup", "stoplegend", "stopline", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stopmakeup", "stopmarginblock", "stopnamemakeup", "stopnarrower", "stopopposite", "stopoverlay", "stopoverview", "stopparagraph", "stoppositioning", "stoppostponing", "stopprofile", "stopraster", "stopsymbolset", "stopsynchronization", "stoptable", "stoptables", "stoptabulate", "stoptyping", "stopunpacked", "stopتولید", "stopحقیقت", "stopخط‌حاشیه", "stopخط‌متن", "stopرنگ", "stopفشرده", "stopمحیط", "stopمنوی‌پانل", "stopمولفه", "stopنسخه", "stopنقل‌قول", "stopپروژه", "stopپس‌زمینه", "sub", "subject", "subsection", "subsubject", "subsubsection", "subsubsubject", "synonym", "title", "tooltip", "txt", "typ", "underbar", "underbars", "useJSscripts", "useURL", "useXMLfilter", "usedirectory", "useurl", "آفست‌صفحه", "آیتم", "آیتمها", "آینه", "اجباربلوکها", "ارتفاع‌آرایش", "ارتفاع‌بالا", "ارتفاع‌برگ", "ارتفاع‌ته‌برگ", "ارتفاع‌خط", "ارتفاع‌سربرگ", "ارتفاع‌متن", "ارتفاع‌پایین", "از", "ازکارانداختن‌منوی‌پانل", "استفاده‌بلوکها", "استفاده‌دستخط‌تایپ", "استفاده‌رمزینه", "استفاده‌شکل‌خارجی", "استفاده‌فرمانها", "استفاده‌قطعه‌موزیک‌خارجی", "استفاده‌مدول", "استفاده‌مدولها", "استفاده‌مرجعها", "استفاده‌مسیر", "استفاده‌نمادها", "استفاده‌نوشتارخارجی", "استفاده‌ویژگیها", "استفاده‌پرونده‌خارجی", "استفاده‌پرونده‌دستخط‌تایپ", "استفاده‌پرونده‌های‌خارجی", "اعدادلاتین", "افزودن", "اما", "امتحان‌نکن", "انتخاب‌برگ", "انتخاب‌بلوکها", "انتخاب‌نسخه", "انتقال‌به‌توری", "انتقال‌فرمول", "انتقال‌کنار‌شناور", "انجام‌دوباره", "بارگذاری‌آرایش", "بارگذاری‌آیتمها", "بارگذاری‌ارجاع", "بارگذاری‌اندازه‌برگ", "بارگذاری‌باریکتر", "بارگذاری‌بافر", "بارگذاری‌بالا", "بارگذاری‌بخش", "بارگذاری‌بردباری", "بارگذاری‌برنامه‌ها", "بارگذاری‌برگ", "بارگذاری‌بست", "بارگذاری‌بلوک", "بارگذاری‌بلوکهای‌حاشیه", "بارگذاری‌بلوک‌بخش", "بارگذاری‌تایپ", "بارگذاری‌تایپ‌کردن", "بارگذاری‌تب", "بارگذاری‌ترتیب", "بارگذاری‌ترکیب‌ها", "بارگذاری‌تطابق", "بارگذاری‌تعریف‌پانوشت", "بارگذاری‌تنظیم", "بارگذاری‌تنظیم‌ریاضی", "بارگذاری‌ته‌برگ", "بارگذاری‌تورفتگی", "بارگذاری‌توضیح", "بارگذاری‌توضیح‌صفحه", "بارگذاری‌ثبت", "بارگذاری‌جانشانی", "بارگذاری‌جدولها", "بارگذاری‌جدول‌بندی", "بارگذاری‌خالی", "بارگذاری‌خروجی", "بارگذاری‌خط", "بارگذاری‌خطها", "بارگذاری‌خطهای‌حاشیه", "بارگذاری‌خطهای‌سیاه", "بارگذاری‌خطهای‌متن", "بارگذاری‌خطهای‌مجموعه‌ستون", "بارگذاری‌خطها‌ی‌نازک", "بارگذاری‌درج‌درخطها", "بارگذاری‌درج‌مخالف", "بارگذاری‌درون‌حاشیه", "بارگذاری‌دوران", "بارگذاری‌دکمه‌ها", "بارگذاری‌راهنما", "بارگذاری‌رنگ", "بارگذاری‌رنگها", "بارگذاری‌زبان", "بارگذاری‌ستونها", "بارگذاری‌سر", "بارگذاری‌سربرگ", "بارگذاری‌سرها", "بارگذاری‌سیستم", "بارگذاری‌شرح", "بارگذاری‌شرحها", "بارگذاری‌شروع‌مجموعه‌ستون", "بارگذاری‌شروع‌پایان", "بارگذاری‌شماره", "بارگذاری‌شماره‌زیرصفحه", "بارگذاری‌شماره‌سر", "بارگذاری‌شماره‌صفحه", "بارگذاری‌شماره‌گذاری", "بارگذاری‌شماره‌گذاریها", "بارگذاری‌شماره‌گذاری‌صفحه", "بارگذاری‌شماره‌گذاری‌پاراگراف", "بارگذاری‌شماره‌‌گذاری‌خط", "بارگذاری‌شناور", "بارگذاری‌شناورها", "بارگذاری‌شکافتن‌شناورها", "بارگذاری‌شکلهای‌خارجی", "بارگذاری‌طرح", "بارگذاری‌طرح‌بندی", "بارگذاری‌عرض‌خط", "بارگذاری‌فاصله‌بین‌خط", "بارگذاری‌فرمولها", "بارگذاری‌فضای‌سفید", "بارگذاری‌فضا‌گذاری", "بارگذاری‌قالبی", "بارگذاری‌قلم‌متن", "بارگذاری‌لوح", "بارگذاری‌لیست", "بارگذاری‌لیست‌ترکیبی", "بارگذاری‌لیست‌مرجع", "بارگذاری‌مترادفها", "بارگذاری‌متغیر‌متن", "بارگذاری‌متن", "بارگذاری‌متنهای‌بالا", "بارگذاری‌متن‌سر", "بارگذاری‌متن‌سربرگ", "بارگذاری‌متن‌قالبی", "بارگذاری‌متن‌متنها", "بارگذاری‌متن‌پانوشت", "بارگذاری‌متن‌پایین", "بارگذاری‌مجموعه‌ستون", "بارگذاری‌مجموعه‌نماد", "بارگذاری‌محیط‌قلم‌متن", "بارگذاری‌منوی‌پانل", "بارگذاری‌مکان‌متن", "بارگذاری‌مکان‌گذاری", "بارگذاری‌میدان", "بارگذاری‌میدانها", "بارگذاری‌میله‌تطابق", "بارگذاری‌میله‌زیر", "بارگذاری‌میله‌پانل", "بارگذاری‌نسخه‌ها", "بارگذاری‌نشانه‌شکستن", "بارگذاری‌نشانه‌گذاری", "بارگذاری‌نشرها", "بارگذاری‌نقل", "بارگذاری‌پاراگرافها", "بارگذاری‌پانل", "بارگذاری‌پانوشتها", "بارگذاری‌پایین", "بارگذاری‌پرده‌ها", "بارگذاری‌پرده‌پانل", "بارگذاری‌پروفایلها", "بارگذاری‌پرکردن‌خطها", "بارگذاری‌پس‌زمینه", "بارگذاری‌پس‌زمینه‌ها", "بارگذاری‌چیدن", "بارگذاری‌گذارصفحه", "بارگذاری‌گروههای‌آیتم", "بارگذاری‌گروه‌آیتم", "بازنشانی", "بازنشانی‌شماره", "بازنشانی‌متن", "بازنشانی‌نشانه‌گذاری", "باگذاری‌متن‌برچسب", "بدون‌بعد", "بدون‌بلوکهای‌بیشتر", "بدون‌تورفتگی", "بدون‌خط‌بالاوپایین", "بدون‌خط‌سروته‌برگ", "بدون‌فایلهای‌بیشتر", "بدون‌فضا", "بدون‌فضای‌سفید", "بدون‌لیست", "بدون‌نشانه‌گذاری", "برنامه", "بروبه", "بروبه‌جعبه", "بروبه‌صفحه", "بروپایین", "برچسب", "برچسبها", "بعد", "بلند", "بلوکهای‌پردازش", "بلوکها‌پنهان", "بنویس‌بین‌لیست", "بنویس‌درثبت", "بنویس‌درلیست‌مرجع", "بنویس‌در‌لیست", "تاریخ", "تاریخ‌جاری", "تاریخ‌رجوع", "تایپ", "تایپ‌بافر", "تایپ‌پرونده", "تب", "ترجمه", "تطابق", "تعریف", "تعریف‌آرایش", "تعریف‌آرم", "تعریف‌الگوی‌جدول", "تعریف‌اندازه‌برگ", "تعریف‌بافر", "تعریف‌بخش", "تعریف‌برنامه", "تعریف‌برچسب", "تعریف‌بلوک", "تعریف‌بلوک‌بخش", "تعریف‌تایپ", "تعریف‌تایپ‌کردن", "تعریف‌تبدیل", "تعریف‌ترتیب", "تعریف‌ترکیب", "تعریف‌تنظیم‌ریاضی", "تعریف‌توده‌میدان", "تعریف‌ثبت", "تعریف‌جانشانی", "تعریف‌جدول‌بندی", "تعریف‌جعبه‌‌افقی", "تعریف‌حرف", "تعریف‌خالی", "تعریف‌خروجی", "تعریف‌خط‌حائل", "تعریف‌درون‌حاشیه", "تعریف‌رنگ", "تعریف‌زیرمیدان", "تعریف‌سبک", "تعریف‌سبک‌قلم", "تعریف‌سر", "تعریف‌شرح", "تعریف‌شروع‌پایان", "تعریف‌شماره‌بندی", "تعریف‌شمایل‌مرجع", "تعریف‌شناور", "تعریف‌شکستن‌ستون", "تعریف‌شکست‌صفحه", "تعریف‌طرح‌بندی", "تعریف‌فرمان", "تعریف‌قالبی", "تعریف‌قلم", "تعریف‌قلم‌خام", "تعریف‌قلم‌متن", "تعریف‌لایه", "تعریف‌لهجه", "تعریف‌لوح", "تعریف‌لیست", "تعریف‌لیست‌ترکیبی", "تعریف‌لیست‌مرجع", "تعریف‌مترادفها", "تعریف‌مترادف‌قلم", "تعریف‌متغیرمتن", "تعریف‌متن", "تعریف‌متن‌قالبی", "تعریف‌مجموعه‌ستون", "تعریف‌محیط‌قلم‌بدنه", "تعریف‌مرجع", "تعریف‌منوی‌پانل", "تعریف‌مکان‌متن", "تعریف‌میدان", "تعریف‌میدان‌اصلی", "تعریف‌نسخه", "تعریف‌نشانه‌گذاری", "تعریف‌نماد", "تعریف‌نمادشکل", "تعریف‌پاراگرافها", "تعریف‌پروفایل", "تعریف‌پوشش", "تعریف‌گروه‌آیتم", "تعریف‌گروه‌رنگ", "تعیین‌شماره", "تعیین‌شماره‌سر", "تعیین‌متغیر‌متن", "تعیین‌محتوای‌متن", "تعیین‌مشخصات‌ثبت", "تعیین‌مشخصات‌لیست", "تغییربه‌قلم‌بدنه", "تغییربه‌قلم‌خام", "تنظیم‌راست", "تنظیم‌طرح‌بندی", "تنظیم‌وسط", "توجه", "تورفتگی", "توری", "تولید", "تک", "ثبت‌زوج", "ثبت‌کامل", "جداسازی‌نشانه‌گذاری", "حاش", "حرف", "حرفها", "حفظ‌بلوکها", "حقیقت", "خالی", "خطهای‌سیاه", "خطهای‌نازک", "خطها‌خالی", "خط‌حاشیه", "خط‌سیاه", "خط‌متن", "خط‌مو", "خط‌نازک", "خ‌ا", "خ‌ع", "در", "درج‌آرمها", "درج‌ثبت", "درج‌خط", "درج‌درخط", "درج‌درخطها", "درج‌درمتن", "درج‌درمیدان", "درج‌در‌بالای‌یکدیگر", "درج‌در‌توری", "درج‌راهنما", "درج‌زیرفرمول", "درج‌شماره‌سر", "درج‌شماره‌صفحه", "درج‌شناور", "درج‌فرمول", "درج‌لیست", "درج‌لیست‌خام", "درج‌لیست‌مختلط", "درج‌لیست‌مرجع", "درج‌متغیرمتن", "درج‌متن‌سر", "درج‌پانوشتها", "درج‌پانوشتهای‌موضعی", "درج‌چوب‌خط", "درج‌کنار‌به‌کنار", "درحاشیه", "درحاشیه‌دیگر", "درحاشیه‌راست", "درحاشیه‌چپ", "درخارجی", "درخط", "درداخلی", "درراست", "درصفحه", "درقالبی", "درلبه‌راست", "درلبه‌چپ", "درمورد", "درون", "درپر", "درچپ", "دریافت‌بافر", "دریافت‌شماره", "دریافت‌نشانه", "دوران", "دکمه", "دکمه‌منو", "دکمه‌پانل", "رج", "رجوع", "رنگ", "رنگ‌خاکستری", "روزهفته", "ریاضی", "زبان", "زبان‌اصلی", "ستون", "ستون‌امتحان", "سر", "سرپوش‌کوچک‌نه", "شروع‌آرایش", "شروع‌آرایش‌ستون", "شروع‌باریکتر", "شروع‌بازبینی", "شروع‌بلوک‌حاشیه", "شروع‌ترکیب", "شروع‌تصحیح‌خط", "شروع‌تطابق", "شروع‌تنظیم", "شروع‌تولید", "شروع‌جدول", "شروع‌جدولها", "شروع‌خط", "شروع‌خطها", "شروع‌خط‌حاشیه", "شروع‌خط‌متن", "شروع‌رنگ", "شروع‌ستونها", "شروع‌سراسری", "شروع‌شماره‌گذاری‌خط", "شروع‌شکل", "شروع‌غیر‌فشرده", "شروع‌فشرده", "شروع‌متن", "شروع‌مجموعه‌ستون", "شروع‌مجموعه‌نماد", "شروع‌محیط", "شروع‌مخالف", "شروع‌موضعی", "شروع‌مولفه", "شروع‌مکان‌گذاری", "شروع‌نسخه", "شروع‌نقل‌قول", "شروع‌نوشتار", "شروع‌پانوشتهای‌موضعی", "شروع‌پروفایل", "شروع‌پروژه", "شروع‌پس‌زمینه", "شروع‌پوشش", "شروع‌کد", "شماره‌افزایش", "شماره‌زیرصفحه", "شماره‌زیرفرمول", "شماره‌سر", "شماره‌سرجاری", "شماره‌صفحه", "شماره‌صفحه‌کامل", "شماره‌فرمول", "شماره‌مبدل", "شماره‌ها", "شماره‌کاهش", "شماره‌کل‌صفحه‌ها", "شکافتن‌شناور", "شکل‌خارجی", "صفحه", "صفحه‌تست", "صفحه‌زوج", "صفحه‌پردازش", "طول‌لیست", "عبوربلوکها", "عرض‌آرایش", "عرض‌برگ", "عرض‌حاشیه", "عرض‌حاشیه‌خارجی", "عرض‌حاشیه‌داخلی", "عرض‌حاشیه‌راست", "عرض‌حاشیه‌چپ", "عرض‌خط", "عرض‌لبه", "عرض‌لبه‌خارجی", "عرض‌لبه‌داخلی", "عرض‌لبه‌راست", "عرض‌لبه‌چپ", "عرض‌لیست", "عرض‌متن", "عمق‌صفحه", "عنوان‌حاشیه", "فاصله‌بالا", "فاصله‌ته‌برگ", "فاصله‌حاشیه", "فاصله‌حاشیه‌خارجی", "فاصله‌حاشیه‌داخلی", "فاصله‌حاشیه‌راست", "فاصله‌حاشیه‌چپ", "فاصله‌سربرگ", "فاصله‌لبه", "فاصله‌لبه‌خارجی", "فاصله‌لبه‌داخلی", "فاصله‌لبه‌راست", "فاصله‌لبه‌چپ", "فاصله‌پایین", "فاصله‌پشت", "فشرده", "فضا", "فضاهای‌ثابت", "فضای‌بالا", "فضای‌برش", "فضای‌ثابت", "فضای‌سفید", "فضای‌سفیدصحیح", "فضای‌پایین", "فوری‌به‌لیست", "فوری‌بین‌لیست", "قالبی", "لوح‌مقایسه", "ماه", "متغیر متن", "متن‌برچسب", "متن‌حاشیه", "متن‌سر", "متن‌پانوشت", "محیط", "مراجعه", "مرجع", "مرجع‌صفحه", "مرجع‌متن", "مرحله‌سر", "مسکن", "معنی‌واحد", "مقایسه‌گروه‌رنگ", "مقدارخاکستری", "مقداررنگ", "مقیاس", "منفی", "منوی‌پانل", "مولفه", "مکان", "مکان‌متن", "میدان", "میدانهای‌گزارش", "میدان‌شبیه‌سازی", "میدان‌پشته", "میدان‌کپی", "میله‌تطابق", "میله‌رنگ", "میله‌پانل", "ناشناس", "نام‌ماکرو", "نسخه", "نسخه‌نشانه", "نشانه‌گذاری", "نشانه‌گذاری‌زوج", "نشر", "نصب‌زبان", "نقطه‌ها", "نقل", "نقل‌قول", "نم", "نماد", "نمادسر", "نمادلیست", "نمایش‌آرایش", "نمایش‌بارگذاریها", "نمایش‌بستها", "نمایش‌توری", "نمایش‌رنگ", "نمایش‌شکلهای‌خارجی", "نمایش‌طرح‌بندی", "نمایش‌قالب", "نمایش‌قلم‌بدنه", "نمایش‌لوح", "نمایش‌مجموعه‌علامت", "نمایش‌محیط‌قلم‌بدنه", "نمایش‌میدانها", "نمایش‌چاپ", "نمایش‌گروه‌رنگ", "نوشتارزوج", "هدایت", "پا", "پابا", "پانوشت", "پایان‌آرایش", "پایان‌آرایش‌ستون", "پایان‌بازبینی", "پایان‌بلوک‌حاشیه", "پایان‌ترکیب", "پایان‌تصحیح‌خط", "پایان‌تطابق", "پایان‌تنظیم", "پایان‌تولید", "پایان‌جدول", "پایان‌جدولها", "پایان‌خط", "پایان‌خطها", "پایان‌خط‌حاشیه", "پایان‌خط‌متن", "پایان‌رنگ", "پایان‌ستونها", "پایان‌سراسری", "پایان‌شماره‌گذاری‌خط", "پایان‌غیرفشرده", "پایان‌فشرده", "پایان‌متن", "پایان‌مجموعه‌ستون", "پایان‌محیط", "پایان‌مخالف", "پایان‌موضعی", "پایان‌مولفه", "پایان‌مکان‌گذاری", "پایان‌نازکتر", "پایان‌نسخه", "پایان‌نقل‌قول", "پایان‌نوشتار", "پایان‌پانوشتهای‌موضعی", "پایان‌پروفایل", "پایان‌پروژه", "پایان‌پس‌زمینه", "پایان‌پوشش", "پایان‌کد", "پایین", "پرده", "پروژه", "پرکردن‌میدان", "پس‌زمینه", "پیروی‌نسخه", "پیروی‌نسخه‌پروفایل", "پیروی‌پروفایل", "چاپ‌ارتفاع‌برگ", "چاپ‌عرض‌برگ", "چوبخط", "چپ‌چین", "کاغذزوج", "کسر", "کشیده", "کلمه‌حاشیه", "کلمه‌راست", "گیره", "یادداشت", "یک‌جا", "یک‌خط" }, + ["ro"]={ "CAP", "CUVANT", "CUVINTE", "Cap", "Caps", "Cuvant", "Cuvinte", "KAP", "Kap", "Kaps", "LUNA", "Litera", "Litere", "Numere", "Numereromane", "ZIDINSAPTAMANA", "adapteazaaspect", "adubuffer", "adumarcaje", "afiseazaaspect", "afiseazacampuri", "afiseazaculoare", "afiseazafiguriexterne", "afiseazafonttext", "afiseazagrid", "afiseazagrupculoare", "afiseazamakeup", "afiseazamediufonttext", "afiseazapaleta", "afiseazarama", "afiseazasetari", "afiseazasetsimboluri", "afiseazastruts", "afiseazatiparire", "aliniat", "aliniatcentru", "aliniatdreapta", "aliniatstanga", "appendix", "arg", "ascundeblocuri", "atleftmargin", "atrightmargin", "baraculoare", "barainteractiune", "barasincronizare", "blanc", "but", "butoaneinteractiune", "buton", "butonmeniu", "camp", "campumplere", "cap", "chapter", "chem", "citat", "clip", "cloneazacamp", "coloana", "comment", "comparagrupculoare", "comparapaleta", "completeazanumarpagina", "completecombinedlist", "completelistoffloats", "completelistofsorts", "completelistofsynonyms", "completeregister", "componenta", "convertestenumar", "copiazacamp", "corecteazaspatiualb", "coupledregister", "crlf", "culoare", "culoaregri", "cupleazadocument", "cupleazamarcaje", "cupleazaregistru", "cutspace", "cuvantdreapta", "cuvantmarginal", "data", "datacurenta", "datareferit", "decrementnumber", "decupleazamarcaje", "definebodyfontDEF", "definebodyfontREF", "definecolumnbreak", "definecolumnset", "definecombination", "definedfont", "definefontfeature", "definefonthandling", "defineindentedtext", "defineinmargin", "defineitemgroup", "definelayer", "definelayout", "definemathalignment", "definepagebreak", "defineplacement", "defineste", "definesteaccent", "definesteantet", "definesteblanc", "definestebloc", "definesteblocsectiune", "definestebuffer", "definestecamp", "definestecampprincipal", "definestecaracter", "definestecomanda", "definesteconversie", "definesteculoare", "definestedescriere", "definestedimensiunehartie", "definesteenumerare", "definesteeticheta", "definestefloat", "definestefont", "definestefontraw", "definestefonttext", "definesteformatreferinte", "definestegrupculori", "definestehbox", "definesteinconjurare", "definestelista", "definestelistacombinata", "definestelistareferinte", "definestelogo", "definestemakeup", "definestemarcaje", "definestemediulfonttext", "definestemeniuinteractiune", "definesteoutput", "definesteoverlay", "definestepaleta", "definesteparagraf", "definestepozitietext", "definesteprofil", "definesteprogram", "definestereferinte", "definesteregistru", "definesterigla", "definestesablontabel", "definestesectiune", "definestesimbol", "definestesimbolfigura", "definestesinonim", "definestesinonimfont", "definestesortare", "definestestartstop", "definestestil", "definestestilfont", "definestestivacampuri", "definestesubcamp", "definestetabulatori", "definestetext", "definestetexteinconjurate", "definestetextinconjurat", "definestetyping", "definestevariabilatext", "definesteversiune", "definetype", "definetypeface", "description", "despre", "determinacaracteristicilelistei", "determinacaracteristiciregistru", "determinanumartitlu", "dezactiveazameniuinteractiune", "dimensiune", "din", "distantaantet", "distantacolt", "distantacoltdreapta", "distantacoltstanga", "distantajos", "distantamargine", "distantamarginedreapta", "distantamarginestanga", "distantasubsol", "distantasus", "domiciliu", "dute", "dutebox", "dutepagina", "ecran", "el", "element", "emptylines", "enumeration", "eticheta", "etichete", "fact", "faraaliniat", "faradimensiune", "farafisiere", "faraliniiantetsisubsol", "faraliniisussijos", "faralista", "faramarcaje", "faraspatiu", "faraspatiualb", "figuraexterna", "firdepar", "folosesteURL", "folosestebloc", "folosestecodificarea", "folosestecomenzi", "folosestedirector", "folosestedocumentextern", "folosestefiguraexterna", "folosestefisiereexterne", "folosestefisierextern", "folosestemodul", "folosestemodule", "folosestemuzicaexterna", "folosestereferinte", "folosestescriptJS", "folosestesimboluri", "folosestespeciale", "folosesteurl", "footnotetext", "forteazablocuri", "fractie", "framed", "framedtext", "fundal", "gatablocuri", "getnumber", "grid", "grosimelinie", "hartiedubla", "headsym", "hl", "immediatebetweenlist", "immediatetolist", "impachetat", "impartefloat", "in", "inalt", "inaltamargine", "inaltimeantet", "inaltimehartie", "inaltimehartieimprimanta", "inaltimejos", "inaltimelista", "inaltimemakeup", "inaltimesubsol", "inaltimesus", "inaltimetext", "indentation", "indreapta", "inframed", "ininner", "injos", "inlinie", "inmaframed", "inmargineadreapta", "inmargineastanga", "inneredgedistance", "inneredgewidth", "innermargindistance", "innermarginwidth", "inouter", "inparteadreapta", "inparteastanga", "instalarelimba", "instanga", "intins", "jos", "jossus", "kap", "la", "labeling", "lapagina", "latimecoltdreapta", "latimecoltstanga", "latimecolturi", "latimehartie", "latimehartieimprimanta", "latimelista", "latimemakeup", "latimemargine", "latimemarginedreapta", "latimemarginestanga", "latimetext", "leg", "limba", "limbaprincipala", "liniemargine", "linieneagra", "liniesubtire", "linieumplere", "liniinegre", "liniisubtiri", "listsymbol", "litera", "litere", "loadsorts", "loadsynonyms", "logcampuri", "luna", "lungimelista", "maframed", "mapfontsize", "mar", "marcaje", "marcheazaversiune", "marginal", "matematica", "mediaeval", "mediu", "meniuinteractiune", "minicitat", "moveformula", "movesidefloat", "mutapegrid", "name", "navigating", "necunoscut", "nextsection", "niveltitlu", "nocap", "nokap", "nop", "nota", "notasubsol", "numarformula", "numarincrement", "numarpagina", "numarsubformula", "numartitlu", "numartitlucurent", "numartotalpagini", "numberofsubpages", "nume", "numere", "numereromane", "numeunitate", "nutesta", "olinie", "outeredgedistance", "outeredgewidth", "outermargindistance", "outermarginwidth", "overbar", "overbars", "overstrike", "overstrikes", "pagedepth", "pageoffset", "pagina", "paginadubla", "paragraph", "part", "pastreazablocuri", "pelung", "placefloat", "placeheadnumber", "placeheadtext", "placelistoffloats", "placelistofsorts", "placelistofsynonyms", "placerawlist", "placereferencelist", "plaseazapegrid", "plaseazasemnecarte", "potrivestecamp", "pozitie", "pozitietext", "proceseazabloc", "proceseazapagina", "produs", "program", "proiect", "publicatie", "puncte", "punedeasuprafiecareia", "punefatainfata", "puneformula", "punelegenda", "punelista", "punelistacombinata", "punelogouri", "punenotesubsol", "punenotesubsollocale", "punenumarpagina", "puneregistru", "punerigla", "punesubformula", "punevariabilatext", "ran", "ref", "refa", "referinta", "referintapagina", "referintatext", "referit", "referring", "reflexie", "register", "remarca", "reservefloat", "reset", "reseteazamarcaje", "resetnumber", "resettextcontent", "riglatext", "rigleumplere", "roteste", "saripesteblocuri", "scala", "scriebuffer", "scrieinlista", "scrieinlistareferinte", "scrieinregistru", "scrieintreliste", "section", "seeregister", "selecteazablocuri", "selecteazahartie", "selecteazaversiune", "semncarte", "setarebarasincronizare", "setareitemization", "setarelimba", "setareoutput", "setarepozitie", "setaresincronizare", "seteazaaliniat", "seteazaalinierea", "seteazaantet", "seteazaaranjareapag", "seteazaaspect", "seteazabarainteractiune", "seteazablanc", "seteazabloc", "seteazablocsectiune", "seteazablocurimarginale", "seteazabuffer", "seteazabutoane", "seteazacamp", "seteazacampuri", "seteazaclipping", "seteazacoloane", "seteazacombinari", "seteazacomentariu", "seteazacomentariupagina", "seteazaculoare", "seteazaculori", "seteazadefinireanotasubsol", "seteazadescriere", "seteazadimensiunihartie", "seteazaecrane", "seteazaecraninteractiune", "seteazaelemente", "seteazaenumerare", "seteazafiguriexterne", "seteazafloat", "seteazafloats", "seteazafonttext", "seteazaformulare", "seteazaformule", "seteazafundal", "seteazafundaluri", "seteazagrosimelinie", "seteazaimpartireafloat", "seteazainconjurat", "seteazaingust", "seteazainteractiunea", "seteazajos", "seteazalegenda", "seteazalegendele", "seteazaliniesilabe", "seteazaliniesubtire", "seteazalinii", "seteazaliniimargine", "seteazaliniinegre", "seteazaliniiumplere", "seteazalista", "seteazalistacombinata", "seteazalistareferinte", "seteazamajuscule", "seteazamakeup", "seteazamarcaje", "seteazamarginal", "seteazamediulfonttext", "seteazameniuinteractiune", "seteazaminicitat", "seteazanotasubsol", "seteazanumarpagina", "seteazanumarsubpagina", "seteazanumartitlu", "seteazanumerotare", "seteazanumerotarelinii", "seteazanumerotarepagina", "seteazanumerotareparagrafe", "seteazapaleta", "seteazaparagrafe", "seteazaplasareaopozita", "seteazapozitietext", "seteazaprofile", "seteazaprograme", "seteazapublicatii", "seteazareferinte", "seteazaregistru", "seteazarigla", "seteazarigletext", "seteazarigleumplere", "seteazarotare", "seteazasectiune", "seteazasimbol", "seteazasinonime", "seteazasistem", "seteazasortare", "seteazaspatiu", "seteazaspatiualb", "seteazaspatiuinterliniar", "seteazastrut", "seteazasublinie", "seteazasubsol", "seteazasus", "seteazatab", "seteazatabele", "seteazatabulatori", "seteazatext", "seteazatexteantet", "seteazatextejos", "seteazatextesubsol", "seteazatextesus", "seteazatextetext", "seteazatexteticheta", "seteazatexttitlu", "seteazatitlu", "seteazatitluri", "seteazatoleranta", "seteazatranzitiepagina", "seteazatype", "seteazatyping", "seteazaurl", "seteazavariabilatext", "seteazaversiuni", "setnumber", "settextcontent", "setupanswerarea", "setupcolumnset", "setupcolumnsetlines", "setupcolumnsetstart", "setupfonthandling", "setupfontsynonym", "setupindentedtext", "setupinterlinespace2", "setupitemgroup", "setuplistalternative", "setupmathalignment", "setupnumber", "setuppaper", "setupplacement", "setupstartstop", "setvariabilatext", "sim", "simbol", "sincronizeaza", "sort", "spatiifixate", "spatiu", "spatiualb", "spatiufixat", "spatiujos", "spatiuspate", "spatiusus", "startalignment", "startaliniere", "startblocmarginal", "startbuffer", "startcitat", "startcodificare", "startcoloane", "startcolumnmakeup", "startcolumns", "startcolumnset", "startcombinare", "startcombination", "startcomment", "startcomponenta", "startcorectielinie", "startculoare", "startdescription", "startdocument", "startenumeration", "startfact", "startfigura", "startfigure", "startfloattext", "startformula", "startframedtext", "startfundal", "startglobal", "starthiding", "startimpachetat", "startingust", "startitemgroup", "startlegend", "startline", "startlinecorrection", "startlinenumbering", "startlines", "startlinie", "startliniemargine", "startlinii", "startlocal", "startlocalenvironment", "startlocalfootnotes", "startmakeup", "startmarginblock", "startmediu", "startmeniuinteractiune", "startnamemakeup", "startnarrower", "startneimpachetat", "startnotesubsollocale", "startnumerotarelinii", "startopozit", "startopposite", "startoverlay", "startoverview", "startparagraph", "startpositioning", "startpostponing", "startpozitionare", "startprodus", "startprofil", "startprofile", "startproiect", "startraster", "startregister", "startriglatext", "startsetsimboluri", "startsincronizare", "startsymbolset", "startsynchronization", "starttabel", "starttabele", "starttable", "starttables", "starttabulate", "starttext", "starttyping", "startunpacked", "startversiune", "stivacampuri", "stopalignment", "stopaliniere", "stopblobal", "stopblocmarginal", "stopbuffer", "stopcitat", "stopcodificare", "stopcoloane", "stopcolumnmakeup", "stopcolumns", "stopcolumnset", "stopcombinare", "stopcombination", "stopcomment", "stopcomponenta", "stopcorectielinie", "stopculoare", "stopdescription", "stopdocument", "stopenumeration", "stopfact", "stopfigure", "stopfloattext", "stopformula", "stopframedtext", "stopfundal", "stophiding", "stopimpachetat", "stopingust", "stopitemgroup", "stoplegend", "stopline", "stoplinecorrection", "stoplinenumbering", "stoplines", "stoplinie", "stopliniemargine", "stoplinii", "stoplocal", "stoplocalenvironment", "stoplocalfootnotes", "stopmakeup", "stopmarginblock", "stopmediu", "stopmeniuinteractiune", "stopnamemakeup", "stopnarrower", "stopneimpachetat", "stopnotesubsollocale", "stopnumerotarelinii", "stopopozit", "stopopposite", "stopoverlay", "stopoverview", "stopparagraph", "stoppositioning", "stoppostponing", "stoppozitionare", "stopprodus", "stopprofil", "stopprofile", "stopproiect", "stopraster", "stopriglatext", "stopsincronizare", "stopsymbolset", "stopsynchronization", "stoptabel", "stoptabele", "stoptable", "stoptables", "stoptabulate", "stoptext", "stoptyping", "stopunpacked", "stopversiune", "sub", "subject", "subpagenumber", "subsection", "subsubject", "subsubsection", "subsubsubject", "synonym", "tab", "testcolumn", "testpage", "tex", "texteticheta", "textmarginal", "texttitlu", "textumplere", "title", "titlu", "titlumarginal", "tooltip", "traduce", "trecilafontraw", "trecilafonttext", "txt", "typ", "type", "typefile", "underbar", "underbars", "undeva", "urmeazaprofil", "urmeazaversiune", "urmeazaversiuneprofil", "useXMLfilter", "usedirectory", "usetypescript", "usetypescriptfile", "valoareculoare", "valoaregri", "variabilatext", "versiune", "vl", "zidinsaptamana" }, } \ No newline at end of file diff --git a/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-metafun.lua b/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-metafun.lua index 3db3010d6c1..547b8c14507 100644 --- a/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-metafun.lua +++ b/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-metafun.lua @@ -1,4 +1,4 @@ return { - ["commands"]={ "sqr", "log", "ln", "exp", "inv", "pow", "pi", "radian", "tand", "cotd", "sin", "cos", "tan", "cot", "atan", "asin", "acos", "invsin", "invcos", "invtan", "acosh", "asinh", "sinh", "cosh", "paired", "tripled", "unitcircle", "fulldiamond", "unitdiamond", "fullsquare", "llcircle", "lrcircle", "urcircle", "ulcircle", "tcircle", "bcircle", "lcircle", "rcircle", "lltriangle", "lrtriangle", "urtriangle", "ultriangle", "uptriangle", "downtriangle", "lefttriangle", "righttriangle", "triangle", "smoothed", "cornered", "superellipsed", "randomized", "squeezed", "enlonged", "shortened", "punked", "curved", "unspiked", "simplified", "blownup", "stretched", "enlarged", "leftenlarged", "topenlarged", "rightenlarged", "bottomenlarged", "crossed", "laddered", "randomshifted", "interpolated", "paralleled", "cutends", "peepholed", "llenlarged", "lrenlarged", "urenlarged", "ulenlarged", "llmoved", "lrmoved", "urmoved", "ulmoved", "rightarrow", "leftarrow", "centerarrow", "boundingbox", "innerboundingbox", "outerboundingbox", "pushboundingbox", "popboundingbox", "bottomboundary", "leftboundary", "topboundary", "rightboundary", "xsized", "ysized", "xysized", "sized", "xyscaled", "intersection_point", "intersection_found", "penpoint", "bbwidth", "bbheight", "withshade", "withlinearshading", "withcircularshading", "withfromshadecolor", "withtoshadecolor", "withshading", "shadedinto", "withcircularshade", "withlinearshade", "cmyk", "spotcolor", "multitonecolor", "namedcolor", "drawfill", "undrawfill", "inverted", "uncolored", "softened", "grayed", "greyed", "onlayer", "along", "graphictext", "loadfigure", "externalfigure", "withmask", "figure", "register", "bitmapimage", "colordecimals", "ddecimal", "dddecimal", "ddddecimal", "textext", "thetextext", "rawtextext", "textextoffset", "verbatim", "thelabel", "label", "autoalign", "transparent", "withtransparency", "property", "properties", "withproperties", "asgroup", "infont", "set_linear_vector", "linear_shade", "define_linear_shade", "define_circular_linear_shade", "define_sampled_linear_shade", "set_circular_vector", "circular_shade", "define_circular_shade", "define_circular_linear_shade", "define_sampled_circular_shade", "space", "CRLF", "grayscale", "greyscale", "withgray", "withgrey", "colorpart", "readfile", "clearxy", "unitvector", "center", "epsed", "anchored", "originpath", "infinite", "break", "xstretched", "ystretched", "snapped", "pathconnectors", "function", "constructedpath", "constructedpairs", "punkedfunction", "curvedfunction", "tightfunction", "punkedpath", "curvedpath", "tightpath", "punkedpairs", "curvedpairs", "tightpairs", "evenly", "oddly", "condition", "pushcurrentpicture", "popcurrentpicture", "arrowpath", "tensecircle", "roundedsquare", "colortype", "whitecolor", "blackcolor", "normalfill", "normaldraw", "visualizepaths", "naturalizepaths", "drawboundary", "drawwholepath", "visualizeddraw", "visualizedfill", "draworigin", "drawboundingbox", "drawpath", "drawpoint", "drawpoints", "drawcontrolpoints", "drawcontrollines", "drawpointlabels", "drawlineoptions", "drawpointoptions", "drawcontroloptions", "drawlabeloptions", "draworiginoptions", "drawboundoptions", "drawpathoptions", "resetdrawoptions", "undashed", "decorated", "redecorated", "undecorated", "passvariable", "passarrayvariable", "tostring", "format", "formatted", "startpassingvariable", "stoppassingvariable" }, + ["commands"]={ "transparency", "sqr", "log", "ln", "exp", "inv", "pow", "pi", "radian", "tand", "cotd", "sin", "cos", "tan", "cot", "atan", "asin", "acos", "invsin", "invcos", "invtan", "acosh", "asinh", "sinh", "cosh", "zmod", "paired", "tripled", "unitcircle", "fulldiamond", "unitdiamond", "fullsquare", "llcircle", "lrcircle", "urcircle", "ulcircle", "tcircle", "bcircle", "lcircle", "rcircle", "lltriangle", "lrtriangle", "urtriangle", "ultriangle", "uptriangle", "downtriangle", "lefttriangle", "righttriangle", "triangle", "smoothed", "cornered", "superellipsed", "randomized", "squeezed", "enlonged", "shortened", "punked", "curved", "unspiked", "simplified", "blownup", "stretched", "enlarged", "leftenlarged", "topenlarged", "rightenlarged", "bottomenlarged", "crossed", "laddered", "randomshifted", "interpolated", "paralleled", "cutends", "peepholed", "llenlarged", "lrenlarged", "urenlarged", "ulenlarged", "llmoved", "lrmoved", "urmoved", "ulmoved", "rightarrow", "leftarrow", "centerarrow", "boundingbox", "innerboundingbox", "outerboundingbox", "pushboundingbox", "popboundingbox", "bottomboundary", "leftboundary", "topboundary", "rightboundary", "xsized", "ysized", "xysized", "sized", "xyscaled", "intersection_point", "intersection_found", "penpoint", "bbwidth", "bbheight", "withshade", "withcircularshade", "withlinearshade", "defineshade", "shaded", "shadedinto", "withshadecolors", "withshadedomain", "withshademethod", "withshadefactor", "withshadevector", "withshadecenter", "cmyk", "spotcolor", "multitonecolor", "namedcolor", "drawfill", "undrawfill", "inverted", "uncolored", "softened", "grayed", "greyed", "onlayer", "along", "graphictext", "loadfigure", "externalfigure", "figure", "register", "withmask", "bitmapimage", "colordecimals", "ddecimal", "dddecimal", "ddddecimal", "textext", "thetextext", "rawtextext", "textextoffset", "verbatim", "thelabel", "label", "autoalign", "transparent", "withtransparency", "property", "properties", "withproperties", "asgroup", "infont", "space", "crlf", "dquote", "percent", "SPACE", "CRLF", "DQUOTE", "PERCENT", "grayscale", "greyscale", "withgray", "withgrey", "colorpart", "readfile", "clearxy", "unitvector", "center", "epsed", "anchored", "originpath", "infinite", "break", "xstretched", "ystretched", "snapped", "pathconnectors", "function", "constructedfunction", "constructedpath", "constructedpairs", "straightfunction", "straightpath", "straightpairs", "curvedfunction", "curvedpath", "curvedpairs", "evenly", "oddly", "condition", "pushcurrentpicture", "popcurrentpicture", "arrowpath", "tensecircle", "roundedsquare", "colortype", "whitecolor", "blackcolor", "basiccolors", "normalfill", "normaldraw", "visualizepaths", "naturalizepaths", "drawboundary", "drawwholepath", "visualizeddraw", "visualizedfill", "draworigin", "drawboundingbox", "drawpath", "drawpoint", "drawpoints", "drawcontrolpoints", "drawcontrollines", "drawpointlabels", "drawlineoptions", "drawpointoptions", "drawcontroloptions", "drawlabeloptions", "draworiginoptions", "drawboundoptions", "drawpathoptions", "resetdrawoptions", "undashed", "decorated", "redecorated", "undecorated", "passvariable", "passarrayvariable", "tostring", "format", "formatted", "startpassingvariable", "stoppassingvariable", "eofill", "eoclip", "area" }, ["internals"]={ "nocolormodel", "greycolormodel", "graycolormodel", "rgbcolormodel", "cmykcolormodel", "shadefactor", "textextoffset", "normaltransparent", "multiplytransparent", "screentransparent", "overlaytransparent", "softlighttransparent", "hardlighttransparent", "colordodgetransparent", "colorburntransparent", "darkentransparent", "lightentransparent", "differencetransparent", "exclusiontransparent", "huetransparent", "saturationtransparent", "colortransparent", "luminositytransparent", "metapostversion", "maxdimensions" }, } \ No newline at end of file diff --git a/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-metapost.lua b/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-metapost.lua index d4759854abb..f3ace2b6ad9 100644 --- a/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-metapost.lua +++ b/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-metapost.lua @@ -1,7 +1,9 @@ return { - ["commands"]={ "beginfig", "endfig", "beginglyph", "endglyph", "charscale", "rotatedaround", "reflectedabout", "arrowhead", "currentpen", "currentpicture", "cuttings", "defaultfont", "extra_beginfig", "extra_endfig", "ditto", "EOF", "down", "evenly", "fullcircle", "halfcircle", "identity", "in", "left", "origin", "pensquare", "quartercircle", "right", "unitsquare", "up", "withdots", "abs", "bbox", "ceiling", "center", "cutafter", "cutbefore", "dir", "directionpoint", "div", "dotprod", "intersectionpoint", "inverse", "mod", "round", "unitvector", "whatever", "cutdraw", "draw", "drawarrow", "drawdblarrow", "fill", "filldraw", "drawdot", "loggingall", "interact", "tracingall", "tracingnone", "pickup", "undraw", "unfill", "unfilldraw", "buildcycle", "dashpattern", "decr", "dotlabel", "dotlabels", "drawoptions", "incr", "label", "labels", "max", "min", "thelabel", "z", "beginchar", "blacker", "capsule_end", "change_width", "define_blacker_pixels", "define_corrected_pixels", "define_good_x_pixels", "define_good_y_pixels", "define_horizontal_corrected_pixels", "define_pixels", "define_whole_blacker_pixels", "define_whole_pixels", "define_whole_vertical_blacker_pixels", "define_whole_vertical_pixels", "endchar", "extra_beginchar", "extra_endchar", "extra_setup", "font_coding_scheme", "clearxy", "clearit", "clearpen", "shipit", "font_extra_space", "exitunless", "relax", "hide", "gobble", "gobbled", "stop", "blankpicture", "counterclockwise", "tensepath", "takepower", "direction", "softjoin", "makelabel", "rotatedabout", "flex", "superellipse", "erase", "image", "nullpen", "savepen", "clearpen", "penpos", "penlabels", "range", "numtok", "thru", "z", "laboff", "bye", "red", "green", "blue", "cyan", "magenta", "yellow", "black", "white", "background", "graypart", "graycolor", "mm", "pt", "dd", "bp", "cm", "pc", "cc", "in", "triplet", "quadruplet" }, - ["internals"]={ "mitered", "rounded", "beveled", "butt", "squared", "eps", "epsilon", "infinity", "bboxmargin", "ahlength", "ahangle", "labeloffset", "dotlabeldiam", "defaultpen", "defaultscale", "join_radius", "pen_lft", "pen_rt", "pen_top", "pen_bot" }, - ["primitives"]={ "charcode", "day", "linecap", "linejoin", "miterlimit", "month", "pausing", "prologues", "showstopping", "time", "tracingcapsules", "tracingchoices", "mpprocset", "tracingcommands", "tracingequations", "tracinglostchars", "tracingmacros", "tracingonline", "tracingoutput", "tracingrestores", "tracingspecs", "tracingstats", "tracingtitles", "truecorners", "warningcheck", "year", "false", "nullpicture", "pencircle", "true", "and", "angle", "arclength", "arctime", "ASCII", "boolean", "bot", "char", "color", "cosd", "cycle", "decimal", "directiontime", "floor", "fontsize", "hex", "infont", "intersectiontimes", "known", "length", "llcorner", "lrcorner", "makepath", "makepen", "mexp", "mlog", "normaldeviate", "not", "numeric", "oct", "odd", "or", "path", "pair", "pen", "penoffset", "picture", "point", "postcontrol", "precontrol", "reverse", "rotated", "scaled", "shifted", "sind", "slanted", "sqrt", "str", "string", "subpath", "substring", "transform", "transformed", "ulcorner", "uniformdeviate", "unknown", "urcorner", "xpart", "xscaled", "xxpart", "xypart", "ypart", "yscaled", "yxpart", "yypart", "zscaled", "addto", "clip", "input", "interim", "let", "newinternal", "save", "setbounds", "shipout", "show", "showdependencies", "showtoken", "showvariable", "special", "begingroup", "endgroup", "of", "curl", "tension", "and", "controls", "interpath", "on", "off", "def", "vardef", "enddef", "expr", "suffix", "text", "primary", "secondary", "tertiary", "primarydef", "secondarydef", "tertiarydef", "randomseed", "also", "contour", "doublepath", "withcolor", "withcmykcolor", "withpen", "dashed", "if", "else", "elseif", "fi", "for", "endfor", "forever", "exitif", "within", "forsuffixes", "downto", "upto", "step", "until", "charlist", "extensible", "fontdimen", "headerbyte", "kern", "ligtable", "boundarychar", "chardp", "charext", "charht", "charic", "charwd", "designsize", "fontmaking", "charexists", "cullit", "currenttransform", "gfcorners", "grayfont", "hround", "imagerules", "lowres_fix", "nodisplays", "notransforms", "openit", "displaying", "currentwindow", "screen_rows", "screen_cols", "pixels_per_inch", "cull", "display", "openwindow", "numspecial", "totalweight", "autorounding", "fillin", "proofing", "tracingpens", "xoffset", "chardx", "granularity", "smoothing", "turningcheck", "yoffset", "chardy", "hppp", "tracingedges", "vppp", "extra_beginfig", "extra_endfig", "mpxbreak", "endinput", "message", "delimiters", "turningnumber", "errmessage", "readstring", "scantokens", "end", "outer", "inner", "write", "to", "readfrom", "withprescript", "withpostscript", "top", "bot", "lft", "rt", "ulft", "urt", "llft", "lrt", "redpart", "greenpart", "bluepart", "cyanpart", "magentapart", "yellowpart", "blackpart", "greypart", "prescriptpart", "postscriptpart", "rgbcolor", "cmykcolor", "greycolor", "graycolor", "colormodel", "graypart", "dashpart", "penpart", "stroked", "filled", "textual", "clipped", "bounded", "pathpart", "expandafter", "minute", "hour", "outputformat", "outputtemplate", "filenametemplate", "fontmapfile", "fontmapline", "fontpart", "fontsize", "glyph", "restoreclipcolor", "troffmode", "runscript" }, - ["shortcuts"]={ "..", "...", "--", "---", "&" }, + ["commands"]={ "upto", "downto", "beginfig", "endfig", "beginglyph", "endglyph", "rotatedaround", "reflectedabout", "arrowhead", "currentpen", "currentpicture", "cuttings", "defaultfont", "extra_beginfig", "extra_endfig", "ditto", "EOF", "down", "evenly", "fullcircle", "halfcircle", "identity", "in", "left", "pensquare", "penrazor", "penspec", "origin", "quartercircle", "right", "unitsquare", "up", "withdots", "abs", "bbox", "ceiling", "center", "cutafter", "cutbefore", "dir", "directionpoint", "div", "dotprod", "intersectionpoint", "inverse", "mod", "round", "unitvector", "whatever", "cutdraw", "draw", "drawarrow", "drawdblarrow", "fill", "filldraw", "drawdot", "loggingall", "interact", "tracingall", "tracingnone", "pickup", "undraw", "unfill", "unfilldraw", "buildcycle", "dashpattern", "decr", "dotlabel", "dotlabels", "drawoptions", "incr", "label", "labels", "max", "min", "thelabel", "z", "beginchar", "blacker", "capsule_end", "change_width", "define_blacker_pixels", "define_corrected_pixels", "define_good_x_pixels", "define_good_y_pixels", "define_horizontal_corrected_pixels", "define_pixels", "define_whole_blacker_pixels", "define_whole_pixels", "define_whole_vertical_blacker_pixels", "define_whole_vertical_pixels", "endchar", "extra_beginchar", "extra_endchar", "extra_setup", "font_coding_scheme", "clearxy", "clearit", "clearpen", "shipit", "font_extra_space", "exitunless", "relax", "hide", "gobble", "gobbled", "stop", "blankpicture", "counterclockwise", "tensepath", "takepower", "direction", "softjoin", "makelabel", "rotatedabout", "flex", "superellipse", "image", "nullpen", "savepen", "clearpen", "penpos", "penlabels", "range", "thru", "z", "laboff", "bye", "red", "green", "blue", "cyan", "magenta", "yellow", "black", "white", "background", "mm", "pt", "dd", "bp", "cm", "pc", "cc", "in", "triplet", "quadruplet" }, + ["disabled"]={ "verbatimtex", "troffmode" }, + ["internals"]={ "mitered", "rounded", "beveled", "butt", "squared", "eps", "epsilon", "infinity", "bboxmargin", "ahlength", "ahangle", "labeloffset", "dotlabeldiam", "defaultpen", "defaultscale", "join_radius", "charscale", "pen_lft", "pen_rt", "pen_top", "pen_bot" }, + ["metafont"]={ "autorounding", "beginchar", "blacker", "boundarychar", "capsule_def", "capsule_end", "change_width", "chardp", "chardx", "chardy", "charexists", "charext", "charht", "charic", "charlist", "charwd", "cull", "cullit", "currenttransform", "currentwindow", "define_blacker_pixels", "define_corrected_pixels", "define_good_x_pixels", "define_good_y_pixels", "define_horizontal_corrected_pixels", "define_pixels", "define_whole_blacker_pixels", "define_whole_pixels", "define_whole_vertical_blacker_pixels", "define_whole_vertical_pixels", "designsize", "display", "displaying", "endchar", "extensible", "extra_beginchar", "extra_endchar", "extra_setup", "fillin", "font_coding_scheme", "font_extra_space", "font_identifier", "font_normal_shrink", "font_normal_space", "font_normal_stretch", "font_quad", "font_size", "font_slant", "font_x_height", "fontdimen", "fontmaking", "gfcorners", "granularity", "grayfont", "headerbyte", "hppp", "hround", "imagerules", "italcorr", "kern", "labelfont", "ligtable", "lowres_fix", "makebox", "makegrid", "maketicks", "mode_def", "mode_setup", "nodisplays", "notransforms", "numspecial", "o_correction", "openit", "openwindow", "pixels_per_inch", "proofing", "proofoffset", "proofrule", "proofrulethickness", "rulepen", "screenchars", "screenrule", "screenstrokes", "screen_cols", "screen_rows", "showit", "slantfont", "smode", "smoothing", "titlefont", "totalweight", "tracingedges", "tracingpens", "turningcheck", "unitpixel", "vppp", "vround", "xoffset", "yoffset" }, + ["primitives"]={ "charcode", "day", "linecap", "linejoin", "miterlimit", "month", "pausing", "prologues", "showstopping", "time", "tracingcapsules", "tracingchoices", "mpprocset", "tracingcommands", "tracingequations", "tracinglostchars", "tracingmacros", "tracingonline", "tracingoutput", "tracingrestores", "tracingspecs", "tracingstats", "tracingtitles", "truecorners", "warningcheck", "year", "false", "nullpicture", "pencircle", "true", "and", "angle", "arclength", "arctime", "ASCII", "boolean", "bot", "char", "color", "cosd", "cycle", "decimal", "directiontime", "floor", "fontsize", "hex", "infont", "intersectiontimes", "known", "length", "llcorner", "lrcorner", "makepath", "makepen", "mexp", "mlog", "normaldeviate", "not", "numeric", "oct", "odd", "or", "path", "pair", "pen", "penoffset", "picture", "point", "postcontrol", "precontrol", "reverse", "rotated", "scaled", "shifted", "sind", "slanted", "sqrt", "str", "string", "subpath", "substring", "transform", "transformed", "ulcorner", "uniformdeviate", "unknown", "urcorner", "xpart", "xscaled", "xxpart", "xypart", "ypart", "yscaled", "yxpart", "yypart", "zscaled", "addto", "clip", "input", "interim", "let", "newinternal", "save", "setbounds", "shipout", "show", "showdependencies", "showtoken", "showvariable", "special", "begingroup", "endgroup", "of", "curl", "tension", "and", "controls", "interpath", "on", "off", "def", "vardef", "enddef", "expr", "suffix", "text", "primary", "secondary", "tertiary", "primarydef", "secondarydef", "tertiarydef", "randomseed", "also", "contour", "doublepath", "withcolor", "withcmykcolor", "withpen", "dashed", "if", "else", "elseif", "fi", "for", "endfor", "forever", "exitif", "within", "forsuffixes", "step", "until", "charlist", "extensible", "fontdimen", "headerbyte", "kern", "ligtable", "boundarychar", "chardp", "charext", "charht", "charic", "charwd", "designsize", "fontmaking", "charexists", "cullit", "currenttransform", "gfcorners", "grayfont", "hround", "imagerules", "lowres_fix", "nodisplays", "notransforms", "openit", "displaying", "currentwindow", "screen_rows", "screen_cols", "pixels_per_inch", "cull", "display", "openwindow", "numspecial", "totalweight", "autorounding", "fillin", "proofing", "tracingpens", "xoffset", "chardx", "granularity", "smoothing", "turningcheck", "yoffset", "chardy", "hppp", "tracingedges", "vppp", "extra_beginfig", "extra_endfig", "mpxbreak", "endinput", "message", "delimiters", "turningnumber", "errmessage", "readstring", "scantokens", "end", "outer", "inner", "write", "to", "readfrom", "withprescript", "withpostscript", "top", "bot", "lft", "rt", "ulft", "urt", "llft", "lrt", "redpart", "greenpart", "bluepart", "cyanpart", "magentapart", "yellowpart", "blackpart", "prescriptpart", "postscriptpart", "rgbcolor", "cmykcolor", "colormodel", "graypart", "greypart", "greycolor", "graycolor", "dashpart", "penpart", "stroked", "filled", "textual", "clipped", "bounded", "pathpart", "expandafter", "minute", "hour", "outputformat", "outputtemplate", "filenametemplate", "fontmapfile", "fontmapline", "fontpart", "fontsize", "glyph", "restoreclipcolor", "troffmode", "runscript", "maketext" }, + ["shortcuts"]={ "..", "...", "--", "---", "&", "\\" }, ["tex"]={ "btex", "etex", "verbatimtex" }, } \ No newline at end of file diff --git a/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-tex.lua b/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-tex.lua index 415b7412834..90b64c5123d 100644 --- a/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-tex.lua +++ b/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-tex.lua @@ -1,9 +1,9 @@ return { ["aleph"]={ "AlephVersion", "Alephminorversion", "Alephrevision", "Alephversion", "Omegaminorversion", "Omegarevision", "Omegaversion", "boxdir", "pagebottomoffset", "pagerightoffset" }, ["etex"]={ "botmarks", "clubpenalties", "currentgrouplevel", "currentgrouptype", "currentifbranch", "currentiflevel", "currentiftype", "detokenize", "dimexpr", "displaywidowpenalties", "eTeXVersion", "eTeXminorversion", "eTeXrevision", "eTeXversion", "everyeof", "firstmarks", "fontchardp", "fontcharht", "fontcharic", "fontcharwd", "glueexpr", "glueshrink", "glueshrinkorder", "gluestretch", "gluestretchorder", "gluetomu", "ifcsname", "ifdefined", "iffontchar", "interactionmode", "interlinepenalties", "lastlinefit", "lastnodetype", "marks", "muexpr", "mutoglue", "numexpr", "pagediscards", "parshapedimen", "parshapeindent", "parshapelength", "predisplaydirection", "protected", "readline", "savinghyphcodes", "savingvdiscards", "scantokens", "showgroups", "showifs", "showtokens", "splitbotmarks", "splitdiscards", "splitfirstmarks", "topmarks", "tracingassigns", "tracinggroups", "tracingifs", "tracingnesting", "tracingscantokens", "unexpanded", "unless", "widowpenalties" }, - ["luatex"]={ "Uchar", "Udelcode", "Udelcodenum", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Umathaccent", "Umathaxis", "Umathbinbinspacing", "Umathbinclosespacing", "Umathbininnerspacing", "Umathbinopenspacing", "Umathbinopspacing", "Umathbinordspacing", "Umathbinpunctspacing", "Umathbinrelspacing", "Umathchar", "Umathchardef", "Umathcharnum", "Umathclosebinspacing", "Umathcloseclosespacing", "Umathcloseinnerspacing", "Umathcloseopenspacing", "Umathcloseopspacing", "Umathcloseordspacing", "Umathclosepunctspacing", "Umathcloserelspacing", "Umathcode", "Umathcodenum", "Umathconnectoroverlapmin", "Umathfractiondelsize", "Umathfractiondenomdown", "Umathfractiondenomvgap", "Umathfractionnumup", "Umathfractionnumvgap", "Umathfractionrule", "Umathinnerbinspacing", "Umathinnerclosespacing", "Umathinnerinnerspacing", "Umathinneropenspacing", "Umathinneropspacing", "Umathinnerordspacing", "Umathinnerpunctspacing", "Umathinnerrelspacing", "Umathlimitabovebgap", "Umathlimitabovekern", "Umathlimitabovevgap", "Umathlimitbelowbgap", "Umathlimitbelowkern", "Umathlimitbelowvgap", "Umathopbinspacing", "Umathopclosespacing", "Umathopenbinspacing", "Umathopenclosespacing", "Umathopeninnerspacing", "Umathopenopenspacing", "Umathopenopspacing", "Umathopenordspacing", "Umathopenpunctspacing", "Umathopenrelspacing", "Umathoperatorsize", "Umathopinnerspacing", "Umathopopenspacing", "Umathopopspacing", "Umathopordspacing", "Umathoppunctspacing", "Umathoprelspacing", "Umathordbinspacing", "Umathordclosespacing", "Umathordinnerspacing", "Umathordopenspacing", "Umathordopspacing", "Umathordordspacing", "Umathordpunctspacing", "Umathordrelspacing", "Umathoverbarkern", "Umathoverbarrule", "Umathoverbarvgap", "Umathoverdelimiterbgap", "Umathoverdelimitervgap", "Umathpunctbinspacing", "Umathpunctclosespacing", "Umathpunctinnerspacing", "Umathpunctopenspacing", "Umathpunctopspacing", "Umathpunctordspacing", "Umathpunctpunctspacing", "Umathpunctrelspacing", "Umathquad", "Umathradicaldegreeafter", "Umathradicaldegreebefore", "Umathradicaldegreeraise", "Umathradicalkern", "Umathradicalrule", "Umathradicalvgap", "Umathrelbinspacing", "Umathrelclosespacing", "Umathrelinnerspacing", "Umathrelopenspacing", "Umathrelopspacing", "Umathrelordspacing", "Umathrelpunctspacing", "Umathrelrelspacing", "Umathspaceafterscript", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvgap", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervgap", "Uoverdelimiter", "Uradical", "Uroot", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustopdisplaymath", "Ustopmath", "Usubscript", "Usuperscript", "Uunderdelimiter", "alignmark", "aligntab", "attribute", "attributedef", "catcodetable", "clearmarks", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "fontid", "formatname", "gleaders", "ifabsdim", "ifabsnum", "ifprimitive", "initcatcodetable", "latelua", "luaescapestring", "luastartup", "luatexdatestamp", "luatexrevision", "luatexversion", "luafunction", "mathstyle", "nokerns", "noligs", "outputbox", "pageleftoffset", "pagetopoffset", "postexhyphenchar", "posthyphenchar", "preexhyphenchar", "prehyphenchar", "primitive", "savecatcodetable", "scantextokens", "suppressfontnotfounderror", "suppressifcsnameerror", "suppresslongerror", "suppressoutererror", "synctex" }, + ["luatex"]={ "Uchar", "Udelcode", "Udelcodenum", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Umathaccent", "Umathaxis", "Umathbinbinspacing", "Umathbinclosespacing", "Umathbininnerspacing", "Umathbinopenspacing", "Umathbinopspacing", "Umathbinordspacing", "Umathbinpunctspacing", "Umathbinrelspacing", "Umathchar", "Umathchardef", "Umathcharnum", "Umathclosebinspacing", "Umathcloseclosespacing", "Umathcloseinnerspacing", "Umathcloseopenspacing", "Umathcloseopspacing", "Umathcloseordspacing", "Umathclosepunctspacing", "Umathcloserelspacing", "Umathcode", "Umathcodenum", "Umathconnectoroverlapmin", "Umathfractiondelsize", "Umathfractiondenomdown", "Umathfractiondenomvgap", "Umathfractionnumup", "Umathfractionnumvgap", "Umathfractionrule", "Umathinnerbinspacing", "Umathinnerclosespacing", "Umathinnerinnerspacing", "Umathinneropenspacing", "Umathinneropspacing", "Umathinnerordspacing", "Umathinnerpunctspacing", "Umathinnerrelspacing", "Umathlimitabovebgap", "Umathlimitabovekern", "Umathlimitabovevgap", "Umathlimitbelowbgap", "Umathlimitbelowkern", "Umathlimitbelowvgap", "Umathopbinspacing", "Umathopclosespacing", "Umathopenbinspacing", "Umathopenclosespacing", "Umathopeninnerspacing", "Umathopenopenspacing", "Umathopenopspacing", "Umathopenordspacing", "Umathopenpunctspacing", "Umathopenrelspacing", "Umathoperatorsize", "Umathopinnerspacing", "Umathopopenspacing", "Umathopopspacing", "Umathopordspacing", "Umathoppunctspacing", "Umathoprelspacing", "Umathordbinspacing", "Umathordclosespacing", "Umathordinnerspacing", "Umathordopenspacing", "Umathordopspacing", "Umathordordspacing", "Umathordpunctspacing", "Umathordrelspacing", "Umathoverbarkern", "Umathoverbarrule", "Umathoverbarvgap", "Umathoverdelimiterbgap", "Umathoverdelimitervgap", "Umathpunctbinspacing", "Umathpunctclosespacing", "Umathpunctinnerspacing", "Umathpunctopenspacing", "Umathpunctopspacing", "Umathpunctordspacing", "Umathpunctpunctspacing", "Umathpunctrelspacing", "Umathquad", "Umathradicaldegreeafter", "Umathradicaldegreebefore", "Umathradicaldegreeraise", "Umathradicalkern", "Umathradicalrule", "Umathradicalvgap", "Umathrelbinspacing", "Umathrelclosespacing", "Umathrelinnerspacing", "Umathrelopenspacing", "Umathrelopspacing", "Umathrelordspacing", "Umathrelpunctspacing", "Umathrelrelspacing", "Umathspaceafterscript", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvgap", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervgap", "Uoverdelimiter", "Uradical", "Uroot", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustopdisplaymath", "Ustopmath", "Usubscript", "Usuperscript", "Uunderdelimiter", "alignmark", "aligntab", "attribute", "attributedef", "catcodetable", "clearmarks", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "fontid", "formatname", "gleaders", "ifabsdim", "ifabsnum", "ifprimitive", "initcatcodetable", "latelua", "luaescapestring", "luastartup", "luatexbanner", "luatexrevision", "luatexversion", "luafunction", "mathstyle", "nokerns", "noligs", "outputbox", "pageleftoffset", "pagetopoffset", "postexhyphenchar", "posthyphenchar", "preexhyphenchar", "prehyphenchar", "primitive", "savecatcodetable", "scantextokens", "suppressfontnotfounderror", "suppressifcsnameerror", "suppresslongerror", "suppressoutererror", "suppressmathparerror", "synctex" }, ["omega"]={ "OmegaVersion", "bodydir", "chardp", "charht", "charit", "charwd", "leftghost", "localbrokenpenalty", "localinterlinepenalty", "localleftbox", "localrightbox", "mathdir", "odelcode", "odelimiter", "omathaccent", "omathchar", "omathchardef", "omathcode", "oradical", "pagedir", "pageheight", "pagewidth", "pardir", "rightghost", "textdir" }, ["pdftex"]={ "efcode", "expanded", "ifincsname", "ifpdfabsdim", "ifpdfabsnum", "ifpdfprimitive", "leftmarginkern", "letterspacefont", "lpcode", "pdfadjustspacing", "pdfannot", "pdfcatalog", "pdfcolorstack", "pdfcolorstackinit", "pdfcompresslevel", "pdfcopyfont", "pdfcreationdate", "pdfdecimaldigits", "pdfdest", "pdfdestmargin", "pdfdraftmode", "pdfeachlinedepth", "pdfeachlineheight", "pdfendlink", "pdfendthread", "pdffirstlineheight", "pdffontattr", "pdffontexpand", "pdffontname", "pdffontobjnum", "pdffontsize", "pdfgamma", "pdfgentounicode", "pdfglyphtounicode", "pdfhorigin", "pdfignoreddimen", "pdfimageapplygamma", "pdfimagegamma", "pdfimagehicolor", "pdfimageresolution", "pdfincludechars", "pdfinclusioncopyfonts", "pdfinclusionerrorlevel", "pdfinfo", "pdfinsertht", "pdflastannot", "pdflastlinedepth", "pdflastlink", "pdflastobj", "pdflastxform", "pdflastximage", "pdflastximagecolordepth", "pdflastximagepages", "pdflastxpos", "pdflastypos", "pdflinkmargin", "pdfliteral", "pdfmapfile", "pdfmapline", "pdfminorversion", "pdfnames", "pdfnoligatures", "pdfnormaldeviate", "pdfobj", "pdfobjcompresslevel", "pdfoptionpdfminorversion", "pdfoutline", "pdfoutput", "pdfpageattr", "pdfpagebox", "pdfpageheight", "pdfpageref", "pdfpageresources", "pdfpagesattr", "pdfpagewidth", "pdfpkmode", "pdfpkresolution", "pdfprimitive", "pdfprotrudechars", "pdfpxdimen", "pdfrandomseed", "pdfrefobj", "pdfrefxform", "pdfrefximage", "pdfreplacefont", "pdfrestore", "pdfretval", "pdfsave", "pdfsavepos", "pdfsetmatrix", "pdfsetrandomseed", "pdfstartlink", "pdfstartthread", "pdftexbanner", "pdftexrevision", "pdftexversion", "pdfthread", "pdfthreadmargin", "pdftracingfonts", "pdftrailer", "pdfuniformdeviate", "pdfuniqueresname", "pdfvorigin", "pdfxform", "pdfxformattr", "pdfxformname", "pdfxformresources", "pdfximage", "pdfximagebbox", "quitvmode", "rightmarginkern", "rpcode", "tagcode" }, - ["tex"]={ "-", "/", "AlephVersion", "Alephminorversion", "Alephrevision", "Alephversion", "OmegaVersion", "Omegaminorversion", "Omegarevision", "Omegaversion", "Udelcode", "Udelcodenum", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Umathaccent", "Umathaxis", "Umathbinbinspacing", "Umathbinclosespacing", "Umathbininnerspacing", "Umathbinopenspacing", "Umathbinopspacing", "Umathbinordspacing", "Umathbinpunctspacing", "Umathbinrelspacing", "Umathchar", "Umathchardef", "Umathcharnum", "Umathclosebinspacing", "Umathcloseclosespacing", "Umathcloseinnerspacing", "Umathcloseopenspacing", "Umathcloseopspacing", "Umathcloseordspacing", "Umathclosepunctspacing", "Umathcloserelspacing", "Umathcode", "Umathcodenum", "Umathconnectoroverlapmin", "Umathfractiondelsize", "Umathfractiondenomdown", "Umathfractiondenomvgap", "Umathfractionnumup", "Umathfractionnumvgap", "Umathfractionrule", "Umathinnerbinspacing", "Umathinnerclosespacing", "Umathinnerinnerspacing", "Umathinneropenspacing", "Umathinneropspacing", "Umathinnerordspacing", "Umathinnerpunctspacing", "Umathinnerrelspacing", "Umathlimitabovebgap", "Umathlimitabovekern", "Umathlimitabovevgap", "Umathlimitbelowbgap", "Umathlimitbelowkern", "Umathlimitbelowvgap", "Umathopbinspacing", "Umathopclosespacing", "Umathopenbinspacing", "Umathopenclosespacing", "Umathopeninnerspacing", "Umathopenopenspacing", "Umathopenopspacing", "Umathopenordspacing", "Umathopenpunctspacing", "Umathopenrelspacing", "Umathoperatorsize", "Umathopinnerspacing", "Umathopopenspacing", "Umathopopspacing", "Umathopordspacing", "Umathoppunctspacing", "Umathoprelspacing", "Umathordbinspacing", "Umathordclosespacing", "Umathordinnerspacing", "Umathordopenspacing", "Umathordopspacing", "Umathordordspacing", "Umathordpunctspacing", "Umathordrelspacing", "Umathoverbarkern", "Umathoverbarrule", "Umathoverbarvgap", "Umathoverdelimiterbgap", "Umathoverdelimitervgap", "Umathpunctbinspacing", "Umathpunctclosespacing", "Umathpunctinnerspacing", "Umathpunctopenspacing", "Umathpunctopspacing", "Umathpunctordspacing", "Umathpunctpunctspacing", "Umathpunctrelspacing", "Umathquad", "Umathradicaldegreeafter", "Umathradicaldegreebefore", "Umathradicaldegreeraise", "Umathradicalkern", "Umathradicalrule", "Umathradicalvgap", "Umathrelbinspacing", "Umathrelclosespacing", "Umathrelinnerspacing", "Umathrelopenspacing", "Umathrelopspacing", "Umathrelordspacing", "Umathrelpunctspacing", "Umathrelrelspacing", "Umathspaceafterscript", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvgap", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervgap", "Uoverdelimiter", "Uradical", "Uroot", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustopdisplaymath", "Ustopmath", "Usubscript", "Usuperscript", "Uunderdelimiter", "above", "abovedisplayshortskip", "abovedisplayskip", "abovewithdelims", "accent", "adjdemerits", "advance", "afterassignment", "aftergroup", "alignmark", "aligntab", "atop", "atopwithdelims", "attribute", "attributedef", "badness", "baselineskip", "batchmode", "begingroup", "belowdisplayshortskip", "belowdisplayskip", "binoppenalty", "bodydir", "botmark", "botmarks", "box", "boxdir", "boxmaxdepth", "brokenpenalty", "catcode", "catcodetable", "char", "chardef", "cleaders", "clearmarks", "closein", "closeout", "clubpenalties", "clubpenalty", "copy", "count", "countdef", "cr", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "crcr", "csname", "currentgrouplevel", "currentgrouptype", "currentifbranch", "currentiflevel", "currentiftype", "day", "deadcycles", "def", "defaulthyphenchar", "defaultskewchar", "delcode", "delimiter", "delimiterfactor", "delimitershortfall", "detokenize", "dimen", "dimendef", "dimexpr", "directlua", "discretionary", "displayindent", "displaylimits", "displaystyle", "displaywidowpenalties", "displaywidowpenalty", "displaywidth", "divide", "doublehyphendemerits", "dp", "dump", "eTeXVersion", "eTeXminorversion", "eTeXrevision", "eTeXversion", "edef", "efcode", "else", "emergencystretch", "end", "endcsname", "endgroup", "endinput", "endlinechar", "eqno", "errhelp", "errmessage", "errorcontextlines", "errorstopmode", "escapechar", "everycr", "everydisplay", "everyeof", "everyhbox", "everyjob", "everymath", "everypar", "everyvbox", "exhyphenchar", "exhyphenpenalty", "expandafter", "expanded", "fam", "fi", "finalhyphendemerits", "firstmark", "firstmarks", "floatingpenalty", "font", "fontchardp", "fontcharht", "fontcharic", "fontcharwd", "fontdimen", "fontid", "fontname", "formatname", "futurelet", "gdef", "gleaders", "global", "globaldefs", "glueexpr", "glueshrink", "glueshrinkorder", "gluestretch", "gluestretchorder", "gluetomu", "halign", "hangafter", "hangindent", "hbadness", "hbox", "hfil", "hfill", "hfilneg", "hfuzz", "hoffset", "holdinginserts", "hrule", "hsize", "hskip", "hss", "ht", "hyphenation", "hyphenchar", "hyphenpenalty", "if", "ifabsdim", "ifabsnum", "ifcase", "ifcat", "ifcsname", "ifdefined", "ifdim", "ifeof", "iffalse", "iffontchar", "ifhbox", "ifhmode", "ifincsname", "ifinner", "ifmmode", "ifnum", "ifodd", "ifpdfabsdim", "ifpdfabsnum", "ifpdfprimitive", "ifprimitive", "iftrue", "ifvbox", "ifvmode", "ifvoid", "ifx", "ignorespaces", "immediate", "indent", "initcatcodetable", "input", "inputlineno", "insert", "insertpenalties", "interactionmode", "interlinepenalties", "interlinepenalty", "jobname", "kern", "language", "lastbox", "lastkern", "lastlinefit", "lastnodetype", "lastpenalty", "lastskip", "latelua", "lccode", "leaders", "left", "leftghost", "lefthyphenmin", "leftmarginkern", "leftskip", "leqno", "let", "letterspacefont", "limits", "linepenalty", "lineskip", "lineskiplimit", "localbrokenpenalty", "localinterlinepenalty", "localleftbox", "localrightbox", "long", "looseness", "lower", "lowercase", "lpcode", "luaescapestring", "luastartup", "luatexdatestamp", "luatexrevision", "luatexversion", "mag", "mark", "marks", "mathaccent", "mathbin", "mathchar", "mathchardef", "mathchoice", "mathclose", "mathcode", "mathdir", "mathinner", "mathop", "mathopen", "mathord", "mathpunct", "mathrel", "mathstyle", "mathsurround", "maxdeadcycles", "maxdepth", "meaning", "medmuskip", "message", "middle", "mkern", "month", "moveleft", "moveright", "mskip", "muexpr", "multiply", "muskip", "muskipdef", "mutoglue", "newlinechar", "noalign", "noboundary", "noexpand", "noindent", "nokerns", "noligs", "nolimits", "nolocaldirs", "nolocalwhatsits", "nonscript", "nonstopmode", "nulldelimiterspace", "nullfont", "number", "numexpr", "odelcode", "odelimiter", "omathaccent", "omathchar", "omathchardef", "omathcode", "omit", "openin", "openout", "or", "oradical", "outer", "output", "outputbox", "outputpenalty", "over", "overfullrule", "overline", "overwithdelims", "pagebottomoffset", "pagedepth", "pagedir", "pagediscards", "pagefilllstretch", "pagefillstretch", "pagefilstretch", "pagegoal", "pageheight", "pageleftoffset", "pagerightoffset", "pageshrink", "pagestretch", "pagetopoffset", "pagetotal", "pagewidth", "par", "pardir", "parfillskip", "parindent", "parshape", "parshapedimen", "parshapeindent", "parshapelength", "parskip", "patterns", "pausing", "pdfadjustspacing", "pdfannot", "pdfcatalog", "pdfcolorstack", "pdfcolorstackinit", "pdfcompresslevel", "pdfcopyfont", "pdfcreationdate", "pdfdecimaldigits", "pdfdest", "pdfdestmargin", "pdfdraftmode", "pdfeachlinedepth", "pdfeachlineheight", "pdfendlink", "pdfendthread", "pdffirstlineheight", "pdffontattr", "pdffontexpand", "pdffontname", "pdffontobjnum", "pdffontsize", "pdfgamma", "pdfgentounicode", "pdfglyphtounicode", "pdfhorigin", "pdfignoreddimen", "pdfimageapplygamma", "pdfimagegamma", "pdfimagehicolor", "pdfimageresolution", "pdfincludechars", "pdfinclusioncopyfonts", "pdfinclusionerrorlevel", "pdfinfo", "pdfinsertht", "pdflastannot", "pdflastlinedepth", "pdflastlink", "pdflastobj", "pdflastxform", "pdflastximage", "pdflastximagecolordepth", "pdflastximagepages", "pdflastxpos", "pdflastypos", "pdflinkmargin", "pdfliteral", "pdfmapfile", "pdfmapline", "pdfminorversion", "pdfnames", "pdfnoligatures", "pdfnormaldeviate", "pdfobj", "pdfobjcompresslevel", "pdfoptionpdfminorversion", "pdfoutline", "pdfoutput", "pdfpageattr", "pdfpagebox", "pdfpageheight", "pdfpageref", "pdfpageresources", "pdfpagesattr", "pdfpagewidth", "pdfpkmode", "pdfpkresolution", "pdfprimitive", "pdfprotrudechars", "pdfpxdimen", "pdfrandomseed", "pdfrefobj", "pdfrefxform", "pdfrefximage", "pdfreplacefont", "pdfrestore", "pdfretval", "pdfsave", "pdfsavepos", "pdfsetmatrix", "pdfsetrandomseed", "pdfstartlink", "pdfstartthread", "pdftexbanner", "pdftexrevision", "pdftexversion", "pdfthread", "pdfthreadmargin", "pdftracingfonts", "pdftrailer", "pdfuniformdeviate", "pdfuniqueresname", "pdfvorigin", "pdfxform", "pdfxformattr", "pdfxformname", "pdfxformresources", "pdfximage", "pdfximagebbox", "penalty", "postdisplaypenalty", "postexhyphenchar", "posthyphenchar", "predisplaydirection", "predisplaypenalty", "predisplaysize", "preexhyphenchar", "prehyphenchar", "pretolerance", "prevdepth", "prevgraf", "primitive", "protected", "quitvmode", "radical", "raise", "read", "readline", "relax", "relpenalty", "right", "rightghost", "righthyphenmin", "rightmarginkern", "rightskip", "romannumeral", "rpcode", "savecatcodetable", "savinghyphcodes", "savingvdiscards", "scantextokens", "scantokens", "scriptfont", "scriptscriptfont", "scriptscriptstyle", "scriptspace", "scriptstyle", "scrollmode", "setbox", "setlanguage", "sfcode", "shipout", "show", "showbox", "showboxbreadth", "showboxdepth", "showgroups", "showifs", "showlists", "showthe", "showtokens", "skewchar", "skip", "skipdef", "spacefactor", "spaceskip", "span", "special", "splitbotmark", "splitbotmarks", "splitdiscards", "splitfirstmark", "splitfirstmarks", "splitmaxdepth", "splittopskip", "string", "suppressfontnotfounderror", "suppressifcsnameerror", "suppresslongerror", "suppressoutererror", "synctex", "tabskip", "tagcode", "textdir", "textfont", "textstyle", "the", "thickmuskip", "thinmuskip", "time", "toks", "toksdef", "tolerance", "topmark", "topmarks", "topskip", "tracingassigns", "tracingcommands", "tracinggroups", "tracingifs", "tracinglostchars", "tracingmacros", "tracingnesting", "tracingonline", "tracingoutput", "tracingpages", "tracingparagraphs", "tracingrestores", "tracingscantokens", "tracingstats", "uccode", "uchyph", "underline", "unexpanded", "unhbox", "unhcopy", "unkern", "unless", "unpenalty", "unskip", "unvbox", "unvcopy", "uppercase", "vadjust", "valign", "vbadness", "vbox", "vcenter", "vfil", "vfill", "vfilneg", "vfuzz", "voffset", "vrule", "vsize", "vskip", "vsplit", "vss", "vtop", "wd", "widowpenalties", "widowpenalty", "write", "xdef", "xleaders", "xspaceskip", "year" }, + ["tex"]={ "-", "/", "AlephVersion", "Alephminorversion", "Alephrevision", "Alephversion", "OmegaVersion", "Omegaminorversion", "Omegarevision", "Omegaversion", "Udelcode", "Udelcodenum", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Umathaccent", "Umathaxis", "Umathbinbinspacing", "Umathbinclosespacing", "Umathbininnerspacing", "Umathbinopenspacing", "Umathbinopspacing", "Umathbinordspacing", "Umathbinpunctspacing", "Umathbinrelspacing", "Umathchar", "Umathchardef", "Umathcharnum", "Umathclosebinspacing", "Umathcloseclosespacing", "Umathcloseinnerspacing", "Umathcloseopenspacing", "Umathcloseopspacing", "Umathcloseordspacing", "Umathclosepunctspacing", "Umathcloserelspacing", "Umathcode", "Umathcodenum", "Umathconnectoroverlapmin", "Umathfractiondelsize", "Umathfractiondenomdown", "Umathfractiondenomvgap", "Umathfractionnumup", "Umathfractionnumvgap", "Umathfractionrule", "Umathinnerbinspacing", "Umathinnerclosespacing", "Umathinnerinnerspacing", "Umathinneropenspacing", "Umathinneropspacing", "Umathinnerordspacing", "Umathinnerpunctspacing", "Umathinnerrelspacing", "Umathlimitabovebgap", "Umathlimitabovekern", "Umathlimitabovevgap", "Umathlimitbelowbgap", "Umathlimitbelowkern", "Umathlimitbelowvgap", "Umathopbinspacing", "Umathopclosespacing", "Umathopenbinspacing", "Umathopenclosespacing", "Umathopeninnerspacing", "Umathopenopenspacing", "Umathopenopspacing", "Umathopenordspacing", "Umathopenpunctspacing", "Umathopenrelspacing", "Umathoperatorsize", "Umathopinnerspacing", "Umathopopenspacing", "Umathopopspacing", "Umathopordspacing", "Umathoppunctspacing", "Umathoprelspacing", "Umathordbinspacing", "Umathordclosespacing", "Umathordinnerspacing", "Umathordopenspacing", "Umathordopspacing", "Umathordordspacing", "Umathordpunctspacing", "Umathordrelspacing", "Umathoverbarkern", "Umathoverbarrule", "Umathoverbarvgap", "Umathoverdelimiterbgap", "Umathoverdelimitervgap", "Umathpunctbinspacing", "Umathpunctclosespacing", "Umathpunctinnerspacing", "Umathpunctopenspacing", "Umathpunctopspacing", "Umathpunctordspacing", "Umathpunctpunctspacing", "Umathpunctrelspacing", "Umathquad", "Umathradicaldegreeafter", "Umathradicaldegreebefore", "Umathradicaldegreeraise", "Umathradicalkern", "Umathradicalrule", "Umathradicalvgap", "Umathrelbinspacing", "Umathrelclosespacing", "Umathrelinnerspacing", "Umathrelopenspacing", "Umathrelopspacing", "Umathrelordspacing", "Umathrelpunctspacing", "Umathrelrelspacing", "Umathspaceafterscript", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvgap", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervgap", "Uoverdelimiter", "Uradical", "Uroot", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustopdisplaymath", "Ustopmath", "Usubscript", "Usuperscript", "Uunderdelimiter", "above", "abovedisplayshortskip", "abovedisplayskip", "abovewithdelims", "accent", "adjdemerits", "advance", "afterassignment", "aftergroup", "alignmark", "aligntab", "atop", "atopwithdelims", "attribute", "attributedef", "badness", "baselineskip", "batchmode", "begingroup", "belowdisplayshortskip", "belowdisplayskip", "binoppenalty", "bodydir", "botmark", "botmarks", "box", "boxdir", "boxmaxdepth", "brokenpenalty", "catcode", "catcodetable", "char", "chardef", "cleaders", "clearmarks", "closein", "closeout", "clubpenalties", "clubpenalty", "copy", "count", "countdef", "cr", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "crcr", "csname", "currentgrouplevel", "currentgrouptype", "currentifbranch", "currentiflevel", "currentiftype", "day", "deadcycles", "def", "defaulthyphenchar", "defaultskewchar", "delcode", "delimiter", "delimiterfactor", "delimitershortfall", "detokenize", "dimen", "dimendef", "dimexpr", "directlua", "discretionary", "displayindent", "displaylimits", "displaystyle", "displaywidowpenalties", "displaywidowpenalty", "displaywidth", "divide", "doublehyphendemerits", "dp", "dump", "eTeXVersion", "eTeXminorversion", "eTeXrevision", "eTeXversion", "edef", "efcode", "else", "emergencystretch", "end", "endcsname", "endgroup", "endinput", "endlinechar", "eqno", "errhelp", "errmessage", "errorcontextlines", "errorstopmode", "escapechar", "everycr", "everydisplay", "everyeof", "everyhbox", "everyjob", "everymath", "everypar", "everyvbox", "exhyphenchar", "exhyphenpenalty", "expandafter", "expanded", "fam", "fi", "finalhyphendemerits", "firstmark", "firstmarks", "floatingpenalty", "font", "fontchardp", "fontcharht", "fontcharic", "fontcharwd", "fontdimen", "fontid", "fontname", "formatname", "futurelet", "gdef", "gleaders", "global", "globaldefs", "glueexpr", "glueshrink", "glueshrinkorder", "gluestretch", "gluestretchorder", "gluetomu", "halign", "hangafter", "hangindent", "hbadness", "hbox", "hfil", "hfill", "hfilneg", "hfuzz", "hoffset", "holdinginserts", "hrule", "hsize", "hskip", "hss", "ht", "hyphenation", "hyphenchar", "hyphenpenalty", "if", "ifabsdim", "ifabsnum", "ifcase", "ifcat", "ifcsname", "ifdefined", "ifdim", "ifeof", "iffalse", "iffontchar", "ifhbox", "ifhmode", "ifincsname", "ifinner", "ifmmode", "ifnum", "ifodd", "ifpdfabsdim", "ifpdfabsnum", "ifpdfprimitive", "ifprimitive", "iftrue", "ifvbox", "ifvmode", "ifvoid", "ifx", "ignorespaces", "immediate", "indent", "initcatcodetable", "input", "inputlineno", "insert", "insertpenalties", "interactionmode", "interlinepenalties", "interlinepenalty", "jobname", "kern", "language", "lastbox", "lastkern", "lastlinefit", "lastnodetype", "lastpenalty", "lastskip", "latelua", "lccode", "leaders", "left", "leftghost", "lefthyphenmin", "leftmarginkern", "leftskip", "leqno", "let", "letterspacefont", "limits", "linepenalty", "lineskip", "lineskiplimit", "localbrokenpenalty", "localinterlinepenalty", "localleftbox", "localrightbox", "long", "looseness", "lower", "lowercase", "lpcode", "luaescapestring", "luastartup", "luatexbanner", "luatexrevision", "luatexversion", "mag", "mark", "marks", "mathaccent", "mathbin", "mathchar", "mathchardef", "mathchoice", "mathclose", "mathcode", "mathdir", "mathinner", "mathop", "mathopen", "mathord", "mathpunct", "mathrel", "mathstyle", "mathsurround", "maxdeadcycles", "maxdepth", "meaning", "medmuskip", "message", "middle", "mkern", "month", "moveleft", "moveright", "mskip", "muexpr", "multiply", "muskip", "muskipdef", "mutoglue", "newlinechar", "noalign", "noboundary", "noexpand", "noindent", "nokerns", "noligs", "nolimits", "nolocaldirs", "nolocalwhatsits", "nonscript", "nonstopmode", "nulldelimiterspace", "nullfont", "number", "numexpr", "odelcode", "odelimiter", "omathaccent", "omathchar", "omathchardef", "omathcode", "omit", "openin", "openout", "or", "oradical", "outer", "output", "outputbox", "outputpenalty", "over", "overfullrule", "overline", "overwithdelims", "pagebottomoffset", "pagedepth", "pagedir", "pagediscards", "pagefilllstretch", "pagefillstretch", "pagefilstretch", "pagegoal", "pageheight", "pageleftoffset", "pagerightoffset", "pageshrink", "pagestretch", "pagetopoffset", "pagetotal", "pagewidth", "par", "pardir", "parfillskip", "parindent", "parshape", "parshapedimen", "parshapeindent", "parshapelength", "parskip", "patterns", "pausing", "pdfadjustspacing", "pdfannot", "pdfcatalog", "pdfcolorstack", "pdfcolorstackinit", "pdfcompresslevel", "pdfcopyfont", "pdfcreationdate", "pdfdecimaldigits", "pdfdest", "pdfdestmargin", "pdfdraftmode", "pdfeachlinedepth", "pdfeachlineheight", "pdfendlink", "pdfendthread", "pdffirstlineheight", "pdffontattr", "pdffontexpand", "pdffontname", "pdffontobjnum", "pdffontsize", "pdfgamma", "pdfgentounicode", "pdfglyphtounicode", "pdfhorigin", "pdfignoreddimen", "pdfimageapplygamma", "pdfimagegamma", "pdfimagehicolor", "pdfimageresolution", "pdfincludechars", "pdfinclusioncopyfonts", "pdfinclusionerrorlevel", "pdfinfo", "pdfinsertht", "pdflastannot", "pdflastlinedepth", "pdflastlink", "pdflastobj", "pdflastxform", "pdflastximage", "pdflastximagecolordepth", "pdflastximagepages", "pdflastxpos", "pdflastypos", "pdflinkmargin", "pdfliteral", "pdfmapfile", "pdfmapline", "pdfminorversion", "pdfnames", "pdfnoligatures", "pdfnormaldeviate", "pdfobj", "pdfobjcompresslevel", "pdfoptionpdfminorversion", "pdfoutline", "pdfoutput", "pdfpageattr", "pdfpagebox", "pdfpageheight", "pdfpageref", "pdfpageresources", "pdfpagesattr", "pdfpagewidth", "pdfpkmode", "pdfpkresolution", "pdfprimitive", "pdfprotrudechars", "pdfpxdimen", "pdfrandomseed", "pdfrefobj", "pdfrefxform", "pdfrefximage", "pdfreplacefont", "pdfrestore", "pdfretval", "pdfsave", "pdfsavepos", "pdfsetmatrix", "pdfsetrandomseed", "pdfstartlink", "pdfstartthread", "pdftexbanner", "pdftexrevision", "pdftexversion", "pdfthread", "pdfthreadmargin", "pdftracingfonts", "pdftrailer", "pdfuniformdeviate", "pdfuniqueresname", "pdfvorigin", "pdfxform", "pdfxformattr", "pdfxformname", "pdfxformresources", "pdfximage", "pdfximagebbox", "penalty", "postdisplaypenalty", "postexhyphenchar", "posthyphenchar", "predisplaydirection", "predisplaypenalty", "predisplaysize", "preexhyphenchar", "prehyphenchar", "pretolerance", "prevdepth", "prevgraf", "primitive", "protected", "quitvmode", "radical", "raise", "read", "readline", "relax", "relpenalty", "right", "rightghost", "righthyphenmin", "rightmarginkern", "rightskip", "romannumeral", "rpcode", "savecatcodetable", "savinghyphcodes", "savingvdiscards", "scantextokens", "scantokens", "scriptfont", "scriptscriptfont", "scriptscriptstyle", "scriptspace", "scriptstyle", "scrollmode", "setbox", "setlanguage", "sfcode", "shipout", "show", "showbox", "showboxbreadth", "showboxdepth", "showgroups", "showifs", "showlists", "showthe", "showtokens", "skewchar", "skip", "skipdef", "spacefactor", "spaceskip", "span", "special", "splitbotmark", "splitbotmarks", "splitdiscards", "splitfirstmark", "splitfirstmarks", "splitmaxdepth", "splittopskip", "string", "suppressfontnotfounderror", "suppressifcsnameerror", "suppresslongerror", "suppressoutererror", "synctex", "tabskip", "tagcode", "textdir", "textfont", "textstyle", "the", "thickmuskip", "thinmuskip", "time", "toks", "toksdef", "tolerance", "topmark", "topmarks", "topskip", "tracingassigns", "tracingcommands", "tracinggroups", "tracingifs", "tracinglostchars", "tracingmacros", "tracingnesting", "tracingonline", "tracingoutput", "tracingpages", "tracingparagraphs", "tracingrestores", "tracingscantokens", "tracingstats", "uccode", "uchyph", "underline", "unexpanded", "unhbox", "unhcopy", "unkern", "unless", "unpenalty", "unskip", "unvbox", "unvcopy", "uppercase", "vadjust", "valign", "vbadness", "vbox", "vcenter", "vfil", "vfill", "vfilneg", "vfuzz", "voffset", "vrule", "vsize", "vskip", "vsplit", "vss", "vtop", "wd", "widowpenalties", "widowpenalty", "write", "xdef", "xleaders", "xspaceskip", "year" }, ["xetex"]={ "XeTeXversion" }, } \ No newline at end of file diff --git a/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer-bibtex.lua b/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer-bibtex.lua index 88b070e5ee2..ebcd7cbc694 100644 --- a/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer-bibtex.lua +++ b/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer-bibtex.lua @@ -17,7 +17,7 @@ local patterns = context.patterns local token = lexer.token local exact_match = lexer.exact_match -local bibtexlexer = lexer.new("xml","scite-context-lexer-xml") +local bibtexlexer = lexer.new("bib","scite-context-lexer-bibtex") local whitespace = bibtexlexer.whitespace local escape, left, right = P("\\"), P('{'), P('}') @@ -45,8 +45,11 @@ local spaces = space^1 local equal = P("=") local keyword = (R("az","AZ","09") + S("@_:-"))^1 -local s_quoted = ((escape*single) + spaces^1 + (1-single))^0 -local d_quoted = ((escape*double) + spaces^1 + (1-double))^0 +----- s_quoted = ((escape*single) + spaces + (1-single))^0 +----- d_quoted = ((escape*double) + spaces + (1-double))^0 +local s_quoted = ((escape*single) + (1-single))^0 +local d_quoted = ((escape*double) + (1-double))^0 + local balanced = patterns.balanced local t_spacing = token(whitespace, space^1) @@ -119,6 +122,22 @@ local t_rest = token("default",anything) -- -- function OnOpen(filename) editor:Colourise(1,editor.TextLength) end -- or is it 0? +-- somehow lexing fails on this more complex lexer when we insert something, there is no +-- backtracking to whitespace when we have no embedded lexer, so we fake one ... this works +-- to some extend but not in all cases (e.g. editing inside line fails) .. maybe i need to +-- patch the dll ... (better not) + +local dummylexer = lexer.load("scite-context-lexer-dummy","bib-dum") + +local dummystart = token("embedded",P("\001")) -- an unlikely to be used character +local dummystop = token("embedded",P("\002")) -- an unlikely to be used character + +lexer.embed_lexer(bibtexlexer,dummylexer,dummystart,dummystop) + +-- maybe we need to define each functional block as lexer (some 4) so i'll do that when +-- this issue is persistent ... maybe consider making a local lexer options (not load, +-- just lexer.new or so) .. or maybe do the reverse, embed the main one in a dummy child + bibtexlexer._rules = { { "whitespace", t_spacing }, { "forget", t_forget }, diff --git a/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer-dummy.lua b/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer-dummy.lua new file mode 100644 index 00000000000..9465561f36a --- /dev/null +++ b/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer-dummy.lua @@ -0,0 +1,35 @@ +local info = { + version = 1.002, + comment = "scintilla lpeg lexer that triggers whitespace backtracking", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files", +} + +-- the lexer dll doesn't backtrack when there is no embedded lexer so +-- we need to trigger that, for instance in the bibtex lexer, but still +-- we get failed lexing + +local lexer = require("lexer") +local context = lexer.context +local patterns = context.patterns + +local token = lexer.token + +local dummylexer = lexer.new("dummy","scite-context-lexer-dummy") +local whitespace = dummylexer.whitespace + +local space = patterns.space +local nospace = (1-space) + +local t_spacing = token(whitespace, space ^1) +local t_rest = token("default", nospace^1) + +dummylexer._rules = { + { "whitespace", t_spacing }, + { "rest", t_rest }, +} + +dummylexer._tokenstyles = context.styleset + +return dummylexer diff --git a/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer-lua.lua b/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer-lua.lua index c44d586bab5..3d5d18fc80c 100644 --- a/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer-lua.lua +++ b/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer-lua.lua @@ -25,6 +25,7 @@ local lualexer = lexer.new("lua","scite-context-lexer-lua") local whitespace = lualexer.whitespace local stringlexer = lexer.load("scite-context-lexer-lua-longstring") +local labellexer = lexer.load("scite-context-lexer-lua-labelstring") local directives = { } -- communication channel @@ -185,11 +186,15 @@ local structure = token("special", S('{}[]()')) local optionalspace = spacing^0 local hasargument = #S("{([") +-- ideal should be an embedded lexer .. + local gotokeyword = token("keyword", P("goto")) * spacing * token("grouping",validword) local gotolabel = token("keyword", P("::")) + * (spacing + shortcomment)^0 * token("grouping",validword) + * (spacing + shortcomment)^0 * token("keyword", P("::")) local p_keywords = exact_match(keywords) diff --git a/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer-tex.lua b/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer-tex.lua index 0099b968a2d..b109630ce8f 100644 --- a/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer-tex.lua +++ b/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer-tex.lua @@ -410,6 +410,8 @@ local stoplua = P("\\stop") * Cmt(luaenvironment,stopdisplaylua) local startluacode = token("embedded", startlua) local stopluacode = #stoplua * token("embedded", stoplua) +local luacall = P("clf_") * R("az","__","AZ")^1 + local metafuncall = ( P("reusable") + P("usable") + P("unique") + P("use") + P("reuse") ) * ("MPgraphic") + P("uniqueMPpagegraphic") + P("MPpositiongraphic") @@ -420,6 +422,8 @@ local metafunenvironment = metafuncall -- ( P("use") + P("reusable") + P("un local startmetafun = P("\\start") * metafunenvironment local stopmetafun = P("\\stop") * metafunenvironment -- todo match start +local xmlmacro = token("embedded", P("\\xml") * R("az")^1) + local openargument = token("special", P("{")) local closeargument = token("special", P("}")) local argumentcontent = token("default",(1-P("}"))^0) -- maybe space needs a treatment @@ -430,6 +434,7 @@ local startmetafuncode = token("embedded", startmetafun) * metafunargument local stopmetafuncode = token("embedded", stopmetafun) local callers = token("embedded", P("\\") * metafuncall) * metafunarguments + + token("embedded", P("\\") * luacall) lexer.embed_lexer(contextlexer, cldlexer, startluacode, stopluacode) lexer.embed_lexer(contextlexer, mpslexer, startmetafuncode, stopmetafuncode) @@ -441,6 +446,7 @@ contextlexer._rules = { { "text", text }, -- non words { "comment", comment }, { "constant", constant }, + { "xmlmacro", xmlmacro }, { "callers", callers }, { "helper", helper }, { "command", command }, diff --git a/Master/texmf-dist/context/data/scite/context/scite-context-data-context.properties b/Master/texmf-dist/context/data/scite/context/scite-context-data-context.properties index d709dbe51e6..6cd49449ce0 100644 --- a/Master/texmf-dist/context/data/scite/context/scite-context-data-context.properties +++ b/Master/texmf-dist/context/data/scite/context/scite-context-data-context.properties @@ -3,193 +3,204 @@ zerocount minusone minustwo plusone \ plustwo plusthree plusfour plusfive plussix \ plusseven pluseight plusnine plusten plussixteen \ plushundred plusthousand plustenthousand plustwentythousand medcard \ -maxcard zeropoint onepoint halfapoint onebasepoint \ -maxdimen scaledpoint thousandpoint points halfpoint \ -zeroskip zeromuskip onemuskip pluscxxvii pluscxxviii \ -pluscclv pluscclvi normalpagebox endoflinetoken outputnewlinechar \ -emptytoks empty undefined voidbox emptybox \ -emptyvbox emptyhbox bigskipamount medskipamount smallskipamount \ -fmtname fmtversion texengine texenginename texengineversion \ -luatexengine pdftexengine xetexengine unknownengine etexversion \ -pdftexversion xetexversion xetexrevision activecatcode bgroup \ -egroup endline conditionaltrue conditionalfalse attributeunsetvalue \ -uprotationangle rightrotationangle downrotationangle leftrotationangle inicatcodes \ -ctxcatcodes texcatcodes notcatcodes txtcatcodes vrbcatcodes \ -prtcatcodes nilcatcodes luacatcodes tpacatcodes tpbcatcodes \ -xmlcatcodes ctdcatcodes escapecatcode begingroupcatcode endgroupcatcode \ -mathshiftcatcode alignmentcatcode endoflinecatcode parametercatcode superscriptcatcode \ -subscriptcatcode ignorecatcode spacecatcode lettercatcode othercatcode \ -activecatcode commentcatcode invalidcatcode tabasciicode newlineasciicode \ -formfeedasciicode endoflineasciicode endoffileasciicode spaceasciicode hashasciicode \ -dollarasciicode commentasciicode ampersandasciicode colonasciicode backslashasciicode \ -circumflexasciicode underscoreasciicode leftbraceasciicode barasciicode rightbraceasciicode \ -tildeasciicode delasciicode lessthanasciicode morethanasciicode doublecommentsignal \ -atsignasciicode exclamationmarkasciicode questionmarkasciicode doublequoteasciicode singlequoteasciicode \ -forwardslashasciicode primeasciicode activemathcharcode activetabtoken activeformfeedtoken \ -activeendoflinetoken batchmodecode nonstopmodecode scrollmodecode errorstopmodecode \ -bottomlevelgroupcode simplegroupcode hboxgroupcode adjustedhboxgroupcode vboxgroupcode \ -vtopgroupcode aligngroupcode noaligngroupcode outputgroupcode mathgroupcode \ -discretionarygroupcode insertgroupcode vcentergroupcode mathchoicegroupcode semisimplegroupcode \ -mathshiftgroupcode mathleftgroupcode vadjustgroupcode charnodecode hlistnodecode \ -vlistnodecode rulenodecode insertnodecode marknodecode adjustnodecode \ -ligaturenodecode discretionarynodecode whatsitnodecode mathnodecode gluenodecode \ -kernnodecode penaltynodecode unsetnodecode mathsnodecode charifcode \ -catifcode numifcode dimifcode oddifcode vmodeifcode \ -hmodeifcode mmodeifcode innerifcode voidifcode hboxifcode \ -vboxifcode xifcode eofifcode trueifcode falseifcode \ -caseifcode definedifcode csnameifcode fontcharifcode fontslantperpoint \ -fontinterwordspace fontinterwordstretch fontinterwordshrink fontexheight fontemwidth \ -fontextraspace slantperpoint interwordspace interwordstretch interwordshrink \ -exheight emwidth extraspace mathsupdisplay mathsupnormal \ -mathsupcramped mathsubnormal mathsubcombined mathaxisheight startmode \ -stopmode startnotmode stopnotmode startmodeset stopmodeset \ -doifmode doifmodeelse doifnotmode startmodeset stopmodeset \ +maxcard maxcardminusone zeropoint onepoint halfapoint \ +onebasepoint maxdimen scaledpoint thousandpoint points \ +halfpoint zeroskip zeromuskip onemuskip pluscxxvii \ +pluscxxviii pluscclv pluscclvi normalpagebox endoflinetoken \ +outputnewlinechar emptytoks empty undefined voidbox \ +emptybox emptyvbox emptyhbox bigskipamount medskipamount \ +smallskipamount fmtname fmtversion texengine texenginename \ +texengineversion luatexengine pdftexengine xetexengine unknownengine \ +activecatcode bgroup egroup endline conditionaltrue \ +conditionalfalse attributeunsetvalue uprotationangle rightrotationangle downrotationangle \ +leftrotationangle inicatcodes ctxcatcodes texcatcodes notcatcodes \ +txtcatcodes vrbcatcodes prtcatcodes nilcatcodes luacatcodes \ +tpacatcodes tpbcatcodes xmlcatcodes ctdcatcodes escapecatcode \ +begingroupcatcode endgroupcatcode mathshiftcatcode alignmentcatcode endoflinecatcode \ +parametercatcode superscriptcatcode subscriptcatcode ignorecatcode spacecatcode \ +lettercatcode othercatcode activecatcode commentcatcode invalidcatcode \ +tabasciicode newlineasciicode formfeedasciicode endoflineasciicode endoffileasciicode \ +spaceasciicode hashasciicode dollarasciicode commentasciicode ampersandasciicode \ +colonasciicode backslashasciicode circumflexasciicode underscoreasciicode leftbraceasciicode \ +barasciicode rightbraceasciicode tildeasciicode delasciicode lessthanasciicode \ +morethanasciicode doublecommentsignal atsignasciicode exclamationmarkasciicode questionmarkasciicode \ +doublequoteasciicode singlequoteasciicode forwardslashasciicode primeasciicode hyphenasciicode \ +activemathcharcode activetabtoken activeformfeedtoken activeendoflinetoken batchmodecode \ +nonstopmodecode scrollmodecode errorstopmodecode bottomlevelgroupcode simplegroupcode \ +hboxgroupcode adjustedhboxgroupcode vboxgroupcode vtopgroupcode aligngroupcode \ +noaligngroupcode outputgroupcode mathgroupcode discretionarygroupcode insertgroupcode \ +vcentergroupcode mathchoicegroupcode semisimplegroupcode mathshiftgroupcode mathleftgroupcode \ +vadjustgroupcode charnodecode hlistnodecode vlistnodecode rulenodecode \ +insertnodecode marknodecode adjustnodecode ligaturenodecode discretionarynodecode \ +whatsitnodecode mathnodecode gluenodecode kernnodecode penaltynodecode \ +unsetnodecode mathsnodecode charifcode catifcode numifcode \ +dimifcode oddifcode vmodeifcode hmodeifcode mmodeifcode \ +innerifcode voidifcode hboxifcode vboxifcode xifcode \ +eofifcode trueifcode falseifcode caseifcode definedifcode \ +csnameifcode fontcharifcode fontslantperpoint fontinterwordspace fontinterwordstretch \ +fontinterwordshrink fontexheight fontemwidth fontextraspace slantperpoint \ +interwordspace interwordstretch interwordshrink exheight emwidth \ +extraspace mathsupdisplay mathsupnormal mathsupcramped mathsubnormal \ +mathsubcombined mathaxisheight muquad startmode stopmode \ +startnotmode stopnotmode startmodeset stopmodeset doifmode \ +doifelsemode doifmodeelse doifnotmode startmodeset stopmodeset \ startallmodes stopallmodes startnotallmodes stopnotallmodes doifallmodes \ -doifallmodeselse doifnotallmodes startenvironment stopenvironment environment \ -startcomponent stopcomponent component startproduct stopproduct \ -product startproject stopproject project starttext \ -stoptext startnotext stopnotext startdocument stopdocument \ -documentvariable setupdocument startmodule stopmodule usemodule \ -usetexmodule useluamodule setupmodule currentmoduleparameter moduleparameter \ -everystarttext startTEXpage stopTEXpage enablemode disablemode \ -preventmode globalenablemode globaldisablemode globalpreventmode pushmode \ -popmode typescriptone typescripttwo typescriptthree mathsizesuffix \ -mathordcode mathopcode mathbincode mathrelcode mathopencode \ -mathclosecode mathpunctcode mathalphacode mathinnercode mathnothingcode \ -mathlimopcode mathnolopcode mathboxcode mathchoicecode mathaccentcode \ -mathradicalcode constantnumber constantnumberargument constantdimen constantdimenargument \ -constantemptyargument continueifinputfile luastringsep !!bs !!es \ -lefttorightmark righttoleftmark breakablethinspace nobreakspace narrownobreakspace \ -zerowidthnobreakspace ideographicspace ideographichalffillspace twoperemspace threeperemspace \ -fourperemspace fiveperemspace sixperemspace figurespace punctuationspace \ -hairspace zerowidthspace zerowidthnonjoiner zerowidthjoiner zwnj \ -zwj optionalspace +doifelseallmodes doifallmodeselse doifnotallmodes startenvironment stopenvironment \ +environment startcomponent stopcomponent component startproduct \ +stopproduct product startproject stopproject project \ +starttext stoptext startnotext stopnotext startdocument \ +stopdocument documentvariable setupdocument startmodule stopmodule \ +usemodule usetexmodule useluamodule setupmodule currentmoduleparameter \ +moduleparameter everystarttext startTEXpage stopTEXpage enablemode \ +disablemode preventmode definemode globalenablemode globaldisablemode \ +globalpreventmode pushmode popmode typescriptone typescripttwo \ +typescriptthree mathsizesuffix mathordcode mathopcode mathbincode \ +mathrelcode mathopencode mathclosecode mathpunctcode mathalphacode \ +mathinnercode mathnothingcode mathlimopcode mathnolopcode mathboxcode \ +mathchoicecode mathaccentcode mathradicalcode constantnumber constantnumberargument \ +constantdimen constantdimenargument constantemptyargument continueifinputfile luastringsep \ +!!bs !!es lefttorightmark righttoleftmark breakablethinspace \ +nobreakspace nonbreakablespace narrownobreakspace zerowidthnobreakspace ideographicspace \ +ideographichalffillspace twoperemspace threeperemspace fourperemspace fiveperemspace \ +sixperemspace figurespace punctuationspace hairspace zerowidthspace \ +zerowidthnonjoiner zerowidthjoiner zwnj zwj optionalspace \ +asciispacechar keywordclass.context.helpers=\ startsetups stopsetups startxmlsetups stopxmlsetups \ startluasetups stopluasetups starttexsetups stoptexsetups startrawsetups \ stoprawsetups startlocalsetups stoplocalsetups starttexdefinition stoptexdefinition \ starttexcode stoptexcode startcontextcode stopcontextcode startcontextdefinitioncode \ -stopcontextdefinitioncode doifsetupselse doifsetups doifnotsetups setup \ -setups texsetup xmlsetup luasetup directsetup \ -doifelsecommandhandler doifnotcommandhandler doifcommandhandler newmode setmode \ -resetmode newsystemmode setsystemmode resetsystemmode pushsystemmode \ -popsystemmode booleanmodevalue newcount newdimen newskip \ -newmuskip newbox newtoks newread newwrite \ -newmarks newinsert newattribute newif newlanguage \ -newfamily newfam newhelp then begcsname \ -strippedcsname firstargumentfalse firstargumenttrue secondargumentfalse secondargumenttrue \ +stopcontextdefinitioncode texdefinition doifelsesetups doifsetupselse doifsetups \ +doifnotsetups setup setups texsetup xmlsetup \ +luasetup directsetup fastsetup doifelsecommandhandler doifcommandhandlerelse \ +doifnotcommandhandler doifcommandhandler newmode setmode resetmode \ +newsystemmode setsystemmode resetsystemmode pushsystemmode popsystemmode \ +booleanmodevalue newcount newdimen newskip newmuskip \ +newbox newtoks newread newwrite newmarks \ +newinsert newattribute newif newlanguage newfamily \ +newfam newhelp then begcsname strippedcsname \ +checkedstrippedcsname firstargumentfalse firstargumenttrue secondargumentfalse secondargumenttrue \ thirdargumentfalse thirdargumenttrue fourthargumentfalse fourthargumenttrue fifthargumentfalse \ fifthsargumenttrue sixthargumentfalse sixtsargumenttrue doglobal dodoglobal \ redoglobal resetglobal donothing dontcomplain forgetall \ -donetrue donefalse htdp unvoidbox hfilll \ -vfilll mathbox mathlimop mathnolop mathnothing \ -mathalpha currentcatcodetable defaultcatcodetable catcodetablename newcatcodetable \ -startcatcodetable stopcatcodetable startextendcatcodetable stopextendcatcodetable pushcatcodetable \ -popcatcodetable restorecatcodes setcatcodetable letcatcodecommand defcatcodecommand \ -uedcatcodecommand hglue vglue hfillneg vfillneg \ -hfilllneg vfilllneg ruledhss ruledhfil ruledhfill \ -ruledhfilneg ruledhfillneg normalhfillneg ruledvss ruledvfil \ -ruledvfill ruledvfilneg ruledvfillneg normalvfillneg ruledhbox \ -ruledvbox ruledvtop ruledvcenter ruledmbox ruledhskip \ -ruledvskip ruledkern ruledmskip ruledmkern ruledhglue \ -ruledvglue normalhglue normalvglue ruledpenalty filledhboxb \ -filledhboxr filledhboxg filledhboxc filledhboxm filledhboxy \ -filledhboxk scratchcounter globalscratchcounter scratchdimen globalscratchdimen \ -scratchskip globalscratchskip scratchmuskip globalscratchmuskip scratchtoks \ -globalscratchtoks scratchbox globalscratchbox normalbaselineskip normallineskip \ -normallineskiplimit availablehsize localhsize setlocalhsize nextbox \ -dowithnextbox dowithnextboxcs dowithnextboxcontent dowithnextboxcontentcs scratchwidth \ -scratchheight scratchdepth scratchoffset scratchdistance scratchhsize \ -scratchvsize scratchxoffset scratchyoffset scratchhoffset scratchvoffset \ -scratchxposition scratchyposition scratchtopoffset scratchbottomoffset scratchleftoffset \ -scratchrightoffset scratchcounterone scratchcountertwo scratchcounterthree scratchdimenone \ -scratchdimentwo scratchdimenthree scratchskipone scratchskiptwo scratchskipthree \ -scratchmuskipone scratchmuskiptwo scratchmuskipthree scratchtoksone scratchtokstwo \ -scratchtoksthree scratchboxone scratchboxtwo scratchboxthree scratchnx \ -scratchny scratchmx scratchmy scratchunicode scratchleftskip \ -scratchrightskip scratchtopskip scratchbottomskip doif doifnot \ -doifelse doifinset doifnotinset doifinsetelse doifnextcharelse \ -doifnextoptionalelse doifnextoptionalcselse doiffastoptionalcheckelse doifnextbgroupelse doifnextbgroupcselse \ -doifnextparenthesiselse doifundefinedelse doifdefinedelse doifundefined doifdefined \ -doifelsevalue doifvalue doifnotvalue doifnothing doifsomething \ -doifelsenothing doifsomethingelse doifvaluenothing doifvaluesomething doifelsevaluenothing \ -doifdimensionelse doifnumberelse doifnumber doifnotnumber doifcommonelse \ -doifcommon doifnotcommon doifinstring doifnotinstring doifinstringelse \ -doifassignmentelse docheckassignment tracingall tracingnone loggingall \ -removetoks appendtoks prependtoks appendtotoks prependtotoks \ -to endgraf endpar everyendpar reseteverypar \ -finishpar empty null space quad \ -enspace obeyspaces obeylines obeyedspace obeyedline \ -normalspace executeifdefined singleexpandafter doubleexpandafter tripleexpandafter \ -dontleavehmode removelastspace removeunwantedspaces keepunwantedspaces wait \ -writestatus define defineexpandable redefine setmeasure \ -setemeasure setgmeasure setxmeasure definemeasure freezemeasure \ -measure measured installcorenamespace getvalue getuvalue \ -setvalue setevalue setgvalue setxvalue letvalue \ -letgvalue resetvalue undefinevalue ignorevalue setuvalue \ -setuevalue setugvalue setuxvalue globallet glet \ -udef ugdef uedef uxdef checked \ -unique getparameters geteparameters getgparameters getxparameters \ -forgetparameters copyparameters getdummyparameters dummyparameter directdummyparameter \ -setdummyparameter letdummyparameter usedummystyleandcolor usedummystyleparameter usedummycolorparameter \ -processcommalist processcommacommand quitcommalist quitprevcommalist processaction \ -processallactions processfirstactioninset processallactionsinset unexpanded expanded \ -startexpanded stopexpanded protected protect unprotect \ -firstofoneargument firstoftwoarguments secondoftwoarguments firstofthreearguments secondofthreearguments \ -thirdofthreearguments firstoffourarguments secondoffourarguments thirdoffourarguments fourthoffourarguments \ -firstoffivearguments secondoffivearguments thirdoffivearguments fourthoffivearguments fifthoffivearguments \ -firstofsixarguments secondofsixarguments thirdofsixarguments fourthofsixarguments fifthofsixarguments \ -sixthofsixarguments firstofoneunexpanded gobbleoneargument gobbletwoarguments gobblethreearguments \ -gobblefourarguments gobblefivearguments gobblesixarguments gobblesevenarguments gobbleeightarguments \ -gobbleninearguments gobbletenarguments gobbleoneoptional gobbletwooptionals gobblethreeoptionals \ -gobblefouroptionals gobblefiveoptionals dorecurse doloop exitloop \ -dostepwiserecurse recurselevel recursedepth dofastloopcs dowith \ -newconstant setnewconstant setconstant setconstantvalue newconditional \ -settrue setfalse settruevalue setfalsevalue newmacro \ -setnewmacro newfraction newsignal dosingleempty dodoubleempty \ -dotripleempty doquadrupleempty doquintupleempty dosixtupleempty doseventupleempty \ -dosingleargument dodoubleargument dotripleargument doquadrupleargument doquintupleargument \ -dosixtupleargument doseventupleargument dosinglegroupempty dodoublegroupempty dotriplegroupempty \ -doquadruplegroupempty doquintuplegroupempty permitspacesbetweengroups dontpermitspacesbetweengroups nopdfcompression \ -maximumpdfcompression normalpdfcompression modulonumber dividenumber getfirstcharacter \ +donetrue donefalse inlineordisplaymath indisplaymath forcedisplaymath \ +startforceddisplaymath stopforceddisplaymath reqno htdp unvoidbox \ +hfilll vfilll mathbox mathlimop mathnolop \ +mathnothing mathalpha currentcatcodetable defaultcatcodetable catcodetablename \ +newcatcodetable startcatcodetable stopcatcodetable startextendcatcodetable stopextendcatcodetable \ +pushcatcodetable popcatcodetable restorecatcodes setcatcodetable letcatcodecommand \ +defcatcodecommand uedcatcodecommand hglue vglue hfillneg \ +vfillneg hfilllneg vfilllneg ruledhss ruledhfil \ +ruledhfill ruledhfilneg ruledhfillneg normalhfillneg ruledvss \ +ruledvfil ruledvfill ruledvfilneg ruledvfillneg normalvfillneg \ +ruledhbox ruledvbox ruledvtop ruledvcenter ruledmbox \ +ruledhskip ruledvskip ruledkern ruledmskip ruledmkern \ +ruledhglue ruledvglue normalhglue normalvglue ruledpenalty \ +filledhboxb filledhboxr filledhboxg filledhboxc filledhboxm \ +filledhboxy filledhboxk scratchcounter globalscratchcounter scratchdimen \ +globalscratchdimen scratchskip globalscratchskip scratchmuskip globalscratchmuskip \ +scratchtoks globalscratchtoks scratchbox globalscratchbox normalbaselineskip \ +normallineskip normallineskiplimit availablehsize localhsize setlocalhsize \ +distributedhsize hsizefraction nextbox dowithnextbox dowithnextboxcs \ +dowithnextboxcontent dowithnextboxcontentcs scratchwidth scratchheight scratchdepth \ +scratchoffset scratchdistance scratchhsize scratchvsize scratchxoffset \ +scratchyoffset scratchhoffset scratchvoffset scratchxposition scratchyposition \ +scratchtopoffset scratchbottomoffset scratchleftoffset scratchrightoffset scratchcounterone \ +scratchcountertwo scratchcounterthree scratchdimenone scratchdimentwo scratchdimenthree \ +scratchskipone scratchskiptwo scratchskipthree scratchmuskipone scratchmuskiptwo \ +scratchmuskipthree scratchtoksone scratchtokstwo scratchtoksthree scratchboxone \ +scratchboxtwo scratchboxthree scratchnx scratchny scratchmx \ +scratchmy scratchunicode scratchleftskip scratchrightskip scratchtopskip \ +scratchbottomskip doif doifnot doifelse doifinset \ +doifnotinset doifelseinset doifinsetelse doifelsenextchar doifnextcharelse \ +doifelsenextoptional doifnextoptionalelse doifelsenextoptionalcs doifnextoptionalcselse doifelsefastoptionalcheck \ +doiffastoptionalcheckelse doifelsenextbgroup doifnextbgroupelse doifelsenextbgroupcs doifnextbgroupcselse \ +doifelsenextparenthesis doifnextparenthesiselse doifelseundefined doifundefinedelse doifelsedefined \ +doifdefinedelse doifundefined doifdefined doifelsevalue doifvalue \ +doifnotvalue doifnothing doifsomething doifelsenothing doifnothingelse \ +doifelsesomething doifsomethingelse doifvaluenothing doifvaluesomething doifelsevaluenothing \ +doifvaluenothingelse doifelsedimension doifdimensionelse doifelsenumber doifnumberelse \ +doifnumber doifnotnumber doifelsecommon doifcommonelse doifcommon \ +doifnotcommon doifinstring doifnotinstring doifelseinstring doifinstringelse \ +doifelseassignment doifassignmentelse docheckassignment tracingall tracingnone \ +loggingall removetoks appendtoks prependtoks appendtotoks \ +prependtotoks to endgraf endpar everyendpar \ +reseteverypar finishpar empty null space \ +quad enspace nbsp obeyspaces obeylines \ +obeyedspace obeyedline obeyedtab obeyedpage normalspace \ +executeifdefined singleexpandafter doubleexpandafter tripleexpandafter dontleavehmode \ +removelastspace removeunwantedspaces keepunwantedspaces wait writestatus \ +define defineexpandable redefine setmeasure setemeasure \ +setgmeasure setxmeasure definemeasure freezemeasure measure \ +measured installcorenamespace getvalue getuvalue setvalue \ +setevalue setgvalue setxvalue letvalue letgvalue \ +resetvalue undefinevalue ignorevalue setuvalue setuevalue \ +setugvalue setuxvalue globallet glet udef \ +ugdef uedef uxdef checked unique \ +getparameters geteparameters getgparameters getxparameters forgetparameters \ +copyparameters getdummyparameters dummyparameter directdummyparameter setdummyparameter \ +letdummyparameter usedummystyleandcolor usedummystyleparameter usedummycolorparameter processcommalist \ +processcommacommand quitcommalist quitprevcommalist processaction processallactions \ +processfirstactioninset processallactionsinset unexpanded expanded startexpanded \ +stopexpanded protected protect unprotect firstofoneargument \ +firstoftwoarguments secondoftwoarguments firstofthreearguments secondofthreearguments thirdofthreearguments \ +firstoffourarguments secondoffourarguments thirdoffourarguments fourthoffourarguments firstoffivearguments \ +secondoffivearguments thirdoffivearguments fourthoffivearguments fifthoffivearguments firstofsixarguments \ +secondofsixarguments thirdofsixarguments fourthofsixarguments fifthofsixarguments sixthofsixarguments \ +firstofoneunexpanded firstoftwounexpanded secondoftwounexpanded firstofthreeunexpanded secondofthreeunexpanded \ +thirdofthreeunexpanded gobbleoneargument gobbletwoarguments gobblethreearguments gobblefourarguments \ +gobblefivearguments gobblesixarguments gobblesevenarguments gobbleeightarguments gobbleninearguments \ +gobbletenarguments gobbleoneoptional gobbletwooptionals gobblethreeoptionals gobblefouroptionals \ +gobblefiveoptionals dorecurse doloop exitloop dostepwiserecurse \ +recurselevel recursedepth dofastloopcs dowith newconstant \ +setnewconstant setconstant setconstantvalue newconditional settrue \ +setfalse settruevalue setfalsevalue newmacro setnewmacro \ +newfraction newsignal dosingleempty dodoubleempty dotripleempty \ +doquadrupleempty doquintupleempty dosixtupleempty doseventupleempty dosingleargument \ +dodoubleargument dotripleargument doquadrupleargument doquintupleargument dosixtupleargument \ +doseventupleargument dosinglegroupempty dodoublegroupempty dotriplegroupempty doquadruplegroupempty \ +doquintuplegroupempty permitspacesbetweengroups dontpermitspacesbetweengroups nopdfcompression maximumpdfcompression \ +normalpdfcompression modulonumber dividenumber getfirstcharacter doifelsefirstchar \ doiffirstcharelse startnointerference stopnointerference twodigits threedigits \ leftorright offinterlineskip oninterlineskip nointerlineskip strut \ -setstrut strutbox strutht strutdp strutwd \ -struthtdp begstrut endstrut lineheight ordordspacing \ -ordopspacing ordbinspacing ordrelspacing ordopenspacing ordclosespacing \ -ordpunctspacing ordinnerspacing opordspacing opopspacing opbinspacing \ -oprelspacing opopenspacing opclosespacing oppunctspacing opinnerspacing \ -binordspacing binopspacing binbinspacing binrelspacing binopenspacing \ -binclosespacing binpunctspacing bininnerspacing relordspacing relopspacing \ -relbinspacing relrelspacing relopenspacing relclosespacing relpunctspacing \ -relinnerspacing openordspacing openopspacing openbinspacing openrelspacing \ -openopenspacing openclosespacing openpunctspacing openinnerspacing closeordspacing \ -closeopspacing closebinspacing closerelspacing closeopenspacing closeclosespacing \ -closepunctspacing closeinnerspacing punctordspacing punctopspacing punctbinspacing \ -punctrelspacing punctopenspacing punctclosespacing punctpunctspacing punctinnerspacing \ -innerordspacing inneropspacing innerbinspacing innerrelspacing inneropenspacing \ -innerclosespacing innerpunctspacing innerinnerspacing normalreqno startimath \ -stopimath normalstartimath normalstopimath startdmath stopdmath \ -normalstartdmath normalstopdmath uncramped cramped triggermathstyle \ -mathstylefont mathsmallstylefont mathstyleface mathsmallstyleface mathstylecommand \ -mathpalette mathstylehbox mathstylevbox mathstylevcenter mathstylevcenteredhbox \ -mathstylevcenteredvbox mathtext setmathsmalltextbox setmathtextbox triggerdisplaystyle \ +halfstrut quarterstrut depthstrut setstrut strutbox \ +strutht strutdp strutwd struthtdp begstrut \ +endstrut lineheight ordordspacing ordopspacing ordbinspacing \ +ordrelspacing ordopenspacing ordclosespacing ordpunctspacing ordinnerspacing \ +opordspacing opopspacing opbinspacing oprelspacing opopenspacing \ +opclosespacing oppunctspacing opinnerspacing binordspacing binopspacing \ +binbinspacing binrelspacing binopenspacing binclosespacing binpunctspacing \ +bininnerspacing relordspacing relopspacing relbinspacing relrelspacing \ +relopenspacing relclosespacing relpunctspacing relinnerspacing openordspacing \ +openopspacing openbinspacing openrelspacing openopenspacing openclosespacing \ +openpunctspacing openinnerspacing closeordspacing closeopspacing closebinspacing \ +closerelspacing closeopenspacing closeclosespacing closepunctspacing closeinnerspacing \ +punctordspacing punctopspacing punctbinspacing punctrelspacing punctopenspacing \ +punctclosespacing punctpunctspacing punctinnerspacing innerordspacing inneropspacing \ +innerbinspacing innerrelspacing inneropenspacing innerclosespacing innerpunctspacing \ +innerinnerspacing normalreqno startimath stopimath normalstartimath \ +normalstopimath startdmath stopdmath normalstartdmath normalstopdmath \ +uncramped cramped triggermathstyle mathstylefont mathsmallstylefont \ +mathstyleface mathsmallstyleface mathstylecommand mathpalette mathstylehbox \ +mathstylevbox mathstylevcenter mathstylevcenteredhbox mathstylevcenteredvbox mathtext \ +setmathsmalltextbox setmathtextbox pushmathstyle popmathstyle triggerdisplaystyle \ triggertextstyle triggerscriptstyle triggerscriptscriptstyle triggeruncrampedstyle triggercrampedstyle \ triggersmallstyle triggeruncrampedsmallstyle triggercrampedsmallstyle triggerbigstyle triggeruncrampedbigstyle \ -triggercrampedbigstyle luaexpr expdoifelse expdoif expdoifnot \ -expdoifcommonelse expdoifinsetelse ctxdirectlua ctxlatelua ctxsprint \ -ctxwrite ctxcommand ctxdirectcommand ctxlatecommand ctxreport \ -ctxlua luacode lateluacode directluacode registerctxluafile \ -ctxloadluafile luaversion luamajorversion luaminorversion ctxluacode \ -luaconditional luaexpanded startluaparameterset stopluaparameterset luaparameterset \ -definenamedlua obeylualines obeyluatokens startluacode stopluacode \ -startlua stoplua startctxfunction stopctxfunction ctxfunction \ -startctxfunctiondefinition stopctxfunctiondefinition carryoverpar assumelongusagecs Umathbotaccent \ -righttolefthbox lefttorighthbox righttoleftvbox lefttorightvbox righttoleftvtop \ -lefttorightvtop rtlhbox ltrhbox rtlvbox ltrvbox \ -rtlvtop ltrvtop autodirhbox autodirvbox autodirvtop \ -lefttoright righttoleft synchronizelayoutdirection synchronizedisplaydirection synchronizeinlinedirection \ -lesshyphens morehyphens nohyphens dohyphens Ucheckedstartdisplaymath \ -Ucheckedstopdisplaymath +triggercrampedbigstyle luaexpr expelsedoif expdoif expdoifnot \ +expdoifelsecommon expdoifcommonelse expdoifelseinset expdoifinsetelse ctxdirectlua \ +ctxlatelua ctxsprint ctxwrite ctxcommand ctxdirectcommand \ +ctxlatecommand ctxreport ctxlua luacode lateluacode \ +directluacode registerctxluafile ctxloadluafile luaversion luamajorversion \ +luaminorversion ctxluacode luaconditional luaexpanded startluaparameterset \ +stopluaparameterset luaparameterset definenamedlua obeylualines obeyluatokens \ +startluacode stopluacode startlua stoplua startctxfunction \ +stopctxfunction ctxfunction startctxfunctiondefinition stopctxfunctiondefinition installctxfunction \ +carryoverpar assumelongusagecs Umathbotaccent righttolefthbox lefttorighthbox \ +righttoleftvbox lefttorightvbox righttoleftvtop lefttorightvtop rtlhbox \ +ltrhbox rtlvbox ltrvbox rtlvtop ltrvtop \ +autodirhbox autodirvbox autodirvtop lefttoright righttoleft \ +synchronizelayoutdirection synchronizedisplaydirection synchronizeinlinedirection lesshyphens morehyphens \ +nohyphens dohyphens Ucheckedstartdisplaymath Ucheckedstopdisplaymath nobreak \ +allowbreak goodbreak diff --git a/Master/texmf-dist/context/data/scite/context/scite-context-data-interfaces.properties b/Master/texmf-dist/context/data/scite/context/scite-context-data-interfaces.properties index 9c2ca4623fc..2da33d45ae6 100644 --- a/Master/texmf-dist/context/data/scite/context/scite-context-data-interfaces.properties +++ b/Master/texmf-dist/context/data/scite/context/scite-context-data-interfaces.properties @@ -44,119 +44,118 @@ napravo napravyokraj nastavbarvu nastavbarvy nastavbilamista \ nastavblok nastavbloksekce nastavbuffer nastavcernelinky nastavcislonadpisu \ nastavcislostrany nastavcislovani nastavcislovaniodstavcu nastavcislovaniradku nastavcislovanistran \ nastavcitaci nastavdefinicipoznamekpodcarou nastavdeleniplvoucichobjektu nastavdelitko nastavdolnitexty \ -nastaveni nastavexterniobrazy nastavhorejsek nastavhornitexty nastavinterakci \ -nastavinterakcnilistu nastavinterakcnimenu nastavinterakcniobrazovku nastavjazyk nastavkapitalky \ -nastavkombinovanyseznam nastavkomentar nastavkomentarstrany nastavlegendu nastavmarginalie \ -nastavmarginalniblok nastavmarginalnilinky nastavmeziradkovoumezeru nastavnadpis nastavnadpisy \ -nastavodkazovani nastavodsazovani nastavodstavce nastavopis nastavoramovanetexty \ -nastavoramovani nastavorez nastavotoceni nastavpaletu nastavplvouciobjekt \ -nastavplvouciobjekty nastavpodcislostrany nastavpodtrzeni nastavpole nastavpolozky \ -nastavpopisek nastavpopisky nastavpopisy nastavpozadi nastavpoznamkypodcarou \ -nastavprechodstrany nastavpreskok nastavprofily nastavprogramy nastavprostredizakladnihofontu \ -nastavpublikace nastavradkovani nastavradky nastavrastr nastavrejstrik \ -nastavrovnice nastavsadusymbolu nastavsekci nastavseznam nastavseznamodkazu \ -nastavsirkucary nastavsloupce nastavspodek nastavspojeni nastavsynchronizaci \ -nastavsynchronizacnilistu nastavsynonyma nastavsystem nastavtab nastavtabelaci \ -nastavtabulky nastavtenkelinky nastavtext nastavtexthlavicky nastavtextovelinky \ -nastavtextpopisku nastavtexttexty nastavtextyupati nastavtextyzahlavi nastavtlacitka \ -nastavtoleranci nastavtrideni nastavtype nastavumisteniprotejsku nastavumistovani \ -nastavupati nastavupravu nastavurl nastavusporadani nastavvelikostpapiru \ -nastavverze nastavvsechnapole nastavvycty nastavvyplnovelinky nastavvyplnoveradky \ -nastavvystup nastavvzhled nastavzahlavi nastavzakladnifont nastavzarovnani \ -nastavznaceni nastavzuzeni nastrane navigating nejakyradek \ -nekde nextsection neznamo nivy nizky \ -nocap nokap nop numberofsubpages obrazovka \ -odkaz odkaznadatum odkaznastranu odkaznatext odkazujici \ -odsazenishora odsazenizleva odsazovani okr opakovat \ -opis opissoubor oramovani oref orez \ -otocit outeredgedistance outeredgewidth outermargindistance outermarginwidth \ -overbar overbars overstrike overstrikes oznaceni \ -oznacverzi pagedepth pageoffset paragraph parovastrana \ -part pis placefloat placeheadnumber placeheadtext \ -placelistoffloats placelistofsorts placelistofsynonyms placepagenumber placerawlist \ -placereferencelist placerule placetextvariable plnezneni pol \ -pole polozka polozky popisky poppisek \ -porovnejpaletu porovnejskupinubarev positiontext pozadi pozice \ -poznamka poznamkapodcarou pref prelozit premistinamrizku \ -prepninazakladnifont preskoc prizpusobivepole prizpusobvzhled produkt \ -program projekt propojeneznaceni propojenydokument propojenyrejstrik \ -prostredi publikace ran ref register \ -reservefloat reset resetnumber resettextcontent resetznaceni \ -rimskecislice rozdelplvouciobjekt rozmer rozpojeneznaceni roztazene \ -schovejbloky section sedabarva seeregister setnumber \ -settextcontent settextvariable setupanswerarea setupcolumnset setupcolumnsetlines \ -setupcolumnsetstart setupfonthandling setupfontsynonym setupforms setupindentedtext \ -setupinterlinespace2 setupitemgroup setuplistalternative setupmathalignment setupnumber \ -setuppaper setupplacement setuprule setupstartstop setupstrut \ -setuptextposition setuptextvariable sirkalevehookraje sirkalevemarginalie sirkamarginalie \ -sirkaokraje sirkapapiru sirkapravehookraje sirkapravemarginalie sirkasazby \ -sirkaseznamu sirkatextu sirkatiskpapiru sloupec slovovpravo \ -sort spodek stanovcharakteristickuseznamu stanovcislonadpisu startalignment \ -startbarva startbuffer startcislovaniradku startcitace startcolumnmakeup \ -startcolumns startcolumnset startcombination startcomment startdescription \ -startdocument startdokument startenumeration startfakt startfigure \ -startfloattext startformula startframedtext startglobalni starthiding \ -startinteraktivnimenu startitemgroup startkodovani startkomponenta startkorekceradku \ -startlegend startline startlinecorrection startlinenumbering startlines \ -startlocal startlocalenvironment startlocalfootnotes startlokalni startlokalnipoznamkypodcarou \ -startmakeup startmarginalniblok startmarginalnilinka startmarginblock startnamemakeup \ -startnarrower startnezhustene startobraz startopposite startoverlay \ -startoverview startparagraph startpositioning startpostponing startpozadi \ -startprehled startprekryv startprodukt startprofil startprofile \ -startprojekt startprostredi startprotejsek startradek startradky \ -startrastr startregister startsadasymbolu startsloupce startspojeni \ -startsymbolset startsynchronizace startsynchronization starttable starttables \ -starttabulate starttabulka starttabulky starttext starttextovalinka \ -starttyping startumistovani startunpacked startuprava startverze \ -startzarovnavani startzhustene startzuzeni stopalignment stopbarva \ -stopbuffer stopcislovaniradku stopcitace stopcolumnmakeup stopcolumns \ -stopcolumnset stopcombination stopcomment stopdescription stopdocument \ -stopdokument stopenumeration stopfakt stopfigure stopfloattext \ -stopformula stopframedtext stopglobalni stophiding stopinteraktivnimenu \ -stopitemgroup stopkodovani stopkomponenta stopkorekceradku stoplegend \ -stopline stoplinecorrection stoplinenumbering stoplines stoplocal \ -stoplocalenvironment stoplocalfootnotes stoplokalni stoplokalnipoznamkypodcarou stopmakeup \ -stopmarginalniblok stopmarginalnilinka stopmarginblock stopnamemakeup stopnarrower \ -stopnezhustene stopopposite stopoverlay stopoverview stopparagraph \ -stoppositioning stoppostponing stoppozadi stopprehled stopprekryv \ -stopprodukt stopprofil stopprofile stopprojekt stopprostredi \ -stopprotejsek stopradek stopradky stoprastr stopsloupce \ -stopspojeni stopsymbolset stopsynchronizace stopsynchronization stoptable \ -stoptables stoptabulate stoptabulka stoptabulky stoptext \ -stoptextovalinka stoptyping stopumistovani stopunpacked stopuprava \ -stopverze stopzarovnavani stopzhustene stopzuzeni strana \ -sub subject subpagenumber subsection subsubject \ -subsubsection subsubsubject switchtorawfont sym symbol \ -synchronizacnilista synchronizovat synonym tab tecky \ -tenkalinka tenkelinky testcolumn testpage tex \ -texthlavicky textovalinka textpopisku textvariable title \ -tlacitko tlacitkomenu tloustkacary tref tvrdamezera \ -tvrdemezery txt typebuffer ukazbarvu ukazexterniobrazy \ -ukazmrizku ukaznastaveni ukazpaletu ukazpodpery ukazpole \ -ukazpostredizakladnihofontu ukazramecek ukazsadusymbolu ukazskupinubarev ukazupravu \ -ukazvytisk ukazvzhled ukazzakladnifont umistikombinovanyseznam umistilegendu \ -umistiloga umistilokalnipoznamkypodcarou umistinadsebe umistinamrizku umistipodrovnici \ -umistipoznamkypodcarou umistirejstrik umistirovnici umistiseznam umistivedlesebe \ -umistizalozky underbar underbars urcicharakteristikurejstriku useXMLfilter \ -usedirectory usetypescript usetypescriptfile uzijJSscripts uzijURL \ -uzijadresar uzijbloky uzijexternidokument uzijexterniobraz uzijexternisoubor \ -uzijexternisoubory uzijexternizvuk uzijkodovani uzijmodul uzijmoduly \ -uzijodkazy uzijprikazy uzijspeciality uzijsymbol uzijurl \ -verze vl vlasovalinka vlevo vpravo \ -vradku vsedniden vyberbloky vyberpapir vyberverzi \ -vyplnenytext vyplnovelinky vyplnovepole vyplnovyradek vyskahorejsku \ -vyskapapiru vyskasazby vyskaseznamu vyskaspodku vyskatextu \ -vyskatiskpapiru vyskaupati vyskazahlavi vysoky vyznam \ -vzdalenosthorejsku vzdalenostlevehookraje vzdalenostlevemarginalie vzdalenostmarginalie vzdalenostokraje \ -vzdalenostpravehookraje vzdalenostpravemarginalie vzdalenostspodku vzdalenostupati vzdalenostzahlavi \ -zablokujinterakcnimenu zachovejbloky zadnamezera zadnebilemisto zadnedalsibloky \ -zadnedalsisoubory zadnehorniadolniradky zadneodsazovani zadnezahlaviaupati zadneznaceni \ -zadnyrozmer zadnyseznam zadnytest zalozka zapisdorejstriku \ -zapisdoseznamu zapisdoseznamuodkazu zapismeziseznam zaramovani zarovnanonastred \ -zarovnanovlevo zarovnanovpravo zasobnikpoli zaznamovepole zhustene \ -ziskejbuffer ziskejznaceni zlomek znaceni znak \ -znaky zpracujbloky zpracujstranu zrcadlit zref \ -zvysujicicislo +nastavexterniobrazy nastavhorejsek nastavhornitexty nastavinterakci nastavinterakcnilistu \ +nastavinterakcnimenu nastavinterakcniobrazovku nastavjazyk nastavkapitalky nastavkombinovanyseznam \ +nastavkomentar nastavkomentarstrany nastavlegendu nastavmarginalie nastavmarginalniblok \ +nastavmarginalnilinky nastavmeziradkovoumezeru nastavnadpis nastavnadpisy nastavodkazovani \ +nastavodsazovani nastavodstavce nastavopis nastavoramovanetexty nastavoramovani \ +nastavorez nastavotoceni nastavpaletu nastavplvouciobjekt nastavplvouciobjekty \ +nastavpodcislostrany nastavpodtrzeni nastavpole nastavpolozky nastavpopisek \ +nastavpopisky nastavpopisy nastavpozadi nastavpoznamkypodcarou nastavprechodstrany \ +nastavpreskok nastavprofily nastavprogramy nastavprostredizakladnihofontu nastavpublikace \ +nastavradkovani nastavradky nastavrastr nastavrejstrik nastavrovnice \ +nastavsadusymbolu nastavsekci nastavseznam nastavseznamodkazu nastavsirkucary \ +nastavsloupce nastavspodek nastavspojeni nastavsynchronizaci nastavsynchronizacnilistu \ +nastavsynonyma nastavsystem nastavtab nastavtabelaci nastavtabulky \ +nastavtenkelinky nastavtext nastavtexthlavicky nastavtextovelinky nastavtextpopisku \ +nastavtexttexty nastavtextyupati nastavtextyzahlavi nastavtlacitka nastavtoleranci \ +nastavtrideni nastavtype nastavumisteniprotejsku nastavumistovani nastavupati \ +nastavupravu nastavurl nastavusporadani nastavvelikostpapiru nastavverze \ +nastavvsechnapole nastavvycty nastavvyplnovelinky nastavvyplnoveradky nastavvystup \ +nastavvzhled nastavzahlavi nastavzakladnifont nastavzarovnani nastavznaceni \ +nastavzuzeni nastrane navigating nejakyradek nekde \ +nextsection neznamo nivy nizky nocap \ +nokap nop numberofsubpages obrazovka odkaz \ +odkaznadatum odkaznastranu odkaznatext odkazujici odsazenishora \ +odsazenizleva odsazovani okr opakovat opis \ +opissoubor oramovani oref orez otocit \ +outeredgedistance outeredgewidth outermargindistance outermarginwidth overbar \ +overbars overstrike overstrikes oznaceni oznacverzi \ +pagedepth pageoffset paragraph parovastrana part \ +pis placefloat placeheadnumber placeheadtext placelistoffloats \ +placelistofsorts placelistofsynonyms placepagenumber placerawlist placereferencelist \ +placerule placetextvariable plnezneni pol pole \ +polozka polozky popisky poppisek porovnejpaletu \ +porovnejskupinubarev positiontext pozadi pozice poznamka \ +poznamkapodcarou pref prelozit premistinamrizku prepninazakladnifont \ +preskoc prizpusobivepole prizpusobvzhled produkt program \ +projekt propojeneznaceni propojenydokument propojenyrejstrik prostredi \ +publikace ran ref register reservefloat \ +reset resetnumber resettextcontent resetznaceni rimskecislice \ +rozdelplvouciobjekt rozmer rozpojeneznaceni roztazene schovejbloky \ +section sedabarva seeregister setnumber settextcontent \ +settextvariable setupanswerarea setupcolumnset setupcolumnsetlines setupcolumnsetstart \ +setupfonthandling setupfontsynonym setupforms setupindentedtext setupinterlinespace2 \ +setupitemgroup setuplistalternative setupmathalignment setupnumber setuppaper \ +setupplacement setuprule setupstartstop setupstrut setuptextposition \ +setuptextvariable sirkalevehookraje sirkalevemarginalie sirkamarginalie sirkaokraje \ +sirkapapiru sirkapravehookraje sirkapravemarginalie sirkasazby sirkaseznamu \ +sirkatextu sirkatiskpapiru sloupec slovovpravo sort \ +spodek stanovcharakteristickuseznamu stanovcislonadpisu startalignment startbarva \ +startbuffer startcislovaniradku startcitace startcolumnmakeup startcolumns \ +startcolumnset startcombination startcomment startdescription startdocument \ +startdokument startenumeration startfakt startfigure startfloattext \ +startformula startframedtext startglobalni starthiding startinteraktivnimenu \ +startitemgroup startkodovani startkomponenta startkorekceradku startlegend \ +startline startlinecorrection startlinenumbering startlines startlocal \ +startlocalenvironment startlocalfootnotes startlokalni startlokalnipoznamkypodcarou startmakeup \ +startmarginalniblok startmarginalnilinka startmarginblock startnamemakeup startnarrower \ +startnezhustene startobraz startopposite startoverlay startoverview \ +startparagraph startpositioning startpostponing startpozadi startprehled \ +startprekryv startprodukt startprofil startprofile startprojekt \ +startprostredi startprotejsek startradek startradky startrastr \ +startregister startsadasymbolu startsloupce startspojeni startsymbolset \ +startsynchronizace startsynchronization starttable starttables starttabulate \ +starttabulka starttabulky starttext starttextovalinka starttyping \ +startumistovani startunpacked startuprava startverze startzarovnavani \ +startzhustene startzuzeni stopalignment stopbarva stopbuffer \ +stopcislovaniradku stopcitace stopcolumnmakeup stopcolumns stopcolumnset \ +stopcombination stopcomment stopdescription stopdocument stopdokument \ +stopenumeration stopfakt stopfigure stopfloattext stopformula \ +stopframedtext stopglobalni stophiding stopinteraktivnimenu stopitemgroup \ +stopkodovani stopkomponenta stopkorekceradku stoplegend stopline \ +stoplinecorrection stoplinenumbering stoplines stoplocal stoplocalenvironment \ +stoplocalfootnotes stoplokalni stoplokalnipoznamkypodcarou stopmakeup stopmarginalniblok \ +stopmarginalnilinka stopmarginblock stopnamemakeup stopnarrower stopnezhustene \ +stopopposite stopoverlay stopoverview stopparagraph stoppositioning \ +stoppostponing stoppozadi stopprehled stopprekryv stopprodukt \ +stopprofil stopprofile stopprojekt stopprostredi stopprotejsek \ +stopradek stopradky stoprastr stopsloupce stopspojeni \ +stopsymbolset stopsynchronizace stopsynchronization stoptable stoptables \ +stoptabulate stoptabulka stoptabulky stoptext stoptextovalinka \ +stoptyping stopumistovani stopunpacked stopuprava stopverze \ +stopzarovnavani stopzhustene stopzuzeni strana sub \ +subject subpagenumber subsection subsubject subsubsection \ +subsubsubject switchtorawfont sym symbol synchronizacnilista \ +synchronizovat synonym tab tecky tenkalinka \ +tenkelinky testcolumn testpage tex texthlavicky \ +textovalinka textpopisku textvariable title tlacitko \ +tlacitkomenu tloustkacary tref tvrdamezera tvrdemezery \ +txt typebuffer ukazbarvu ukazexterniobrazy ukazmrizku \ +ukaznastaveni ukazpaletu ukazpodpery ukazpole ukazpostredizakladnihofontu \ +ukazramecek ukazsadusymbolu ukazskupinubarev ukazupravu ukazvytisk \ +ukazvzhled ukazzakladnifont umistikombinovanyseznam umistilegendu umistiloga \ +umistilokalnipoznamkypodcarou umistinadsebe umistinamrizku umistipodrovnici umistipoznamkypodcarou \ +umistirejstrik umistirovnici umistiseznam umistivedlesebe umistizalozky \ +underbar underbars urcicharakteristikurejstriku useXMLfilter usedirectory \ +usetypescript usetypescriptfile uzijJSscripts uzijURL uzijadresar \ +uzijbloky uzijexternidokument uzijexterniobraz uzijexternisoubor uzijexternisoubory \ +uzijexternizvuk uzijkodovani uzijmodul uzijmoduly uzijodkazy \ +uzijprikazy uzijspeciality uzijsymbol uzijurl verze \ +vl vlasovalinka vlevo vpravo vradku \ +vsedniden vyberbloky vyberpapir vyberverzi vyplnenytext \ +vyplnovelinky vyplnovepole vyplnovyradek vyskahorejsku vyskapapiru \ +vyskasazby vyskaseznamu vyskaspodku vyskatextu vyskatiskpapiru \ +vyskaupati vyskazahlavi vysoky vyznam vzdalenosthorejsku \ +vzdalenostlevehookraje vzdalenostlevemarginalie vzdalenostmarginalie vzdalenostokraje vzdalenostpravehookraje \ +vzdalenostpravemarginalie vzdalenostspodku vzdalenostupati vzdalenostzahlavi zablokujinterakcnimenu \ +zachovejbloky zadnamezera zadnebilemisto zadnedalsibloky zadnedalsisoubory \ +zadnehorniadolniradky zadneodsazovani zadnezahlaviaupati zadneznaceni zadnyrozmer \ +zadnyseznam zadnytest zalozka zapisdorejstriku zapisdoseznamu \ +zapisdoseznamuodkazu zapismeziseznam zaramovani zarovnanonastred zarovnanovlevo \ +zarovnanovpravo zasobnikpoli zaznamovepole zhustene ziskejbuffer \ +ziskejznaceni zlomek znaceni znak znaky \ +zpracujbloky zpracujstranu zrcadlit zref zvysujicicislo keywordclass.context.de=\ Buchstabe Buchstaben CAP Cap \ @@ -190,132 +189,132 @@ definierestartstop definierestil definieresubfeld definieresymbol definieresynon definieretabellenvorlage definieretabulator definieretext definieretippen definiereueberschrift \ definiereumbruch definiereumrahmt definiereumrahmtertext definiereversion definierezeichen \ definierezusammengestellteliste description dimension doppelseite doppelseitigespapier \ -drehen duennelinie duennerumriss einezeile einstellungen \ -einziehen emptylines entknuepfebeschriftung enumeration externeabbildung \ -farbbalken farbe farbewert feld feldstapel \ -festesspatium folgeprofil folgeprofilversion folgeversion footnotetext \ -forceblocks format formelnummer framedtext fussnote \ -fusszeileabstand fusszeilenhoehe gefuelltesrechteck gefuelltezeile geg \ -gesamtseitenanzahl gestreckt getnumber gitter graufarbe \ -grauwert haarlinie hauptsprache headsym heutigesdatum \ -heutigeskopfnummer hintergrund hl hoch hoeheoben \ -hoeheunten holebeschriftung holepuffer imlinken imlinkenrand \ -immaumrise immediatebetweenlist immediatetolist imrechten imrechtenrand \ -imumriss in inaktiviereinteraktionsmenue inanderermarginale indentation \ -ininner inlinkermarginale inmarginalie inneredgedistance inneredgewidth \ -innermargindistance innermarginwidth inouter inrechtermarginale installieresprache \ -interaktionsbalken interaktionsknopfe interaktionsmenue inzeile irgendwo \ -its kap keindimension keinebeschriftung keinebloeckemehr \ -keinedateienmehr keinekopfundfusszeilen keineliste keinspatium keintest \ -keinzeilenobenundunten keinzwischenraum kleinerdurchschuss klonierefeld knopf \ -komponente konvertierezahl kopf kopfniveau kopfnummer \ -kopfweite kopfzeilenabstand kopfzeilenhoehe kopierefeld korrigierezwischenraum \ -label labeling labels labeltext leg \ -liniendicke linkemarginalafstand linkemarginalbreite linksbuendig listenbreite \ -listenhoehe listenlaenge listsymbol loadsorts loadsynonyms \ -mapfontsize mar marginalafstand marginalbreite marginallinie \ -marginaltext marginaltitel marginalwort mathematik maumrise \ -mediaeval menueknopf monat moveformula movesidefloat \ -nachunten name navigating nextsection nichteinziehen \ -nocap nokap nop notiz numberofsubpages \ -nummererhoehen outeredgedistance outeredgewidth outermargindistance outermarginwidth \ -overbar overbars overstrike overstrikes pagedepth \ -pageoffset papierbreite papierhoehe paragraph part \ -passelayoutan passendfeld placefloat placeheadnumber placeheadtext \ -placelistoffloats placelistofsorts placelistofsynonyms placepagenumber placerawlist \ -placereferencelist placerule placetextvariable platzierebookmarks platziereformel \ -platzierefussnoten platzierelegende platziereliste platzierelogo platzierelokalefussnoten \ -platzierenebeneinander platziereregister platziereuntereinander platziereunterformel platzierezusammengestellteliste \ -pos position positiontext posten printpapierbreite \ -printpapierhoehe produkt programm projekt publikation \ -punkt ran randabstand randbreite rechteck \ -rechtecke rechtemarginalafstand rechtemarginalbreite rechtsbuendig ref \ -referenz referieren register registrierefelder reservefloat \ -resetnumber resettextcontent roemischezahlen ruecksetzten ruecksetztenbeschriftung \ -rumpfweite satzbreite satzhoehe schreibezumregister schreibezurliste \ -schreibezurreferenzliste schreibezwischenliste section seeregister seite \ -seitenreferenz seitenummer setnumber settext settextvariable \ -setupanswerarea setupcolumnset setupcolumnsetlines setupcolumnsetstart setupfonthandling \ -setupfontsynonym setupforms setupindentedtext setupinterlinespace2 setupitemgroup \ -setuplistalternative setupmathalignment setupnumber setuppaper setupplacement \ -setuprule setupstartstop setupstrut setuptextposition setuptextvariable \ -showsymbolset sort spalte spatium spiegeln \ -sprache startabbildung startalignment startausrichtung startbuffer \ -startcolumnmakeup startcolumns startcolumnset startcombination startcomment \ -startdescription startdocument startdokument startenger startenumeration \ -startfarbe startfigure startfloattext startformula startframedtext \ -startgeg startgegenueber startglobal startgrosserdurchschuss starthiding \ -starthintergrund startinteraktionsmenue startitemgroup startkleinerdurchschuss startkodierung \ -startkombination startkomponente startlegend startline startlinecorrection \ -startlinenumbering startlines startlocal startlocalenvironment startlocalfootnotes \ -startlokal startlokalefussnoten startmakeup startmarginalblock startmarginallinie \ -startmarginblock startnamemakeup startnarrower startopposite startoverlay \ -startoverview startparagraph startpositionieren startpositioning startpostponing \ -startprodukt startprofil startprofile startprojekt startraster \ -startregister startspalten startsymbolset startsynchronisation startsynchronization \ -starttabelle starttabellen starttable starttables starttabulate \ -starttext starttextlinie starttyping startueberblick startumbruch \ -startumgebung startunpacked startversion startzeile startzeilen \ -startzeilenkorrektur startzeilennumerierung startzitat stelleabsaetzeein stelleabsatznummerierungein \ -stelleabschnittein stelleabschnittsblockein stelleanordnenein stelleaufzaehlungenein stelleausgabeein \ -stelleausrichtungein stelleausschnittein stellebeschreibungein stellebeschriftungein stellebilderunterschriftein \ -stellebildunterschriftein stellebindestrichein stelleblankoein stelleblockein stelledrehenein \ -stelleduennerumrissein stelleeinziehenein stelleengerein stelleexterneabbildungenein stellefarbeein \ -stellefarbenein stellefeldein stellefelderin stellefliesstextein stellefliesstextumgebungein \ -stelleformelnein stellefussnotendefinitionein stellefussnotenein stellefusszeileein stellefusszeilentextein \ -stellegefuelltesrechteckein stellegefuelltezeileein stellegegenueberplatzierenein stellegleitobjekteein stellegleitobjektein \ -stellehintergruendeein stellehintergrundein stelleinmarginalieein stelleinteraktionein stelleinteraktionsbalkenein \ -stelleinteraktionsbildschirmein stelleinteraktionsmenueein stelleknopfein stellekombinationein stellekommentarein \ -stellekopfzahlein stellekopfzeileein stellekopfzeilentextein stellelabeltextein stellelayoutein \ -stellelegendeein stellelinienbreiteein stellelisteein stellemarginalblockein stellemarginallinieein \ -stellenobenein stellenummerierungein stellepaletteein stellepapierformatein stelleplatziegeteiltegleitobjekt \ -stellepositionierenein stellepostenein stelleprofilein stelleprogrammein stellepublikationein \ -stellepufferein stellerasterein stellerechteckein stellereferenzierenein stellereferenzlisteein \ -stelleregisterein stelleseitenkommentarein stelleseitennummerein stelleseitennummeriernungein stelleseitenuebergangein \ -stellesortierenein stellespaltenein stellespatiumein stellespracheein stellesymbolsetein \ -stellesynchronisationein stellesynchronisationsbalkenein stellesynonymein stellesystemein stelletabein \ -stelletabellenein stelletabulatorein stelletextein stelletextobenein stelletexttexteein \ -stelletextumrissein stelletextuntenein stelletipein stelletippenein stelletoleranzein \ -stelleueberschriftein stelleueberschriftenein stelleueberschrifttextein stelleumbruchein stelleumrahmtein \ -stelleumrahmtetexteein stelleuntenein stelleunterseitennummerein stelleunterstreichenein stelleurlein \ -stelleversalienein stelleversionein stellezeilenabstandein stellezeilenein stellezeilennumerierungein \ -stellezitierenein stellezusammengestelltelisteein stellezwischenraumein stopalignment stopausrichtung \ -stopbuffer stopcolumnmakeup stopcolumns stopcolumnset stopcombination \ -stopcomment stopdescription stopdocument stopdokument stopenger \ -stopenumeration stopfarbe stopfigure stopfloattext stopformula \ -stopframedtext stopgeg stopgegenueber stopglobal stopgrosserdurchschuss \ -stophiding stophintergrund stopinteraktionsmenue stopitemgroup stopkleinerdurchschuss \ -stopkodierung stopkombination stopkomponente stoplegend stopline \ -stoplinecorrection stoplinenumbering stoplines stoplocal stoplocalenvironment \ -stoplocalfootnotes stoplokal stoplokalefussnoten stopmakeup stopmarginalblock \ -stopmarginallinie stopmarginblock stopnamemakeup stopnarrower stopopposite \ -stopoverlay stopoverview stopparagraph stoppositionieren stoppositioning \ -stoppostponing stopprodukt stopprofil stopprofile stopprojekt \ -stopraster stopspalten stopsymbolset stopsynchronisation stopsynchronization \ -stoptabelle stoptabellen stoptable stoptables stoptabulate \ -stoptext stoptextlinie stoptyping stopueberblick stopumbruch \ -stopumgebung stopunpacked stopversion stopzeile stopzeilen \ -stopzeilenkorrektur stopzeilennumerierung stopzitat sub subject \ -subpagenumber subsection subsubject subsubsection subsubsubject \ -switchtorawfont sym symbol synchronisationsbalken synchronisieren \ -synonym tab teilegleitobjekt testcolumn testpage \ -tex textbreite texthoehe textlinie textreferenz \ -textvariable tief tiho tip tippedatei \ -tippen tippepuffer title tooltip txt \ -ueber ueberschrifttext uebersetzten umgebung umrahmt \ -unbekant underbar underbars unterformelnummer useXMLfilter \ -usedirectory usetypescript usetypescriptfile verbergebloecke vergleichefarbengruppe \ -vergleichepalette verknuepfebeschriftung verknuepfedokument verknuepfregister version \ -verweis verweisdatum verwendeJSscript verwendeURL verwendebefehl \ -verwendebloecke verwendeexteresdokument verwendeexterneabbildung verwendeexternedatei verwendeexternedateien \ -verwendeexternestonstueck verwendemodul verwendemodule verwendereferenzen verwendesymbole \ -verwendeurl vl volleswort von waehlebloeckeaus \ -waehlepapieraus waehleversionaus wechselezumfliesstext wiederholen wochentag \ -wohnort wortrechts zeigedruck zeigeeinstellungen zeigeexterneabbildungen \ -zeigefarbe zeigefarbengruppe zeigefelder zeigefliesstext zeigefliesstextumgebung \ -zeigegitter zeigelayout zeigepalette zeigerahmen zeigestruts \ -zeigeumbruch zentriert ziffern zitat zitieren \ -zu zurbox zurseite zwischenraum +drehen duennelinie duennerumriss einezeile einziehen \ +emptylines entknuepfebeschriftung enumeration externeabbildung farbbalken \ +farbe farbewert feld feldstapel festesspatium \ +folgeprofil folgeprofilversion folgeversion footnotetext forceblocks \ +format formelnummer framedtext fussnote fusszeileabstand \ +fusszeilenhoehe gefuelltesrechteck gefuelltezeile geg gesamtseitenanzahl \ +gestreckt getnumber gitter graufarbe grauwert \ +haarlinie hauptsprache headsym heutigesdatum heutigeskopfnummer \ +hintergrund hl hoch hoeheoben hoeheunten \ +holebeschriftung holepuffer imlinken imlinkenrand immaumrise \ +immediatebetweenlist immediatetolist imrechten imrechtenrand imumriss \ +in inaktiviereinteraktionsmenue inanderermarginale indentation ininner \ +inlinkermarginale inmarginalie inneredgedistance inneredgewidth innermargindistance \ +innermarginwidth inouter inrechtermarginale installieresprache interaktionsbalken \ +interaktionsknopfe interaktionsmenue inzeile irgendwo its \ +kap keindimension keinebeschriftung keinebloeckemehr keinedateienmehr \ +keinekopfundfusszeilen keineliste keinspatium keintest keinzeilenobenundunten \ +keinzwischenraum kleinerdurchschuss klonierefeld knopf komponente \ +konvertierezahl kopf kopfniveau kopfnummer kopfweite \ +kopfzeilenabstand kopfzeilenhoehe kopierefeld korrigierezwischenraum label \ +labeling labels labeltext leg liniendicke \ +linkemarginalafstand linkemarginalbreite linksbuendig listenbreite listenhoehe \ +listenlaenge listsymbol loadsorts loadsynonyms mapfontsize \ +mar marginalafstand marginalbreite marginallinie marginaltext \ +marginaltitel marginalwort mathematik maumrise mediaeval \ +menueknopf monat moveformula movesidefloat nachunten \ +name navigating nextsection nichteinziehen nocap \ +nokap nop notiz numberofsubpages nummererhoehen \ +outeredgedistance outeredgewidth outermargindistance outermarginwidth overbar \ +overbars overstrike overstrikes pagedepth pageoffset \ +papierbreite papierhoehe paragraph part passelayoutan \ +passendfeld placefloat placeheadnumber placeheadtext placelistoffloats \ +placelistofsorts placelistofsynonyms placepagenumber placerawlist placereferencelist \ +placerule placetextvariable platzierebookmarks platziereformel platzierefussnoten \ +platzierelegende platziereliste platzierelogo platzierelokalefussnoten platzierenebeneinander \ +platziereregister platziereuntereinander platziereunterformel platzierezusammengestellteliste pos \ +position positiontext posten printpapierbreite printpapierhoehe \ +produkt programm projekt publikation punkt \ +ran randabstand randbreite rechteck rechtecke \ +rechtemarginalafstand rechtemarginalbreite rechtsbuendig ref referenz \ +referieren register registrierefelder reservefloat resetnumber \ +resettextcontent roemischezahlen ruecksetzten ruecksetztenbeschriftung rumpfweite \ +satzbreite satzhoehe schreibezumregister schreibezurliste schreibezurreferenzliste \ +schreibezwischenliste section seeregister seite seitenreferenz \ +seitenummer setnumber settext settextvariable setupanswerarea \ +setupcolumnset setupcolumnsetlines setupcolumnsetstart setupfonthandling setupfontsynonym \ +setupforms setupindentedtext setupinterlinespace2 setupitemgroup setuplistalternative \ +setupmathalignment setupnumber setuppaper setupplacement setuprule \ +setupstartstop setupstrut setuptextposition setuptextvariable showsymbolset \ +sort spalte spatium spiegeln sprache \ +startabbildung startalignment startausrichtung startbuffer startcolumnmakeup \ +startcolumns startcolumnset startcombination startcomment startdescription \ +startdocument startdokument startenger startenumeration startfarbe \ +startfigure startfloattext startformula startframedtext startgeg \ +startgegenueber startglobal startgrosserdurchschuss starthiding starthintergrund \ +startinteraktionsmenue startitemgroup startkleinerdurchschuss startkodierung startkombination \ +startkomponente startlegend startline startlinecorrection startlinenumbering \ +startlines startlocal startlocalenvironment startlocalfootnotes startlokal \ +startlokalefussnoten startmakeup startmarginalblock startmarginallinie startmarginblock \ +startnamemakeup startnarrower startopposite startoverlay startoverview \ +startparagraph startpositionieren startpositioning startpostponing startprodukt \ +startprofil startprofile startprojekt startraster startregister \ +startspalten startsymbolset startsynchronisation startsynchronization starttabelle \ +starttabellen starttable starttables starttabulate starttext \ +starttextlinie starttyping startueberblick startumbruch startumgebung \ +startunpacked startversion startzeile startzeilen startzeilenkorrektur \ +startzeilennumerierung startzitat stelleabsaetzeein stelleabsatznummerierungein stelleabschnittein \ +stelleabschnittsblockein stelleanordnenein stelleaufzaehlungenein stelleausgabeein stelleausrichtungein \ +stelleausschnittein stellebeschreibungein stellebeschriftungein stellebilderunterschriftein stellebildunterschriftein \ +stellebindestrichein stelleblankoein stelleblockein stelledrehenein stelleduennerumrissein \ +stelleeinziehenein stelleengerein stelleexterneabbildungenein stellefarbeein stellefarbenein \ +stellefeldein stellefelderin stellefliesstextein stellefliesstextumgebungein stelleformelnein \ +stellefussnotendefinitionein stellefussnotenein stellefusszeileein stellefusszeilentextein stellegefuelltesrechteckein \ +stellegefuelltezeileein stellegegenueberplatzierenein stellegleitobjekteein stellegleitobjektein stellehintergruendeein \ +stellehintergrundein stelleinmarginalieein stelleinteraktionein stelleinteraktionsbalkenein stelleinteraktionsbildschirmein \ +stelleinteraktionsmenueein stelleknopfein stellekombinationein stellekommentarein stellekopfzahlein \ +stellekopfzeileein stellekopfzeilentextein stellelabeltextein stellelayoutein stellelegendeein \ +stellelinienbreiteein stellelisteein stellemarginalblockein stellemarginallinieein stellenobenein \ +stellenummerierungein stellepaletteein stellepapierformatein stelleplatziegeteiltegleitobjekt stellepositionierenein \ +stellepostenein stelleprofilein stelleprogrammein stellepublikationein stellepufferein \ +stellerasterein stellerechteckein stellereferenzierenein stellereferenzlisteein stelleregisterein \ +stelleseitenkommentarein stelleseitennummerein stelleseitennummeriernungein stelleseitenuebergangein stellesortierenein \ +stellespaltenein stellespatiumein stellespracheein stellesymbolsetein stellesynchronisationein \ +stellesynchronisationsbalkenein stellesynonymein stellesystemein stelletabein stelletabellenein \ +stelletabulatorein stelletextein stelletextobenein stelletexttexteein stelletextumrissein \ +stelletextuntenein stelletipein stelletippenein stelletoleranzein stelleueberschriftein \ +stelleueberschriftenein stelleueberschrifttextein stelleumbruchein stelleumrahmtein stelleumrahmtetexteein \ +stelleuntenein stelleunterseitennummerein stelleunterstreichenein stelleurlein stelleversalienein \ +stelleversionein stellezeilenabstandein stellezeilenein stellezeilennumerierungein stellezitierenein \ +stellezusammengestelltelisteein stellezwischenraumein stopalignment stopausrichtung stopbuffer \ +stopcolumnmakeup stopcolumns stopcolumnset stopcombination stopcomment \ +stopdescription stopdocument stopdokument stopenger stopenumeration \ +stopfarbe stopfigure stopfloattext stopformula stopframedtext \ +stopgeg stopgegenueber stopglobal stopgrosserdurchschuss stophiding \ +stophintergrund stopinteraktionsmenue stopitemgroup stopkleinerdurchschuss stopkodierung \ +stopkombination stopkomponente stoplegend stopline stoplinecorrection \ +stoplinenumbering stoplines stoplocal stoplocalenvironment stoplocalfootnotes \ +stoplokal stoplokalefussnoten stopmakeup stopmarginalblock stopmarginallinie \ +stopmarginblock stopnamemakeup stopnarrower stopopposite stopoverlay \ +stopoverview stopparagraph stoppositionieren stoppositioning stoppostponing \ +stopprodukt stopprofil stopprofile stopprojekt stopraster \ +stopspalten stopsymbolset stopsynchronisation stopsynchronization stoptabelle \ +stoptabellen stoptable stoptables stoptabulate stoptext \ +stoptextlinie stoptyping stopueberblick stopumbruch stopumgebung \ +stopunpacked stopversion stopzeile stopzeilen stopzeilenkorrektur \ +stopzeilennumerierung stopzitat sub subject subpagenumber \ +subsection subsubject subsubsection subsubsubject switchtorawfont \ +sym symbol synchronisationsbalken synchronisieren synonym \ +tab teilegleitobjekt testcolumn testpage tex \ +textbreite texthoehe textlinie textreferenz textvariable \ +tief tiho tip tippedatei tippen \ +tippepuffer title tooltip txt ueber \ +ueberschrifttext uebersetzten umgebung umrahmt unbekant \ +underbar underbars unterformelnummer useXMLfilter usedirectory \ +usetypescript usetypescriptfile verbergebloecke vergleichefarbengruppe vergleichepalette \ +verknuepfebeschriftung verknuepfedokument verknuepfregister version verweis \ +verweisdatum verwendeJSscript verwendeURL verwendebefehl verwendebloecke \ +verwendeexteresdokument verwendeexterneabbildung verwendeexternedatei verwendeexternedateien verwendeexternestonstueck \ +verwendemodul verwendemodule verwendereferenzen verwendesymbole verwendeurl \ +vl volleswort von waehlebloeckeaus waehlepapieraus \ +waehleversionaus wechselezumfliesstext wiederholen wochentag wohnort \ +wortrechts zeigedruck zeigeeinstellungen zeigeexterneabbildungen zeigefarbe \ +zeigefarbengruppe zeigefelder zeigefliesstext zeigefliesstextumgebung zeigegitter \ +zeigelayout zeigepalette zeigerahmen zeigestruts zeigeumbruch \ +zentriert ziffern zitat zitieren zu \ +zurbox zurseite zwischenraum keywordclass.context.en=\ CAP Cap Caps Character \ @@ -347,110 +346,111 @@ defineplacement defineprofile defineprogram definerawfont definereference \ definereferenceformat definereferencelist defineregister definerule definesection \ definesectionblock definesorting definestartstop definestyle definesubfield \ definesymbol definesynonyms definetabletemplate definetabulate definetext \ -definetextposition definetextvariable definetype definetypeface definetyping \ -defineversion description determineheadnumber determinelistcharacteristics determineregistercharacteristics \ -dimension disableinteractionmenu domicile donttest edgedistance \ -edgewidth emptylines enumeration environment externalfigure \ -fact field fieldstack fillinfield fillinline \ -fillinrules fillintext fitfield fixedspace fixedspaces \ -followprofile followprofileversion followversion footerdistance footerheight \ -footnote footnotetext forceblocks formulanumber fraction \ -framed framedtext from getbuffer getmarking \ -getnumber godown goto gotobox gotopage \ -graycolor greyvalue grid hairline head \ -headerdistance headerheight headlevel headnumber headsym \ -headtext hideblocks high hl immediatebetweenlist \ -immediatetolist in incrementnumber indentation indenting \ -inframed infull ininner inleft inleftedge \ -inleftmargin inline inmaframed inmargin inneredgedistance \ -inneredgewidth innermargindistance innermarginwidth inothermargin inouter \ -inright inrightedge inrightmargin installlanguage interactionbar \ -interactionbuttons interactionmenu item items its \ -keepblocks label labeling labels labeltext \ -language leftaligned leftedgedistance leftedgewidth leftmargindistance \ -leftmarginwidth leg linethickness listheight listlength \ -listsymbol listwidth loadsorts loadsynonyms logfields \ -lohi low maframed mainlanguage makeupheight \ -makeupwidth mapfontsize mar margindistance marginrule \ -margintext margintitle marginwidth marginword marking \ -markversion mathematics mediaeval menubutton midaligned \ -mirror month moveformula moveongrid movesidefloat \ -name navigating nextsection nocap nodimension \ -noheaderandfooterlines noindenting nolist nomarking nomoreblocks \ -nomorefiles nop nospace note notopandbottomlines \ -nowhitespace numberofsubpages numbers outeredgedistance outeredgewidth \ -outermargindistance outermarginwidth overbar overbars overstrike \ -overstrikes packed page pagedepth pagenumber \ -pageoffset pagereference paperheight paperwidth paragraph \ -part periods placebookmarks placecombinedlist placefloat \ -placefootnotes placeformula placeheadnumber placeheadtext placelegend \ -placelist placelistoffloats placelistofsorts placelistofsynonyms placelocalfootnotes \ -placelogos placeongrid placeontopofeachother placepagenumber placerawlist \ -placereferencelist placeregister placerule placesidebyside placesubformula \ -placetextvariable position positiontext printpaperheight printpaperwidth \ -processblocks processpage product program project \ -publication quotation quote ran redo \ -ref reference referral referraldate referring \ -register remark reservefloat reset resetmarking \ -resetnumber resettextcontent rightaligned rightedgedistance rightedgewidth \ -rightmargindistance rightmarginwidth romannumerals rotate scale \ -screen section seeregister selectblocks selectpaper \ -selectversion setnumber settextcontent settextvariable setupalign \ -setupanswerarea setuparranging setupbackground setupbackgrounds setupblackrules \ -setupblank setupblock setupbodyfont setupbodyfontenvironment setupbottom \ -setupbottomtexts setupbuffer setupbuttons setupcapitals setupcaption \ -setupcaptions setupclipping setupcolor setupcolors setupcolumns \ -setupcolumnset setupcolumnsetlines setupcolumnsetstart setupcombinations setupcombinedlist \ -setupcomment setupdescriptions setupenumerations setupexternalfigures setupfield \ -setupfields setupfillinlines setupfillinrules setupfloat setupfloats \ -setupfloatsplitting setupfonthandling setupfontsynonym setupfooter setupfootertexts \ -setupfootnotedefinition setupfootnotes setupforms setupformulae setupframed \ -setupframedtexts setuphead setupheader setupheadertexts setupheadnumber \ -setupheads setupheadtext setuphyphenmark setupindentedtext setupindenting \ -setupinmargin setupinteraction setupinteractionbar setupinteractionmenu setupinteractionscreen \ -setupinterlinespace setupinterlinespace2 setupitemgroup setupitemizations setupitems \ -setuplabeltext setuplanguage setuplayout setuplegend setuplinenumbering \ -setuplines setuplinewidth setuplist setuplistalternative setupmakeup \ -setupmarginblocks setupmarginrules setupmarking setupmathalignment setupnarrower \ -setupnumber setupnumbering setupoppositeplacing setupoutput setuppagecomment \ -setuppagenumber setuppagenumbering setuppagetransitions setuppalet setuppaper \ -setuppapersize setupparagraphnumbering setupparagraphs setupplacement setuppositioning \ -setupprofiles setupprograms setuppublications setupquote setupreferencelist \ -setupreferencing setupregister setuprotate setuprule setups \ +definetextbackground definetextposition definetextvariable definetype definetypeface \ +definetyping defineversion description determineheadnumber determinelistcharacteristics \ +determineregistercharacteristics dimension disableinteractionmenu domicile donttest \ +edgedistance edgewidth emptylines enumeration environment \ +externalfigure fact field fieldstack fillinfield \ +fillinline fillinrules fillintext fitfield fixedspace \ +fixedspaces followprofile followprofileversion followversion footerdistance \ +footerheight footnote footnotetext forceblocks formulanumber \ +fraction framed framedtext from getbuffer \ +getmarking getnumber godown goto gotobox \ +gotopage graycolor greyvalue grid hairline \ +head headerdistance headerheight headlevel headnumber \ +headsym headtext hideblocks high hl \ +immediatebetweenlist immediatetolist in incrementnumber indentation \ +indenting inframed infull ininner inleft \ +inleftedge inleftmargin inline inmaframed inmargin \ +inneredgedistance inneredgewidth innermargindistance innermarginwidth inothermargin \ +inouter inright inrightedge inrightmargin installlanguage \ +interactionbar interactionbuttons interactionmenu item items \ +its keepblocks label labeling labels \ +labeltext language leftaligned leftedgedistance leftedgewidth \ +leftmargindistance leftmarginwidth leg linethickness listheight \ +listlength listsymbol listwidth loadsorts loadsynonyms \ +logfields lohi low maframed mainlanguage \ +makeupheight makeupwidth mapfontsize mar margindistance \ +marginrule margintext margintitle marginwidth marginword \ +marking markversion mathematics mediaeval menubutton \ +midaligned mirror month moveformula moveongrid \ +movesidefloat name navigating nextsection nocap \ +nodimension noheaderandfooterlines noindenting nolist nomarking \ +nomoreblocks nomorefiles nop nospace note \ +notopandbottomlines nowhitespace numberofsubpages numbers outeredgedistance \ +outeredgewidth outermargindistance outermarginwidth overbar overbars \ +overstrike overstrikes packed page pagedepth \ +pagenumber pageoffset pagereference paperheight paperwidth \ +paragraph part periods placebookmarks placecombinedlist \ +placefloat placefootnotes placeformula placeheadnumber placeheadtext \ +placelegend placelist placelistoffloats placelistofsorts placelistofsynonyms \ +placelocalfootnotes placelogos placeongrid placeontopofeachother placepagenumber \ +placerawlist placereferencelist placeregister placerule placesidebyside \ +placesubformula placetextvariable position positiontext printpaperheight \ +printpaperwidth processblocks processpage product program \ +project publication quotation quote ran \ +redo ref reference referral referraldate \ +referring register remark reservefloat reset \ +resetmarking resetnumber resettextcontent rightaligned rightedgedistance \ +rightedgewidth rightmargindistance rightmarginwidth romannumerals rotate \ +scale screen section seeregister selectblocks \ +selectpaper selectversion setnumber settextcontent settextvariable \ +setupalign setupanswerarea setuparranging setupbackground setupbackgrounds \ +setupblackrules setupblank setupblock setupbodyfont setupbodyfontenvironment \ +setupbottom setupbottomtexts setupbuffer setupbuttons setupcapitals \ +setupcaption setupcaptions setupclipping setupcolor setupcolors \ +setupcolumns setupcolumnset setupcolumnsetlines setupcolumnsetstart setupcombinations \ +setupcombinedlist setupcomment setupdescriptions setupenumerations setupexternalfigures \ +setupfield setupfields setupfillinlines setupfillinrules setupfloat \ +setupfloats setupfloatsplitting setupfonthandling setupfontsynonym setupfooter \ +setupfootertexts setupfootnotedefinition setupfootnotes setupforms setupformulae \ +setupframed setupframedtexts setuphead setupheader setupheadertexts \ +setupheadnumber setupheads setupheadtext setuphyphenmark setupindentedtext \ +setupindenting setupinmargin setupinteraction setupinteractionbar setupinteractionmenu \ +setupinteractionscreen setupinterlinespace setupinterlinespace2 setupitemgroup setupitemizations \ +setupitems setuplabeltext setuplanguage setuplayout setuplegend \ +setuplinenumbering setuplines setuplinewidth setuplist setuplistalternative \ +setupmakeup setupmarginblocks setupmarginrules setupmarking setupmathalignment \ +setupnarrower setupnumber setupnumbering setupoppositeplacing setupoutput \ +setuppagecomment setuppagenumber setuppagenumbering setuppagetransitions setuppalet \ +setuppaper setuppapersize setupparagraphnumbering setupparagraphs setupplacement \ +setuppositioning setupprofiles setupprograms setuppublications setupquote \ +setupreferencelist setupreferencing setupregister setuprotate setuprule \ setupscreens setupsection setupsectionblock setupsorting setupspacing \ setupstartstop setupstrut setupsubpagenumber setupsymbolset setupsynchronization \ setupsynchronizationbar setupsynonyms setupsystem setuptab setuptables \ -setuptabulate setuptext setuptextposition setuptextrules setuptexttexts \ -setuptextvariable setupthinrules setuptolerance setuptop setuptoptexts \ -setuptype setuptyping setupunderbar setupurl setupversions \ -setupwhitespace showbodyfont showbodyfontenvironment showcolor showcolorgroup \ -showexternalfigures showfields showframe showgrid showlayout \ -showmakeup showpalet showprint showsetups showstruts \ -showsymbolset someline somewhere sort space \ -splitfloat startalignment startbackground startbuffer startcoding \ -startcolor startcolumnmakeup startcolumns startcolumnset startcombination \ -startcomment startcomponent startdescription startdocument startenumeration \ -startenvironment startfact startfigure startfloattext startformula \ -startframedtext startglobal starthiding startinteractionmenu startitemgroup \ -startlegend startline startlinecorrection startlinenumbering startlines \ -startlocal startlocalenvironment startlocalfootnotes startmakeup startmarginblock \ -startmarginrule startnamemakeup startnarrower startopposite startoverlay \ -startoverview startpacked startparagraph startpositioning startpostponing \ -startproduct startprofile startproject startquotation startraster \ -startregister startsymbolset startsynchronization starttable starttables \ -starttabulate starttext starttextrule starttyping startunpacked \ -startversion stopalignment stopbackground stopbuffer stopcoding \ -stopcolor stopcolumnmakeup stopcolumns stopcolumnset stopcombination \ -stopcomment stopcomponent stopdescription stopdocument stopenumeration \ -stopenvironment stopfact stopfigure stopfloattext stopformula \ -stopframedtext stopglobal stophiding stopinteractionmenu stopitemgroup \ -stoplegend stopline stoplinecorrection stoplinenumbering stoplines \ -stoplocal stoplocalenvironment stoplocalfootnotes stopmakeup stopmarginblock \ -stopmarginrule stopnamemakeup stopnarrower stopopposite stopoverlay \ -stopoverview stoppacked stopparagraph stoppositioning stoppostponing \ -stopproduct stopprofile stopproject stopquotation stopraster \ -stopsymbolset stopsynchronization stoptable stoptables stoptabulate \ -stoptext stoptextrule stoptyping stopunpacked stopversion \ +setuptabulate setuptext setuptextbackground setuptextposition setuptextrules \ +setuptexttexts setuptextvariable setupthinrules setuptolerance setuptop \ +setuptoptexts setuptype setuptyping setupunderbar setupurl \ +setupversions setupwhitespace showbodyfont showbodyfontenvironment showcolor \ +showcolorgroup showexternalfigures showfields showframe showgrid \ +showlayout showmakeup showpalet showprint showsetups \ +showstruts showsymbolset someline somewhere sort \ +space splitfloat startalignment startbackground startbuffer \ +startcoding startcolor startcolumnmakeup startcolumns startcolumnset \ +startcombination startcomment startcomponent startdescription startdocument \ +startenumeration startenvironment startfact startfigure startfloattext \ +startformula startframed startframedtext startglobal starthiding \ +startinteractionmenu startitemgroup startlegend startline startlinecorrection \ +startlinenumbering startlines startlocal startlocalenvironment startlocalfootnotes \ +startmakeup startmarginblock startmarginrule startnamemakeup startnarrower \ +startopposite startoverlay startoverview startpacked startparagraph \ +startpositioning startpostponing startproduct startprofile startproject \ +startquotation startraster startregister startsymbolset startsynchronization \ +starttable starttables starttabulate starttext starttextbackground \ +starttextrule starttyping startunpacked startversion stopalignment \ +stopbackground stopbuffer stopcoding stopcolor stopcolumnmakeup \ +stopcolumns stopcolumnset stopcombination stopcomment stopcomponent \ +stopdescription stopdocument stopenumeration stopenvironment stopfact \ +stopfigure stopfloattext stopformula stopframed stopframedtext \ +stopglobal stophiding stopinteractionmenu stopitemgroup stoplegend \ +stopline stoplinecorrection stoplinenumbering stoplines stoplocal \ +stoplocalenvironment stoplocalfootnotes stopmakeup stopmarginblock stopmarginrule \ +stopnamemakeup stopnarrower stopopposite stopoverlay stopoverview \ +stoppacked stopparagraph stoppositioning stoppostponing stopproduct \ +stopprofile stopproject stopquotation stopraster stopsymbolset \ +stopsynchronization stoptable stoptables stoptabulate stoptext \ +stoptextbackground stoptextrule stoptyping stopunpacked stopversion \ stretched sub subformulanumber subject subpagenumber \ subsection subsubject subsubsection subsubsubject switchtobodyfont \ switchtorawfont sym symbol symoffset synchronizationbar \ @@ -554,81 +554,81 @@ placevariabletexte position positionnetexte prendbuffer produit \ programme projet publication qqpart ran \ raz razmarquage raznumero recommandation ref \ refait reference referencepage referencetexte reflete \ -register reglages reglealignement reglearrangement reglearriereplan \ -reglearriereplans reglebarreinteraction reglebarresynchronisation reglebloc regleblocmarge \ -regleblocsection regleboutons reglebuffer reglecapitales reglechamp \ -reglechamps regleclipping reglecolonnes reglecombinaisons reglecommentaire \ -reglecommentairepage reglecompoetroite reglecomposeenalinea reglecouleur reglecouleurs \ -regledactylo regledansmarge regledemarrestoppe regledescriptions regledisposition \ -regleecraninteraction regleecrans regleelements regleencadre regleentete \ -regleenumerations regleenvironnementpolicecorps regleepaisseurligne regleespaceblanc regleespacement \ -regleespacementinterligne reglefiguresexternes regleflottant regleflottants regleformulaires \ -regleformules reglegroupeselements regleinf regleinteraction regleintitule \ -regleintitules reglejeucolonne reglejeusymboles reglelabeltexte reglelangue \ -reglelegende reglelignes reglelignesnoires reglelignesreglestexte regleliste \ -reglelisteimbriquee reglelistereference reglemakeup reglemargereglee reglemarquage \ -reglemarquagehyphenation reglemenuinteraction reglenotepdp reglenumero reglenumeropage \ -reglenumerotation reglenumerotationligne reglenumerotationpage reglenumerotationparagraphe reglenumerotete \ -regleoriente reglepalette reglepapier regleparagraphes reglepdp \ -regleplacementopposition reglepolicecorps reglepositionnement reglepositiontexte regleprofils \ -regleprogrammes reglepublications reglereferencage regleregistre regleregle \ -regleremplitligne regleremplitlignesreglees reglesection regleseparationflottant reglesortie \ -reglesouslignage reglesousnumeropage reglestrut reglesup reglesynchronisation \ -reglesynonymes reglesysteme regletab regletableaux regletabulation \ -regletaillepapier regletete regletetes regletexte regletextesentete \ -regletextesinf regletextespdp regletextessup regletextestexte regletextetete \ -regletolerance regletraitsfins regletransitionspage regletri regletype \ -regleurl reglevariabletexte regleversions remplitchamp remplitligne \ -remplitlignesreglees remplittexte reservefloat resettextcontent retourarriere \ -sansalinea sansdimension sansespace sansespaceblanc sanslignesenteteetpdp \ -sanslignessupetinf sansliste sansmarquage sanstest sauteblocs \ -section seeregister selectionneblocs selectionnepapier selectionneversion \ -sensunite separeflottant settext setupanswerarea setupcolumnsetlines \ -setupcolumnsetstart setupfonthandling setupfontsynonym setupframedtexts setupindentedtext \ -setupinterlinespace2 setupitemgroup setuplistalternative setupmathalignment setupplacement \ -sort sousnumeropage startalignment startarriereplan startbuffer \ -startcitation startcolumnmakeup startcolumns startcombination startcomment \ -startcomposant startcouleur startdescription startdocument startenumeration \ -startenvironement startfait startfigure startfloattext startformula \ -startframedtext startgroupe starthiding startitemgroup startlegend \ -startligneregleetexte startline startlinecorrection startlinenumbering startlines \ -startlocal startlocalenvironment startlocalfootnotes startmakeup startmargereglee \ -startmarginblock startmenuinteraction startnamemakeup startnarrower startopposite \ -startoverlay startoverview startparagraph startpositioning startpostponing \ -startproduit startprofile startprojet startregister startsymbolset \ -startsynchronization starttable starttables starttabulate starttyping \ -startunpacked startversion stopalignment stoparriereplan stopbuffer \ -stopcitation stopcolumnmakeup stopcolumns stopcombination stopcomment \ -stopcompoetroite stopcomposant stopcouleur stopdescription stopdocument \ -stopenumeration stopenvironement stopfait stopfigure stopfloattext \ -stopformula stopframedtext stopgroupe stophiding stopitemgroup \ -stoplegend stopligneregleetexte stopline stoplinecorrection stoplinenumbering \ -stoplines stoplocal stoplocalenvironment stoplocalfootnotes stopmakeup \ -stopmargereglee stopmarginblock stopmenuinteraction stopnamemakeup stopnarrower \ -stopopposite stopoverlay stopoverview stopparagraph stoppealignement \ -stoppearriereplan stoppeblocmarge stoppecitation stoppecodage stoppecolonnes \ -stoppecombinaison stoppecomposant stoppecorrectionligne stoppecouleur stoppedegroupe \ -stoppedocument stoppeenvironement stoppeglobal stoppegroupe stoppejeucolonne \ -stoppeligne stoppeligneregleetexte stoppelignes stoppelocal stoppemakeup \ -stoppemargereglee stoppenotespdplocales stoppenumerotationligne stoppeopposition stoppepositionnement \ -stoppeproduit stoppeprofil stoppeprojet stopperaster stopperevetement \ -stoppesynchronisation stoppetableau stoppetableaux stoppetexte stoppeversion \ -stoppevuedensemble stoppositioning stoppostponing stopproduit stopprofile \ -stopprojet stopsymbolset stopsynchronization stoptable stoptables \ -stoptabulate stoptyping stopunpacked stopversion sub \ -subject subsection subsubject subsubsection subsubsubject \ -suggestion suivantprofil suivantversion suivantversionprofil sym \ -symbole synchronise synonym tab tapebuffer \ -testcolumn testpage tete tex textemarge \ -textenotepdp textetete title titremarge traduire \ -traiteblocs traitepage traitfin traitsfins txt \ -typ underbar underbars uneligne useXMLfilter \ -usedirectory usetypescript usetypescriptfile utiliseJSscripts utiliseURL \ -utiliseblocs utilisechemin utilisecommandes utilisedocumentexterne utiliseencodage \ -utilisefichierexterne utilisefichiersexternes utilisefigureexterne utilisemodule utilisemodules \ -utilisepsiteaudioexterne utilisereferences utilisespecialites utilisesymboles utiliseurl \ -va vaalaboite vaalapage vaenbas valeurcouleur \ -valeurgris variabletexte version vide vl +register reglealignement reglearrangement reglearriereplan reglearriereplans \ +reglebarreinteraction reglebarresynchronisation reglebloc regleblocmarge regleblocsection \ +regleboutons reglebuffer reglecapitales reglechamp reglechamps \ +regleclipping reglecolonnes reglecombinaisons reglecommentaire reglecommentairepage \ +reglecompoetroite reglecomposeenalinea reglecouleur reglecouleurs regledactylo \ +regledansmarge regledemarrestoppe regledescriptions regledisposition regleecraninteraction \ +regleecrans regleelements regleencadre regleentete regleenumerations \ +regleenvironnementpolicecorps regleepaisseurligne regleespaceblanc regleespacement regleespacementinterligne \ +reglefiguresexternes regleflottant regleflottants regleformulaires regleformules \ +reglegroupeselements regleinf regleinteraction regleintitule regleintitules \ +reglejeucolonne reglejeusymboles reglelabeltexte reglelangue reglelegende \ +reglelignes reglelignesnoires reglelignesreglestexte regleliste reglelisteimbriquee \ +reglelistereference reglemakeup reglemargereglee reglemarquage reglemarquagehyphenation \ +reglemenuinteraction reglenotepdp reglenumero reglenumeropage reglenumerotation \ +reglenumerotationligne reglenumerotationpage reglenumerotationparagraphe reglenumerotete regleoriente \ +reglepalette reglepapier regleparagraphes reglepdp regleplacementopposition \ +reglepolicecorps reglepositionnement reglepositiontexte regleprofils regleprogrammes \ +reglepublications reglereferencage regleregistre regleregle regleremplitligne \ +regleremplitlignesreglees reglesection regleseparationflottant reglesortie reglesouslignage \ +reglesousnumeropage reglestrut reglesup reglesynchronisation reglesynonymes \ +reglesysteme regletab regletableaux regletabulation regletaillepapier \ +regletete regletetes regletexte regletextesentete regletextesinf \ +regletextespdp regletextessup regletextestexte regletextetete regletolerance \ +regletraitsfins regletransitionspage regletri regletype regleurl \ +reglevariabletexte regleversions remplitchamp remplitligne remplitlignesreglees \ +remplittexte reservefloat resettextcontent retourarriere sansalinea \ +sansdimension sansespace sansespaceblanc sanslignesenteteetpdp sanslignessupetinf \ +sansliste sansmarquage sanstest sauteblocs section \ +seeregister selectionneblocs selectionnepapier selectionneversion sensunite \ +separeflottant settext setupanswerarea setupcolumnsetlines setupcolumnsetstart \ +setupfonthandling setupfontsynonym setupframedtexts setupindentedtext setupinterlinespace2 \ +setupitemgroup setuplistalternative setupmathalignment setupplacement sort \ +sousnumeropage startalignment startarriereplan startbuffer startcitation \ +startcolumnmakeup startcolumns startcombination startcomment startcomposant \ +startcouleur startdescription startdocument startenumeration startenvironement \ +startfait startfigure startfloattext startformula startframedtext \ +startgroupe starthiding startitemgroup startlegend startligneregleetexte \ +startline startlinecorrection startlinenumbering startlines startlocal \ +startlocalenvironment startlocalfootnotes startmakeup startmargereglee startmarginblock \ +startmenuinteraction startnamemakeup startnarrower startopposite startoverlay \ +startoverview startparagraph startpositioning startpostponing startproduit \ +startprofile startprojet startregister startsymbolset startsynchronization \ +starttable starttables starttabulate starttyping startunpacked \ +startversion stopalignment stoparriereplan stopbuffer stopcitation \ +stopcolumnmakeup stopcolumns stopcombination stopcomment stopcompoetroite \ +stopcomposant stopcouleur stopdescription stopdocument stopenumeration \ +stopenvironement stopfait stopfigure stopfloattext stopformula \ +stopframedtext stopgroupe stophiding stopitemgroup stoplegend \ +stopligneregleetexte stopline stoplinecorrection stoplinenumbering stoplines \ +stoplocal stoplocalenvironment stoplocalfootnotes stopmakeup stopmargereglee \ +stopmarginblock stopmenuinteraction stopnamemakeup stopnarrower stopopposite \ +stopoverlay stopoverview stopparagraph stoppealignement stoppearriereplan \ +stoppeblocmarge stoppecitation stoppecodage stoppecolonnes stoppecombinaison \ +stoppecomposant stoppecorrectionligne stoppecouleur stoppedegroupe stoppedocument \ +stoppeenvironement stoppeglobal stoppegroupe stoppejeucolonne stoppeligne \ +stoppeligneregleetexte stoppelignes stoppelocal stoppemakeup stoppemargereglee \ +stoppenotespdplocales stoppenumerotationligne stoppeopposition stoppepositionnement stoppeproduit \ +stoppeprofil stoppeprojet stopperaster stopperevetement stoppesynchronisation \ +stoppetableau stoppetableaux stoppetexte stoppeversion stoppevuedensemble \ +stoppositioning stoppostponing stopproduit stopprofile stopprojet \ +stopsymbolset stopsynchronization stoptable stoptables stoptabulate \ +stoptyping stopunpacked stopversion sub subject \ +subsection subsubject subsubsection subsubsubject suggestion \ +suivantprofil suivantversion suivantversionprofil sym symbole \ +synchronise synonym tab tapebuffer testcolumn \ +testpage tete tex textemarge textenotepdp \ +textetete title titremarge traduire traiteblocs \ +traitepage traitfin traitsfins txt typ \ +underbar underbars uneligne useXMLfilter usedirectory \ +usetypescript usetypescriptfile utiliseJSscripts utiliseURL utiliseblocs \ +utilisechemin utilisecommandes utilisedocumentexterne utiliseencodage utilisefichierexterne \ +utilisefichiersexternes utilisefigureexterne utilisemodule utilisemodules utilisepsiteaudioexterne \ +utilisereferences utilisespecialites utilisesymboles utiliseurl va \ +vaalaboite vaalapage vaenbas valeurcouleur valeurgris \ +variabletexte version vide vl keywordclass.context.it=\ CAP Cap Caps GIORNOSETTIMANA \ @@ -698,100 +698,100 @@ impostatabelle impostatabulato impostatavolozza impostatesta impostateste \ impostatesticima impostatestifondo impostatestiincorniciati impostatestiintestazioni impostatestipdp \ impostatesto impostatestoetichette impostatestointestazioni impostatestotesti impostatolleranza \ impostatransizionepagina impostatype impostatyping impostaurl impostavariabiletesto \ -impostaversioni impostazioni in inaltromargine incorniciato \ -incrementanumero indentation indestra ininner iniziaallineamento \ -iniziaambiente iniziabloccomargine iniziacitazione iniziacodifica iniziacolonne \ -iniziacolore iniziacombinazione iniziacomponente iniziacorrezioneriga iniziadocumento \ -iniziafigura iniziaglobale iniziagruppocolonne iniziaimpaccato inizialineamargine \ -inizialineatesto inizialocale iniziamakeup inizianotepdplocali inizianumerazionerighe \ -iniziaopposto iniziaoverview iniziapiustretto iniziaposizionamento iniziaprodotto \ -iniziaprofilo iniziaprogetto iniziaraster iniziariga iniziarighe \ -iniziasetsimboli iniziasfondo iniziasincronizzazione iniziasovrapposizione iniziatabella \ -iniziatabelle iniziatesto iniziaunpacked iniziaversione inlatodestro \ -inlatosinistro inmaframed inmargine inmarginedestro inmarginesinistro \ -inneredgedistance inneredgewidth innermargindistance innermarginwidth inouter \ -inriga insinistra installalingua intorno labeling \ -leg lettera lettere lineamargine lineanera \ -lineasottile lineatesto lineenere lineeriempimento lineesottili \ -lingua linguaprincipale listsymbol livellotesta loadsorts \ -loadsynonyms logcampi lunghezzaelenco maframed mapfontsize \ -mar marcatura marcaversione matematica mediaeval \ -menuinterattivo menzione mese mettielenco mettielencocombinato \ -mettifiancoafianco mettiformula mettiingriglia mettilegenda mettilinea \ -mettiloghi mettinotepdp mettinotepdplocali mettinumeropagina mettiregistro \ -mettisegnalibro mettisottoformula mettiunosullaltro mettivariabiletesto mostraambientefontdeltesto \ -mostracampi mostracolore mostracornice mostrafiguresterne mostrafontdeltesto \ -mostragriglia mostragruppocolori mostraimpostazioni mostralyout mostramakeup \ -mostrasetsimboli mostrastampa mostrastruts mostratavolozza movesidefloat \ -name nascondiblocchi navigating nextsection nientedimensioni \ -nienteelenco nientelineecimafondo nientelineintestazionepdp nientemarcatura nienterientro \ -nientespazio nientespaziobianco nocap nome nomeunita \ -nop nota notapdp notest numberofsubpages \ -numeri numeriromani numeroformula numeropagina numeropaginacompleto \ -numerosottoformula numerotesta numerotestacorrente numerototaledipagine outeredgedistance \ -outeredgewidth outermargindistance outermarginwidth overbar overbars \ -overstrike overstrikes pagedepth pageoffset pagina \ -paragraph paroladestra parolainmargine part passaafontgrezzo \ -ped pedap perlungo placefloat placelistoffloats \ -placelistofsorts placelistofsynonyms placerawlist placereferencelist posizionanumerotesta \ -posizionatesto posizionatestotesta posizione prendibuffer prendimarcatura \ -prodotto progetto programma pubblicazione pulsante \ -pulsantemenu pulsantinterazione punti qualcheriga ran \ -referral referring register reimposta reimpostamarcatura \ -reservefloat resetnumber resettextcontent rientro rif \ -rifai riferimento riferimentopagina riferimentotesto riflessione \ -rigariempimento rigovuoto ruota saltablocchi scala \ -schermo scrividentroelenco scriviinelenco scriviinlistariferimenti scriviinregistro \ -section seeregister segnalibro seguiprofilo seguiversione \ -seguiversioneprofilo selezionablocchi selezionacarta selezionaversione separamarcatura \ -setnumber settext setupanswerarea setupcolumnsetlines setupcolumnsetstart \ -setupfonthandling setupfontsynonym setupindentedtext setupinterlinespace2 setupitemgroup \ -setuplistalternative setupmathalignment setuppaper setupplacement setvariabiletesto \ -sfondo sim simbolo sincronizza sort \ -spazifissi spazio spaziobianco spaziocima spaziodietro \ -spaziofisso spaziofondo spessoreriga spezzaoggettomobile spostaagriglia \ -spostaformula stackcampi startalignment startambiente startbuffer \ -startcitazione startcolore startcolumnmakeup startcolumns startcombination \ -startcomment startcomponenet startdescription startdocument startenumeration \ -startfatto startfigure startfloattext startformula startframedtext \ -starthiding startimpaccato startitemgroup startlegend startline \ -startlineamargine startlineatesto startlinecorrection startlinenumbering startlines \ -startlocal startlocalenvironment startlocalfootnotes startmakeup startmarginblock \ -startmenuinterattivo startnamemakeup startnarrower startopposite startoverlay \ -startoverview startparagraph startpositioning startpostponing startprodotto \ -startprofile startprogetto startregister startsfondo startsymbolset \ -startsynchronization starttable starttables starttabulate starttyping \ -startunpacked startversione stirato stopalignment stopambiente \ -stopbuffer stopcitazione stopcolore stopcolumnmakeup stopcolumns \ -stopcombination stopcomment stopcomponenet stopdescription stopdocument \ -stopenumeration stopfatto stopfigure stopfloattext stopformula \ -stopframedtext stophiding stopimpaccato stopitemgroup stoplegend \ -stopline stoplineamargine stoplineatesto stoplinecorrection stoplinenumbering \ -stoplines stoplocal stoplocalenvironment stoplocalfootnotes stopmakeup \ -stopmarginblock stopmenuinterattivo stopnamemakeup stopnarrower stopopposite \ -stopoverlay stopoverview stopparagraph stoppositioning stoppostponing \ -stopprodotto stopprofile stopprogetto stopsfondo stopsymbolset \ -stopsynchronization stoptable stoptables stoptabulate stoptyping \ -stopunpacked stopversione sub subject subpagenumber \ -subsection subsubject subsubsection subsubsubject synonym \ -tab terminaallineamento terminaambiente terminabloccomargine terminacitazione \ -terminacodifica terminacolonne terminacolore terminacombinazione terminacomponente \ -terminacorrezioneriga terminadocumento terminaglobale terminagruppocolonne terminaimpaccato \ -terminalineamargine terminalineatesto terminalocale terminamakeup terminanotepdplocali \ -terminanumerazionerighe terminaopposto terminaoverview terminapiustretto terminaposizionamento \ -terminaprodotto terminaprofili terminaprogetto terminaraster terminariga \ -terminarighe terminasfondo terminasincronizzazione terminasovrapposizione terminatabella \ -terminatabelle terminatesto terminaunpacked terminaversioni testa \ -testcolumn testoetichetta testoinmargine testoinstestazioni testonotapdp \ -testoriempimento testpage tex tieniblocchi title \ -titoloinmargine tooltip traduci txt typ \ -type typebuffer typefile underbar underbars \ -usaJSscripts usaURL usablocco usacartella usacodifica \ -usacolonnasonoraesterna usacomandi usadocumentoesterno usafiguraesterna usafileesterni \ -usafileesterno usamoduli usamodulo usariferimenti usasimboli \ -usaspecialita usaurl useXMLfilter usedirectory usetypescript \ -usetypescriptfile vaia vaiabox vaiapagina vaigiu \ -valorecolore valoregrigio variabiletesto versione vl +impostaversioni in inaltromargine incorniciato incrementanumero \ +indentation indestra ininner iniziaallineamento iniziaambiente \ +iniziabloccomargine iniziacitazione iniziacodifica iniziacolonne iniziacolore \ +iniziacombinazione iniziacomponente iniziacorrezioneriga iniziadocumento iniziafigura \ +iniziaglobale iniziagruppocolonne iniziaimpaccato inizialineamargine inizialineatesto \ +inizialocale iniziamakeup inizianotepdplocali inizianumerazionerighe iniziaopposto \ +iniziaoverview iniziapiustretto iniziaposizionamento iniziaprodotto iniziaprofilo \ +iniziaprogetto iniziaraster iniziariga iniziarighe iniziasetsimboli \ +iniziasfondo iniziasincronizzazione iniziasovrapposizione iniziatabella iniziatabelle \ +iniziatesto iniziaunpacked iniziaversione inlatodestro inlatosinistro \ +inmaframed inmargine inmarginedestro inmarginesinistro inneredgedistance \ +inneredgewidth innermargindistance innermarginwidth inouter inriga \ +insinistra installalingua intorno labeling leg \ +lettera lettere lineamargine lineanera lineasottile \ +lineatesto lineenere lineeriempimento lineesottili lingua \ +linguaprincipale listsymbol livellotesta loadsorts loadsynonyms \ +logcampi lunghezzaelenco maframed mapfontsize mar \ +marcatura marcaversione matematica mediaeval menuinterattivo \ +menzione mese mettielenco mettielencocombinato mettifiancoafianco \ +mettiformula mettiingriglia mettilegenda mettilinea mettiloghi \ +mettinotepdp mettinotepdplocali mettinumeropagina mettiregistro mettisegnalibro \ +mettisottoformula mettiunosullaltro mettivariabiletesto mostraambientefontdeltesto mostracampi \ +mostracolore mostracornice mostrafiguresterne mostrafontdeltesto mostragriglia \ +mostragruppocolori mostraimpostazioni mostralyout mostramakeup mostrasetsimboli \ +mostrastampa mostrastruts mostratavolozza movesidefloat name \ +nascondiblocchi navigating nextsection nientedimensioni nienteelenco \ +nientelineecimafondo nientelineintestazionepdp nientemarcatura nienterientro nientespazio \ +nientespaziobianco nocap nome nomeunita nop \ +nota notapdp notest numberofsubpages numeri \ +numeriromani numeroformula numeropagina numeropaginacompleto numerosottoformula \ +numerotesta numerotestacorrente numerototaledipagine outeredgedistance outeredgewidth \ +outermargindistance outermarginwidth overbar overbars overstrike \ +overstrikes pagedepth pageoffset pagina paragraph \ +paroladestra parolainmargine part passaafontgrezzo ped \ +pedap perlungo placefloat placelistoffloats placelistofsorts \ +placelistofsynonyms placerawlist placereferencelist posizionanumerotesta posizionatesto \ +posizionatestotesta posizione prendibuffer prendimarcatura prodotto \ +progetto programma pubblicazione pulsante pulsantemenu \ +pulsantinterazione punti qualcheriga ran referral \ +referring register reimposta reimpostamarcatura reservefloat \ +resetnumber resettextcontent rientro rif rifai \ +riferimento riferimentopagina riferimentotesto riflessione rigariempimento \ +rigovuoto ruota saltablocchi scala schermo \ +scrividentroelenco scriviinelenco scriviinlistariferimenti scriviinregistro section \ +seeregister segnalibro seguiprofilo seguiversione seguiversioneprofilo \ +selezionablocchi selezionacarta selezionaversione separamarcatura setnumber \ +settext setupanswerarea setupcolumnsetlines setupcolumnsetstart setupfonthandling \ +setupfontsynonym setupindentedtext setupinterlinespace2 setupitemgroup setuplistalternative \ +setupmathalignment setuppaper setupplacement setvariabiletesto sfondo \ +sim simbolo sincronizza sort spazifissi \ +spazio spaziobianco spaziocima spaziodietro spaziofisso \ +spaziofondo spessoreriga spezzaoggettomobile spostaagriglia spostaformula \ +stackcampi startalignment startambiente startbuffer startcitazione \ +startcolore startcolumnmakeup startcolumns startcombination startcomment \ +startcomponenet startdescription startdocument startenumeration startfatto \ +startfigure startfloattext startformula startframedtext starthiding \ +startimpaccato startitemgroup startlegend startline startlineamargine \ +startlineatesto startlinecorrection startlinenumbering startlines startlocal \ +startlocalenvironment startlocalfootnotes startmakeup startmarginblock startmenuinterattivo \ +startnamemakeup startnarrower startopposite startoverlay startoverview \ +startparagraph startpositioning startpostponing startprodotto startprofile \ +startprogetto startregister startsfondo startsymbolset startsynchronization \ +starttable starttables starttabulate starttyping startunpacked \ +startversione stirato stopalignment stopambiente stopbuffer \ +stopcitazione stopcolore stopcolumnmakeup stopcolumns stopcombination \ +stopcomment stopcomponenet stopdescription stopdocument stopenumeration \ +stopfatto stopfigure stopfloattext stopformula stopframedtext \ +stophiding stopimpaccato stopitemgroup stoplegend stopline \ +stoplineamargine stoplineatesto stoplinecorrection stoplinenumbering stoplines \ +stoplocal stoplocalenvironment stoplocalfootnotes stopmakeup stopmarginblock \ +stopmenuinterattivo stopnamemakeup stopnarrower stopopposite stopoverlay \ +stopoverview stopparagraph stoppositioning stoppostponing stopprodotto \ +stopprofile stopprogetto stopsfondo stopsymbolset stopsynchronization \ +stoptable stoptables stoptabulate stoptyping stopunpacked \ +stopversione sub subject subpagenumber subsection \ +subsubject subsubsection subsubsubject synonym tab \ +terminaallineamento terminaambiente terminabloccomargine terminacitazione terminacodifica \ +terminacolonne terminacolore terminacombinazione terminacomponente terminacorrezioneriga \ +terminadocumento terminaglobale terminagruppocolonne terminaimpaccato terminalineamargine \ +terminalineatesto terminalocale terminamakeup terminanotepdplocali terminanumerazionerighe \ +terminaopposto terminaoverview terminapiustretto terminaposizionamento terminaprodotto \ +terminaprofili terminaprogetto terminaraster terminariga terminarighe \ +terminasfondo terminasincronizzazione terminasovrapposizione terminatabella terminatabelle \ +terminatesto terminaunpacked terminaversioni testa testcolumn \ +testoetichetta testoinmargine testoinstestazioni testonotapdp testoriempimento \ +testpage tex tieniblocchi title titoloinmargine \ +tooltip traduci txt typ type \ +typebuffer typefile underbar underbars usaJSscripts \ +usaURL usablocco usacartella usacodifica usacolonnasonoraesterna \ +usacomandi usadocumentoesterno usafiguraesterna usafileesterni usafileesterno \ +usamoduli usamodulo usariferimenti usasimboli usaspecialita \ +usaurl useXMLfilter usedirectory usetypescript usetypescriptfile \ +vaia vaiabox vaiapagina vaigiu valorecolore \ +valoregrigio variabiletesto versione vl keywordclass.context.nl=\ CAP Cap Caps Cijfers \ @@ -820,24 +820,24 @@ definieerpapierformaat definieerplaats definieerplaatsblok definieerprofiel defi definieerreferentie definieerreferentieformaat definieerreferentielijst definieerregister definieersamengesteldelijst \ definieersectie definieersectieblok definieersorteren definieerstartstop definieersubveld \ definieersymbool definieersynoniemen definieertabelvorm definieertabulatie definieertekst \ -definieertekstpositie definieertekstvariabele definieertype definieertypen definieeruitvoer \ -definieerveld definieerveldstapel definieerversie definieerwiskundeuitlijnen description \ -dimensie directnaarlijst directtussenlijst doordefinieren doorlabelen \ -doornummeren dunnelijn dunnelijnen eenregel enumeration \ -ergens externfiguur forceerblokken formulenummer framedtext \ -gebruikJSscripts gebruikURL gebruikXMLfilter gebruikblokken gebruikcommandos \ -gebruikexterndocument gebruikexternefile gebruikexternefiles gebruikexternfiguur gebruikexterngeluidsfragment \ -gebruikgebied gebruikmodule gebruikmodules gebruikreferenties gebruikspecials \ -gebruiksymbolen gebruiktypescript gebruiktypescriptfile gebruikurl geenblokkenmeer \ -geenbovenenonderregels geendimensie geenfilesmeer geenhoofdenvoetregels geenlijst \ -geenmarkering geenspatie geentest geenwitruimte geg \ -grijskleur grijswaarde haalbuffer haalmarkering haalnummer \ -haarlijn handhaafblokken herhaal hl hoofdafstand \ -hoofdhoogte hoofdtaal hoog huidigedatum huidigekopnummer \ -in inanderemarge inbinnen inbuiten indentation \ -inlijnd inlinker inlinkermarge inlinkerrand inmarge \ -inrechter inrechtermarge inrechterrand inregel inspringen \ -installeertaal instellingen interactiebalk interactiebuttons interactiemenu \ +definieertekstachtergrond definieertekstpositie definieertekstvariabele definieertype definieertypen \ +definieeruitvoer definieerveld definieerveldstapel definieerversie definieerwiskundeuitlijnen \ +description dimensie directnaarlijst directtussenlijst doordefinieren \ +doorlabelen doornummeren dunnelijn dunnelijnen eenregel \ +enumeration ergens externfiguur forceerblokken formulenummer \ +framedtext gebruikJSscripts gebruikURL gebruikXMLfilter gebruikblokken \ +gebruikcommandos gebruikexterndocument gebruikexternefile gebruikexternefiles gebruikexternfiguur \ +gebruikexterngeluidsfragment gebruikgebied gebruikmodule gebruikmodules gebruikreferenties \ +gebruikspecials gebruiksymbolen gebruiktypescript gebruiktypescriptfile gebruikurl \ +geenblokkenmeer geenbovenenonderregels geendimensie geenfilesmeer geenhoofdenvoetregels \ +geenlijst geenmarkering geenspatie geentest geenwitruimte \ +geg grijskleur grijswaarde haalbuffer haalmarkering \ +haalnummer haarlijn handhaafblokken herhaal hl \ +hoofdafstand hoofdhoogte hoofdtaal hoog huidigedatum \ +huidigekopnummer in inanderemarge inbinnen inbuiten \ +indentation inlijnd inlinker inlinkermarge inlinkerrand \ +inmarge inrechter inrechtermarge inrechterrand inregel \ +inspringen installeertaal interactiebalk interactiebuttons interactiemenu \ invullijnen invulregel invultekst invulveld inwilijnd \ items its kantlijn kap kenmerk \ kenmerkdatum kentekstvariabeletoe kleur kleurenbalk kleurwaarde \ @@ -860,10 +860,10 @@ pagina paginadiepte paginanummer paginaoffset paginareferentie \ papierbreedte papierhoogte paragraph part paslayoutaan \ passeerblokken passendveld plaatsbeeldmerken plaatsbookmarks plaatsformule \ plaatskopnummer plaatskoptekst plaatslegenda plaatslijn plaatslijst \ -plaatslokalevoetnoten plaatsnaastelkaar plaatsonderelkaar plaatsopgrid plaatspaginanummer \ -plaatsplaatsblok plaatsreferentielijst plaatsregister plaatsruwelijst plaatssamengesteldelijst \ -plaatssubformule plaatstekstvariabele plaatsvoetnoten placelistoffloats placelistofsorts \ -placelistofsynonyms positioneer positioneertekst printpapierbreedte printpapierhoogte \ +plaatslijstmetsynoniemen plaatslokalevoetnoten plaatsnaastelkaar plaatsonderelkaar plaatsopgrid \ +plaatspaginanummer plaatsplaatsblok plaatsreferentielijst plaatsregister plaatsruwelijst \ +plaatssamengesteldelijst plaatssubformule plaatstekstvariabele plaatsvoetnoten placelistoffloats \ +placelistofsorts positioneer positioneertekst printpapierbreedte printpapierhoogte \ produkt programma projekt publicatie punten \ ran randafstand randbreedte rechtermargeafstand rechtermargebreedte \ rechterrandafstand rechterrandbreedte ref refereer referentie \ @@ -883,55 +883,56 @@ startkleur startkolomgroep startkolommen startkolomopmaak startlegend \ startline startlinecorrection startlinenumbering startlines startlocal \ startlocalenvironment startlocalfootnotes startlokaal startlokalevoetnoten startmakeup \ startmargeblok startmarginblock startnaast startnamemakeup startnarrower \ -startomgeving startonderdeel startopelkaar startopmaak startopposite \ -startoverlay startoverview startoverzicht startparagraph startpositioneren \ -startpositioning startpostponing startprodukt startprofiel startprofile \ -startprojekt startraster startregel startregelcorrectie startregelnummeren \ -startregels startregister startsmaller startsymbolset startsymboolset \ -startsynchronisatie startsynchronization starttabel starttabellen starttable \ -starttables starttabulate starttekst starttekstlijn starttyping \ -startuitlijnen startunpacked startvanelkaar startversie stelachtergrondenin \ -stelachtergrondin stelalineasin stelantwoordgebiedin stelarrangerenin stelblankoin \ -stelblokin stelblokjesin stelblokkopjein stelblokkopjesin stelbovenin \ -stelboventekstenin stelbufferin stelbuttonsin stelciterenin stelclipin \ -stelcombinatiesin stelcommentaarin steldoordefinierenin steldoornummerenin steldunnelijnenin \ -stelexternefigurenin stelformulesin stelformulierenin stelhoofdin stelhoofdtekstenin \ -stelingesprongentextin stelinmargein stelinspringenin stelinteractiebalkin stelinteractiein \ -stelinteractiemenuin stelinteractieschermin stelinterliniein stelinvullijnenin stelinvulregelsin \ -stelitemgroepin stelitemsin stelkadertekstenin stelkantlijnin stelkapitalenin \ -stelkleurenin stelkleurin stelkolomgroepin stelkolomgroepregelsin stelkolomgroepstartin \ -stelkolommenin stelkopin stelkopnummerin stelkoppeltekenin stelkoppenin \ -stelkoptekstin stelkorpsin stelkorpsomgevingin stellabeltekstin stellayoutin \ -stellegendain stellijndiktein stellijnin stellijstin stelmargeblokkenin \ -stelmarkeringin stelnaastplaatsenin stelnummerenin stelnummerin stelomlijndin \ -stelonderin stelonderstrepenin stelondertekstenin stelopmaakin stelopsommingenin \ -stelpaginacommentaarin stelpaginanummerin stelpaginanummeringin stelpaginaovergangenin stelpaletin \ -stelpapierformaatin stelpapierin stelparagraafnummerenin stelplaatsblokin stelplaatsblokkenin \ -stelplaatsbloksplitsenin stelplaatsin stelpositionerenin stelprofielenin stelprogrammasin \ -stelpublicatiesin stelrastersin stelreferentielijstin stelrefererenin stelregelnummerenin \ -stelregelsin stelregisterin stelroterenin stelsamengesteldelijstin stelsectieblokin \ -stelsectiein stelsmallerin stelsorterenin stelspatieringin stelstartstopin \ -stelstrutin stelsubpaginanummerin stelsymboolsetin stelsynchronisatiebalkin stelsynchronisatiein \ -stelsynoniemenin stelsysteemin steltaalin steltabellenin steltabin \ -steltabulatiein steltekstin steltekstinhoudin steltekstlijnenin steltekstpositiein \ -stelteksttekstenin steltekstvariabelein steltolerantiein steltypein steltypenin \ -steluitlijnenin steluitvoerin stelurlin stelveldenin stelveldin \ -stelversiesin stelvoetin stelvoetnootdefinitiein stelvoetnotenin stelvoettekstenin \ -stelwiskundeuitlijnenin stelwitruimtein stopachtergrond stopalignment stopbuffer \ -stopcitaat stopcodering stopcolumns stopcombinatie stopcombination \ -stopcomment stopdescription stopdocument stopenumeration stopfigure \ -stopfloattext stopformula stopframedtext stopgeg stopglobaal \ -stophiding stopinteractiemenu stopitemgroup stopkantlijn stopkleur \ -stopkolomgroep stopkolommen stopkolomopmaak stoplegend stopline \ -stoplinecorrection stoplinenumbering stoplines stoplocal stoplocalenvironment \ -stoplocalfootnotes stoplokaal stoplokalevoetnoten stopmakeup stopmargeblok \ -stopmarginblock stopnaast stopnamemakeup stopnarrower stopomgeving \ -stoponderdeel stopopelkaar stopopmaak stopopposite stopoverlay \ -stopoverview stopoverzicht stopparagraph stoppositioneren stoppositioning \ -stoppostponing stopprodukt stopprofiel stopprofile stopprojekt \ -stopraster stopregel stopregelcorrectie stopregelnummeren stopregels \ -stopsmaller stopsymbolset stopsynchronisatie stopsynchronization stoptabel \ -stoptabellen stoptable stoptables stoptabulate stoptekst \ +startomgeving startomlijnd startonderdeel startopelkaar startopmaak \ +startopposite startoverlay startoverview startoverzicht startparagraph \ +startpositioneren startpositioning startpostponing startprodukt startprofiel \ +startprofile startprojekt startraster startregel startregelcorrectie \ +startregelnummeren startregels startregister startsmaller startsymbolset \ +startsymboolset startsynchronisatie startsynchronization starttabel starttabellen \ +starttable starttables starttabulate starttekst starttekstachtergrond \ +starttekstlijn starttyping startuitlijnen startunpacked startvanelkaar \ +startversie stelachtergrondenin stelachtergrondin stelalineasin stelantwoordgebiedin \ +stelarrangerenin stelblankoin stelblokin stelblokjesin stelblokkopjein \ +stelblokkopjesin stelbovenin stelboventekstenin stelbufferin stelbuttonsin \ +stelciterenin stelclipin stelcombinatiesin stelcommentaarin steldoordefinierenin \ +steldoornummerenin steldunnelijnenin stelexternefigurenin stelformulesin stelformulierenin \ +stelhoofdin stelhoofdtekstenin stelingesprongentextin stelinmargein stelinspringenin \ +stelinteractiebalkin stelinteractiein stelinteractiemenuin stelinteractieschermin stelinterliniein \ +stelinvullijnenin stelinvulregelsin stelitemgroepin stelitemsin stelkadertekstenin \ +stelkantlijnin stelkapitalenin stelkleurenin stelkleurin stelkolomgroepin \ +stelkolomgroepregelsin stelkolomgroepstartin stelkolommenin stelkopin stelkopnummerin \ +stelkoppeltekenin stelkoppenin stelkoptekstin stelkorpsin stelkorpsomgevingin \ +stellabeltekstin stellayoutin stellegendain stellijndiktein stellijnin \ +stellijstin stelmargeblokkenin stelmarkeringin stelnaastplaatsenin stelnummerenin \ +stelnummerin stelomlijndin stelonderin stelonderstrepenin stelondertekstenin \ +stelopmaakin stelopsommingenin stelpaginacommentaarin stelpaginanummerin stelpaginanummeringin \ +stelpaginaovergangenin stelpaletin stelpapierformaatin stelpapierin stelparagraafnummerenin \ +stelplaatsblokin stelplaatsblokkenin stelplaatsbloksplitsenin stelplaatsin stelpositionerenin \ +stelprofielenin stelprogrammasin stelpublicatiesin stelrastersin stelreferentielijstin \ +stelrefererenin stelregelnummerenin stelregelsin stelregisterin stelroterenin \ +stelsamengesteldelijstin stelsectieblokin stelsectiein stelsmallerin stelsorterenin \ +stelspatieringin stelstartstopin stelstrutin stelsubpaginanummerin stelsymboolsetin \ +stelsynchronisatiebalkin stelsynchronisatiein stelsynoniemenin stelsysteemin steltaalin \ +steltabellenin steltabin steltabulatiein steltekstachtergrondin steltekstin \ +steltekstinhoudin steltekstlijnenin steltekstpositiein stelteksttekstenin steltekstvariabelein \ +steltolerantiein steltypein steltypenin steluitlijnenin steluitvoerin \ +stelurlin stelveldenin stelveldin stelversiesin stelvoetin \ +stelvoetnootdefinitiein stelvoetnotenin stelvoettekstenin stelwiskundeuitlijnenin stelwitruimtein \ +stopachtergrond stopalignment stopbuffer stopcitaat stopcodering \ +stopcolumns stopcombinatie stopcombination stopcomment stopdescription \ +stopdocument stopenumeration stopfigure stopfloattext stopformula \ +stopframedtext stopgeg stopglobaal stophiding stopinteractiemenu \ +stopitemgroup stopkantlijn stopkleur stopkolomgroep stopkolommen \ +stopkolomopmaak stoplegend stopline stoplinecorrection stoplinenumbering \ +stoplines stoplocal stoplocalenvironment stoplocalfootnotes stoplokaal \ +stoplokalevoetnoten stopmakeup stopmargeblok stopmarginblock stopnaast \ +stopnamemakeup stopnarrower stopomgeving stopomlijnd stoponderdeel \ +stopopelkaar stopopmaak stopopposite stopoverlay stopoverview \ +stopoverzicht stopparagraph stoppositioneren stoppositioning stoppostponing \ +stopprodukt stopprofiel stopprofile stopprojekt stopraster \ +stopregel stopregelcorrectie stopregelnummeren stopregels stopsmaller \ +stopsymbolset stopsynchronisatie stopsynchronization stoptabel stoptabellen \ +stoptable stoptables stoptabulate stoptekst stoptekstachtergrond \ stoptekstlijn stoptyping stopuitlijnen stopunpacked stopvanelkaar \ stopversie sub subformulenummer subject subpaginanummer \ subsection subsubject subsubsection subsubsubject suggestie \ @@ -1002,119 +1003,119 @@ useXMLfilter usedirectory useurl آفست‌صفحه آیتم \ استفاده‌ویژگیها استفاده‌پرونده‌خارجی استفاده‌پرونده‌دستخط‌تایپ استفاده‌پرونده‌های‌خارجی اعدادلاتین \ افزودن اما امتحان‌نکن انتخاب‌برگ انتخاب‌بلوکها \ انتخاب‌نسخه انتقال‌به‌توری انتقال‌فرمول انتقال‌کنار‌شناور انجام‌دوباره \ -بارگذاریها بارگذاری‌آرایش بارگذاری‌آیتمها بارگذاری‌ارجاع بارگذاری‌اندازه‌برگ \ -بارگذاری‌باریکتر بارگذاری‌بافر بارگذاری‌بالا بارگذاری‌بخش بارگذاری‌بردباری \ -بارگذاری‌برنامه‌ها بارگذاری‌برگ بارگذاری‌بست بارگذاری‌بلوک بارگذاری‌بلوکهای‌حاشیه \ -بارگذاری‌بلوک‌بخش بارگذاری‌تایپ بارگذاری‌تایپ‌کردن بارگذاری‌تب بارگذاری‌ترتیب \ -بارگذاری‌ترکیب‌ها بارگذاری‌تطابق بارگذاری‌تعریف‌پانوشت بارگذاری‌تنظیم بارگذاری‌تنظیم‌ریاضی \ -بارگذاری‌ته‌برگ بارگذاری‌تورفتگی بارگذاری‌توضیح بارگذاری‌توضیح‌صفحه بارگذاری‌ثبت \ -بارگذاری‌جانشانی بارگذاری‌جدولها بارگذاری‌جدول‌بندی بارگذاری‌خالی بارگذاری‌خروجی \ -بارگذاری‌خط بارگذاری‌خطها بارگذاری‌خطهای‌حاشیه بارگذاری‌خطهای‌سیاه بارگذاری‌خطهای‌متن \ -بارگذاری‌خطهای‌مجموعه‌ستون بارگذاری‌خطها‌ی‌نازک بارگذاری‌درج‌درخطها بارگذاری‌درج‌مخالف بارگذاری‌درون‌حاشیه \ -بارگذاری‌دوران بارگذاری‌دکمه‌ها بارگذاری‌راهنما بارگذاری‌رنگ بارگذاری‌رنگها \ -بارگذاری‌زبان بارگذاری‌ستونها بارگذاری‌سر بارگذاری‌سربرگ بارگذاری‌سرها \ -بارگذاری‌سیستم بارگذاری‌شرح بارگذاری‌شرحها بارگذاری‌شروع‌مجموعه‌ستون بارگذاری‌شروع‌پایان \ -بارگذاری‌شماره بارگذاری‌شماره‌زیرصفحه بارگذاری‌شماره‌سر بارگذاری‌شماره‌صفحه بارگذاری‌شماره‌گذاری \ -بارگذاری‌شماره‌گذاریها بارگذاری‌شماره‌گذاری‌صفحه بارگذاری‌شماره‌گذاری‌پاراگراف بارگذاری‌شماره‌‌گذاری‌خط بارگذاری‌شناور \ -بارگذاری‌شناورها بارگذاری‌شکافتن‌شناورها بارگذاری‌شکلهای‌خارجی بارگذاری‌طرح بارگذاری‌طرح‌بندی \ -بارگذاری‌عرض‌خط بارگذاری‌فاصله‌بین‌خط بارگذاری‌فرمولها بارگذاری‌فضای‌سفید بارگذاری‌فضا‌گذاری \ -بارگذاری‌قالبی بارگذاری‌قلم‌متن بارگذاری‌لوح بارگذاری‌لیست بارگذاری‌لیست‌ترکیبی \ -بارگذاری‌لیست‌مرجع بارگذاری‌مترادفها بارگذاری‌متغیر‌متن بارگذاری‌متن بارگذاری‌متنهای‌بالا \ -بارگذاری‌متن‌سر بارگذاری‌متن‌سربرگ بارگذاری‌متن‌قالبی بارگذاری‌متن‌متنها بارگذاری‌متن‌پانوشت \ -بارگذاری‌متن‌پایین بارگذاری‌مجموعه‌ستون بارگذاری‌مجموعه‌نماد بارگذاری‌محیط‌قلم‌متن بارگذاری‌منوی‌پانل \ -بارگذاری‌مکان‌متن بارگذاری‌مکان‌گذاری بارگذاری‌میدان بارگذاری‌میدانها بارگذاری‌میله‌تطابق \ -بارگذاری‌میله‌زیر بارگذاری‌میله‌پانل بارگذاری‌نسخه‌ها بارگذاری‌نشانه‌شکستن بارگذاری‌نشانه‌گذاری \ -بارگذاری‌نشرها بارگذاری‌نقل بارگذاری‌پاراگرافها بارگذاری‌پانل بارگذاری‌پانوشتها \ -بارگذاری‌پایین بارگذاری‌پرده‌ها بارگذاری‌پرده‌پانل بارگذاری‌پروفایلها بارگذاری‌پرکردن‌خطها \ -بارگذاری‌پس‌زمینه بارگذاری‌پس‌زمینه‌ها بارگذاری‌چیدن بارگذاری‌گذارصفحه بارگذاری‌گروههای‌آیتم \ -بارگذاری‌گروه‌آیتم بازنشانی بازنشانی‌شماره بازنشانی‌متن بازنشانی‌نشانه‌گذاری \ -باگذاری‌متن‌برچسب بدون‌بعد بدون‌بلوکهای‌بیشتر بدون‌تورفتگی بدون‌خط‌بالاوپایین \ -بدون‌خط‌سروته‌برگ بدون‌فایلهای‌بیشتر بدون‌فضا بدون‌فضای‌سفید بدون‌لیست \ -بدون‌نشانه‌گذاری برنامه بروبه بروبه‌جعبه بروبه‌صفحه \ -بروپایین برچسب برچسبها بعد بلند \ -بلوکهای‌پردازش بلوکها‌پنهان بنویس‌بین‌لیست بنویس‌درثبت بنویس‌درلیست‌مرجع \ -بنویس‌در‌لیست تاریخ تاریخ‌جاری تاریخ‌رجوع تایپ \ -تایپ‌بافر تایپ‌پرونده تب ترجمه تطابق \ -تعریف تعریف‌آرایش تعریف‌آرم تعریف‌الگوی‌جدول تعریف‌اندازه‌برگ \ -تعریف‌بافر تعریف‌بخش تعریف‌برنامه تعریف‌برچسب تعریف‌بلوک \ -تعریف‌بلوک‌بخش تعریف‌تایپ تعریف‌تایپ‌کردن تعریف‌تبدیل تعریف‌ترتیب \ -تعریف‌ترکیب تعریف‌تنظیم‌ریاضی تعریف‌توده‌میدان تعریف‌ثبت تعریف‌جانشانی \ -تعریف‌جدول‌بندی تعریف‌جعبه‌‌افقی تعریف‌حرف تعریف‌خالی تعریف‌خروجی \ -تعریف‌خط‌حائل تعریف‌درون‌حاشیه تعریف‌رنگ تعریف‌زیرمیدان تعریف‌سبک \ -تعریف‌سبک‌قلم تعریف‌سر تعریف‌شرح تعریف‌شروع‌پایان تعریف‌شماره‌بندی \ -تعریف‌شمایل‌مرجع تعریف‌شناور تعریف‌شکستن‌ستون تعریف‌شکست‌صفحه تعریف‌طرح‌بندی \ -تعریف‌فرمان تعریف‌قالبی تعریف‌قلم تعریف‌قلم‌خام تعریف‌قلم‌متن \ -تعریف‌لایه تعریف‌لهجه تعریف‌لوح تعریف‌لیست تعریف‌لیست‌ترکیبی \ -تعریف‌لیست‌مرجع تعریف‌مترادفها تعریف‌مترادف‌قلم تعریف‌متغیرمتن تعریف‌متن \ -تعریف‌متن‌قالبی تعریف‌مجموعه‌ستون تعریف‌محیط‌قلم‌بدنه تعریف‌مرجع تعریف‌منوی‌پانل \ -تعریف‌مکان‌متن تعریف‌میدان تعریف‌میدان‌اصلی تعریف‌نسخه تعریف‌نشانه‌گذاری \ -تعریف‌نماد تعریف‌نمادشکل تعریف‌پاراگرافها تعریف‌پروفایل تعریف‌پوشش \ -تعریف‌گروه‌آیتم تعریف‌گروه‌رنگ تعیین‌شماره تعیین‌شماره‌سر تعیین‌متغیر‌متن \ -تعیین‌محتوای‌متن تعیین‌مشخصات‌ثبت تعیین‌مشخصات‌لیست تغییربه‌قلم‌بدنه تغییربه‌قلم‌خام \ -تنظیم‌راست تنظیم‌طرح‌بندی تنظیم‌وسط توجه تورفتگی \ -توری تولید تک ثبت‌زوج ثبت‌کامل \ -جداسازی‌نشانه‌گذاری حاش حرف حرفها حفظ‌بلوکها \ -حقیقت خالی خطهای‌سیاه خطهای‌نازک خطها‌خالی \ -خط‌حاشیه خط‌سیاه خط‌متن خط‌مو خط‌نازک \ -خ‌ا خ‌ع در درج‌آرمها درج‌ثبت \ -درج‌خط درج‌درخط درج‌درخطها درج‌درمتن درج‌درمیدان \ -درج‌در‌بالای‌یکدیگر درج‌در‌توری درج‌راهنما درج‌زیرفرمول درج‌شماره‌سر \ -درج‌شماره‌صفحه درج‌شناور درج‌فرمول درج‌لیست درج‌لیست‌خام \ -درج‌لیست‌مختلط درج‌لیست‌مرجع درج‌متغیرمتن درج‌متن‌سر درج‌پانوشتها \ -درج‌پانوشتهای‌موضعی درج‌چوب‌خط درج‌کنار‌به‌کنار درحاشیه درحاشیه‌دیگر \ -درحاشیه‌راست درحاشیه‌چپ درخارجی درخط درداخلی \ -درراست درصفحه درقالبی درلبه‌راست درلبه‌چپ \ -درمورد درون درپر درچپ دریافت‌بافر \ -دریافت‌شماره دریافت‌نشانه دوران دکمه دکمه‌منو \ -دکمه‌پانل رج رجوع رنگ رنگ‌خاکستری \ -روزهفته ریاضی زبان زبان‌اصلی ستون \ -ستون‌امتحان سر سرپوش‌کوچک‌نه شروع‌آرایش شروع‌آرایش‌ستون \ -شروع‌باریکتر شروع‌بازبینی شروع‌بلوک‌حاشیه شروع‌ترکیب شروع‌تصحیح‌خط \ -شروع‌تطابق شروع‌تنظیم شروع‌تولید شروع‌جدول شروع‌جدولها \ -شروع‌خط شروع‌خطها شروع‌خط‌حاشیه شروع‌خط‌متن شروع‌رنگ \ -شروع‌ستونها شروع‌سراسری شروع‌شماره‌گذاری‌خط شروع‌شکل شروع‌غیر‌فشرده \ -شروع‌فشرده شروع‌متن شروع‌مجموعه‌ستون شروع‌مجموعه‌نماد شروع‌محیط \ -شروع‌مخالف شروع‌موضعی شروع‌مولفه شروع‌مکان‌گذاری شروع‌نسخه \ -شروع‌نقل‌قول شروع‌نوشتار شروع‌پانوشتهای‌موضعی شروع‌پروفایل شروع‌پروژه \ -شروع‌پس‌زمینه شروع‌پوشش شروع‌کد شماره‌افزایش شماره‌زیرصفحه \ -شماره‌زیرفرمول شماره‌سر شماره‌سرجاری شماره‌صفحه شماره‌صفحه‌کامل \ -شماره‌فرمول شماره‌مبدل شماره‌ها شماره‌کاهش شماره‌کل‌صفحه‌ها \ -شکافتن‌شناور شکل‌خارجی صفحه صفحه‌تست صفحه‌زوج \ -صفحه‌پردازش طول‌لیست عبوربلوکها عرض‌آرایش عرض‌برگ \ -عرض‌حاشیه عرض‌حاشیه‌خارجی عرض‌حاشیه‌داخلی عرض‌حاشیه‌راست عرض‌حاشیه‌چپ \ -عرض‌خط عرض‌لبه عرض‌لبه‌خارجی عرض‌لبه‌داخلی عرض‌لبه‌راست \ -عرض‌لبه‌چپ عرض‌لیست عرض‌متن عمق‌صفحه عنوان‌حاشیه \ -فاصله‌بالا فاصله‌ته‌برگ فاصله‌حاشیه فاصله‌حاشیه‌خارجی فاصله‌حاشیه‌داخلی \ -فاصله‌حاشیه‌راست فاصله‌حاشیه‌چپ فاصله‌سربرگ فاصله‌لبه فاصله‌لبه‌خارجی \ -فاصله‌لبه‌داخلی فاصله‌لبه‌راست فاصله‌لبه‌چپ فاصله‌پایین فاصله‌پشت \ -فشرده فضا فضاهای‌ثابت فضای‌بالا فضای‌برش \ -فضای‌ثابت فضای‌سفید فضای‌سفیدصحیح فضای‌پایین فوری‌به‌لیست \ -فوری‌بین‌لیست قالبی لوح‌مقایسه ماه متغیر متن \ -متن‌برچسب متن‌حاشیه متن‌سر متن‌پانوشت محیط \ -مراجعه مرجع مرجع‌صفحه مرجع‌متن مرحله‌سر \ -مسکن معنی‌واحد مقایسه‌گروه‌رنگ مقدارخاکستری مقداررنگ \ -مقیاس منفی منوی‌پانل مولفه مکان \ -مکان‌متن میدان میدانهای‌گزارش میدان‌شبیه‌سازی میدان‌پشته \ -میدان‌کپی میله‌تطابق میله‌رنگ میله‌پانل ناشناس \ -نام‌ماکرو نسخه نسخه‌نشانه نشانه‌گذاری نشانه‌گذاری‌زوج \ -نشر نصب‌زبان نقطه‌ها نقل نقل‌قول \ -نم نماد نمادسر نمادلیست نمایش‌آرایش \ -نمایش‌بارگذاریها نمایش‌بستها نمایش‌توری نمایش‌رنگ نمایش‌شکلهای‌خارجی \ -نمایش‌طرح‌بندی نمایش‌قالب نمایش‌قلم‌بدنه نمایش‌لوح نمایش‌مجموعه‌علامت \ -نمایش‌محیط‌قلم‌بدنه نمایش‌میدانها نمایش‌چاپ نمایش‌گروه‌رنگ نوشتارزوج \ -هدایت پا پابا پانوشت پایان‌آرایش \ -پایان‌آرایش‌ستون پایان‌بازبینی پایان‌بلوک‌حاشیه پایان‌ترکیب پایان‌تصحیح‌خط \ -پایان‌تطابق پایان‌تنظیم پایان‌تولید پایان‌جدول پایان‌جدولها \ -پایان‌خط پایان‌خطها پایان‌خط‌حاشیه پایان‌خط‌متن پایان‌رنگ \ -پایان‌ستونها پایان‌سراسری پایان‌شماره‌گذاری‌خط پایان‌غیرفشرده پایان‌فشرده \ -پایان‌متن پایان‌مجموعه‌ستون پایان‌محیط پایان‌مخالف پایان‌موضعی \ -پایان‌مولفه پایان‌مکان‌گذاری پایان‌نازکتر پایان‌نسخه پایان‌نقل‌قول \ -پایان‌نوشتار پایان‌پانوشتهای‌موضعی پایان‌پروفایل پایان‌پروژه پایان‌پس‌زمینه \ -پایان‌پوشش پایان‌کد پایین پرده پروژه \ -پرکردن‌میدان پس‌زمینه پیروی‌نسخه پیروی‌نسخه‌پروفایل پیروی‌پروفایل \ -چاپ‌ارتفاع‌برگ چاپ‌عرض‌برگ چوبخط چپ‌چین کاغذزوج \ -کسر کشیده کلمه‌حاشیه کلمه‌راست گیره \ -یادداشت یک‌جا یک‌خط +بارگذاری‌آرایش بارگذاری‌آیتمها بارگذاری‌ارجاع بارگذاری‌اندازه‌برگ بارگذاری‌باریکتر \ +بارگذاری‌بافر بارگذاری‌بالا بارگذاری‌بخش بارگذاری‌بردباری بارگذاری‌برنامه‌ها \ +بارگذاری‌برگ بارگذاری‌بست بارگذاری‌بلوک بارگذاری‌بلوکهای‌حاشیه بارگذاری‌بلوک‌بخش \ +بارگذاری‌تایپ بارگذاری‌تایپ‌کردن بارگذاری‌تب بارگذاری‌ترتیب بارگذاری‌ترکیب‌ها \ +بارگذاری‌تطابق بارگذاری‌تعریف‌پانوشت بارگذاری‌تنظیم بارگذاری‌تنظیم‌ریاضی بارگذاری‌ته‌برگ \ +بارگذاری‌تورفتگی بارگذاری‌توضیح بارگذاری‌توضیح‌صفحه بارگذاری‌ثبت بارگذاری‌جانشانی \ +بارگذاری‌جدولها بارگذاری‌جدول‌بندی بارگذاری‌خالی بارگذاری‌خروجی بارگذاری‌خط \ +بارگذاری‌خطها بارگذاری‌خطهای‌حاشیه بارگذاری‌خطهای‌سیاه بارگذاری‌خطهای‌متن بارگذاری‌خطهای‌مجموعه‌ستون \ +بارگذاری‌خطها‌ی‌نازک بارگذاری‌درج‌درخطها بارگذاری‌درج‌مخالف بارگذاری‌درون‌حاشیه بارگذاری‌دوران \ +بارگذاری‌دکمه‌ها بارگذاری‌راهنما بارگذاری‌رنگ بارگذاری‌رنگها بارگذاری‌زبان \ +بارگذاری‌ستونها بارگذاری‌سر بارگذاری‌سربرگ بارگذاری‌سرها بارگذاری‌سیستم \ +بارگذاری‌شرح بارگذاری‌شرحها بارگذاری‌شروع‌مجموعه‌ستون بارگذاری‌شروع‌پایان بارگذاری‌شماره \ +بارگذاری‌شماره‌زیرصفحه بارگذاری‌شماره‌سر بارگذاری‌شماره‌صفحه بارگذاری‌شماره‌گذاری بارگذاری‌شماره‌گذاریها \ +بارگذاری‌شماره‌گذاری‌صفحه بارگذاری‌شماره‌گذاری‌پاراگراف بارگذاری‌شماره‌‌گذاری‌خط بارگذاری‌شناور بارگذاری‌شناورها \ +بارگذاری‌شکافتن‌شناورها بارگذاری‌شکلهای‌خارجی بارگذاری‌طرح بارگذاری‌طرح‌بندی بارگذاری‌عرض‌خط \ +بارگذاری‌فاصله‌بین‌خط بارگذاری‌فرمولها بارگذاری‌فضای‌سفید بارگذاری‌فضا‌گذاری بارگذاری‌قالبی \ +بارگذاری‌قلم‌متن بارگذاری‌لوح بارگذاری‌لیست بارگذاری‌لیست‌ترکیبی بارگذاری‌لیست‌مرجع \ +بارگذاری‌مترادفها بارگذاری‌متغیر‌متن بارگذاری‌متن بارگذاری‌متنهای‌بالا بارگذاری‌متن‌سر \ +بارگذاری‌متن‌سربرگ بارگذاری‌متن‌قالبی بارگذاری‌متن‌متنها بارگذاری‌متن‌پانوشت بارگذاری‌متن‌پایین \ +بارگذاری‌مجموعه‌ستون بارگذاری‌مجموعه‌نماد بارگذاری‌محیط‌قلم‌متن بارگذاری‌منوی‌پانل بارگذاری‌مکان‌متن \ +بارگذاری‌مکان‌گذاری بارگذاری‌میدان بارگذاری‌میدانها بارگذاری‌میله‌تطابق بارگذاری‌میله‌زیر \ +بارگذاری‌میله‌پانل بارگذاری‌نسخه‌ها بارگذاری‌نشانه‌شکستن بارگذاری‌نشانه‌گذاری بارگذاری‌نشرها \ +بارگذاری‌نقل بارگذاری‌پاراگرافها بارگذاری‌پانل بارگذاری‌پانوشتها بارگذاری‌پایین \ +بارگذاری‌پرده‌ها بارگذاری‌پرده‌پانل بارگذاری‌پروفایلها بارگذاری‌پرکردن‌خطها بارگذاری‌پس‌زمینه \ +بارگذاری‌پس‌زمینه‌ها بارگذاری‌چیدن بارگذاری‌گذارصفحه بارگذاری‌گروههای‌آیتم بارگذاری‌گروه‌آیتم \ +بازنشانی بازنشانی‌شماره بازنشانی‌متن بازنشانی‌نشانه‌گذاری باگذاری‌متن‌برچسب \ +بدون‌بعد بدون‌بلوکهای‌بیشتر بدون‌تورفتگی بدون‌خط‌بالاوپایین بدون‌خط‌سروته‌برگ \ +بدون‌فایلهای‌بیشتر بدون‌فضا بدون‌فضای‌سفید بدون‌لیست بدون‌نشانه‌گذاری \ +برنامه بروبه بروبه‌جعبه بروبه‌صفحه بروپایین \ +برچسب برچسبها بعد بلند بلوکهای‌پردازش \ +بلوکها‌پنهان بنویس‌بین‌لیست بنویس‌درثبت بنویس‌درلیست‌مرجع بنویس‌در‌لیست \ +تاریخ تاریخ‌جاری تاریخ‌رجوع تایپ تایپ‌بافر \ +تایپ‌پرونده تب ترجمه تطابق تعریف \ +تعریف‌آرایش تعریف‌آرم تعریف‌الگوی‌جدول تعریف‌اندازه‌برگ تعریف‌بافر \ +تعریف‌بخش تعریف‌برنامه تعریف‌برچسب تعریف‌بلوک تعریف‌بلوک‌بخش \ +تعریف‌تایپ تعریف‌تایپ‌کردن تعریف‌تبدیل تعریف‌ترتیب تعریف‌ترکیب \ +تعریف‌تنظیم‌ریاضی تعریف‌توده‌میدان تعریف‌ثبت تعریف‌جانشانی تعریف‌جدول‌بندی \ +تعریف‌جعبه‌‌افقی تعریف‌حرف تعریف‌خالی تعریف‌خروجی تعریف‌خط‌حائل \ +تعریف‌درون‌حاشیه تعریف‌رنگ تعریف‌زیرمیدان تعریف‌سبک تعریف‌سبک‌قلم \ +تعریف‌سر تعریف‌شرح تعریف‌شروع‌پایان تعریف‌شماره‌بندی تعریف‌شمایل‌مرجع \ +تعریف‌شناور تعریف‌شکستن‌ستون تعریف‌شکست‌صفحه تعریف‌طرح‌بندی تعریف‌فرمان \ +تعریف‌قالبی تعریف‌قلم تعریف‌قلم‌خام تعریف‌قلم‌متن تعریف‌لایه \ +تعریف‌لهجه تعریف‌لوح تعریف‌لیست تعریف‌لیست‌ترکیبی تعریف‌لیست‌مرجع \ +تعریف‌مترادفها تعریف‌مترادف‌قلم تعریف‌متغیرمتن تعریف‌متن تعریف‌متن‌قالبی \ +تعریف‌مجموعه‌ستون تعریف‌محیط‌قلم‌بدنه تعریف‌مرجع تعریف‌منوی‌پانل تعریف‌مکان‌متن \ +تعریف‌میدان تعریف‌میدان‌اصلی تعریف‌نسخه تعریف‌نشانه‌گذاری تعریف‌نماد \ +تعریف‌نمادشکل تعریف‌پاراگرافها تعریف‌پروفایل تعریف‌پوشش تعریف‌گروه‌آیتم \ +تعریف‌گروه‌رنگ تعیین‌شماره تعیین‌شماره‌سر تعیین‌متغیر‌متن تعیین‌محتوای‌متن \ +تعیین‌مشخصات‌ثبت تعیین‌مشخصات‌لیست تغییربه‌قلم‌بدنه تغییربه‌قلم‌خام تنظیم‌راست \ +تنظیم‌طرح‌بندی تنظیم‌وسط توجه تورفتگی توری \ +تولید تک ثبت‌زوج ثبت‌کامل جداسازی‌نشانه‌گذاری \ +حاش حرف حرفها حفظ‌بلوکها حقیقت \ +خالی خطهای‌سیاه خطهای‌نازک خطها‌خالی خط‌حاشیه \ +خط‌سیاه خط‌متن خط‌مو خط‌نازک خ‌ا \ +خ‌ع در درج‌آرمها درج‌ثبت درج‌خط \ +درج‌درخط درج‌درخطها درج‌درمتن درج‌درمیدان درج‌در‌بالای‌یکدیگر \ +درج‌در‌توری درج‌راهنما درج‌زیرفرمول درج‌شماره‌سر درج‌شماره‌صفحه \ +درج‌شناور درج‌فرمول درج‌لیست درج‌لیست‌خام درج‌لیست‌مختلط \ +درج‌لیست‌مرجع درج‌متغیرمتن درج‌متن‌سر درج‌پانوشتها درج‌پانوشتهای‌موضعی \ +درج‌چوب‌خط درج‌کنار‌به‌کنار درحاشیه درحاشیه‌دیگر درحاشیه‌راست \ +درحاشیه‌چپ درخارجی درخط درداخلی درراست \ +درصفحه درقالبی درلبه‌راست درلبه‌چپ درمورد \ +درون درپر درچپ دریافت‌بافر دریافت‌شماره \ +دریافت‌نشانه دوران دکمه دکمه‌منو دکمه‌پانل \ +رج رجوع رنگ رنگ‌خاکستری روزهفته \ +ریاضی زبان زبان‌اصلی ستون ستون‌امتحان \ +سر سرپوش‌کوچک‌نه شروع‌آرایش شروع‌آرایش‌ستون شروع‌باریکتر \ +شروع‌بازبینی شروع‌بلوک‌حاشیه شروع‌ترکیب شروع‌تصحیح‌خط شروع‌تطابق \ +شروع‌تنظیم شروع‌تولید شروع‌جدول شروع‌جدولها شروع‌خط \ +شروع‌خطها شروع‌خط‌حاشیه شروع‌خط‌متن شروع‌رنگ شروع‌ستونها \ +شروع‌سراسری شروع‌شماره‌گذاری‌خط شروع‌شکل شروع‌غیر‌فشرده شروع‌فشرده \ +شروع‌متن شروع‌مجموعه‌ستون شروع‌مجموعه‌نماد شروع‌محیط شروع‌مخالف \ +شروع‌موضعی شروع‌مولفه شروع‌مکان‌گذاری شروع‌نسخه شروع‌نقل‌قول \ +شروع‌نوشتار شروع‌پانوشتهای‌موضعی شروع‌پروفایل شروع‌پروژه شروع‌پس‌زمینه \ +شروع‌پوشش شروع‌کد شماره‌افزایش شماره‌زیرصفحه شماره‌زیرفرمول \ +شماره‌سر شماره‌سرجاری شماره‌صفحه شماره‌صفحه‌کامل شماره‌فرمول \ +شماره‌مبدل شماره‌ها شماره‌کاهش شماره‌کل‌صفحه‌ها شکافتن‌شناور \ +شکل‌خارجی صفحه صفحه‌تست صفحه‌زوج صفحه‌پردازش \ +طول‌لیست عبوربلوکها عرض‌آرایش عرض‌برگ عرض‌حاشیه \ +عرض‌حاشیه‌خارجی عرض‌حاشیه‌داخلی عرض‌حاشیه‌راست عرض‌حاشیه‌چپ عرض‌خط \ +عرض‌لبه عرض‌لبه‌خارجی عرض‌لبه‌داخلی عرض‌لبه‌راست عرض‌لبه‌چپ \ +عرض‌لیست عرض‌متن عمق‌صفحه عنوان‌حاشیه فاصله‌بالا \ +فاصله‌ته‌برگ فاصله‌حاشیه فاصله‌حاشیه‌خارجی فاصله‌حاشیه‌داخلی فاصله‌حاشیه‌راست \ +فاصله‌حاشیه‌چپ فاصله‌سربرگ فاصله‌لبه فاصله‌لبه‌خارجی فاصله‌لبه‌داخلی \ +فاصله‌لبه‌راست فاصله‌لبه‌چپ فاصله‌پایین فاصله‌پشت فشرده \ +فضا فضاهای‌ثابت فضای‌بالا فضای‌برش فضای‌ثابت \ +فضای‌سفید فضای‌سفیدصحیح فضای‌پایین فوری‌به‌لیست فوری‌بین‌لیست \ +قالبی لوح‌مقایسه ماه متغیر متن متن‌برچسب \ +متن‌حاشیه متن‌سر متن‌پانوشت محیط مراجعه \ +مرجع مرجع‌صفحه مرجع‌متن مرحله‌سر مسکن \ +معنی‌واحد مقایسه‌گروه‌رنگ مقدارخاکستری مقداررنگ مقیاس \ +منفی منوی‌پانل مولفه مکان مکان‌متن \ +میدان میدانهای‌گزارش میدان‌شبیه‌سازی میدان‌پشته میدان‌کپی \ +میله‌تطابق میله‌رنگ میله‌پانل ناشناس نام‌ماکرو \ +نسخه نسخه‌نشانه نشانه‌گذاری نشانه‌گذاری‌زوج نشر \ +نصب‌زبان نقطه‌ها نقل نقل‌قول نم \ +نماد نمادسر نمادلیست نمایش‌آرایش نمایش‌بارگذاریها \ +نمایش‌بستها نمایش‌توری نمایش‌رنگ نمایش‌شکلهای‌خارجی نمایش‌طرح‌بندی \ +نمایش‌قالب نمایش‌قلم‌بدنه نمایش‌لوح نمایش‌مجموعه‌علامت نمایش‌محیط‌قلم‌بدنه \ +نمایش‌میدانها نمایش‌چاپ نمایش‌گروه‌رنگ نوشتارزوج هدایت \ +پا پابا پانوشت پایان‌آرایش پایان‌آرایش‌ستون \ +پایان‌بازبینی پایان‌بلوک‌حاشیه پایان‌ترکیب پایان‌تصحیح‌خط پایان‌تطابق \ +پایان‌تنظیم پایان‌تولید پایان‌جدول پایان‌جدولها پایان‌خط \ +پایان‌خطها پایان‌خط‌حاشیه پایان‌خط‌متن پایان‌رنگ پایان‌ستونها \ +پایان‌سراسری پایان‌شماره‌گذاری‌خط پایان‌غیرفشرده پایان‌فشرده پایان‌متن \ +پایان‌مجموعه‌ستون پایان‌محیط پایان‌مخالف پایان‌موضعی پایان‌مولفه \ +پایان‌مکان‌گذاری پایان‌نازکتر پایان‌نسخه پایان‌نقل‌قول پایان‌نوشتار \ +پایان‌پانوشتهای‌موضعی پایان‌پروفایل پایان‌پروژه پایان‌پس‌زمینه پایان‌پوشش \ +پایان‌کد پایین پرده پروژه پرکردن‌میدان \ +پس‌زمینه پیروی‌نسخه پیروی‌نسخه‌پروفایل پیروی‌پروفایل چاپ‌ارتفاع‌برگ \ +چاپ‌عرض‌برگ چوبخط چپ‌چین کاغذزوج کسر \ +کشیده کلمه‌حاشیه کلمه‌راست گیره یادداشت \ +یک‌جا یک‌خط keywordclass.context.ro=\ CAP CUVANT CUVINTE Cap \ @@ -1204,73 +1205,73 @@ roteste saripesteblocuri scala scriebuffer scrieinlista \ scrieinlistareferinte scrieinregistru scrieintreliste section seeregister \ selecteazablocuri selecteazahartie selecteazaversiune semncarte setarebarasincronizare \ setareitemization setarelimba setareoutput setarepozitie setaresincronizare \ -setari seteazaaliniat seteazaalinierea seteazaantet seteazaaranjareapag \ -seteazaaspect seteazabarainteractiune seteazablanc seteazabloc seteazablocsectiune \ -seteazablocurimarginale seteazabuffer seteazabutoane seteazacamp seteazacampuri \ -seteazaclipping seteazacoloane seteazacombinari seteazacomentariu seteazacomentariupagina \ -seteazaculoare seteazaculori seteazadefinireanotasubsol seteazadescriere seteazadimensiunihartie \ -seteazaecrane seteazaecraninteractiune seteazaelemente seteazaenumerare seteazafiguriexterne \ -seteazafloat seteazafloats seteazafonttext seteazaformulare seteazaformule \ -seteazafundal seteazafundaluri seteazagrosimelinie seteazaimpartireafloat seteazainconjurat \ -seteazaingust seteazainteractiunea seteazajos seteazalegenda seteazalegendele \ -seteazaliniesilabe seteazaliniesubtire seteazalinii seteazaliniimargine seteazaliniinegre \ -seteazaliniiumplere seteazalista seteazalistacombinata seteazalistareferinte seteazamajuscule \ -seteazamakeup seteazamarcaje seteazamarginal seteazamediulfonttext seteazameniuinteractiune \ -seteazaminicitat seteazanotasubsol seteazanumarpagina seteazanumarsubpagina seteazanumartitlu \ -seteazanumerotare seteazanumerotarelinii seteazanumerotarepagina seteazanumerotareparagrafe seteazapaleta \ -seteazaparagrafe seteazaplasareaopozita seteazapozitietext seteazaprofile seteazaprograme \ -seteazapublicatii seteazareferinte seteazaregistru seteazarigla seteazarigletext \ -seteazarigleumplere seteazarotare seteazasectiune seteazasimbol seteazasinonime \ -seteazasistem seteazasortare seteazaspatiu seteazaspatiualb seteazaspatiuinterliniar \ -seteazastrut seteazasublinie seteazasubsol seteazasus seteazatab \ -seteazatabele seteazatabulatori seteazatext seteazatexteantet seteazatextejos \ -seteazatextesubsol seteazatextesus seteazatextetext seteazatexteticheta seteazatexttitlu \ -seteazatitlu seteazatitluri seteazatoleranta seteazatranzitiepagina seteazatype \ -seteazatyping seteazaurl seteazavariabilatext seteazaversiuni setnumber \ -settextcontent setupanswerarea setupcolumnset setupcolumnsetlines setupcolumnsetstart \ -setupfonthandling setupfontsynonym setupindentedtext setupinterlinespace2 setupitemgroup \ -setuplistalternative setupmathalignment setupnumber setuppaper setupplacement \ -setupstartstop setvariabilatext sim simbol sincronizeaza \ -sort spatiifixate spatiu spatiualb spatiufixat \ -spatiujos spatiuspate spatiusus startalignment startaliniere \ -startblocmarginal startbuffer startcitat startcodificare startcoloane \ -startcolumnmakeup startcolumns startcolumnset startcombinare startcombination \ -startcomment startcomponenta startcorectielinie startculoare startdescription \ -startdocument startenumeration startfact startfigura startfigure \ -startfloattext startformula startframedtext startfundal startglobal \ -starthiding startimpachetat startingust startitemgroup startlegend \ -startline startlinecorrection startlinenumbering startlines startlinie \ -startliniemargine startlinii startlocal startlocalenvironment startlocalfootnotes \ -startmakeup startmarginblock startmediu startmeniuinteractiune startnamemakeup \ -startnarrower startneimpachetat startnotesubsollocale startnumerotarelinii startopozit \ -startopposite startoverlay startoverview startparagraph startpositioning \ -startpostponing startpozitionare startprodus startprofil startprofile \ -startproiect startraster startregister startriglatext startsetsimboluri \ -startsincronizare startsymbolset startsynchronization starttabel starttabele \ -starttable starttables starttabulate starttext starttyping \ -startunpacked startversiune stivacampuri stopalignment stopaliniere \ -stopblobal stopblocmarginal stopbuffer stopcitat stopcodificare \ -stopcoloane stopcolumnmakeup stopcolumns stopcolumnset stopcombinare \ -stopcombination stopcomment stopcomponenta stopcorectielinie stopculoare \ -stopdescription stopdocument stopenumeration stopfact stopfigure \ -stopfloattext stopformula stopframedtext stopfundal stophiding \ -stopimpachetat stopingust stopitemgroup stoplegend stopline \ -stoplinecorrection stoplinenumbering stoplines stoplinie stopliniemargine \ -stoplinii stoplocal stoplocalenvironment stoplocalfootnotes stopmakeup \ -stopmarginblock stopmediu stopmeniuinteractiune stopnamemakeup stopnarrower \ -stopneimpachetat stopnotesubsollocale stopnumerotarelinii stopopozit stopopposite \ -stopoverlay stopoverview stopparagraph stoppositioning stoppostponing \ -stoppozitionare stopprodus stopprofil stopprofile stopproiect \ -stopraster stopriglatext stopsincronizare stopsymbolset stopsynchronization \ -stoptabel stoptabele stoptable stoptables stoptabulate \ -stoptext stoptyping stopunpacked stopversiune sub \ -subject subpagenumber subsection subsubject subsubsection \ -subsubsubject synonym tab testcolumn testpage \ -tex texteticheta textmarginal texttitlu textumplere \ -title titlu titlumarginal tooltip traduce \ -trecilafontraw trecilafonttext txt typ type \ -typefile underbar underbars undeva urmeazaprofil \ -urmeazaversiune urmeazaversiuneprofil useXMLfilter usedirectory usetypescript \ -usetypescriptfile valoareculoare valoaregri variabilatext versiune \ -vl zidinsaptamana +seteazaaliniat seteazaalinierea seteazaantet seteazaaranjareapag seteazaaspect \ +seteazabarainteractiune seteazablanc seteazabloc seteazablocsectiune seteazablocurimarginale \ +seteazabuffer seteazabutoane seteazacamp seteazacampuri seteazaclipping \ +seteazacoloane seteazacombinari seteazacomentariu seteazacomentariupagina seteazaculoare \ +seteazaculori seteazadefinireanotasubsol seteazadescriere seteazadimensiunihartie seteazaecrane \ +seteazaecraninteractiune seteazaelemente seteazaenumerare seteazafiguriexterne seteazafloat \ +seteazafloats seteazafonttext seteazaformulare seteazaformule seteazafundal \ +seteazafundaluri seteazagrosimelinie seteazaimpartireafloat seteazainconjurat seteazaingust \ +seteazainteractiunea seteazajos seteazalegenda seteazalegendele seteazaliniesilabe \ +seteazaliniesubtire seteazalinii seteazaliniimargine seteazaliniinegre seteazaliniiumplere \ +seteazalista seteazalistacombinata seteazalistareferinte seteazamajuscule seteazamakeup \ +seteazamarcaje seteazamarginal seteazamediulfonttext seteazameniuinteractiune seteazaminicitat \ +seteazanotasubsol seteazanumarpagina seteazanumarsubpagina seteazanumartitlu seteazanumerotare \ +seteazanumerotarelinii seteazanumerotarepagina seteazanumerotareparagrafe seteazapaleta seteazaparagrafe \ +seteazaplasareaopozita seteazapozitietext seteazaprofile seteazaprograme seteazapublicatii \ +seteazareferinte seteazaregistru seteazarigla seteazarigletext seteazarigleumplere \ +seteazarotare seteazasectiune seteazasimbol seteazasinonime seteazasistem \ +seteazasortare seteazaspatiu seteazaspatiualb seteazaspatiuinterliniar seteazastrut \ +seteazasublinie seteazasubsol seteazasus seteazatab seteazatabele \ +seteazatabulatori seteazatext seteazatexteantet seteazatextejos seteazatextesubsol \ +seteazatextesus seteazatextetext seteazatexteticheta seteazatexttitlu seteazatitlu \ +seteazatitluri seteazatoleranta seteazatranzitiepagina seteazatype seteazatyping \ +seteazaurl seteazavariabilatext seteazaversiuni setnumber settextcontent \ +setupanswerarea setupcolumnset setupcolumnsetlines setupcolumnsetstart setupfonthandling \ +setupfontsynonym setupindentedtext setupinterlinespace2 setupitemgroup setuplistalternative \ +setupmathalignment setupnumber setuppaper setupplacement setupstartstop \ +setvariabilatext sim simbol sincronizeaza sort \ +spatiifixate spatiu spatiualb spatiufixat spatiujos \ +spatiuspate spatiusus startalignment startaliniere startblocmarginal \ +startbuffer startcitat startcodificare startcoloane startcolumnmakeup \ +startcolumns startcolumnset startcombinare startcombination startcomment \ +startcomponenta startcorectielinie startculoare startdescription startdocument \ +startenumeration startfact startfigura startfigure startfloattext \ +startformula startframedtext startfundal startglobal starthiding \ +startimpachetat startingust startitemgroup startlegend startline \ +startlinecorrection startlinenumbering startlines startlinie startliniemargine \ +startlinii startlocal startlocalenvironment startlocalfootnotes startmakeup \ +startmarginblock startmediu startmeniuinteractiune startnamemakeup startnarrower \ +startneimpachetat startnotesubsollocale startnumerotarelinii startopozit startopposite \ +startoverlay startoverview startparagraph startpositioning startpostponing \ +startpozitionare startprodus startprofil startprofile startproiect \ +startraster startregister startriglatext startsetsimboluri startsincronizare \ +startsymbolset startsynchronization starttabel starttabele starttable \ +starttables starttabulate starttext starttyping startunpacked \ +startversiune stivacampuri stopalignment stopaliniere stopblobal \ +stopblocmarginal stopbuffer stopcitat stopcodificare stopcoloane \ +stopcolumnmakeup stopcolumns stopcolumnset stopcombinare stopcombination \ +stopcomment stopcomponenta stopcorectielinie stopculoare stopdescription \ +stopdocument stopenumeration stopfact stopfigure stopfloattext \ +stopformula stopframedtext stopfundal stophiding stopimpachetat \ +stopingust stopitemgroup stoplegend stopline stoplinecorrection \ +stoplinenumbering stoplines stoplinie stopliniemargine stoplinii \ +stoplocal stoplocalenvironment stoplocalfootnotes stopmakeup stopmarginblock \ +stopmediu stopmeniuinteractiune stopnamemakeup stopnarrower stopneimpachetat \ +stopnotesubsollocale stopnumerotarelinii stopopozit stopopposite stopoverlay \ +stopoverview stopparagraph stoppositioning stoppostponing stoppozitionare \ +stopprodus stopprofil stopprofile stopproiect stopraster \ +stopriglatext stopsincronizare stopsymbolset stopsynchronization stoptabel \ +stoptabele stoptable stoptables stoptabulate stoptext \ +stoptyping stopunpacked stopversiune sub subject \ +subpagenumber subsection subsubject subsubsection subsubsubject \ +synonym tab testcolumn testpage tex \ +texteticheta textmarginal texttitlu textumplere title \ +titlu titlumarginal tooltip traduce trecilafontraw \ +trecilafonttext txt typ type typefile \ +underbar underbars undeva urmeazaprofil urmeazaversiune \ +urmeazaversiuneprofil useXMLfilter usedirectory usetypescript usetypescriptfile \ +valoareculoare valoaregri variabilatext versiune vl \ +zidinsaptamana diff --git a/Master/texmf-dist/context/data/scite/context/scite-context-data-metafun.properties b/Master/texmf-dist/context/data/scite/context/scite-context-data-metafun.properties index db66f9ec32c..977ca9dfd4b 100644 --- a/Master/texmf-dist/context/data/scite/context/scite-context-data-metafun.properties +++ b/Master/texmf-dist/context/data/scite/context/scite-context-data-metafun.properties @@ -1,52 +1,53 @@ keywordclass.metafun.commands=\ -sqr log ln exp \ -inv pow pi radian tand \ -cotd sin cos tan cot \ -atan asin acos invsin invcos \ -invtan acosh asinh sinh cosh \ -paired tripled unitcircle fulldiamond unitdiamond \ -fullsquare llcircle lrcircle urcircle ulcircle \ -tcircle bcircle lcircle rcircle lltriangle \ -lrtriangle urtriangle ultriangle uptriangle downtriangle \ -lefttriangle righttriangle triangle smoothed cornered \ -superellipsed randomized squeezed enlonged shortened \ -punked curved unspiked simplified blownup \ -stretched enlarged leftenlarged topenlarged rightenlarged \ -bottomenlarged crossed laddered randomshifted interpolated \ -paralleled cutends peepholed llenlarged lrenlarged \ -urenlarged ulenlarged llmoved lrmoved urmoved \ -ulmoved rightarrow leftarrow centerarrow boundingbox \ -innerboundingbox outerboundingbox pushboundingbox popboundingbox bottomboundary \ -leftboundary topboundary rightboundary xsized ysized \ -xysized sized xyscaled intersection_point intersection_found \ -penpoint bbwidth bbheight withshade withlinearshading \ -withcircularshading withfromshadecolor withtoshadecolor withshading shadedinto \ -withcircularshade withlinearshade cmyk spotcolor multitonecolor \ +transparency sqr log ln \ +exp inv pow pi radian \ +tand cotd sin cos tan \ +cot atan asin acos invsin \ +invcos invtan acosh asinh sinh \ +cosh zmod paired tripled unitcircle \ +fulldiamond unitdiamond fullsquare llcircle lrcircle \ +urcircle ulcircle tcircle bcircle lcircle \ +rcircle lltriangle lrtriangle urtriangle ultriangle \ +uptriangle downtriangle lefttriangle righttriangle triangle \ +smoothed cornered superellipsed randomized squeezed \ +enlonged shortened punked curved unspiked \ +simplified blownup stretched enlarged leftenlarged \ +topenlarged rightenlarged bottomenlarged crossed laddered \ +randomshifted interpolated paralleled cutends peepholed \ +llenlarged lrenlarged urenlarged ulenlarged llmoved \ +lrmoved urmoved ulmoved rightarrow leftarrow \ +centerarrow boundingbox innerboundingbox outerboundingbox pushboundingbox \ +popboundingbox bottomboundary leftboundary topboundary rightboundary \ +xsized ysized xysized sized xyscaled \ +intersection_point intersection_found penpoint bbwidth bbheight \ +withshade withcircularshade withlinearshade defineshade shaded \ +shadedinto withshadecolors withshadedomain withshademethod withshadefactor \ +withshadevector withshadecenter cmyk spotcolor multitonecolor \ namedcolor drawfill undrawfill inverted uncolored \ softened grayed greyed onlayer along \ -graphictext loadfigure externalfigure withmask figure \ -register bitmapimage colordecimals ddecimal dddecimal \ +graphictext loadfigure externalfigure figure register \ +withmask bitmapimage colordecimals ddecimal dddecimal \ ddddecimal textext thetextext rawtextext textextoffset \ verbatim thelabel label autoalign transparent \ withtransparency property properties withproperties asgroup \ -infont set_linear_vector linear_shade define_linear_shade define_circular_linear_shade \ -define_sampled_linear_shade set_circular_vector circular_shade define_circular_shade define_circular_linear_shade \ -define_sampled_circular_shade space CRLF grayscale greyscale \ -withgray withgrey colorpart readfile clearxy \ -unitvector center epsed anchored originpath \ -infinite break xstretched ystretched snapped \ -pathconnectors function constructedpath constructedpairs punkedfunction \ -curvedfunction tightfunction punkedpath curvedpath tightpath \ -punkedpairs curvedpairs tightpairs evenly oddly \ -condition pushcurrentpicture popcurrentpicture arrowpath tensecircle \ -roundedsquare colortype whitecolor blackcolor normalfill \ +infont space crlf dquote percent \ +SPACE CRLF DQUOTE PERCENT grayscale \ +greyscale withgray withgrey colorpart readfile \ +clearxy unitvector center epsed anchored \ +originpath infinite break xstretched ystretched \ +snapped pathconnectors function constructedfunction constructedpath \ +constructedpairs straightfunction straightpath straightpairs curvedfunction \ +curvedpath curvedpairs evenly oddly condition \ +pushcurrentpicture popcurrentpicture arrowpath tensecircle roundedsquare \ +colortype whitecolor blackcolor basiccolors normalfill \ normaldraw visualizepaths naturalizepaths drawboundary drawwholepath \ visualizeddraw visualizedfill draworigin drawboundingbox drawpath \ drawpoint drawpoints drawcontrolpoints drawcontrollines drawpointlabels \ drawlineoptions drawpointoptions drawcontroloptions drawlabeloptions draworiginoptions \ drawboundoptions drawpathoptions resetdrawoptions undashed decorated \ redecorated undecorated passvariable passarrayvariable tostring \ -format formatted startpassingvariable stoppassingvariable +format formatted startpassingvariable stoppassingvariable eofill \ +eoclip area keywordclass.metafun.internals=\ nocolormodel greycolormodel graycolormodel rgbcolormodel \ diff --git a/Master/texmf-dist/context/data/scite/context/scite-context-data-metapost.properties b/Master/texmf-dist/context/data/scite/context/scite-context-data-metapost.properties index afa6e894ad3..59014623a22 100644 --- a/Master/texmf-dist/context/data/scite/context/scite-context-data-metapost.properties +++ b/Master/texmf-dist/context/data/scite/context/scite-context-data-metapost.properties @@ -1,41 +1,66 @@ keywordclass.metapost.commands=\ -beginfig endfig beginglyph endglyph \ -charscale rotatedaround reflectedabout arrowhead currentpen \ -currentpicture cuttings defaultfont extra_beginfig extra_endfig \ -ditto EOF down evenly fullcircle \ -halfcircle identity in left origin \ -pensquare quartercircle right unitsquare up \ -withdots abs bbox ceiling center \ -cutafter cutbefore dir directionpoint div \ -dotprod intersectionpoint inverse mod round \ -unitvector whatever cutdraw draw drawarrow \ -drawdblarrow fill filldraw drawdot loggingall \ -interact tracingall tracingnone pickup undraw \ -unfill unfilldraw buildcycle dashpattern decr \ -dotlabel dotlabels drawoptions incr label \ -labels max min thelabel z \ -beginchar blacker capsule_end change_width define_blacker_pixels \ -define_corrected_pixels define_good_x_pixels define_good_y_pixels define_horizontal_corrected_pixels define_pixels \ -define_whole_blacker_pixels define_whole_pixels define_whole_vertical_blacker_pixels define_whole_vertical_pixels endchar \ -extra_beginchar extra_endchar extra_setup font_coding_scheme clearxy \ -clearit clearpen shipit font_extra_space exitunless \ -relax hide gobble gobbled stop \ -blankpicture counterclockwise tensepath takepower direction \ -softjoin makelabel rotatedabout flex superellipse \ -erase image nullpen savepen clearpen \ -penpos penlabels range numtok thru \ -z laboff bye red green \ -blue cyan magenta yellow black \ -white background graypart graycolor mm \ -pt dd bp cm pc \ -cc in triplet quadruplet +upto downto beginfig endfig \ +beginglyph endglyph rotatedaround reflectedabout arrowhead \ +currentpen currentpicture cuttings defaultfont extra_beginfig \ +extra_endfig ditto EOF down evenly \ +fullcircle halfcircle identity in left \ +pensquare penrazor penspec origin quartercircle \ +right unitsquare up withdots abs \ +bbox ceiling center cutafter cutbefore \ +dir directionpoint div dotprod intersectionpoint \ +inverse mod round unitvector whatever \ +cutdraw draw drawarrow drawdblarrow fill \ +filldraw drawdot loggingall interact tracingall \ +tracingnone pickup undraw unfill unfilldraw \ +buildcycle dashpattern decr dotlabel dotlabels \ +drawoptions incr label labels max \ +min thelabel z beginchar blacker \ +capsule_end change_width define_blacker_pixels define_corrected_pixels define_good_x_pixels \ +define_good_y_pixels define_horizontal_corrected_pixels define_pixels define_whole_blacker_pixels define_whole_pixels \ +define_whole_vertical_blacker_pixels define_whole_vertical_pixels endchar extra_beginchar extra_endchar \ +extra_setup font_coding_scheme clearxy clearit clearpen \ +shipit font_extra_space exitunless relax hide \ +gobble gobbled stop blankpicture counterclockwise \ +tensepath takepower direction softjoin makelabel \ +rotatedabout flex superellipse image nullpen \ +savepen clearpen penpos penlabels range \ +thru z laboff bye red \ +green blue cyan magenta yellow \ +black white background mm pt \ +dd bp cm pc cc \ +in triplet quadruplet + +keywordclass.metapost.disabled=\ +verbatimtex troffmode keywordclass.metapost.internals=\ mitered rounded beveled butt \ squared eps epsilon infinity bboxmargin \ ahlength ahangle labeloffset dotlabeldiam defaultpen \ -defaultscale join_radius pen_lft pen_rt pen_top \ -pen_bot +defaultscale join_radius charscale pen_lft pen_rt \ +pen_top pen_bot + +keywordclass.metapost.metafont=\ +autorounding beginchar blacker boundarychar \ +capsule_def capsule_end change_width chardp chardx \ +chardy charexists charext charht charic \ +charlist charwd cull cullit currenttransform \ +currentwindow define_blacker_pixels define_corrected_pixels define_good_x_pixels define_good_y_pixels \ +define_horizontal_corrected_pixels define_pixels define_whole_blacker_pixels define_whole_pixels define_whole_vertical_blacker_pixels \ +define_whole_vertical_pixels designsize display displaying endchar \ +extensible extra_beginchar extra_endchar extra_setup fillin \ +font_coding_scheme font_extra_space font_identifier font_normal_shrink font_normal_space \ +font_normal_stretch font_quad font_size font_slant font_x_height \ +fontdimen fontmaking gfcorners granularity grayfont \ +headerbyte hppp hround imagerules italcorr \ +kern labelfont ligtable lowres_fix makebox \ +makegrid maketicks mode_def mode_setup nodisplays \ +notransforms numspecial o_correction openit openwindow \ +pixels_per_inch proofing proofoffset proofrule proofrulethickness \ +rulepen screenchars screenrule screenstrokes screen_cols \ +screen_rows showit slantfont smode smoothing \ +titlefont totalweight tracingedges tracingpens turningcheck \ +unitpixel vppp vround xoffset yoffset keywordclass.metapost.primitives=\ charcode day linecap linejoin \ @@ -68,34 +93,34 @@ primarydef secondarydef tertiarydef randomseed also \ contour doublepath withcolor withcmykcolor withpen \ dashed if else elseif fi \ for endfor forever exitif within \ -forsuffixes downto upto step until \ -charlist extensible fontdimen headerbyte kern \ -ligtable boundarychar chardp charext charht \ -charic charwd designsize fontmaking charexists \ -cullit currenttransform gfcorners grayfont hround \ -imagerules lowres_fix nodisplays notransforms openit \ -displaying currentwindow screen_rows screen_cols pixels_per_inch \ -cull display openwindow numspecial totalweight \ -autorounding fillin proofing tracingpens xoffset \ -chardx granularity smoothing turningcheck yoffset \ -chardy hppp tracingedges vppp extra_beginfig \ -extra_endfig mpxbreak endinput message delimiters \ -turningnumber errmessage readstring scantokens end \ -outer inner write to readfrom \ -withprescript withpostscript top bot lft \ -rt ulft urt llft lrt \ -redpart greenpart bluepart cyanpart magentapart \ -yellowpart blackpart greypart prescriptpart postscriptpart \ -rgbcolor cmykcolor greycolor graycolor colormodel \ -graypart dashpart penpart stroked filled \ -textual clipped bounded pathpart expandafter \ -minute hour outputformat outputtemplate filenametemplate \ -fontmapfile fontmapline fontpart fontsize glyph \ -restoreclipcolor troffmode runscript +forsuffixes step until charlist extensible \ +fontdimen headerbyte kern ligtable boundarychar \ +chardp charext charht charic charwd \ +designsize fontmaking charexists cullit currenttransform \ +gfcorners grayfont hround imagerules lowres_fix \ +nodisplays notransforms openit displaying currentwindow \ +screen_rows screen_cols pixels_per_inch cull display \ +openwindow numspecial totalweight autorounding fillin \ +proofing tracingpens xoffset chardx granularity \ +smoothing turningcheck yoffset chardy hppp \ +tracingedges vppp extra_beginfig extra_endfig mpxbreak \ +endinput message delimiters turningnumber errmessage \ +readstring scantokens end outer inner \ +write to readfrom withprescript withpostscript \ +top bot lft rt ulft \ +urt llft lrt redpart greenpart \ +bluepart cyanpart magentapart yellowpart blackpart \ +prescriptpart postscriptpart rgbcolor cmykcolor colormodel \ +graypart greypart greycolor graycolor dashpart \ +penpart stroked filled textual clipped \ +bounded pathpart expandafter minute hour \ +outputformat outputtemplate filenametemplate fontmapfile fontmapline \ +fontpart fontsize glyph restoreclipcolor troffmode \ +runscript maketext keywordclass.metapost.shortcuts=\ .. ... -- --- \ -& +& \ keywordclass.metapost.tex=\ btex etex verbatimtex diff --git a/Master/texmf-dist/context/data/scite/context/scite-context-data-tex.properties b/Master/texmf-dist/context/data/scite/context/scite-context-data-tex.properties index d1780794d18..95933ad531a 100644 --- a/Master/texmf-dist/context/data/scite/context/scite-context-data-tex.properties +++ b/Master/texmf-dist/context/data/scite/context/scite-context-data-tex.properties @@ -49,11 +49,12 @@ Usubscript Usuperscript Uunderdelimiter alignmark aligntab \ attribute attributedef catcodetable clearmarks crampeddisplaystyle \ crampedscriptscriptstyle crampedscriptstyle crampedtextstyle fontid formatname \ gleaders ifabsdim ifabsnum ifprimitive initcatcodetable \ -latelua luaescapestring luastartup luatexdatestamp luatexrevision \ +latelua luaescapestring luastartup luatexbanner luatexrevision \ luatexversion luafunction mathstyle nokerns noligs \ outputbox pageleftoffset pagetopoffset postexhyphenchar posthyphenchar \ preexhyphenchar prehyphenchar primitive savecatcodetable scantextokens \ -suppressfontnotfounderror suppressifcsnameerror suppresslongerror suppressoutererror synctex +suppressfontnotfounderror suppressifcsnameerror suppresslongerror suppressoutererror suppressmathparerror \ +synctex keywordclass.tex.omega=\ OmegaVersion bodydir chardp charht \ @@ -163,7 +164,7 @@ leftmarginkern leftskip leqno let letterspacefont \ limits linepenalty lineskip lineskiplimit localbrokenpenalty \ localinterlinepenalty localleftbox localrightbox long looseness \ lower lowercase lpcode luaescapestring luastartup \ -luatexdatestamp luatexrevision luatexversion mag mark \ +luatexbanner luatexrevision luatexversion mag mark \ marks mathaccent mathbin mathchar mathchardef \ mathchoice mathclose mathcode mathdir mathinner \ mathop mathopen mathord mathpunct mathrel \ diff --git a/Master/texmf-dist/context/data/scite/context/scite-context-external.properties b/Master/texmf-dist/context/data/scite/context/scite-context-external.properties index c7d0c4a17d3..b48f2552543 100644 --- a/Master/texmf-dist/context/data/scite/context/scite-context-external.properties +++ b/Master/texmf-dist/context/data/scite/context/scite-context-external.properties @@ -17,12 +17,12 @@ fold.line.comments=0 # /lexers if PLAT_WIN - lexerpath.*.lpeg=$(lexer.lpeg.home)/../../lexers/lexlpeg.dll -# lexerpath.*.lpeg=$(lexer.lpeg.home)/lexers/lexlpeg.dll + lexerpath.*.lpeg=$(lexer.lpeg.home)/../../lexers/lexlpeg.dll +# lexerpath.*.lpeg=$(lexer.lpeg.home)/lexers/lexlpeg.dll if PLAT_GTK - lexerpath.*.lpeg=$(lexer.lpeg.home)/../../lexers/liblexlpeg.so -# lexerpath.*.lpeg=$(lexer.lpeg.home)/lexers/liblexlpeg.so + lexerpath.*.lpeg=$(lexer.lpeg.home)/../../lexers/liblexlpeg.so +# lexerpath.*.lpeg=$(lexer.lpeg.home)/lexers/liblexlpeg.so # the variable lexer.name is automatically set but I'm not sure what the following # one is supposed to do so we keep it around (sams as in lpeg.properties, which we @@ -76,6 +76,9 @@ comment.block.at.line.start.lpeg_scite-context-lexer-lua=1 comment.block.lpeg_scite-context-lexer-cld=-- comment.block.at.line.start.lpeg_scite-context-lexer-cld=1 +comment.block.lpeg_scite-context-lexer-bibtex=% +comment.block.at.line.start.lpeg_scite-context-lexer-bibtex=1 + comment.block.lpeg_props=# comment.block.at.line.start.lpeg_props=1 diff --git a/Master/texmf-dist/context/data/scite/context/scite-context.properties b/Master/texmf-dist/context/data/scite/context/scite-context.properties index 78850ef0d0e..f1deb9df5f6 100644 --- a/Master/texmf-dist/context/data/scite/context/scite-context.properties +++ b/Master/texmf-dist/context/data/scite/context/scite-context.properties @@ -677,6 +677,9 @@ fold.margin.colour=#CCCCCC # testing +caret.width = 3 +selection.rectangular.switch.mouse = 1 + #~ cache.layout= find.command=mtxrun --script grep "$(find.what)" "$(find.files)" diff --git a/Master/texmf-dist/context/data/scite/context/scite-ctx.lua b/Master/texmf-dist/context/data/scite/context/scite-ctx.lua index 24f5b34b8aa..a529b3ced0e 100644 --- a/Master/texmf-dist/context/data/scite/context/scite-ctx.lua +++ b/Master/texmf-dist/context/data/scite/context/scite-ctx.lua @@ -902,13 +902,16 @@ local textlists = { -- taken from sort-lan.lua "U", "V", "W", "X", "Y", "Z", }, fr = { - "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", - "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", - "u", "v", "w", "x", "y", "z", + "a", "æ", "b", "c", "ç", "d", "e", "è", "é", "ê", + "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", + "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", + "z", + + "A", "Æ", "B", "C", "Ç", "D", "E", "È", "É", "Ê", + "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", + "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", + "Z", - "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", - "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", - "U", "V", "W", "X", "Y", "Z", }, de = { "a", "ä", "b", "c", "d", "e", "f", "g", "h", "i", @@ -1169,12 +1172,12 @@ local textlists = { -- taken from sort-lan.lua "T", "U", "Ú", "Ü", "V", "W", "X", "Y", "Z", }, lt = { -- lithuanian - "a", "ą", "b", "c", ch, "č", "d", "e", "ę", "ė", + "a", "ą", "b", "c", "ch", "č", "d", "e", "ę", "ė", "f", "g", "h", "i", "į", "y", "j", "k", "l", "m", "n", "o", "p", "r", "s", "š", "t", "u", "ų", "ū", "v", "z", "ž", - "A", "Ą", "B", "C", CH, "Č", "D", "E", "Ę", "Ė", + "A", "Ą", "B", "C", "CH", "Č", "D", "E", "Ę", "Ė", "F", "G", "H", "I", "Į", "Y", "J", "K", "L", "M", "N", "O", "P", "R", "S", "Š", "T", "U", "Ų", "Ū", "V", "Z", "Ž", @@ -1389,7 +1392,7 @@ end function OnOpen(filename) -- print("opening: " .. filename .. " (size: " .. editor.TextLength .. ")") - editor:Colourise(1,editor.TextLength) + editor:Colourise(0,editor.TextLength) end -- output.LexerLanguage = "" diff --git a/Master/texmf-dist/doc/context/document/general/manuals/mreadme.pdf b/Master/texmf-dist/doc/context/document/general/manuals/mreadme.pdf deleted file mode 100644 index 33800801520..00000000000 Binary files a/Master/texmf-dist/doc/context/document/general/manuals/mreadme.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/context/document/general/manuals/tiptrick.pdf b/Master/texmf-dist/doc/context/document/general/manuals/tiptrick.pdf deleted file mode 100644 index 3ced360e14a..00000000000 Binary files a/Master/texmf-dist/doc/context/document/general/manuals/tiptrick.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/context/documents/general/manuals/epub-mkiv-demo.epub b/Master/texmf-dist/doc/context/documents/general/manuals/epub-mkiv-demo.epub new file mode 100644 index 00000000000..111d044d5d9 Binary files /dev/null and b/Master/texmf-dist/doc/context/documents/general/manuals/epub-mkiv-demo.epub differ diff --git a/Master/texmf-dist/doc/context/documents/general/manuals/epub-mkiv-demo.pdf b/Master/texmf-dist/doc/context/documents/general/manuals/epub-mkiv-demo.pdf new file mode 100644 index 00000000000..2382d188c50 Binary files /dev/null and b/Master/texmf-dist/doc/context/documents/general/manuals/epub-mkiv-demo.pdf differ diff --git a/Master/texmf-dist/doc/context/documents/general/manuals/epub-mkiv.pdf b/Master/texmf-dist/doc/context/documents/general/manuals/epub-mkiv.pdf new file mode 100644 index 00000000000..6ffb5b1fd6e Binary files /dev/null and b/Master/texmf-dist/doc/context/documents/general/manuals/epub-mkiv.pdf differ diff --git a/Master/texmf-dist/doc/context/documents/general/manuals/mreadme.pdf b/Master/texmf-dist/doc/context/documents/general/manuals/mreadme.pdf new file mode 100644 index 00000000000..59cc2a6215b Binary files /dev/null and b/Master/texmf-dist/doc/context/documents/general/manuals/mreadme.pdf differ diff --git a/Master/texmf-dist/doc/context/documents/general/manuals/swiglib-mkiv.pdf b/Master/texmf-dist/doc/context/documents/general/manuals/swiglib-mkiv.pdf new file mode 100644 index 00000000000..54e2cb62364 Binary files /dev/null and b/Master/texmf-dist/doc/context/documents/general/manuals/swiglib-mkiv.pdf differ diff --git a/Master/texmf-dist/doc/context/documents/general/manuals/tiptrick.pdf b/Master/texmf-dist/doc/context/documents/general/manuals/tiptrick.pdf new file mode 100644 index 00000000000..5332e70ec12 Binary files /dev/null and b/Master/texmf-dist/doc/context/documents/general/manuals/tiptrick.pdf differ diff --git a/Master/texmf-dist/doc/context/documents/general/manuals/tools-mkiv.pdf b/Master/texmf-dist/doc/context/documents/general/manuals/tools-mkiv.pdf new file mode 100644 index 00000000000..b0560258b25 Binary files /dev/null and b/Master/texmf-dist/doc/context/documents/general/manuals/tools-mkiv.pdf differ diff --git a/Master/texmf-dist/doc/context/documents/general/manuals/units-mkiv.pdf b/Master/texmf-dist/doc/context/documents/general/manuals/units-mkiv.pdf new file mode 100644 index 00000000000..e04f7f41740 Binary files /dev/null and b/Master/texmf-dist/doc/context/documents/general/manuals/units-mkiv.pdf differ diff --git a/Master/texmf-dist/doc/context/documents/general/manuals/workflows-mkiv.pdf b/Master/texmf-dist/doc/context/documents/general/manuals/workflows-mkiv.pdf new file mode 100644 index 00000000000..828fb86cb2e Binary files /dev/null and b/Master/texmf-dist/doc/context/documents/general/manuals/workflows-mkiv.pdf differ diff --git a/Master/texmf-dist/doc/context/documents/general/manuals/xtables-mkiv.pdf b/Master/texmf-dist/doc/context/documents/general/manuals/xtables-mkiv.pdf new file mode 100644 index 00000000000..ee213f4d714 Binary files /dev/null and b/Master/texmf-dist/doc/context/documents/general/manuals/xtables-mkiv.pdf differ diff --git a/Master/texmf-dist/doc/context/manuals/allkind/mcommon.tex b/Master/texmf-dist/doc/context/manuals/allkind/mcommon.tex deleted file mode 100644 index f0c22cff42e..00000000000 --- a/Master/texmf-dist/doc/context/manuals/allkind/mcommon.tex +++ /dev/null @@ -1,199 +0,0 @@ -% content=tex -% -% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa - -\startenvironment mcommon - -% modules - -\usemodule[abr-02] - -% layout - -\startmode[screen] - \setuppapersize[S6][S6] - \setupinteraction[state=start] - \setupinteractionscreen[options=max] -\stopmode - -\setuplayout - [footer=0cm, - width=middle, - height=middle] - -% fonts - -\startmode[atpragma] - - \startMPenvironment[global] - \usetypescriptfile[type-buy] - \usetypescript[lucida][texnansi] - \setupbodyfont[lucida,10pt] - \stopMPenvironment - - \setupbodyfont[11pt] - -\stopmode - -\startnotmode[atpragma] - - \startMPenvironment[global] - \usetypescript[palatino][ec] - \setupbodyfont[palatino,10pt] - \stopMPenvironment - - \setupbodyfont[11pt] - -\stopnotmode - -\definefont [BigFont] [SansBold at 60pt] -\definefont [MedFont] [SansBold at 30pt] - -% colors - -\setupcolors - [state=start] - -\definecolor [NopColor] [r=.6,g=.4,b=.5] -\definecolor [AltColor] [r=.4,g=.6,b=.5] -\definecolor [TheColor] [r=.4,g=.5,b=.6] -\definecolor [TmpColor] [r=.6,g=.5,b=.4] - -\definecolor [red] [NopColor] -\definecolor [green] [AltColor] -\definecolor [blue] [TheColor] -\definecolor [yellow][TmpColor] - -% spacing - -\setupwhitespace - [big] - -\setuptolerance - [verytolerant,stretch] - -% verbatim - -\setuptype - [color=AltColor] - -\setuptyping - [color=AltColor] - -% structure - -\setupitemize - [each] - [color=TheColor] - -\definedescription - [switch] - [headstyle=type, - headcolor=TheColor, - location=serried, - width=broad] - -\defineenumeration - [topic] - [location=serried, - width=broad, - headstyle=, - headcolor=TheColor, - text=, - left={[}, - right={]}] - -\setuphead - [section] - [style=\ss\bfb, - color=TheColor] - -\setuplist - [section] - [alternative=c, - color=TheColor, - textcolor=black, - pagecolor=black] - -% whatever - -\setupsystem - [random=medium] - -\setupfloats - [ntop=100] - -\setupinteraction - [style=, - color=NopColor, - contrastcolor=NopColor] - -% tables and frames - -\setuptabulate - [rulethickness=.5pt, - rulecolor=AltColor] - -\setuptables - [rulethickness=.5pt, - rulecolor=AltColor] - -\setupframedtexts - [rulethickness=.5pt, - framecolor=TheColor, - width=\textwidth] - -% quick reference things - -\usemodule[set-11] \loadsetups - -\setupframedtexts - [setuptext] - [rulethickness=.5pt, - framecolor=AltColor] - -% basic titlepage and colofon, a bit old fashioned approach, but let's not -% modernize everything now - -\def\TitlePage#1#2#3#4#5% number/name angle title author screen - {\doifnumberelse{#1} - {\ifcase#1 - \defineoverlay - [logo] - [\useMPgraphic{titlepage}{width=\overlaywidth,height=\overlayheight}] - \else - \startMPrun - logo_type := #1 ; mpgraph := #1 ; input mp-cont ; - \stopMPrun - \defineoverlay - [logo] - [{\externalfigure - [\MPrunfile{#1}] - [width=\overlaywidth,height=\overlayheight]}] - \fi} - {\defineoverlay - [logo] - [\useMPgraphic{#1}{width=\overlaywidth,height=\overlayheight}]} - \setupbackgrounds - [page] - [background=logo] - \definecolor[Gray][s=#5] - \startstandardmakeup - \dontcomplain - \BigFont \setupinterlinespace \vfill \setupalign[left] \let\\=\par - \ifcase#2\relax - \noindent\color[Gray]{#3}\par - \else - \noindent\rotate[rotation=#2]{\color[Gray]{#3}}\par - \fi - \stopstandardmakeup - \setupbackgrounds - [page] - [background=]} - -\def\ColofonPage - {\startstandardmakeup - \vfill \setups [pragma-colofon] - \stopstandardmakeup} - -\stopenvironment diff --git a/Master/texmf-dist/doc/context/manuals/allkind/mkiv-publications-graph.bib b/Master/texmf-dist/doc/context/manuals/allkind/mkiv-publications-graph.bib deleted file mode 100644 index 2e781179cc6..00000000000 --- a/Master/texmf-dist/doc/context/manuals/allkind/mkiv-publications-graph.bib +++ /dev/null @@ -1,53 +0,0 @@ -% A few examples from the MetaPost graph manual that Alan was updating -% at the time we wrote the new bib code. Watch how uppercase is used here -% as well as curly braces instead of double quote characters, - -@INCOLLECTION{Bentley1990, - author = {Bentley, Jon L. and Kernighan, Brian W.}, - year = {1990}, - title = {Grap—A language for Typesetting Graphs}, - booktitle = {Unix Research System Papers}, - publisher = {{AT\&T} Bell Laboratories}, - volume = {{II}}, - pages = {109–146}, - address = {Murray Hill, New Jersey}, - edition = {Tenth}, -} - -@BOOK{Cleveland1985, - author = {Cleveland, William S.}, - year = {1985, revised 1994}, - title = {The Elements of Graphing Data}, - publisher = {Hobart Press}, - address = {Summit, New Jersey}, -} - -@BOOK{Cleveland1993, - author = {Cleveland, William S.}, - year = {1993}, - title = {Visualizing Data}, - publisher = {Hobart Press}, - address = {Summit, New Jersey}, -} - -@ARTICLE{Cleveland1993a, - author = {Cleveland, William S.}, - year = {1993}, - title = {A Model for Studying Display Methods of StatisticalGraphics (with - discussion)}, - journal = {Journal of Computational and Statistical Graphics}, - volume = {2}, - pages = {323–343}, - number = {4}, - doi = {10.1080/10618600.1993.10474616}, - eprint = {http://www.tandfonline.com/doi/pdf/10.1080/10618600.1993.10474616}, - url = {http://www.tandfonline.com/doi/abs/10.1080/10618600.1993.10474616}, -} - -@BOOK{Tufte1983, - author = {Tufte, Edward R.}, - year = {1983}, - title = {Visual Display of Quantitative Information}, - publisher = {Graphics Press}, - address = {Box 430, Cheshire, Connecticut 06410}, -} diff --git a/Master/texmf-dist/doc/context/manuals/allkind/mkiv-publications.bib b/Master/texmf-dist/doc/context/manuals/allkind/mkiv-publications.bib deleted file mode 100644 index 9e9984bfc5b..00000000000 --- a/Master/texmf-dist/doc/context/manuals/allkind/mkiv-publications.bib +++ /dev/null @@ -1,36 +0,0 @@ -% A few silly but simple examples. - -@book{demo-001, - author = "Hans Hagen", - title = "\BIBTEX, the \CONTEXT\ way", - year = "2013", -} - -@book{demo-002, - crossref = "demo-001" - year = "2014", -} - -@book{demo-003, - author = "Hans Hagen and Ton Otten", - title = "Typesetting education documents", - year = "1996", - comment = "a non-existing document", -} - -@book{demo-004, - author = "Luigi Scarso", - title = "Designing high speed trains properly!", - year = "2021", - comment = "still to be published", -} - -@book{demo-005, - author = "author", - title = "title", - year = "year", - serial = "serial", - doi = "doi", - url = "url", - pages = "pages" -} diff --git a/Master/texmf-dist/doc/context/manuals/allkind/mkiv-publications.pdf b/Master/texmf-dist/doc/context/manuals/allkind/mkiv-publications.pdf deleted file mode 100644 index 2aadba29d2e..00000000000 Binary files a/Master/texmf-dist/doc/context/manuals/allkind/mkiv-publications.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/context/manuals/allkind/mkiv-publications.tex b/Master/texmf-dist/doc/context/manuals/allkind/mkiv-publications.tex deleted file mode 100644 index c5bdab14a27..00000000000 --- a/Master/texmf-dist/doc/context/manuals/allkind/mkiv-publications.tex +++ /dev/null @@ -1,1523 +0,0 @@ -% language=uk - - -\setupbtxlistvariant [interaction=start] -\setupbtxcitevariant [interaction=start] - -% \btxfield{manipulator_a->manipulator_b->fieldname} - -% engine=luajittex - -% criterium: all + sorttype=cite => citex before rest -% criterium: all + sorttype=database => database order -% criterium: used -% numbering: label, short, indexinlist, indexused - -\usemodule[abr-02] -\usemodule[set-11] - -\loadsetups[publications-en.xml] \enablemode[interface:setup:defaults] - -\setupbackend - [export=yes, - xhtml=yes, - css=export-example.css] - -\setupexport - [hyphen=yes, - width=60em] - -% \input publ-tmp.mkiv - -\setupbodyfont - [dejavu,10pt] - -\setuphead - [chapter] - [header=high, - style=\bfc, - color=darkmagenta] - -\setuplayout - [topspace=2cm, - bottomspace=1cm, - header=0cm, - width=middle, - height=middle] - -\setupwhitespace - [big] - -\setuptyping - [color=darkmagenta] - -\setuptyping - [keeptogether=yes] - -\setuptype - [color=darkcyan] - -\setupfootertexts - [pagenumber] - -\setupMPgraphics - [mpy=\jobname.mpy] - -\setupinteraction - [state=start, - color=darkcyan, - contrastcolor=darkyellow] - -\starttext - -\startMPpage - - StartPage ; - - % input "mkiv-publications.mpy" ; - - picture pic ; pic := image ( - path pth ; pth := ((0,0) for i=1 step 2 until 20 : -- (i,1) -- (i+1,0) endfor) ; - for i=0 upto 9 : draw pth shifted (0,2*i) ; endfor ; - ) ; - - % picture btx ; btx := textext("\ssbf BIBTEX") ; - % picture ctx ; ctx := textext("\ssbf THE CONTEXT WAY") ; - picture btx ; btx := image(graphictext("\ssbf BIBTEX") withfillcolor white) ; - picture ctx ; ctx := image(graphictext("\ssbf THE CONTEXT WAY") withfillcolor white) ; - - pic := pic shifted - llcorner pic ; - btx := btx shifted - llcorner btx ; - ctx := ctx shifted - llcorner ctx ; - - pic := pic xysized (PaperWidth,PaperHeight) ; - btx := btx xsized (2PaperWidth/3) shifted (.25PaperWidth,.15PaperHeight) ; - ctx := ctx xsized (2PaperWidth/3) shifted (.25PaperWidth,.075PaperHeight) ; - - fill Page withcolor \MPcolor{darkcyan} ; - - draw pic withcolor \MPcolor{darkmagenta} ; - draw btx withcolor \MPcolor{lightgray} ; - draw ctx withcolor \MPcolor{lightgray} ; - - % draw boundingbox btx ; - % draw boundingbox ctx ; - - StopPage ; - -\stopMPpage - - -\startfrontmatter - -\starttitle[title=Contents] - \placelist[chapter,section][color=black] -\stoptitle - -\startchapter[title=Introduction] - -This manual describes how \MKIV\ handles bibliographies. Support in \CONTEXT\ -started in \MKII for \BIBTEX, using a module written by Taco Hoekwater. Later his -code was adapted to \MKIV, but because users demanded more, I decided that -reimplementing made more sense than patching. In particular, through the use of -\LUA, the \BIBTEX\ data files can be easily directly parsed, thus liberating -\CONTEXT\ from the dependency on an external \BIBTEX\ executable. The CritEd -project (by Thomas Schmitz, Alan Braslau, Luigi Scarso and myself) was a good -reason to undertake this rewrite. As part that project users were invited to come -up with ideas about extensions. Not all of them are (yet) honored, but the -rewrite makes more functionality possible. - -This manual is dedicated to Taco Hoekwater who in a previous century implemented -the first \BIBTEX\ module and saw it morf into a \TEX||\LUA\ hybrid in this -century. The fact that there was support for bibliographies made it possible for -users to use \CONTEXT\ in an academic environment, dominated by bibliographic -databases encoded in the \BIBTEX\ format. - -\startlines -Hans Hagen -PRAGMA ADE -Hasselt NL -\stoplines - -\stopchapter - -\stopfrontmatter - -\startbodymatter - -\startchapter[title=The database] - -The \BIBTEX\ format is rather popular in the \TEX\ community and even with its -shortcomings it will stay around for a while. Many publication websites can -export and many tools are available to work with this database format. It is -rather simple and looks a bit like \LUA\ tables. Unfortunately the content can be -polluted with non|-|standardized \TEX\ commands which complicates pre- or -postprocessing outside \TEX. In that sense a \BIBTEX\ database is often not coded -neutrally. Some limitations, like the use of commands to encode accented -characters root in the \ASCII\ world and can be bypassed by using \UTF\ instead -(as handled somewhat in \LATEX\ through extensions such as \type {bibtex8}). - -The normal way to deal with a bibliography is to refer to entries using a unique -tag or key. When a list of entries is typeset, this reference can be used for -linking purposes. The typeset list can be processed and sorted using the \type -{bibtex} program that converts the database into something more \TEX\ friendly (a -\type {.bbl} file). I never used the program myself (nor bibliographies) so I -will not go into too much detail here, if only because all I say can be wrong. - -In \CONTEXT\ we no longer use the \type {bibtex} program: we just use -database files and deal with the necessary manipulations directly in \CONTEXT. -One or more such databases can be used and combined with additional entries -defined within the document. We can have several such datasets active at the same -time. - -A \BIBTEX\ file looks like this: - -\starttyping -@Article{sometag, - author = "An Author and Another One", - title = "A hopefully meaningful title", - journal = maps, - volume = "25", - number = "2", - pages = "5--9", - month = mar, - year = "2013", - ISSN = "1234-5678", -} -\stoptyping - -Normally a value is given between quotes (or curly brackets) but single words are -also OK (there is no real benefit in not using quotes, so we advise to always use -them). There can be many more fields and instead of strings one can use -predefined shortcuts. The title for example quite often contains \TEX\ macros. -Some fields, like \type {pages} have funny characters such as the endash -(typically as \type {--}) so we have a mixture of data and typesetting -directives. If you are covering non||english references, you often need -characters that are not in the \ASCII\ subset but \CONTEXT\ is quite happy with -\UTF. If your database file uses old|-|fashioned \TEX\ accent commands then these -will be internally converted automatically to \UTF. Commands (macros) are -converted to an indirect call, which is quite robust. - -The \BIBTEX\ files are loaded in memory as \LUA\ table but can be converted to -\XML\ so that we can access them in a more flexible way, but that is a subject -for specialists. - -In the old \MKII\ setup we have two kinds of entries: the ones that come from the -\BIBTEX\ run and user supplied ones. We no longer rely on \BIBTEX\ output but we -do still support the user supplied definitions. These were in fact prepared in a -way that suits the processing of \BIBTEX\ generated entries. The next variant -reflects the \CONTEXT\ recoding of the old \BIBTEX\ output. - -\starttyping -\startpublication[k=Hagen:Second,t=article,a={Hans Hagen},y=2013,s=HH01] - \artauthor[]{Hans}[H.]{}{Hagen} - \arttitle{Who knows more?} - \journal{MyJournal} - \pubyear{2013} - \month{8} - \volume{1} - \issue{3} - \issn{1234-5678} - \pages{123--126} -\stoppublication -\stoptyping - -The split \type {\artauthor} fields are collapsed into a single \type {author} -field as we deal with the splitting later when it gets parsed in \LUA. The \type -{\artauthor} syntax is only kept around for backward compatibility with the -previous use of \BIBTEX. - -In the new setup we support these variants as well: - -\starttyping -\startpublication[k=Hagen:Third,t=article] - \author{Hans Hagen} - \title{Who knows who?} - ... -\stoppublication -\stoptyping - -and - -\starttyping -\startpublication[tag=Hagen:Third,category=article] - \author{Hans Hagen} - \title{Who knows who?} - ... -\stoppublication -\stoptyping - -and - -\starttyping -\startpublication - \tag{Hagen:Third} - \category{article} - \author{Hans Hagen} - \title{Who knows who?} - ... -\stoppublication -\stoptyping - -Because internally the entries are \LUA\ tables, we also support loading of \LUA\ -based definitions: - -\starttyping -return { - ["Hagen:First"] = { - author = "Hans Hagen", - category = "article", - issn = "1234-5678", - issue = "3", - journal = "MyJournal", - month = "8", - pages = "123--126", - tag = "Hagen:First", - title = "Who knows nothing?", - volume = "1", - year = "2013", - }, -} -\stoptyping - -Files set up like this can be loaded too. The following \XML\ input is rather -close to this, and is also accepted as input. - -\starttyping - - - - Hans Hagen - article - 1234-5678 - 3 - MyJournal - 8 - 123--126 - Hagen:First - Who knows nothing? - 1 - 2013 - - -\stoptyping - -{\em Todo: Add some remarks about loading EndNote and RIS formats, but first we -need to complete the tag mapping (on Alan's plate).} - -So the user has a rather wide choice of formatting style for bibliography -database files. - -\stopchapter - -You can load more data than you actually need. Only entries that are referred to -explicitly through the \type {\cite} and \type {\nocite} commands will be shown -in lists. We will cover these details later. - -\startchapter[title=Commands in entries] - -One unfortunate aspect commonly found in \BIBTEX\ files is that they often -contain \TEX\ commands. Even worse is that there is no standard on what these -commands can be and what they mean, at least not formally, as \BIBTEX\ is a -program intended to be used with many variants of \TEX\ style: plain, \LATEX, and -others. This means that we need to define our use of these typesetting commands. -However, in most cases, they are just abbreviations or font switches and these -are often known. Therefore, \CONTEXT\ will try to resolve them before reporting -an issue. In the log file there is a list of commands that has been seen in the -loaded databases. For instance, loading \type {tugboat.bib} gives a long list of -commands of which we show a small set here: - -\starttyping -publications > start used btx commands - -publications > standard CONTEXT 1 known -publications > standard ConTeXt 4 known -publications > standard TeXLive 3 KNOWN -publications > standard eTeX 1 known -publications > standard hbox 6 known -publications > standard sltt 1 unknown - -publications > stop used btxcommands -\stoptyping - -You can define unknown commands, or overload existing definitions in the -following way: - -\starttyping -\definebtxcommand\TUB {TUGboat} -\definebtxcommand\sltt{\tt} -\definebtxcommand\<#1>{\type{#1}} -\stoptyping - -Unknown commands do not stall processing, but their names are then typeset in a -mono|-|spaced font so they probably stand out for proofreading. You can -access the commands with \type {\btxcommand {...}}, as in: - -\startbuffer -commands like \btxcommand{MySpecialCommand} are handled in an indirect way -\stopbuffer - -\typebuffer - -As this is an undefined command we get: \quotation {\inlinebuffer}. - -?? - -\stopchapter - -\startchapter[title=Datasets] - -Normally in a document you will use only one bibliographic database, whether or -not distributed over multiple files. Nevertheless we support multiple databases as well -which is why we talk of datasets instead. A dataset is loaded with the \type -{\usebtxdataset} command. Although currently it is not necessary to define a -(default) dataset you can best do this because in the future we might provide more -options. Here are some examples: - -\starttyping -\definebtxdataset[standard] - -\usebtxdataset[standard][tugboat.bib] -\usebtxdataset[standard][mtx-bibtex-output.xml] -\usebtxdataset[standard][test-001-btx-standard.lua] -\stoptyping - -These three suffixes are understood by the loader. Here the dataset has the name -\type {standard} and the three database files are merged, where later entries having the -same tag overload previous ones. Definitions in the document source (coded in \TEX\ -speak) are also added, and they are saved for successive runs. This means that if -you load and define entries, they will be known at a next run beforehand, so that -references to them are independent of when loading and definitions take place. - -\showsetup{setupbtxdataset} - -\showsetup{definebtxdataset} - -\showsetup{usebtxdataset} - -In this document we use some example databases, so let's load one of them now: - -\startbuffer -\definebtxdataset[example] - -\usebtxdataset[example][mkiv-publications.bib] -\stopbuffer - -\typebuffer \getbuffer - -You can ask for an overview of entries in a dataset with: - -\startbuffer -\showbtxdatasetfields[example] -\stopbuffer - -\typebuffer - -this gives: - -\getbuffer - -You can set the current active dataset with - -\starttyping -\setbtxdataset[standard] -\stoptyping - -but most publication|-|related commands accept optional arguments that denote the -dataset and references to entries can be prefixed with a dataset identifier.. More -about that later. - -Sometimes you want to check a database. One way of doing that is the following: - -\startbuffer -\definebtxdataset[check] - -\usebtxdataset[check][mkiv-publications-check.bib] - -\showbtxdatasetcompleteness[check] -\stopbuffer - -\typebuffer - -The database like like this: - -\typefile{mkiv-publications-check.bib} - -The completeness check shows (with green field names) the required fields and -when one is missing this is indicated in red. In blue we show what gets -inherited. - -\getbuffer - -\stopchapter - -\startchapter[title=Renderings] - -A list of publications can be rendered at any place in the document. A database -can be much larger than needed for a document. The same is true for the fields -that make up an entry. Here is the list of fields that are currently handled, but -of course there can be additional ones: - - -\startalignment[flushleft,verytolerant,nothyphenated] -\startluacode -local fields = publications.tracers.fields - -for i=1,#fields do - if i > 1 then - context(", ") - end - context.type(fields[i]) -end -\stopluacode -\stopalignment - -If you want to see what publications are in the database, the easiest way is to -ask for a complete list: - -\startbuffer -\definebtxrendering - [example] - [dataset=example, - method=local, - alternative=apa] -\placelistofpublications % \placebtxrendering - [example] - [criterium=all] -\stopbuffer - -\typebuffer - -This gives: - -\getbuffer - -The rendering itself is somewhat complex to set up because we have not only many -different standards but also many fields that can be set up. This means that -there are several commands involved. Often there is a prescribed style to render -bibliographic descriptions, for example \type {apa}. A rendering is setup and -defined with: - -\showsetup[setupbtxrendering] -%showrootvalues[btxrendering] -\showsetup[definebtxrendering] - -And a list of such descriptions is generated with: - -\showsetup[placebtxrendering] - -A dataset can have all kind of entries: - -\startalignment[flushleft,verytolerant,nothyphenated] -\startluacode - local categories = publications.tracers.categories - - for i=1,#categories do - if i > 1 then - context(", ") - end - context.type(categories[i]) - end -\stopluacode -\stopalignment - -Each has its own rendering variant. To keep things simple we have their settings -separated. However, these settings are shared for all rendering alternatives. In -practice this is seldom a problem in a publication as only one rendering -alternative will be active. If this be not sufficient, you can always group local -settings in a setup and hook that into the specific rendering. - -\showsetup[setupbtxlistvariant] -%showrootvalues[btxlistvariant] -\showsetup[definebtxlistvariant] - -Examples of list variants are: - -\startluacode - local variants = publications.tracers.listvariants - - for i=1,#variants do - context.showinstancevalues( { "btxlistvariant" }, { variants[i] }) - end -\stopluacode - -The exact rendering of list entries is determined by the \type {alternative} key -and defaults to \type {apa} which uses definitions from \type -{publ-imp-apa.mkiv}. If you look at that file you will see that each category has -its own setup. You may also notice that additional tests are needed to make sure -that empty fields don't trigger separators and such. - -% \showsetup{setuplists} - -There are a couple of accessors and helpers to get the job done. When you want to -fetch a field from the current entry you use \type {\btxfield}. In most cases -you want to make sure this field has a value, for instance because you don't want -fences or punctuation that belongs to a field. - -\starttyping -\btxdoif {title} { - \bold{\btxfield{title}}, -} -\stoptyping - -There are three test macros: - -\starttyping -\btxdoifelse{fieldname}{action when found}{action when not found} -\btxdoif {fieldname}{action when found} -\btxdoifnot {fieldname} {action when not found} -\stoptyping - -An extra conditional is available for testing interactivity: - -\starttyping -\btxdoifelseinteraction{action when true}{action when false} -\stoptyping - -In addition there is also a conditional \type {\btxinteractive} which is -more efficient, although in practice efficiency is not so important here. - -There are three commands to flush data: - -\starttabulate[|||] % Funny usage here! Could not tabulate work without - % even specifying the number of columns? -\NC \type {\btxfield} \NC fetch a explicit field (e.g. \type {year}) \NC \NR -\NC \type {\btxdetail} \NC fetch a derived field (e.g. \type {short}) \NC \NR -\NC \type {\btxflush} \NC fetch a derived or explicit field \NC \NR -\stoptabulate - -Normally you can use \type {\btxfield} or \type {\btxflush} as derived fields -just like analyzed author fields are flushed in a special way. - -You can improve readability by using setups, for instance: - -\starttyping -\btxdoifelse {author} { - \btxsetup{btx:apa:author:yes} -} { - \btxsetup{btx:apa:author:nop} -} -\stoptyping - -Keep in mind that normally you don't need to mess with definitions like this -because standard rendering styles are provided. These styles use a few helpers -that inject symbols but also take care of leading and trailing spaces: - -\starttabulate[|||] -\NC \type {\btxspace } \NC before \btxspace after \NC \NR -\NC \type {\btxperiod } \NC before \btxperiod after \NC \NR -\NC \type {\btxcomma } \NC before \btxcomma after \NC \NR -\NC \type {\btxlparent } \NC before \btxlparent after \NC \NR -\NC \type {\btxrparent } \NC before \btxrparent after \NC \NR -\NC \type {\btxlbracket} \NC before \btxlbracket after \NC \NR -\NC \type {\btxrbracket} \NC before \btxrbracket after \NC \NR -\stoptabulate - -So, the previous example setup can be rewritten as: - -\starttyping -\btxdoif {title} { - \bold{\btxfield{title}} - \btxcomma -} -\stoptyping - -There is a special command for rendering a (combination) of authors: - -\starttyping -\btxflushauthor{author} -\btxflushauthor{editor} -\btxflushauthor[inverted]{editor} -\stoptyping - -Instead of the last one you can also use: - -\starttyping -\btxflushauthorinverted{editor} -\stoptyping - -You can use a (configurable) default or pass directives: Valid directives are - -\starttabulate -\NC \bf conversion \NC \bf rendering \NC \NR -\HL -\NC \type{inverted} \NC the Frog jr, Kermit \NC \NR -\NC \type{invertedshort} \NC the Frog jr, K \NC \NR -\NC \type{normal} \NC Kermit, the Frog, jr \NC \NR -\NC \type{normalshort} \NC K, the Frog, jr \NC \NR -\stoptabulate - -The list itself is not a list in the sense of a regular \CONTEXT\ structure related -list. We do use the list mechanism to keep track of used entries but that is mostly -because we can then reuse filtering mechanisms. The actual rendering of a reference -and entry runs on top of so called constructions (other examples of constructions are -descriptions, enumerations and notes). - -\showsetup[setupbtxlist] - -You need to be aware what command is used to achieve the desired result. For instance, -in order to put parentheses around a number reference you say: - -\starttyping -\setupbtxlistvariant - [num] - [left=(, - right=)] -\stoptyping - -If you want automated width calculations, the following does the trick: - -\starttyping -\setupbtxrendering - [standard] - [width=auto] -\stoptyping - -but if you want to control it yourself you say something: - -\starttyping -\setupbtxrendering - [width=none] - -\setupbtxlist - [standard] - [width=3cm, - distance=\emwidth, - color=red, - headcolor=blue, - headalign=flushright] -\stoptyping - -In most cases the defaults will work out fine. - -\stopchapter - -\startchapter[title=Citations] - -Citations are references to bibliographic entries that normally show up in lists -someplace in the document: at the end of a chapter, in an appendix, at the end of -an article, etc. We discussed the rendering of these lists in the previous chapter. -A citation is normally pretty short as its main purpose is to refer uniquely to a more -detailed description. But, there are several ways to refer, which is why the citation -subsystem is configurable and extensible. Just look at the following commands: - -\startbuffer -\cite[author][example::demo-003] -\cite[authoryear][example::demo-003] -\cite[authoryears][example::demo-003] -\cite[author][example::demo-003,demo-004] -\cite[authoryear][example::demo-003,demo-004] -\cite[authoryears][example::demo-003,demo-004] -\cite[author][example::demo-004,demo-003] -\cite[authoryear][example::demo-004,demo-003] -\cite[authoryears][example::demo-004,demo-003] -\stopbuffer - -\typebuffer - -\startlines \getbuffer \stoplines - -The first argument is optional. -% What is the default? How can one set this up? - -\showsetup[cite] - -You can tune the way a citation shows up: - -\startbuffer -\setupbtxcitevariant[author] [sorttype=author,color=darkyellow] -\setupbtxcitevariant[authoryear] [sorttype=author,color=darkyellow] -\setupbtxcitevariant[authoryears][sorttype=author,color=darkyellow] - -\cite[author][example::demo-004,demo-003] -\cite[authoryear][example::demo-004,demo-003] -\cite[authoryears][example::demo-004,demo-003] -\stopbuffer - -\typebuffer - -Here we sort the authors and color the citation: - -\startlines \getbuffer \stoplines - -For reasons of backward compatibility the \type {\cite} command is a bit picky -about spaces between the two arguments, of which the first is optional. This is -a consequence of allowing its use with the key specified between curly brackets -as is the traditional practice. (We do encourage users to adopt the more -coherent \CONTEXT\ syntax by using square brackets for keywords and reserving -curly brackets to regroup text to be typeset.) -% Just how is it picky? - -The \type {\citation} command is synonymous but is more flexible with respect to -spacing of its arguments: - -\starttyping -\citation[author] [example::demo-004,demo-003] -\citation[authoryear] [example::demo-004,demo-003] -\citation[authoryears][example::demo-004,demo-003] -\stoptyping - -% The first argument of cite and citation is optional. What is the default and how does one set it? - -There is a whole bunch of cite options and more can be easily defined. - -\startluacode -local variants = publications.tracers.citevariants - -context.starttabulate { "|l|p|" } - context.NC() context.bold("key") - context.NC() context.bold("rendering") - context.NC() context.NR() context.FL() - for i=1,#variants do - local variant = variants[i] - context.NC() context.type(variant) - context.NC() context.citation( { variant }, { "example::demo-005" }) - context.NC() context.NR() - end -context.stoptabulate() -\stopluacode - -Because we are dealing with database input and because we generally need to -manipulate entries, much of the work is delegated to \LUA. This makes it easier -to maintain and extend the code. Of course \TEX\ still does the rendering. The -typographic details are controlled by parameters but not all are used in all -variants. As with most \CONTEXT\ commands, it starts out with a general setup -command: - -\showsetup[setupbtxcitevariant] - -On top of that we can define instances that inherit either from a given parent or -from the topmost setup. - -\showsetup[definebtxcitevariant] - -% The default values are: - -% \showrootvalues[btxcitevariant] - -But, specific variants can have them overloaded: - -% \showinstancevalues[setupbtxcitevariant][author] -% \showinstancevalues[setupbtxcitevariant][authornum] - -\startluacode - local variants = publications.tracers.citevariants - - for i=1,#variants do - context.showinstancevalues( { "btxcitevariant" }, { variants[i] }) - end -\stopluacode - -A citation variant is defined in several steps and if you really want to know -the dirty details, you should look into the \type {publ-imp-*.mkiv} files. Here -we stick to the concept. - -\starttyping -\startsetups btx:cite:author - \btxcitevariant{author} -\stopsetups -\stoptyping - -You can overload such setups if needed, but that only makes sense when you cannot -configure the rendering with parameters. The \type {\btxcitevariant} command is -one of the build in accessors and it calls out to \LUA\ where more complex -manipulation takes place if needed. If no manipulation is known, the field with -the same name (if found) will be flushed. A command like \type {\btxcitevariant} -assumes that a dataset and specific tag has been set. This is normally done in -the wrapper macros, like \type {\cite}. For special purposes you can use these -commands - -\starttyping -\setbtxdataset[example] -\setbtxentry[hh2013] -\stoptyping - -But don't expect too much support for such low level rendering control. - -Unless you use \type {criterium=all} only publications that are cited will end up -in the lists. You can force a citation into a list using \type {\usecitation}, for -example: - -\starttyping -\usecitation[example::demo-004,demo-003] -\stoptyping - -This command has two synonyms: \type {\nocite} and \type {\nocitation} so you can -choose whatever fits you best. - -\showsetup[nocite] - -\stopchapter - -\startchapter[title=The \LUA\ view] - -Because we manage data at the \LUA\ end it is tempting to access it there for -other purposes. This is fine as long as you keep in mind that aspects of the -implementation may change over time, although this is unlikely once the modules -become stable. - -The entries are collected in datasets and each set has a unique name. In this -document we have the set named \type {example}. A dataset table has several -fields, and probably the one of most interest is the \type {luadata} field. Each -entry in this table describes a publication: - -\startluacode - context.tocontext(publications.datasets.example.luadata["demo-001"]) -\stopluacode - -This is \type {publications.datasets.example.luadata["demo-001"]}. There can be -a companion entry in the parallel \type {details} table. - -\startluacode - context.tocontext(publications.datasets.example.details["demo-001"]) -\stopluacode - -These details are accessed as \type -{publications.datasets.example.details["demo-001"]} and by using a separate table -we can overload fields in the original entry without losing the original. - -You can loop over the entries using regular \LUA\ code combined with \MKIV\ -helpers: - -\startbuffer -local dataset = publications.datasets.example - -context.starttabulate { "|l|l|l|" } -for tag, entry in table.sortedhash(dataset.luadata) do - local detail = dataset.details[tag] or { } - context.NC() context.type(tag) - context.NC() context(detail.short) - context.NC() context(entry.title) - context.NC() context.NR() -end -context.stoptabulate() -\stopbuffer - -\typebuffer - -This results in: - -\ctxluabuffer - -You can manipulate a dataset after loading. Of course this assumes that you know -what kind of content you have and what you need for rendering. As example we -load a small dataset. - -\startbuffer -\definebtxdataset[drumming] -\usebtxdataset[drumming][mkiv-publications.lua] -\stopbuffer - -\typebuffer \getbuffer - -Because we're going to do some \LUA, we could also have loaded the dataset -with: - -\starttyping -publications.load("drumming","mkiv-publications.lua","lua") -\stoptyping - -The dataset has three entries: - -\typefile{mkiv-publications.lua} - -As you can see, we can have a subtitle. We will combine the title and subtitle -into one: - -\startbuffer -\startluacode -for tag, entry in next, publications.datasets.drumming.luadata do - if entry.subtitle then - if entry.title then - entry.title = entry.title .. ", " .. entry.subtitle - else - entry.title = entry.subtitle - end - entry.subtitle = nil - logs.report("btx","combining title and subtitle of entry tagged %a",tag) - end -end -\stopluacode -\stopbuffer - -\typebuffer \getbuffer - -We can now typeset the entries with: - -\startbuffer -\definebtxrendering[drumming][dataset=drumming,method=dataset] -\placebtxrendering[drumming] -\stopbuffer - -\typebuffer - -Because we just want to show the entries, and have no citations that force them -to be shown, we have to the \type {method} to \type {dataset}. \footnote {Gavin -Harrison is in my opinion one of the most creative, diverse and interesting -drummers of our time. It's also fascinating to watch him play and a welcome -distraction from writing code and manuals.} - -\blank \getbuffer \blank - -\stopchapter - -\startchapter[title=The \XML\ view] - -The \type {luadata} table can be converted into an \XML\ representation. This is -a follow up on earlier experiments with an \XML|-|only approach. I decided in the end -to stick to a \LUA\ approach and provide some simple \XML\ support in addition. - -Once a dataset is accessible as \XML\ tree, you can use the regular \type {\xml...} -commands. We start with loading a dataset, in this case from just one file. - -\startbuffer -\usebtxdataset[tugboat][tugboat.bib] -\stopbuffer - -\typebuffer \getbuffer - -The dataset has to be converted to \XML: - -\startbuffer -\convertbtxdatasettoxml[tugboat] -\stopbuffer - -\typebuffer \getbuffer - -The tree is now accessible by its root reference \type {btx:tugboat}. If we want simple -field access we can use a few setups: - -\startbuffer -\startxmlsetups btx:initialize - \xmlsetsetup{#1}{bibtex|entry|field}{btx:*} - \xmlmain{#1} -\stopxmlsetups - -\startxmlsetups btx:field - \xmlflushcontext{#1} -\stopxmlsetups - -\xmlsetup{btx:tugboat}{btx:initialize} -\stopbuffer - -\typebuffer \getbuffer - -The two setups are predefined in the core already, but you might want to change them. They are -applied in for instance: - -\startbuffer -\starttabulate[|||] - \NC \type {tag} \NC \xmlfirst {btx:tugboat} - {/bibtex/entry[string.find(@tag,'Hagen')]/attribute('tag')} - \NC \NR - \NC \type {title} \NC \xmlfirst {btx:tugboat} - {/bibtex/entry[string.find(@tag,'Hagen')]/field[@name='title']} - \NC \NR -\stoptabulate -\stopbuffer - -\typebuffer \getbuffer - -\startbuffer -\startxmlsetups btx:demo - \xmlcommand - {#1} - {/bibtex/entry[string.find(@tag,'Hagen')][1]}{btx:table} -\stopxmlsetups - -\startxmlsetups btx:table -\starttabulate[|||] - \NC \type {tag} \NC \xmlatt{#1}{tag} \NC \NR - \NC \type {title} \NC \xmlfirst{#1}{/field[@name='title']} \NC \NR -\stoptabulate -\stopxmlsetups - -\xmlsetup{btx:tugboat}{btx:demo} -\stopbuffer - -\typebuffer \getbuffer - -Here is another example: - -\startbuffer -\startxmlsetups btx:row - \NC \xmlatt{#1}{tag} - \NC \xmlfirst{#1}{/field[@name='title']} - \NC \NR -\stopxmlsetups - -\startxmlsetups btx:demo - \xmlfilter {#1} { - /bibtex - /entry[@category='article'] - /field[@name='author' and (find(text(),'Knuth') or find(text(),'DEK'))] - /../command(btx:row) - } -\stopxmlsetups - -\starttabulate[|||] - \xmlsetup{btx:tugboat}{btx:demo} -\stoptabulate -\stopbuffer - -\typebuffer \getbuffer - -A more extensive example is the following. Of course this assumes that you -know what \XML\ support mechanisms and macros are available. - -\startbuffer -\startxmlsetups btx:getkeys - \xmladdsortentry{btx}{#1}{\xmlfilter{#1}{/field[@name='author']/text()}} - \xmladdsortentry{btx}{#1}{\xmlfilter{#1}{/field[@name='year' ]/text()}} - \xmladdsortentry{btx}{#1}{\xmlatt{#1}{tag}} -\stopxmlsetups - -\startxmlsetups btx:sorter - \xmlresetsorter{btx} - % \xmlfilter{#1}{entry/command(btx:getkeys)} - \xmlfilter{#1}{ - /bibtex - /entry[@category='article'] - /field[@name='author' and find(text(),'Knuth')] - /../command(btx:getkeys)} - \xmlsortentries{btx} - \starttabulate[||||] - \xmlflushsorter{btx}{btx:entry:flush} - \stoptabulate -\stopxmlsetups - -\startxmlsetups btx:entry:flush - \NC \xmlfilter{#1}{/field[@name='year' ]/context()} - \NC \xmlatt{#1}{tag} - \NC \xmlfilter{#1}{/field[@name='author']/context()} - \NC \NR -\stopxmlsetups - -\xmlsetup{btx:tugboat}{btx:sorter} -\stopbuffer - -\typebuffer \getbuffer - -The original data is stored in a \LUA\ table, hashed by tag. Starting with \LUA\ 5.2 -each run of \LUA\ gets a different ordering of such a hash. In older versions, when you -looped over a hash, the order was undefined, but the same as long as you used the same -binary. This had the advantage that successive runs, something we often have in document -processing gave consistent results. In today's \LUA\ we need to do much more sorting of -hashes before we loop, especially when we save multi||pass data. It is for this reason -that the \XML\ tree is sorted by hash key by default. That way lookups (especially -the first of a set) give consistent outcomes. - -\stopchapter - -\startchapter[title=Standards] - -The rendering of bibliographic entries is often standardized and prescribed by -the publisher. If you submit an article to a journal, normally it will be -reformatted (or even re|-|keyed) and the rendering will happen at the publishers -end. In that case it may not matter how entries were rendered when writing the -publication, because the publisher will do it his or her way. -This means that most users probably will stick to the standard \APA\ rules and for -them we provide some configuration. Because we use setups it is easy to overload -specifics. If you really want to tweak, best look in the files that deal with it. - -Many standards exist and support for other renderings may be added to the core. -Interested users are invited to develop and to test alternate standard renderings -according to their needs. - -Todo: maybe a list of categories and fields. - -\stopchapter - -\startchapter[title=Cleaning up] - -Although the \BIBTEX\ format is reasonably well defined, in practice there are -many ways to organize the data. For instance, one can use predefined string -constants that get used (either or not combined with other strings) later on. A string -can be enclosed in curly braces or double quotes. The strings can contain \TEX\ commands -but these are not standardized. The databases often have somewhat complex -ways to deal with special characters and the use of braces in their definition is also -not normalized. - -The most complex to deal with are the fields that contain names of people. At some point it -might be needed to split a combination of names into individual ones that then get split into -title, first name, optional inbetweens, surname(s) and additional: \type {Prof. Dr. Alfred -B. C. von Kwik Kwak Jr. II and P. Q. Olet} is just one example of this. The convention seems -to be not to use commas but \type {and} to separate names (often each name will be specified -as lastname, firstname). - -We don't see it as challenge nor as a duty to support all kinds of messy definitions. Of -course we try to be somewhat tolerant, but you will be sure to get better results if you -use nicely setup, consistent databases. - -Todo: maybe some examples of bad. - -\stopchapter - -\startchapter[title=Transition] - -In the original bibliography support module usage was as follows (example taken -from the contextgarden wiki): - -\starttyping -% engine=pdftex - -\usemodule[bib] -\usemodule[bibltx] - -\setupbibtex - [database=xampl] - -\setuppublications - [numbering=yes] - -\starttext - As \cite [article-full] already indicated, bibtex is a \LATEX||centric - program. - - \completepublications -\stoptext -\stoptyping - -For \MKIV\ the modules were partly rewritten and ended up in the core so the two -{\usemodule} commands were no longer needed. The overhead associated with the -automatic loading of the bibliography macros can be neglected these days, so -standardized modules such as \type {bib} are all being moved to the core and do -not need to be explicitly loaded. - -The first \type {\setupbibtex} command in this example is needed to bootstrap -the process: it tells what database has to be processed by \BIBTEX\ between -runs. The second \type {\setuppublications} command is optional. Each citation -(tagged with \type {\cite}) ends up in the list of publications. - -In the new approach we no longer use \BIBTEX so we don't need to setup \BIBTEX. -Instead we define dataset(s). We also no longer set up publications with one -command, but have split that up in rendering-, list-, and cite|-|variants. The -basic \type {\cite} command remains. The above example becomes: - -\starttyping -\definebtxdataset - [document] - -\usebtxdataset - [document] - [mybibfile.bib] - -\definebtxrendering - [document] - -\setupbtxrendering - [document] - [numbering=yes] - -\starttext - As \cite [article-full] already indicated, bibtex is a \LATEX||centric - program. - - \completebtxrendering[document] -\stoptext -\stoptyping - -So, we have a few more commands to set up things. If you intend to use just a -single dataset and rendering, the above preamble can be simplified to: - -\starttyping -\usebtxdataset - [mybibfile.bib] - -\setupbtxrendering - [numbering=yes] -\stoptyping - -But keep in mind that compared to the old \MKII\ derived method we have moved -some of the options to the rendering, list and cite setup variants. - -Another difference is now the use of lists. When you define a rendering, you -also define a list. However, all entries are collected in a common list tagged -\type {btx}. Although you will normally configure a rendering you can still set -some properties of lists, but in that case you need to prefix the list -identifier. In the case of the above example this is \type {btx:document}. - -\stopchapter - -\startchapter[title=\MLBIBTEX] - -Todo: how to plug in \MLBIBTEX\ for sorting and other advanced operations. - -\stopchapter - -\startchapter[title=Extensions] - -As \TEX\ and \LUA\ are both open and accessible in \CONTEXT\ it is possible to -extend the functionality of the bibliography related code. For instance, you can add -extra loaders. - -\starttyping -function publications.loaders.myformat(dataset,filename) - local t = { } - -- Load data from 'filename' and convert it to a Lua table 't' with - -- the key as hash entry and fields conforming the luadata table - -- format. - loaders.lua(dataset,t) -end -\stoptyping - -This then permits loading a database (into a dataset) with the command: - -\starttyping -\usebtxdataset[standard][myfile.myformat] -\stoptyping - -The \type {myformat} suffix is recognized automatically. If you want to use another -suffix, you can do this: - -\starttyping -\usebtxdataset[standard][myformat::myfile.txt] -\stoptyping - -\stopchapter - -\startchapter[title=Searching] - -Finding the right key in a database can be a pain. On the other hand, asking for -a wildcard also makes no sense. Nevertheless we provide a mechanism for matching -a query. For this we load a small bibliographic database: - -\startbuffer -\usebtxdataset[graph][mkiv-publications-graph.bib] -\stopbuffer - -\typebuffer \getbuffer - -We could switch to this base using: - -\starttyping -\setbtxdataset[graph] -\stoptyping - -but instead we will use a prefix. For instance, if we have this in our source: - -\startbuffer -searching give a few hits, so we get: \cite [ graph :: match ( author:cleveland and -year:1993 ) ]. -\stopbuffer - -\typebuffer - -We will get: \quotation {\inlinebuffer}. Of course this assumes that we also -typeset a list of referred to references, so let's do that: - -\startbuffer -\definebtxrendering[graph][dataset=graph] -\placebtxrendering[graph][criterium=chapter] -\stopbuffer - -\typebuffer - -We get: - -\blank \getbuffer \blank - -Let's look in more detail at the \type {\cite} command. In order to distinguish -efficiently between a normal reference and a more clever one, we use the \type -{match} keyword: - -\startbuffer -dataset::match(query) -dataset :: match ( query ) -\stopbuffer - -The handler is rather tolerant for spaces: - -\startbuffer -dataset :: match ( query ) -\stopbuffer - -Which is handy if you have long queries that wrap around in the source code. Of -course the \type {dataset::} prefix is optional in which case the current dataset -is taken. - -A query eventually becomes a \LUA\ expression so you can use helpers to achieve -your goal. As a convenience there are some shortcuts to access fields. The -following examples demonstrate this: - -\starttyping -match(author:hagen) -match(author:hagen and author:hoekwater and year:1990-2010) -match(author:"Bogusław Jackowski") -match(author:"Bogusław Jackowski" and (tonumber(field:year) or 0) > 2000) -\stoptyping - -You can use quotes when spaces are involved. Of course you can use other -characters that the basic alphabet. Ranges (of numbers) are recognized. String -lookups are partial and case insensitive. \footnote {At the time of this -writing, may 2014, this mechanism is still somewhat experimental.} - -\startbuffer -Wildcards: \cite [graph::match(author:cleve)]. -\stopbuffer - -\typebuffer - -We get three entries: \quotation {\inlinebuffer}. - -% To be checked: are indeed three entries found? - -% Match : \cite [match(author:cleveland and year:1993)] \par - -\stopchapter - -\startchapter[title=Combining] - -It is possible to refer to two sources in one go. In that case the list will have one -entry for two bibliographic entries. - -\startbuffer -Let's save numbers and refer to Bentley and Tufte with one: \cite [graph :: -Bentley1990 + Tufte1983]! -\stopbuffer - -\typebuffer - -Indeed we get one number only: \quotation {\inlinebuffer}. - -\startbuffer -\setupbtxrendering[graph][continue=yes,separator={; }] -\placebtxrendering[graph][criterium=chapter] -\stopbuffer - -We produce the (local) list with: - -\typebuffer - -which shows the two entries pasted together: - -\setupbtxrendering[separator=] - -\blank \getbuffer \blank - -As demonstration we also specified the separator although that one is already -set up by default. - -You can combine citations with additional text before and|/|or after it. This can -be done per citation. This feature is of course not that useful, as one can -put text before and after a citation anyway. - -\startbuffer -foo bar \citation [before=<<,after=>>] [graph::Cleveland1993] foo bar -\stopbuffer - -\typebuffer - -Gives: - -\blank \getbuffer \blank - -\stopchapter - -\startchapter[title=Summary] - -\start -\setbtxdataset[graph] - -There are a lot of combinations possible and not all of them make sense. -Nevertheless we show most of them here. (There will be more.) - -\startbuffer[samples] -Cleveland : \cite [Cleveland1993,Cleveland1985,Cleveland1993a] \par -Tufte : \cite [Tufte1983] \par -Bentley : \cite [Bentley1990] \par -All : \cite [Tufte1983,Cleveland1993,Bentley1990,Cleveland1985, - Cleveland1993a] \par -\stopbuffer - -\starttexdefinition BibSampleSet #1#2 - \subsubsubject{alternative=#1 / compress=#2} - \startpacked - \setupbtxcitevariant[#1][compress=#2] - \setupbtxcitevariant[alternative=#1] - \getbuffer[samples] - \stoppacked -\stoptexdefinition - -\BibSampleSet{author} {no} -\BibSampleSet{authoryear} {no} -\BibSampleSet{authoryear} {yes} -\BibSampleSet{authoryears}{no} -\BibSampleSet{authoryears}{yes} -\BibSampleSet{authornum} {no} -\BibSampleSet{authornum} {yes} -\BibSampleSet{year} {no} -\BibSampleSet{year} {yes} -\BibSampleSet{short} {no} -\BibSampleSet{serial} {no} -\BibSampleSet{serial} {yes} -\BibSampleSet{tag} {no} -\BibSampleSet{key} {no} -\BibSampleSet{doi} {no} -\BibSampleSet{url} {no} -\BibSampleSet{type} {no} -\BibSampleSet{category} {no} -\BibSampleSet{page} {no} -\BibSampleSet{num} {no} -\BibSampleSet{num} {yes} - -\startbuffer -\setupbtxrendering[graph][continue=yes] -\placebtxrendering[graph][criterium=chapter] -\stopbuffer - -We produce a local list with: - -\typebuffer - -and get a list with (new) entries: - -\blank \getbuffer \blank - -\stop - -\stopchapter - -\startchapter[title=Notes] - -The move from external \BIBTEX\ processing to internal processing has the -advantage that we stay within the same run. In the traditional approach we had -roughly the following steps: - -\startitemize[packed] -\startitem the first run information is collected and written to file \stopitem -\startitem after that run the \BIBTEX\ program converts that file to another one \stopitem -\startitem successive runs use that data for references and producing lists \stopitem -\stopitemize - -In the \MKIV\ approach the bibliographic database is loaded in memory each run -and processing also happens each run. On paper this looks less efficient but as -\LUA\ is quite fast, in practice performance is much better. - -Probably most demanding is the treatment of authors as we have to analyze names, -split multiple authors and reassemble firstnames, vons, surnames and juniors. -When we sort by author sorting vectors have to be made which also has a penalty. -However, in practice the user will not notice a performance degradation. We did -some tests with a list of 500.000 authors, sorted them and typeset them as list -(producing some 5400 dense pages in a small font and with small margins). This is -typical one of these cases where using \LUAJITTEX\ saves quite time. On my -machine it took just over 100 seconds to get this done. Unfortunately not all -operating systems performed equally well: 32 bit versions worked fine, but 64 bit -\LINUX\ either crashed (stalled) the machine or ran out of memory rather fast, -while \MACOSX\ and \WINDOWS\ performed fine. In practice you will never run into -this, unless you produce massive amounts of bibliographic entries. \LUAJIT\ has -some benefits but also some drawbacks. - -\stopchapter - -\stopbodymatter - -\stoptext - -Todo: - -\setuplabeltext[en][reprint=reprint] -\setuplabeltext[de][reprint=Nachdruck] - -note = {\labeltext{reprint} 2004} - diff --git a/Master/texmf-dist/doc/context/manuals/allkind/mreadme.tex b/Master/texmf-dist/doc/context/manuals/allkind/mreadme.tex deleted file mode 100644 index 22af40afe7f..00000000000 --- a/Master/texmf-dist/doc/context/manuals/allkind/mreadme.tex +++ /dev/null @@ -1,361 +0,0 @@ -% interface=en output=pdftex language=uk -% -% copyright=pragma-ade readme=readme.pdf licence=cc-by-nc-sa - -\environment mcommon - -\useurl[gpl-simple] [http://creativecommons.org/licenses/GPL/2.0/] -\useurl[gpl-legal] [http://creativecommons.org/licenses/GPL/2.0/legalcode] -\useurl[byncsa-simple][http://creativecommons.org/licenses/by-nc-sa/2.5/] -\useurl[byncsa-legal] [http://creativecommons.org/licenses/by-nc-sa/2.5/legalcode] - -\useurl[garden] [http://contextgarden.net] -\useurl[contextlist] [http://www.ntg.nl/mailman/listinfo/ntg-context] -\useurl[development] [http://www.ntg.nl/mailman/listinfo/dev-context] -\useurl[announce] [http://www.ntg.nl/mailman/listinfo/ann-context] -\useurl[collector] [http://context.literatesolutions.com] -\useurl[pragma] [http://www.pragma-ade.com] -\useurl[mirror] [http://context.aanhet.net] - -\setupinteraction[state=start] - -% copied from cont-log: readme_logo - -\startuseMPgraphic{titlepage}{width,height} - numeric width ; width = \MPvar{width} ; - numeric height ; height = \MPvar{height} ; - numeric delta ; delta := width/10 ; - numeric circle ; circle := 2.5delta ; - color c ; c := (.2,.4,.6) ; - path p, q, r ; - p := unitsquare xscaled width yscaled height ; - z1 = (delta,height-2delta) ; - z2 = (width-delta,height-delta) ; - z3 = (width/2-delta,2delta+circle) ; - z4 = (x3,delta+circle/2) ; - q := z1 { dir -15 } .. z2 & - z2 { dir -105 } .. z3 & - z3 { dir 135 } .. z1 & - cycle ; - r := fullcircle xscaled circle yscaled (.85circle) rotated 15 shifted z4 ; - pickup pencircle scaled (delta/1.5) ; - fill p withcolor .50c ; - fill q withcolor .75c ; - fill r withcolor .75c ; - draw p withcolor c ; - draw q withcolor c ; - pickup pencircle scaled (delta/2) ; - draw r withcolor c ; - setbounds currentpicture to p ; -\stopuseMPgraphic - -\starttext - -\TitlePage{titlepage}{90}{Read Me First}{}{1} - -\subject {Introduction} - -What licence suits best for a \TEX\ like system is a matter of -taste. Personally we dislike any licence that needs more than a few -pages of dense legal code to get the message accross. A \TEX\ -related system like \CONTEXT\ is a hybrid of programs, scripts -and|/|or macro code as well as documentation and sample code, -including graphics. \TEX\ related systems also have a long -standing tradition of providing support structures for users. In -order to make support feasable, a \TEX\ based system like -\CONTEXT\ assumes a certain logic and structure in the way the -related files are named and organized in a tree structure. Even a -small change in one of the elements may let such a system behave -differently than manuals suggest. Swap a font, change some style -defaults, leave out some pieces, and users may end up in -confusion. A licence does not give a user any guarantees! - -In order to satisfy those responsible for distributing \CONTEXT, -we need to choose a licence that makes them feel comfortable. -Unfortunately we don't feel that comfortable with a licence that does -not provide the guarantees that a system will not be adapted in -such ways that the advertised behaviour changes. On the -other hand, it is the responsibility of those distributing and -extending the system to make sure that this does not happen. -However, users should not automatically assume that what they get -shipped is the same as the original, which is why we stress that -support (from our side) will only be given on unaltered systems. - -First of all, what is \CONTEXT ? It's just a bunch of macros, -written in \TEX\ and \METAPOST, meant for typesetting documents. -The macros are accompanied by some scripts, written in \PERL\ (mainly -the older scripts) \RUBY\ (the official ones) and \LUA\ (for -embedded usage). The \CONTEXT\ distribution comes with a few fonts, -files that help manage resources (e.g.\ map files), as well as -patterns (based on official ones, so this is a derived work). - -The \CONTEXT\ distribution is packaged in a zip file organized in -the \TDS\ structure. - -\starttabulate -\NC \type {cont-tmf.zip} \NC The main distribution. \NC \NR -\NC \type {cont-img.zip} \NC A few extra resources. \NC \NR -\NC \type {cont-ext.zip} \NC Third party modules. \NC \NR -\stoptabulate - -When we talk about \CONTEXT\ we also mean its graphical companion -\METAFUN\ and \FOXET, an \XML\ related product. All these are -included in the main distribution archive. - -The documentation can be downloaded from our website, one of its -mirrors, the \TEX\ collection as distributed by \TEX\ user groups. -For some manuals, source code is available in a subversion -repository. The archives are also kept on \CTAN. - -That said, what licence does apply? We need to distinguish between -things that resemble a program on the one hand and documentation -on the other hand. We (currently) use a different licence for -either of them. - -\subject {The Code} - -The program code (i.e. anything not under the \type {/doc} -subtree) is distributed under the - -\startnarrower -\goto{Creative Commons GNU GPL}[url(gpl-simple)] -\stopnarrower - -For practical purposes distributers may also choose the \LATEX\ -project licence, which is considered to be a bit more \TEX\ -friendly. (BSD alike licences, the Ruby Licence and the Apache -are all licences that apply well for \CONTEXT.) - -In practice, users may forget about the legal part, if only -because I haven't even read (and understood) it completely myself, -so let's stick to what Creative Commons makes of it: - -\startcolor[blue] -The GNU General Public License is a Free Software license. Like -any Free Software license, it grants to you the four following -freedoms: - -\startitemize -\item The freedom to run the program for any purpose. -\item The freedom to study how the program works and adapt it to - your needs. -\item The freedom to redistribute copies so you can help your neighbour. -\item The freedom to improve the program and release your improvements - to the public, so that the whole community benefits. -\stopitemize - -You may exercise the freedoms specified here provided that you -comply with the express conditions of this license. The principal -conditions are: - -You must conspicuously and appropriately publish on each copy -distributed an appropriate copyright notice and disclaimer of -warranty and keep intact all the notices that refer to this -License and to the absence of any warranty; and give any other -recipients of the Program a copy of the GNU General Public License -along with the Program. Any translation of the GNU General Public -License must be accompanied by the GNU General Public License. - -If you modify your copy or copies of the program or any portion of -it, or develop a program based upon it, you may distribute the -resulting work provided you do so under the GNU General Public -License. Any translation of the GNU General Public License must be -accompanied by the GNU General Public License. - -If you copy or distribute the program, you must accompany it with -the complete corresponding machine-readable source code or with a -written offer, valid for at least three years, to furnish the -complete corresponding machine-readable source code. - -Any of these conditions can be waived if you get permission from -the copyright holder. - -Your fair use and other rights are in no way affected by the above. -\stopcolor - -\subject {Recommendations} - -Here are a few recommendations in case you want to distribute, -extend of embed \CONTEXT\ in applications: - -\startitemize - -\item You can best leave the code base untouched. Most of -\CONTEXT\ provides hooks and it's relatively easy to overload -code. Leave the lower level system code untouched: changes may -backfire when you update. Asking for more hooks is the best way to -go. - -\item Put your own code in the right subpaths, i.e.\ modules -approved by the development team under \type {.../third}, and -styles and whatever else under \type {.../user}. This way your -code will not interfere with existing code and updating will give -less problems. Keep in mind that \TEX\ systems have their own way -and order in locating files, and the load order often matters. - -\item Don't copy styles and change a few lines, but load the base one -and built|/|patch on top of that. In the end you may benefit from -improvements to the base style. - -\item Be original. The whole idea behind \CONTEXT\ is that you can -write your own styles. On the \CONTEXT\ mailing list as well as on -the Wiki there are enough advanced users to help you make a start. - -\item Don't hesitate to submit bugs reports and ask for -extensions. It may even be that what you want is already present -but yet undocumented. - -\item If things don't work as expected, check to what extend your -system matches the (more or less) standard. We provide so called -minimal \CONTEXT\ trees that can serve as a reference. Because -\CONTEXT\ evolves, make sure your system is up to date. - -\item The scripts can best be called using \type {texmfstart}. This -lessens dependencies on the location in the tree and ensures upward -compatibility. It also prevents clashes with similary named scripts. - -\item Some scripts depend on each other. Don't mess around with the -existing functionality and names of the scripts and then feed them -back into the standard distributions. - -\stopitemize - -\subject {Documents} - -The documentation is provided under another Creative Commons licence - -\startnarrower -\goto{Attribution NonCommercial ShareAlike}[url(byncsa-simple)] -\stopnarrower - -This one says: - -\startcolor[blue] -You are free: - -\startitemize -\item to copy, distribute, display, and perform the work -\item to make derivative works -\stopitemize - -{\sc Attribution:} You must attribute the work in the manner -specified by the author or licensor. - -{\sc NonCommercial:} You may not use this work for commercial -purposes. - -{\sc Share Alike:} If you alter, transform, or build upon this -work, you may distribute the resulting work only under a license -identical to this one. - -\startitemize -\item For any reuse or distribution, you must make clear to others - the license terms of this work. -\item Any of these conditions can be waived if you get permission from - the copyright holder. -\stopitemize - -Your fair use and other rights are in no way affected by the above. -\stopcolor - -The non||commercial part is mostly a safeguard. We don't mind if -user groups distribute printed copies, publish (parts of) manuals -and|/|or if authors use example code in manuals and books about -\CONTEXT. - -If you distribute \CONTEXT\ and related software on electronic media -as part of \TEX\ distributions (either or not for money), you may -also distribute the manuals and their sources in electronic form, -preferable as provided by the maintainers of \CONTEXT. - -Keep in mind that logos and cover designs are not meant to be -copied. We provide the source code for some manuals, but we don't -always provide all graphics and other resources. For instance, in -some manuals we use commercial fonts and you have to buy those -yourself. - -We provide the typeset manuals at our website. Those are the official -ones. We appreciate it if you do not to distribute manuals compiled -on your own system as substitutes. The manuals are a showcase for what -\CONTEXT\ provides. Help us to assure the quality. - -\subject {More information} - -We're not going to fill \mathematics{n}~pages with legal stuff, so if -you want to know more, you have to consult the web for the legalities -mentioned. Here are a few starting points: - -\startlines -\goto{\url[gpl-simple]}[url(gpl-simple)] -\goto{\url[gpl-legal]}[url(gpl-legal)] -\stoplines - -\startlines -\goto{\url[byncsa-simple]}[url(byncsa-simple)] -\goto{\url[byncsa-legal]}[url(byncsa-legal)] -\stoplines - -\CONTEXT\ itself can be fetched from the main site or its primary mirror: - -\startlines -\goto{\url[pragma]}[url(pragma)] -\goto{\url[mirror]}[url(mirror)] -\stoplines - -A starting point for support can be found at: - -\startlines -\goto{\url[contextlist]}[url(contextlist)] -\goto{\url[garden]}[url(garden)] -\stoplines - -Bugs and feature requests can be registered at the collector: - -\startlines -\goto{\url[collector]}[url(collector)] -\stoplines - -Releases are announced at: - -\startlines -\goto{\url[announce]}[url(announce)] -\stoplines - -The developers can be met at: - -\startlines -\goto{\url[development]}[url(development)] -\stoplines - -\subject {Disclaimer} - -To play safe we include a disclaimer here, taken from the BSD style -licence. For some reason such a text is in capitals, so \unknown - -\start \sc \blue -THIS SOFTWARE IS PROVIDED BY THE AUTHOR \quotation {AS IS} AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -\stop - -\unknown\ and don't bother discussing licence issues and related things -with us for the mere sake of discussing licence stuff. - -\blank[2*big] - -\startlines -Hans Hagen -PRAGMA ADE -Hasselt NL -\stoplines - -\ColofonPage - -\stoptext diff --git a/Master/texmf-dist/doc/context/manuals/allkind/publications-en.xml b/Master/texmf-dist/doc/context/manuals/allkind/publications-en.xml deleted file mode 100644 index 002b425bbdd..00000000000 --- a/Master/texmf-dist/doc/context/manuals/allkind/publications-en.xml +++ /dev/null @@ -1,372 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Master/texmf-dist/doc/context/scripts/mkii/ctxtools.man b/Master/texmf-dist/doc/context/scripts/mkii/ctxtools.man index 3eb988c9c44..38f10ef7c62 100644 --- a/Master/texmf-dist/doc/context/scripts/mkii/ctxtools.man +++ b/Master/texmf-dist/doc/context/scripts/mkii/ctxtools.man @@ -1,4 +1,4 @@ -.TH "ctxtools" "1" "01-01-2014" "version 1.3.5" "CtxTools" +.TH "ctxtools" "1" "01-01-2015" "version 1.3.5" "CtxTools" .SH NAME .B ctxtools .SH SYNOPSIS diff --git a/Master/texmf-dist/doc/context/scripts/mkii/imgtopdf.man b/Master/texmf-dist/doc/context/scripts/mkii/imgtopdf.man index ade6ce4f3a6..864cf5a981b 100644 --- a/Master/texmf-dist/doc/context/scripts/mkii/imgtopdf.man +++ b/Master/texmf-dist/doc/context/scripts/mkii/imgtopdf.man @@ -1,4 +1,4 @@ -.TH "imgtopdf" "1" "01-01-2014" "version 1.1.2" "ImgToPdf" +.TH "imgtopdf" "1" "01-01-2015" "version 1.1.2" "ImgToPdf" .SH NAME .B imgtopdf .SH SYNOPSIS diff --git a/Master/texmf-dist/doc/context/scripts/mkii/pdftools.man b/Master/texmf-dist/doc/context/scripts/mkii/pdftools.man index ddbebe386c0..f63bf7e39eb 100644 --- a/Master/texmf-dist/doc/context/scripts/mkii/pdftools.man +++ b/Master/texmf-dist/doc/context/scripts/mkii/pdftools.man @@ -1,4 +1,4 @@ -.TH "pdftools" "1" "01-01-2014" "version 1.2.1" "PDFTools" +.TH "pdftools" "1" "01-01-2015" "version 1.2.1" "PDFTools" .SH NAME .B pdftools .SH SYNOPSIS diff --git a/Master/texmf-dist/doc/context/scripts/mkii/pstopdf.man b/Master/texmf-dist/doc/context/scripts/mkii/pstopdf.man index 9a8e5c6379b..8203e76cc19 100644 --- a/Master/texmf-dist/doc/context/scripts/mkii/pstopdf.man +++ b/Master/texmf-dist/doc/context/scripts/mkii/pstopdf.man @@ -1,4 +1,4 @@ -.TH "pstopdf" "1" "01-01-2014" "version 2.0.1" "PStoPDF" +.TH "pstopdf" "1" "01-01-2015" "version 2.0.1" "PStoPDF" .SH NAME .B pstopdf .SH SYNOPSIS diff --git a/Master/texmf-dist/doc/context/scripts/mkii/rlxtools.man b/Master/texmf-dist/doc/context/scripts/mkii/rlxtools.man index a42a80c38f2..58e7032d8dd 100644 --- a/Master/texmf-dist/doc/context/scripts/mkii/rlxtools.man +++ b/Master/texmf-dist/doc/context/scripts/mkii/rlxtools.man @@ -1,4 +1,4 @@ -.TH "rlxtools" "1" "01-01-2014" "version 1.0.1" "RlxTools" +.TH "rlxtools" "1" "01-01-2015" "version 1.0.1" "RlxTools" .SH NAME .B rlxtools .SH SYNOPSIS diff --git a/Master/texmf-dist/doc/context/scripts/mkii/texexec.man b/Master/texmf-dist/doc/context/scripts/mkii/texexec.man index cfefa9a74a6..841622bcda1 100644 --- a/Master/texmf-dist/doc/context/scripts/mkii/texexec.man +++ b/Master/texmf-dist/doc/context/scripts/mkii/texexec.man @@ -1,4 +1,4 @@ -.TH "texexec" "1" "01-01-2014" "version 6.2.1" "TeXExec" +.TH "texexec" "1" "01-01-2015" "version 6.2.1" "TeXExec" .SH NAME .B texexec .SH SYNOPSIS diff --git a/Master/texmf-dist/doc/context/scripts/mkii/texmfstart.html b/Master/texmf-dist/doc/context/scripts/mkii/texmfstart.html index 8d44012bfee..ed149a0d09d 100644 --- a/Master/texmf-dist/doc/context/scripts/mkii/texmfstart.html +++ b/Master/texmf-dist/doc/context/scripts/mkii/texmfstart.html @@ -40,6 +40,7 @@ flagvaluedescription --scriptrun an mtx script (lua prefered method) (--noquotes), no script gives list + --evaluaterun code passed on the commandline (between quotes) --executerun a script or program (texmfstart method) (--noquotes) --resolveresolve prefixed arguments --ctxluarun internally (using preloaded libs) @@ -62,6 +63,7 @@ --verbosegive a bit more info --trackerslistenable given trackers --prognamestrformat or backend + --systeminfostrshow current operating system, processor, etc --editlaunch editor with found file --launchlaunch files like manuals, assumes os support (--all) diff --git a/Master/texmf-dist/doc/context/scripts/mkii/texmfstart.man b/Master/texmf-dist/doc/context/scripts/mkii/texmfstart.man index 77dc02dc5c5..8a3a75b64a5 100644 --- a/Master/texmf-dist/doc/context/scripts/mkii/texmfstart.man +++ b/Master/texmf-dist/doc/context/scripts/mkii/texmfstart.man @@ -1,4 +1,4 @@ -.TH "mtxrun" "1" "01-01-2014" "version 1.31" "ConTeXt TDS Runner Tool" +.TH "mtxrun" "1" "01-01-2015" "version 1.31" "ConTeXt TDS Runner Tool" .SH NAME .B mtxrun .SH SYNOPSIS @@ -14,6 +14,9 @@ .B --script run an mtx script (lua prefered method) (--noquotes), no script gives list .TP +.B --evaluate +run code passed on the commandline (between quotes) +.TP .B --execute run a script or program (texmfstart method) (--noquotes) .TP @@ -71,6 +74,9 @@ enable given trackers .B --progname=str format or backend .TP +.B --systeminfo=str +show current operating system, processor, etc +.TP .B --edit launch editor with found file .TP diff --git a/Master/texmf-dist/doc/context/scripts/mkii/texmfstart.xml b/Master/texmf-dist/doc/context/scripts/mkii/texmfstart.xml index 249a9bb54ad..c7e71954160 100644 --- a/Master/texmf-dist/doc/context/scripts/mkii/texmfstart.xml +++ b/Master/texmf-dist/doc/context/scripts/mkii/texmfstart.xml @@ -8,6 +8,7 @@ run an mtx script (lua prefered method) (), no script gives list + run code passed on the commandline (between quotes) run a script or program (texmfstart method) () resolve prefixed arguments run internally (using preloaded libs) @@ -33,6 +34,7 @@ give a bit more info enable given trackers format or backend + show current operating system, processor, etc launch editor with found file diff --git a/Master/texmf-dist/doc/context/scripts/mkii/textools.man b/Master/texmf-dist/doc/context/scripts/mkii/textools.man index ce26c5172c3..c256969fddd 100644 --- a/Master/texmf-dist/doc/context/scripts/mkii/textools.man +++ b/Master/texmf-dist/doc/context/scripts/mkii/textools.man @@ -1,4 +1,4 @@ -.TH "textools" "1" "01-01-2014" "version 1.3.1" "TeXTools" +.TH "textools" "1" "01-01-2015" "version 1.3.1" "TeXTools" .SH NAME .B textools .SH SYNOPSIS diff --git a/Master/texmf-dist/doc/context/scripts/mkii/texutil.man b/Master/texmf-dist/doc/context/scripts/mkii/texutil.man index 0dab17baa11..c92f51a6fb4 100644 --- a/Master/texmf-dist/doc/context/scripts/mkii/texutil.man +++ b/Master/texmf-dist/doc/context/scripts/mkii/texutil.man @@ -1,4 +1,4 @@ -.TH "texutil" "1" "01-01-2014" "version 9.1.0" "TeXUtil" +.TH "texutil" "1" "01-01-2015" "version 9.1.0" "TeXUtil" .SH NAME .B texutil .SH SYNOPSIS diff --git a/Master/texmf-dist/doc/context/scripts/mkii/tmftools.man b/Master/texmf-dist/doc/context/scripts/mkii/tmftools.man index 98044171905..780efb7ebfb 100644 --- a/Master/texmf-dist/doc/context/scripts/mkii/tmftools.man +++ b/Master/texmf-dist/doc/context/scripts/mkii/tmftools.man @@ -1,4 +1,4 @@ -.TH "tmftools" "1" "01-01-2014" "version 1.1.0" "TMFTools" +.TH "tmftools" "1" "01-01-2015" "version 1.1.0" "TMFTools" .SH NAME .B tmftools .SH SYNOPSIS diff --git a/Master/texmf-dist/doc/context/scripts/mkii/xmltools.man b/Master/texmf-dist/doc/context/scripts/mkii/xmltools.man index 2e61a14314e..d43cc1a03ad 100644 --- a/Master/texmf-dist/doc/context/scripts/mkii/xmltools.man +++ b/Master/texmf-dist/doc/context/scripts/mkii/xmltools.man @@ -1,4 +1,4 @@ -.TH "xmltools" "1" "01-01-2014" "version 1.2.2" "XMLTools" +.TH "xmltools" "1" "01-01-2015" "version 1.2.2" "XMLTools" .SH NAME .B xmltools .SH SYNOPSIS diff --git a/Master/texmf-dist/doc/context/scripts/mkiv/context.html b/Master/texmf-dist/doc/context/scripts/mkiv/context.html index 0833089aaba..b409de6e738 100644 --- a/Master/texmf-dist/doc/context/scripts/mkiv/context.html +++ b/Master/texmf-dist/doc/context/scripts/mkiv/context.html @@ -14,7 +14,7 @@ - ConTeXt Process Management 0.60 + ConTeXt Process Management 0.61 - - - -
-
bibtex helpers
-
-
-
-
wiki: http://contextgarden.net | mail: ntg-context@ntg.nl | website: http://www.pragma-ade.nl
-
-
-
- -
-
-

Command line options

- - - - - -
flagvaluedescription
--toxmlconvert bibtex database(s) to xml
--toluaconvert bibtex database(s) to lua
-
-

Example

-mtxrun --script bibtex --tolua bibl-001.bib -
mtxrun --script bibtex --tolua --simple bibl-001.bib -
mtxrun --script bibtex --toxml bibl-001.bib bibl-002.bib bibl-003.bib biblio.xml -

-
- - diff --git a/Master/texmf-dist/doc/context/scripts/mkiv/mtx-bibtex.man b/Master/texmf-dist/doc/context/scripts/mkiv/mtx-bibtex.man deleted file mode 100644 index cedf41b8bc6..00000000000 --- a/Master/texmf-dist/doc/context/scripts/mkiv/mtx-bibtex.man +++ /dev/null @@ -1,30 +0,0 @@ -.TH "mtx-bibtex" "1" "01-01-2014" "version 1.00" "bibtex helpers" -.SH NAME -.B mtx-bibtex -.SH SYNOPSIS -.B mtxrun --script bibtex [ -.I OPTIONS ... -.B ] [ -.I FILENAMES -.B ] -.SH DESCRIPTION -.B bibtex helpers -.SH OPTIONS -.TP -.B --toxml -convert bibtex database(s) to xml -.TP -.B --tolua -convert bibtex database(s) to lua -.SH AUTHOR -More information about ConTeXt and the tools that come with it can be found at: - - -.B "maillist:" -ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context - -.B "webpage:" -http://www.pragma-ade.nl / http://tex.aanhet.net - -.B "wiki:" -http://contextgarden.net diff --git a/Master/texmf-dist/doc/context/scripts/mkiv/mtx-bibtex.xml b/Master/texmf-dist/doc/context/scripts/mkiv/mtx-bibtex.xml deleted file mode 100644 index b33e1809c37..00000000000 --- a/Master/texmf-dist/doc/context/scripts/mkiv/mtx-bibtex.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - mtx-bibtex - bibtex helpers - 1.00 - - - - - convert bibtex database(s) to xml - convert bibtex database(s) to lua - - - - - - Example - - mtxrun --script bibtex --tolua bibl-001.bib - mtxrun --script bibtex --tolua --simple bibl-001.bib - mtxrun --script bibtex --toxml bibl-001.bib bibl-002.bib bibl-003.bib biblio.xml - - - - diff --git a/Master/texmf-dist/doc/context/scripts/mkiv/mtx-cache.man b/Master/texmf-dist/doc/context/scripts/mkiv/mtx-cache.man index 02f8a2ec470..a7acb8b2e86 100644 --- a/Master/texmf-dist/doc/context/scripts/mkiv/mtx-cache.man +++ b/Master/texmf-dist/doc/context/scripts/mkiv/mtx-cache.man @@ -1,4 +1,4 @@ -.TH "mtx-cache" "1" "01-01-2014" "version 0.10" "ConTeXt &error; MetaTeX Cache Management" +.TH "mtx-cache" "1" "01-01-2015" "version 0.10" "ConTeXt &error; MetaTeX Cache Management" .SH NAME .B mtx-cache .SH SYNOPSIS diff --git a/Master/texmf-dist/doc/context/scripts/mkiv/mtx-chars.man b/Master/texmf-dist/doc/context/scripts/mkiv/mtx-chars.man index 749f6315edb..5c9d79bb3b8 100644 --- a/Master/texmf-dist/doc/context/scripts/mkiv/mtx-chars.man +++ b/Master/texmf-dist/doc/context/scripts/mkiv/mtx-chars.man @@ -1,4 +1,4 @@ -.TH "mtx-chars" "1" "01-01-2014" "version 0.10" "MkII Character Table Generators" +.TH "mtx-chars" "1" "01-01-2015" "version 0.10" "MkII Character Table Generators" .SH NAME .B mtx-chars .SH SYNOPSIS diff --git a/Master/texmf-dist/doc/context/scripts/mkiv/mtx-check.html b/Master/texmf-dist/doc/context/scripts/mkiv/mtx-check.html index bf1f7da131a..0ebbe750f64 100644 --- a/Master/texmf-dist/doc/context/scripts/mkiv/mtx-check.html +++ b/Master/texmf-dist/doc/context/scripts/mkiv/mtx-check.html @@ -39,7 +39,7 @@ - +
flagvaluedescription
--convertcheck tex file for errors
--checkcheck tex file for errors

diff --git a/Master/texmf-dist/doc/context/scripts/mkiv/mtx-check.man b/Master/texmf-dist/doc/context/scripts/mkiv/mtx-check.man index 3893081cbb6..ca18bc1a601 100644 --- a/Master/texmf-dist/doc/context/scripts/mkiv/mtx-check.man +++ b/Master/texmf-dist/doc/context/scripts/mkiv/mtx-check.man @@ -1,4 +1,4 @@ -.TH "mtx-check" "1" "01-01-2014" "version 0.10" "Basic ConTeXt Syntax Checking" +.TH "mtx-check" "1" "01-01-2015" "version 0.10" "Basic ConTeXt Syntax Checking" .SH NAME .B mtx-check .SH SYNOPSIS @@ -11,7 +11,7 @@ .B Basic ConTeXt Syntax Checking .SH OPTIONS .TP -.B --convert +.B --check check tex file for errors .SH AUTHOR More information about ConTeXt and the tools that come with it can be found at: diff --git a/Master/texmf-dist/doc/context/scripts/mkiv/mtx-check.xml b/Master/texmf-dist/doc/context/scripts/mkiv/mtx-check.xml index a8dcb82fdca..b1c5163131b 100644 --- a/Master/texmf-dist/doc/context/scripts/mkiv/mtx-check.xml +++ b/Master/texmf-dist/doc/context/scripts/mkiv/mtx-check.xml @@ -8,7 +8,7 @@ - check tex file for errors + check tex file for errors diff --git a/Master/texmf-dist/doc/context/scripts/mkiv/mtx-colors.man b/Master/texmf-dist/doc/context/scripts/mkiv/mtx-colors.man index 68959ae744b..a969e474cbc 100644 --- a/Master/texmf-dist/doc/context/scripts/mkiv/mtx-colors.man +++ b/Master/texmf-dist/doc/context/scripts/mkiv/mtx-colors.man @@ -1,4 +1,4 @@ -.TH "mtx-colors" "1" "01-01-2014" "version 0.10" "ConTeXt Color Management" +.TH "mtx-colors" "1" "01-01-2015" "version 0.10" "ConTeXt Color Management" .SH NAME .B mtx-colors .SH SYNOPSIS diff --git a/Master/texmf-dist/doc/context/scripts/mkiv/mtx-context.html b/Master/texmf-dist/doc/context/scripts/mkiv/mtx-context.html index 0833089aaba..b409de6e738 100644 --- a/Master/texmf-dist/doc/context/scripts/mkiv/mtx-context.html +++ b/Master/texmf-dist/doc/context/scripts/mkiv/mtx-context.html @@ -14,7 +14,7 @@ - ConTeXt Process Management 0.60 + ConTeXt Process Management 0.61