diff options
Diffstat (limited to 'tex')
60 files changed, 9519 insertions, 4669 deletions
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii index f0385c065..844e6862e 100644 --- a/tex/context/base/mkii/cont-new.mkii +++ b/tex/context/base/mkii/cont-new.mkii @@ -11,7 +11,7 @@  %C therefore copyrighted by \PRAGMA. See mreadme.pdf for  %C details. -\newcontextversion{2013.06.07 17:34} +\newcontextversion{2016.09.23 10:13}  %D This file is loaded at runtime, thereby providing an  %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/mkii/context.mkii b/tex/context/base/mkii/context.mkii index 84679a9a2..4dd632844 100644 --- a/tex/context/base/mkii/context.mkii +++ b/tex/context/base/mkii/context.mkii @@ -20,7 +20,7 @@  %D your styles an modules.  \edef\contextformat {\jobname} -\edef\contextversion{2013.06.07 17:34} +\edef\contextversion{2016.09.23 10:13}  %D For those who want to use this: diff --git a/tex/context/base/mkii/mult-cs.mkii b/tex/context/base/mkii/mult-cs.mkii new file mode 100644 index 000000000..f55cde7e6 --- /dev/null +++ b/tex/context/base/mkii/mult-cs.mkii @@ -0,0 +1,1952 @@ +% this file is auto-generated, don't edit this file +% +% definitions for interface variables for language cs +% +\setinterfacevariable{Addition}{Pridavek} +\setinterfacevariable{Alphabetic}{Alphabetic} +\setinterfacevariable{Balloon}{Bublinka} +\setinterfacevariable{Cap}{Kap} +\setinterfacevariable{Capital}{Kapitalky} +\setinterfacevariable{Character}{Pismeno} +\setinterfacevariable{Characters}{Pismena} +\setinterfacevariable{CloseDocument}{ZavritDokument} +\setinterfacevariable{ExitViewer}{UkoncitProhlizec} +\setinterfacevariable{FirstPage}{PrvniStrana} +\setinterfacevariable{FitHeight}{FitHeight} +\setinterfacevariable{FitWidth}{FitWidth} +\setinterfacevariable{GotoPage}{JdiNaStranku} +\setinterfacevariable{Greek}{Recky} +\setinterfacevariable{Help}{Napoveda} +\setinterfacevariable{HideField}{SkryjPole} +\setinterfacevariable{HideLayer}{HideLayer} +\setinterfacevariable{Key}{Klavesa} +\setinterfacevariable{LastPage}{PosledniStrana} +\setinterfacevariable{LoadForm}{NacistFormular} +\setinterfacevariable{MONTH}{MESIC} +\setinterfacevariable{New}{Novy} +\setinterfacevariable{NextJump}{NasledujiciSkok} +\setinterfacevariable{NextPage}{DalsiStrana} +\setinterfacevariable{Numbers}{Cisla} +\setinterfacevariable{OpenNamedDocument}{OpenNamedDocument} +\setinterfacevariable{Ordinal}{Ordinal} +\setinterfacevariable{Paragraph}{Odstavec} +\setinterfacevariable{PauseMovie}{PozastavitFilm} +\setinterfacevariable{PauseRendering}{PauseRendering} +\setinterfacevariable{PauseSound}{PozastavitZvuk} +\setinterfacevariable{PreviousJump}{PredchoziSkok} +\setinterfacevariable{PreviousPage}{PredchoziStrana} +\setinterfacevariable{PrintDocument}{VytisknoutDokument} +\setinterfacevariable{Query}{Query} +\setinterfacevariable{QueryAgain}{QueryAgain} +\setinterfacevariable{ResetForm}{ResetFormulare} +\setinterfacevariable{ResumeMovie}{PokracovatFilm} +\setinterfacevariable{ResumeRendering}{ResumeRendering} +\setinterfacevariable{ResumeSound}{PokracovatZvuk} +\setinterfacevariable{Romannumerals}{Rimskecislice} +\setinterfacevariable{SaveDocument}{UlozitDokument} +\setinterfacevariable{SaveForm}{UlozitFormular} +\setinterfacevariable{SaveNamedDocument}{SaveNamedDocument} +\setinterfacevariable{SearchAgain}{HledatZnovu} +\setinterfacevariable{SearchDocument}{ProhledatDokument} +\setinterfacevariable{ShowBookmarks}{UkazZalozky} +\setinterfacevariable{ShowField}{UkazPole} +\setinterfacevariable{ShowThumbs}{UkazNahledy} +\setinterfacevariable{StartMovie}{SpustitFilm} +\setinterfacevariable{StartRendering}{StartRendering} +\setinterfacevariable{StartSound}{StartZvuk} +\setinterfacevariable{StopMovie}{ZastavitFilm} +\setinterfacevariable{StopRendering}{StopRendering} +\setinterfacevariable{StopSound}{StopZvuk} +\setinterfacevariable{SubmitForm}{PoslatFormular} +\setinterfacevariable{ToggleLayer}{ToggleLayer} +\setinterfacevariable{ToggleViewer}{ZmenitProhlizec} +\setinterfacevariable{URL}{URL} +\setinterfacevariable{VideLayer}{VideLayer} +\setinterfacevariable{ViewerHelp}{NapovedaProhlizece} +\setinterfacevariable{WEEKDAY}{VSEDNIDEN} +\setinterfacevariable{WORD}{SLOVO} +\setinterfacevariable{WORDS}{SLOVA} +\setinterfacevariable{Word}{Slovo} +\setinterfacevariable{Words}{Slova} +\setinterfacevariable{abbreviation}{zkratka} +\setinterfacevariable{abbreviations}{zkratky} +\setinterfacevariable{absolute}{absolutni} +\setinterfacevariable{action}{akce} +\setinterfacevariable{after}{po} +\setinterfacevariable{all}{vse} +\setinterfacevariable{alphabetic}{alphabetic} +\setinterfacevariable{always}{vzdy} +\setinterfacevariable{and}{and} +\setinterfacevariable{answerarea}{answerarea} +\setinterfacevariable{appendices}{dodatky} +\setinterfacevariable{appendix}{dodatek} +\setinterfacevariable{april}{duben} +\setinterfacevariable{aside}{aside} +\setinterfacevariable{atleftmargin}{atleftmargin} +\setinterfacevariable{atmargin}{naokraji} +\setinterfacevariable{atpage}{nastrance} +\setinterfacevariable{atrightmargin}{atrightmargin} +\setinterfacevariable{attachment}{attachment} +\setinterfacevariable{august}{srpen} +\setinterfacevariable{author}{autor} +\setinterfacevariable{auto}{auto} +\setinterfacevariable{autointro}{autouvod} +\setinterfacevariable{autopunctuation}{autopunctuation} +\setinterfacevariable{back}{zpet} +\setinterfacevariable{background}{pozadi} +\setinterfacevariable{backmatter}{epilogy} +\setinterfacevariable{backpart}{epilog} +\setinterfacevariable{backspace}{zpetnamezera} +\setinterfacevariable{backward}{zpet} +\setinterfacevariable{bbl}{bbl} +\setinterfacevariable{before}{pred} +\setinterfacevariable{begin}{begin} +\setinterfacevariable{bib}{bib} +\setinterfacevariable{big}{velke} +\setinterfacevariable{bigbodyfont}{bigbodyfont} +\setinterfacevariable{bigger}{bigger} +\setinterfacevariable{bigpreference}{vysokapriorita} +\setinterfacevariable{blank}{prazdny} +\setinterfacevariable{block}{block} +\setinterfacevariable{blockquote}{blockquote} +\setinterfacevariable{bodymatter}{hlavnicasti} +\setinterfacevariable{bodypart}{hlavnicast} +\setinterfacevariable{bold}{tucne} +\setinterfacevariable{bolditalic}{tucnekurzivni} +\setinterfacevariable{boldslanted}{tucnesklonene} +\setinterfacevariable{bookmark}{zalozka} +\setinterfacevariable{both}{obe} +\setinterfacevariable{bothtext}{bothtext} +\setinterfacevariable{bottom}{spodek} +\setinterfacevariable{box}{box} +\setinterfacevariable{brief}{brief} +\setinterfacevariable{broad}{siroky} +\setinterfacevariable{buffer}{buffer} +\setinterfacevariable{by}{skrz} +\setinterfacevariable{calligraphic}{kaligraficke} +\setinterfacevariable{camel}{camel} +\setinterfacevariable{cap}{kap} +\setinterfacevariable{capital}{kapitalky} +\setinterfacevariable{center}{center} +\setinterfacevariable{centerlast}{centerlast} +\setinterfacevariable{chapter}{kapitola} +\setinterfacevariable{character}{pismeno} +\setinterfacevariable{characters}{pismena} +\setinterfacevariable{chemical}{chemical} +\setinterfacevariable{chemicals}{chemicals} +\setinterfacevariable{chemistry}{chemistry} +\setinterfacevariable{cite}{cite} +\setinterfacevariable{color}{barevne} +\setinterfacevariable{column}{column} +\setinterfacevariable{columns}{sloupce} +\setinterfacevariable{combination}{combination} +\setinterfacevariable{command}{prikaz} +\setinterfacevariable{commands}{prikazy} +\setinterfacevariable{comment}{komentar} +\setinterfacevariable{component}{komponenta} +\setinterfacevariable{compressseparator}{compressseparator} +\setinterfacevariable{concept}{koncept} +\setinterfacevariable{construction}{construction} +\setinterfacevariable{content}{obsah} +\setinterfacevariable{contents}{obsah} +\setinterfacevariable{continue}{pokracovat} +\setinterfacevariable{continued}{continued} +\setinterfacevariable{controls}{controls} +\setinterfacevariable{conversion}{konverze} +\setinterfacevariable{current}{aktualni} +\setinterfacevariable{cutspace}{cutspace} +\setinterfacevariable{dataset}{dataset} +\setinterfacevariable{date}{datum} +\setinterfacevariable{day}{den} +\setinterfacevariable{december}{prosinec} +\setinterfacevariable{default}{implicitni} +\setinterfacevariable{depth}{podlehloubky} +\setinterfacevariable{description}{popis} +\setinterfacevariable{disable}{zablokovat} +\setinterfacevariable{display}{obrazovka} +\setinterfacevariable{dot}{tecka} +\setinterfacevariable{doublesided}{dvoustranny} +\setinterfacevariable{down}{down} +\setinterfacevariable{each}{kazdy} +\setinterfacevariable{edge}{hrana} +\setinterfacevariable{effective}{effective} +\setinterfacevariable{eight}{eight} +\setinterfacevariable{embed}{embed} +\setinterfacevariable{empty}{prazdne} +\setinterfacevariable{enable}{enable} +\setinterfacevariable{end}{end} +\setinterfacevariable{endnote}{endnote} +\setinterfacevariable{enumeration}{vycet} +\setinterfacevariable{environment}{prostredi} +\setinterfacevariable{even}{sude} +\setinterfacevariable{export}{export} +\setinterfacevariable{external}{externi} +\setinterfacevariable{extremestretch}{extremestretch} +\setinterfacevariable{fact}{fakt} +\setinterfacevariable{february}{unor} +\setinterfacevariable{figure}{obrazek} +\setinterfacevariable{figures}{obrazky} +\setinterfacevariable{file}{soubor} +\setinterfacevariable{final}{finalni} +\setinterfacevariable{first}{prvni} +\setinterfacevariable{firstcolumn}{firstcolumn} +\setinterfacevariable{firstpage}{prvnistranka} +\setinterfacevariable{firstsubpage}{prvnipodstranka} +\setinterfacevariable{fit}{prizpusobive} +\setinterfacevariable{five}{pet} +\setinterfacevariable{fix}{fixuj} +\setinterfacevariable{fixed}{fixne} +\setinterfacevariable{flexible}{prizpusobive} +\setinterfacevariable{float}{plvouciobjekt} +\setinterfacevariable{flushinner}{flushinner} +\setinterfacevariable{flushleft}{flushleft} +\setinterfacevariable{flushouter}{flushouter} +\setinterfacevariable{flushright}{flushright} +\setinterfacevariable{followingpage}{followingpage} +\setinterfacevariable{footer}{upati} +\setinterfacevariable{footnote}{poznamkapodcarou} +\setinterfacevariable{force}{sila} +\setinterfacevariable{foreground}{popredi} +\setinterfacevariable{formula}{rovnice} +\setinterfacevariable{formulas}{rovnice} +\setinterfacevariable{forward}{vpred} +\setinterfacevariable{four}{ctyri} +\setinterfacevariable{frame}{ramecek} +\setinterfacevariable{framedtext}{oramovanytext} +\setinterfacevariable{friday}{patek} +\setinterfacevariable{frontmatter}{prednicasti} +\setinterfacevariable{frontpart}{prednicast} +\setinterfacevariable{fullhz}{fullhz} +\setinterfacevariable{global}{globalne} +\setinterfacevariable{graphic}{graf} +\setinterfacevariable{graphics}{grafy} +\setinterfacevariable{gray}{seda} +\setinterfacevariable{greek}{recky} +\setinterfacevariable{grid}{mrizka} +\setinterfacevariable{halfline}{pulradku} +\setinterfacevariable{handwritten}{rukopisne} +\setinterfacevariable{hang}{zaveseni} +\setinterfacevariable{hanging}{visici} +\setinterfacevariable{head}{hlavicka} +\setinterfacevariable{header}{zahlavi} +\setinterfacevariable{height}{vyska} +\setinterfacevariable{helptext}{textnapovedy} +\setinterfacevariable{hencefore}{vyse} +\setinterfacevariable{here}{zde} +\setinterfacevariable{hereafter}{nize} +\setinterfacevariable{hidden}{skryte} +\setinterfacevariable{hiddenbar}{hiddenbar} +\setinterfacevariable{hiding}{skryt} +\setinterfacevariable{high}{vysoko} +\setinterfacevariable{horizontal}{horizontalne} +\setinterfacevariable{hyphenated}{hyphenated} +\setinterfacevariable{hz}{hz} +\setinterfacevariable{inbetween}{mezi} +\setinterfacevariable{index}{rejstrik} +\setinterfacevariable{indices}{rejstriky} +\setinterfacevariable{inherit}{inherit} +\setinterfacevariable{ininner}{ininner} +\setinterfacevariable{ininneredge}{ininneredge} +\setinterfacevariable{ininnermargin}{ininnermargin} +\setinterfacevariable{inleft}{ivlevo} +\setinterfacevariable{inleftedge}{nalevo} +\setinterfacevariable{inleftmargin}{nalevyokraj} +\setinterfacevariable{inline}{inline} +\setinterfacevariable{inmargin}{naokraji} +\setinterfacevariable{inner}{uvnitr} +\setinterfacevariable{inneredge}{inneredge} +\setinterfacevariable{innermargin}{innermargin} +\setinterfacevariable{inother}{inother} +\setinterfacevariable{inouter}{inouter} +\setinterfacevariable{inouteredge}{inouteredge} +\setinterfacevariable{inoutermargin}{inoutermargin} +\setinterfacevariable{inright}{ivpravo} +\setinterfacevariable{inrightedge}{napravo} +\setinterfacevariable{inrightmargin}{napravyokraj} +\setinterfacevariable{integral}{integral} +\setinterfacevariable{interaction}{interakce} +\setinterfacevariable{interactionmenu}{interaktivnimenu} +\setinterfacevariable{interactive}{interactive} +\setinterfacevariable{intermezzi}{intermezzi} +\setinterfacevariable{intermezzo}{intermezzo} +\setinterfacevariable{intext}{dotextu} +\setinterfacevariable{intro}{uvod} +\setinterfacevariable{italic}{kurziva} +\setinterfacevariable{italicbold}{kurzivnitucne} +\setinterfacevariable{item}{polozka} +\setinterfacevariable{itemize}{vycet} +\setinterfacevariable{its}{pol} +\setinterfacevariable{january}{leden} +\setinterfacevariable{joinedup}{spojeno} +\setinterfacevariable{july}{cervenec} +\setinterfacevariable{june}{cerven} +\setinterfacevariable{keep}{drzet} +\setinterfacevariable{kerncharacters}{kerncharacters} +\setinterfacevariable{knockout}{knockout} +\setinterfacevariable{label}{popisek} +\setinterfacevariable{landscape}{nasirku} +\setinterfacevariable{last}{posledni} +\setinterfacevariable{lastcolumn}{lastcolumn} +\setinterfacevariable{lastpage}{poslednistrana} +\setinterfacevariable{lastpagenumber}{lastpagenumber} +\setinterfacevariable{lastsubpage}{poslaednipodstranka} +\setinterfacevariable{layer}{layer} +\setinterfacevariable{left}{vlevo} +\setinterfacevariable{leftedge}{levahrana} +\setinterfacevariable{lefthanging}{lefthanging} +\setinterfacevariable{leftmargin}{levyokraj} +\setinterfacevariable{leftpage}{levastranka} +\setinterfacevariable{lefttoright}{lefttoright} +\setinterfacevariable{legend}{legenda} +\setinterfacevariable{less}{less} +\setinterfacevariable{lesshyphenation}{lesshyphenation} +\setinterfacevariable{letterspacing}{letterspacing} +\setinterfacevariable{line}{radek} +\setinterfacevariable{linenote}{linenote} +\setinterfacevariable{lines}{radky} +\setinterfacevariable{linked}{linked} +\setinterfacevariable{list}{seznam} +\setinterfacevariable{local}{lokalne} +\setinterfacevariable{localenvironment}{lokalnihoprostredi} +\setinterfacevariable{logo}{logo} +\setinterfacevariable{logos}{loga} +\setinterfacevariable{lohi}{nivy} +\setinterfacevariable{long}{long} +\setinterfacevariable{loose}{uvolnene} +\setinterfacevariable{low}{nizko} +\setinterfacevariable{ls}{ls} +\setinterfacevariable{makeup}{zlom} +\setinterfacevariable{mar}{mar} +\setinterfacevariable{march}{brezen} +\setinterfacevariable{margin}{marginalie} +\setinterfacevariable{marginedge}{textovahrana} +\setinterfacevariable{margintext}{marginalnitext} +\setinterfacevariable{margintitle}{titulmarginalie} +\setinterfacevariable{marking}{znaceni} +\setinterfacevariable{math}{math} +\setinterfacevariable{mathalignment}{mathalignment} +\setinterfacevariable{mathcases}{mathcases} +\setinterfacevariable{mathematics}{mathematika} +\setinterfacevariable{mathmatrix}{mathmatrix} +\setinterfacevariable{max}{max} +\setinterfacevariable{maxdepth}{maxdepth} +\setinterfacevariable{maxheight}{maxheight} +\setinterfacevariable{maxwidth}{maxwidth} +\setinterfacevariable{may}{kveten} +\setinterfacevariable{mediaeval}{stredoveky} +\setinterfacevariable{medium}{stredni} +\setinterfacevariable{middle}{nastred} +\setinterfacevariable{min}{min} +\setinterfacevariable{mindepth}{mindepth} +\setinterfacevariable{minheight}{minvyska} +\setinterfacevariable{minwidth}{minsirka} +\setinterfacevariable{mirrored}{zrcadleno} +\setinterfacevariable{mixed}{mixed} +\setinterfacevariable{monday}{pondeli} +\setinterfacevariable{mono}{mono} +\setinterfacevariable{monobold}{monotucne} +\setinterfacevariable{mononormal}{mononormal} +\setinterfacevariable{month}{mesic} +\setinterfacevariable{more}{more} +\setinterfacevariable{morehyphenation}{morehyphenation} +\setinterfacevariable{name}{jmeno} +\setinterfacevariable{narrow}{uzky} +\setinterfacevariable{negative}{negativ} +\setinterfacevariable{never}{nikdy} +\setinterfacevariable{new}{novy} +\setinterfacevariable{next}{dalsi} +\setinterfacevariable{nextevenpage}{dalsisudastranka} +\setinterfacevariable{nextoddpage}{dalsilichastranka} +\setinterfacevariable{nextpage}{dalsistranka} +\setinterfacevariable{nextsubpage}{dalsipodstranka} +\setinterfacevariable{nine}{nine} +\setinterfacevariable{no}{ne} +\setinterfacevariable{nocheck}{nocheck} +\setinterfacevariable{nodepth}{nodepth} +\setinterfacevariable{nofit}{nofit} +\setinterfacevariable{nogrid}{nogrid} +\setinterfacevariable{noheight}{noheight} +\setinterfacevariable{nohz}{nohz} +\setinterfacevariable{noline}{noline} +\setinterfacevariable{nomarking}{zadneznaceni} +\setinterfacevariable{none}{zadny} +\setinterfacevariable{nonumber}{nonumber} +\setinterfacevariable{norepeat}{norepeat} +\setinterfacevariable{normal}{normalni} +\setinterfacevariable{nospacing}{nospacing} +\setinterfacevariable{not}{ne} +\setinterfacevariable{notation}{notation} +\setinterfacevariable{note}{note} +\setinterfacevariable{nothanging}{nothanging} +\setinterfacevariable{nothyphenated}{nothyphenated} +\setinterfacevariable{november}{listopad} +\setinterfacevariable{nowhere}{nikde} +\setinterfacevariable{nowhite}{zadnabila} +\setinterfacevariable{number}{cislo} +\setinterfacevariable{numbers}{cisla} +\setinterfacevariable{october}{rijen} +\setinterfacevariable{odd}{liche} +\setinterfacevariable{off}{vyp} +\setinterfacevariable{offset}{offset} +\setinterfacevariable{old}{old} +\setinterfacevariable{oldstyle}{oldstyle} +\setinterfacevariable{on}{zap} +\setinterfacevariable{one}{jedna} +\setinterfacevariable{opposite}{naproti} +\setinterfacevariable{ordinal}{ordinal} +\setinterfacevariable{outer}{vnejsi} +\setinterfacevariable{outeredge}{outeredge} +\setinterfacevariable{outermargin}{outermargin} +\setinterfacevariable{overbar}{nadtrzeno} +\setinterfacevariable{overbars}{nadtrzeni} +\setinterfacevariable{overlay}{prekryv} +\setinterfacevariable{overprint}{overprint} +\setinterfacevariable{overstrike}{preskrtnuto} +\setinterfacevariable{overstrikes}{preskrtnuti} +\setinterfacevariable{packed}{zhustene} +\setinterfacevariable{page}{stranka} +\setinterfacevariable{pagecomment}{komentarstranky} +\setinterfacevariable{pagenumber}{cislostranky} +\setinterfacevariable{paper}{papir} +\setinterfacevariable{paragraph}{odstavec} +\setinterfacevariable{part}{cast} +\setinterfacevariable{positive}{positiv} +\setinterfacevariable{postponing}{odlozit} +\setinterfacevariable{postscript}{postscript} +\setinterfacevariable{precedingpage}{followingpage} +\setinterfacevariable{preference}{nastaveni} +\setinterfacevariable{preview}{nahled} +\setinterfacevariable{previous}{predchozi} +\setinterfacevariable{previousevenpage}{predchozisudastranka} +\setinterfacevariable{previousoddpage}{predchozilichastranka} +\setinterfacevariable{previouspage}{predchozistranka} +\setinterfacevariable{previoussubpage}{predchozipodstranka} +\setinterfacevariable{print}{print} +\setinterfacevariable{printable}{tisknutelne} +\setinterfacevariable{process}{process} +\setinterfacevariable{product}{produkt} +\setinterfacevariable{program}{program} +\setinterfacevariable{project}{projekt} +\setinterfacevariable{protected}{chranene} +\setinterfacevariable{quadruple}{ctyrnasobny} +\setinterfacevariable{quarterline}{quarterline} +\setinterfacevariable{quotation}{citace} +\setinterfacevariable{quote}{citovat} +\setinterfacevariable{ran}{rozsah} +\setinterfacevariable{random}{nahodny} +\setinterfacevariable{readonly}{pouzeprocteni} +\setinterfacevariable{rectangular}{pravouhly} +\setinterfacevariable{reference}{odkaz} +\setinterfacevariable{referral}{znacka} +\setinterfacevariable{register}{rejstrik} +\setinterfacevariable{regular}{pravidelne} +\setinterfacevariable{relative}{relativni} +\setinterfacevariable{repeat}{opakovat} +\setinterfacevariable{required}{pozadovane} +\setinterfacevariable{reset}{reset} +\setinterfacevariable{reverse}{reverse} +\setinterfacevariable{right}{vpravo} +\setinterfacevariable{rightedge}{pravahrana} +\setinterfacevariable{righthanging}{righthanging} +\setinterfacevariable{rightmargin}{pravyokraj} +\setinterfacevariable{rightpage}{pravastranka} +\setinterfacevariable{righttoleft}{righttoleft} +\setinterfacevariable{roman}{antikva} +\setinterfacevariable{romannumerals}{rimskecislice} +\setinterfacevariable{rotate}{otoc} +\setinterfacevariable{rotated}{otoceno} +\setinterfacevariable{round}{zaobleny} +\setinterfacevariable{row}{row} +\setinterfacevariable{rule}{linka} +\setinterfacevariable{samepage}{stejnastranka} +\setinterfacevariable{sans}{sans} +\setinterfacevariable{sansbold}{sanstucne} +\setinterfacevariable{sansnormal}{sansnormal} +\setinterfacevariable{sansserif}{bezserifu} +\setinterfacevariable{saturday}{sobota} +\setinterfacevariable{screen}{rastr} +\setinterfacevariable{section}{sekce} +\setinterfacevariable{sectionblockenvironment}{sectionblockenvironment} +\setinterfacevariable{sectionnumber}{cislooddilu} +\setinterfacevariable{see}{viz} +\setinterfacevariable{selectfont}{selectfont} +\setinterfacevariable{september}{zari} +\setinterfacevariable{serif}{serif} +\setinterfacevariable{serifbold}{serifbold} +\setinterfacevariable{serifnormal}{serifnormal} +\setinterfacevariable{serried}{semknuto} +\setinterfacevariable{setups}{setups} +\setinterfacevariable{seven}{seven} +\setinterfacevariable{sheet}{sheet} +\setinterfacevariable{shiftdown}{shiftdown} +\setinterfacevariable{shiftup}{shiftup} +\setinterfacevariable{short}{short} +\setinterfacevariable{simplefonts}{simplefonts} +\setinterfacevariable{simplelist}{simplelist} +\setinterfacevariable{singlesided}{jednostranne} +\setinterfacevariable{six}{six} +\setinterfacevariable{slanted}{sklonene} +\setinterfacevariable{slantedbold}{sklonenetucne} +\setinterfacevariable{small}{male} +\setinterfacevariable{smallbodyfont}{smallbodyfont} +\setinterfacevariable{smallbold}{maletucne} +\setinterfacevariable{smallbolditalic}{maletucnekurzivni} +\setinterfacevariable{smallboldslanted}{maletucnesklonene} +\setinterfacevariable{smallcaps}{kapitalky} +\setinterfacevariable{smaller}{smaller} +\setinterfacevariable{smallitalic}{malekurzivni} +\setinterfacevariable{smallitalicbold}{malekurzivnitucne} +\setinterfacevariable{smallnormal}{malenormalni} +\setinterfacevariable{smallslanted}{malesklonene} +\setinterfacevariable{smallslantedbold}{malesklonenetucne} +\setinterfacevariable{smalltype}{maletype} +\setinterfacevariable{somewhere}{nekde} +\setinterfacevariable{sorted}{tridene} +\setinterfacevariable{sorting}{sorting} +\setinterfacevariable{space}{mezera} +\setinterfacevariable{spacing}{mezerovani} +\setinterfacevariable{speech}{speech} +\setinterfacevariable{split}{split} +\setinterfacevariable{spot}{spot} +\setinterfacevariable{standard}{standardni} +\setinterfacevariable{start}{start} +\setinterfacevariable{starter}{starter} +\setinterfacevariable{sticker}{sticker} +\setinterfacevariable{stop}{stop} +\setinterfacevariable{stopper}{predel} +\setinterfacevariable{stretch}{natahnout} +\setinterfacevariable{stretched}{stretched} +\setinterfacevariable{strict}{striktni} +\setinterfacevariable{strong}{strong} +\setinterfacevariable{strut}{strut} +\setinterfacevariable{sub}{pod} +\setinterfacevariable{subbackward}{podzpet} +\setinterfacevariable{subformula}{subrovnice} +\setinterfacevariable{subforward}{podvpred} +\setinterfacevariable{subject}{tema} +\setinterfacevariable{subpage}{podstranka} +\setinterfacevariable{subs}{subs} +\setinterfacevariable{subsection}{podsekce} +\setinterfacevariable{subsubject}{podtema} +\setinterfacevariable{subsubsection}{podpodsekce} +\setinterfacevariable{subsubsubject}{podpodtema} +\setinterfacevariable{subsubsubsection}{podpodpodsekce} +\setinterfacevariable{subsubsubsubject}{podpodpodtema} +\setinterfacevariable{subsubsubsubsection}{podpodpodpodsekce} +\setinterfacevariable{subsubsubsubsubject}{podpodpodpodtema} +\setinterfacevariable{subsubsubsubsubsection}{podpodpodpodpodsekce} +\setinterfacevariable{subsubsubsubsubsubject}{podpodpodpodpodtema} +\setinterfacevariable{subsubsubsubsubsubsection}{podpodpodpodpodpodsekce} +\setinterfacevariable{subsubsubsubsubsubsubject}{podpodpodpodpodpodtema} +\setinterfacevariable{subsubsubsubsubsubsubsection}{podpodpodpodpodpodpodsekce} +\setinterfacevariable{subsubsubsubsubsubsubsubject}{podpodpodpodpodpodpodtema} +\setinterfacevariable{subsubsubsubsubsubsubsubsection}{podpodpodpodpodpodpodpodsekce} +\setinterfacevariable{subsubsubsubsubsubsubsubsubject}{podpodpodpodpodpodpodpodtema} +\setinterfacevariable{subsubsubsubsubsubsubsubsubsection}{podpodpodpodpodpodpodpodpodsekce} +\setinterfacevariable{subsubsubsubsubsubsubsubsubsubject}{podpodpodpodpodpodpodpodpodtema} +\setinterfacevariable{sunday}{nedele} +\setinterfacevariable{support}{podpora} +\setinterfacevariable{sym}{sym} +\setinterfacevariable{symbol}{symbol} +\setinterfacevariable{synchronize}{synchronize} +\setinterfacevariable{synonym}{synonym} +\setinterfacevariable{system}{system} +\setinterfacevariable{table}{tabulka} +\setinterfacevariable{tablehead}{zahlavitabulky} +\setinterfacevariable{tables}{tabulky} +\setinterfacevariable{tabletail}{konectabulky} +\setinterfacevariable{tabulate}{tabelator} +\setinterfacevariable{tabulatehead}{tabulatehead} +\setinterfacevariable{tabulatetail}{tabulatetail} +\setinterfacevariable{tall}{vysoko} +\setinterfacevariable{teletype}{strojopis} +\setinterfacevariable{temporary}{docasne} +\setinterfacevariable{test}{test} +\setinterfacevariable{text}{text} +\setinterfacevariable{three}{tri} +\setinterfacevariable{thursday}{ctvrtek} +\setinterfacevariable{tight}{tight} +\setinterfacevariable{title}{titul} +\setinterfacevariable{toggle}{toggle} +\setinterfacevariable{tolerant}{tolerantni} +\setinterfacevariable{top}{vrsek} +\setinterfacevariable{tuesday}{utery} +\setinterfacevariable{two}{dve} +\setinterfacevariable{txt}{txt} +\setinterfacevariable{type}{opis} +\setinterfacevariable{typing}{typing} +\setinterfacevariable{unavailable}{nedostupne} +\setinterfacevariable{underbar}{podtrzeno} +\setinterfacevariable{underbars}{podtrzeni} +\setinterfacevariable{understrike}{understrike} +\setinterfacevariable{understrikes}{understrikes} +\setinterfacevariable{unframed}{unframed} +\setinterfacevariable{unit}{jednotka} +\setinterfacevariable{units}{jednotky} +\setinterfacevariable{unknown}{neznamy} +\setinterfacevariable{unpacked}{rozbalene} +\setinterfacevariable{up}{up} +\setinterfacevariable{url}{url} +\setinterfacevariable{used}{uzito} +\setinterfacevariable{value}{hodnota} +\setinterfacevariable{vertical}{vertikalne} +\setinterfacevariable{very}{velmi} +\setinterfacevariable{verystrict}{velmistriktni} +\setinterfacevariable{verytolerant}{velmitolerantni} +\setinterfacevariable{vfenced}{vfenced} +\setinterfacevariable{vulgarfraction}{vulgarfraction} +\setinterfacevariable{weak}{weak} +\setinterfacevariable{wednesday}{streda} +\setinterfacevariable{week}{tyden} +\setinterfacevariable{weekday}{vsedniden} +\setinterfacevariable{white}{bily} +\setinterfacevariable{wide}{siroce} +\setinterfacevariable{width}{sirka} +\setinterfacevariable{word}{slovo} +\setinterfacevariable{words}{words} +\setinterfacevariable{xml}{xml} +\setinterfacevariable{year}{rok} +\setinterfacevariable{yes}{ano} +% definitions for interface constants for language cs +% +\setinterfaceconstant{action}{akce} +\setinterfaceconstant{address}{adresa} +\setinterfaceconstant{after}{po} +\setinterfaceconstant{afterhead}{pohlavicce} +\setinterfaceconstant{afterkey}{klavesapo} +\setinterfaceconstant{aftersection}{aftersection} +\setinterfaceconstant{align}{zarovnani} +\setinterfaceconstant{aligncharacter}{aligncharacter} +\setinterfaceconstant{alignmentcharacter}{alignmentcharacter} +\setinterfaceconstant{alignsymbol}{alignsymbol} +\setinterfaceconstant{aligntitle}{zarovnejtitul} +\setinterfaceconstant{alternative}{alternativa} +\setinterfaceconstant{anchor}{anchor} +\setinterfaceconstant{andtext}{andtext} +\setinterfaceconstant{apa}{apa} +\setinterfaceconstant{arguments}{arguments} +\setinterfaceconstant{arrow}{sipka} +\setinterfaceconstant{artauthor}{artauthor} +\setinterfaceconstant{artauthoretaldisplay}{artauthoretaldisplay} +\setinterfaceconstant{artauthoretallimit}{artauthoretallimit} +\setinterfaceconstant{artauthoretaltext}{artauthoretaltext} +\setinterfaceconstant{artoffset}{artoffset} +\setinterfaceconstant{at}{u} +\setinterfaceconstant{author}{autor} +\setinterfaceconstant{authorconversion}{authorconversion} +\setinterfaceconstant{authoretaldisplay}{authoretaldisplay} +\setinterfaceconstant{authoretallimit}{authoretallimit} +\setinterfaceconstant{authoretaltext}{authoretaltext} +\setinterfaceconstant{auto}{auto} +\setinterfaceconstant{autocase}{autocase} +\setinterfaceconstant{autofile}{autofile} +\setinterfaceconstant{autofocus}{autoostreni} +\setinterfaceconstant{autohang}{autohang} +\setinterfaceconstant{autostrut}{autostrut} +\setinterfaceconstant{autowidth}{autosirka} +\setinterfaceconstant{availableheight}{availableheight} +\setinterfaceconstant{availablewidth}{availablewidth} +\setinterfaceconstant{axis}{osa} +\setinterfaceconstant{background}{pozadi} +\setinterfaceconstant{backgroundcolor}{barvapozadi} +\setinterfaceconstant{backgroundcorner}{rohpozadi} +\setinterfaceconstant{backgrounddepth}{hloubkapozadi} +\setinterfaceconstant{backgroundoffset}{offsetpozadi} +\setinterfaceconstant{backgroundradius}{polomerpozadi} +\setinterfaceconstant{backgroundscreen}{rastrpozadi} +\setinterfaceconstant{backreference}{backreference} +\setinterfaceconstant{backspace}{zpetnamezera} +\setinterfaceconstant{balance}{rovnovaha} +\setinterfaceconstant{before}{pred} +\setinterfaceconstant{beforehead}{predhlavickou} +\setinterfaceconstant{beforesection}{beforesection} +\setinterfaceconstant{bet}{bet} +\setinterfaceconstant{bidi}{bidi} +\setinterfaceconstant{big}{velky} +\setinterfaceconstant{blank}{prazdny} +\setinterfaceconstant{bleedoffset}{bleedoffset} +\setinterfaceconstant{blockway}{dobloku} +\setinterfaceconstant{bodyfont}{zakladnifont} +\setinterfaceconstant{boffset}{boffset} +\setinterfaceconstant{boldfeatures}{boldfeatures} +\setinterfaceconstant{boldfont}{boldfont} +\setinterfaceconstant{bolditalicfeatures}{bolditalicfeatures} +\setinterfaceconstant{bolditalicfont}{bolditalicfont} +\setinterfaceconstant{boldslantedfeatures}{boldslantedfeatures} +\setinterfaceconstant{boldslantedfont}{boldslantedfont} +\setinterfaceconstant{bookmark}{zalozka} +\setinterfaceconstant{bottom}{spodek} +\setinterfaceconstant{bottomafter}{bottomafter} +\setinterfaceconstant{bottombefore}{bottombefore} +\setinterfaceconstant{bottomcommand}{bottomcommand} +\setinterfaceconstant{bottomdistance}{vzdalenostspodku} +\setinterfaceconstant{bottomframe}{ramecekdole} +\setinterfaceconstant{bottomoffset}{offsetspodku} +\setinterfaceconstant{bottomspace}{bottomspace} +\setinterfaceconstant{bottomstate}{statusspodku} +\setinterfaceconstant{buffer}{buffer} +\setinterfaceconstant{cache}{cache} +\setinterfaceconstant{calculate}{pocitat} +\setinterfaceconstant{category}{category} +\setinterfaceconstant{ccommand}{cprikaz} +\setinterfaceconstant{character}{character} +\setinterfaceconstant{characters}{characters} +\setinterfaceconstant{check}{check} +\setinterfaceconstant{click}{klik} +\setinterfaceconstant{clickin}{klikuvnitr} +\setinterfaceconstant{clickout}{klikvne} +\setinterfaceconstant{clipoffset}{clipoffset} +\setinterfaceconstant{closeaction}{zavriakci} +\setinterfaceconstant{closecommand}{closecommand} +\setinterfaceconstant{closepage}{closepage} +\setinterfaceconstant{closepageaction}{akcezavrenistranky} +\setinterfaceconstant{closesymbol}{closesymbol} +\setinterfaceconstant{color}{barva} +\setinterfaceconstant{column}{sloupec} +\setinterfaceconstant{columndistance}{vzdalenostsloupcu} +\setinterfaceconstant{columns}{sloupce} +\setinterfaceconstant{comma}{comma} +\setinterfaceconstant{command}{prikaz} +\setinterfaceconstant{commandafter}{prikazpo} +\setinterfaceconstant{commandbefore}{predchoziprikaz} +\setinterfaceconstant{commands}{prikazy} +\setinterfaceconstant{comment}{comment} +\setinterfaceconstant{commentchar}{commentchar} +\setinterfaceconstant{commentoffset}{commentoffset} +\setinterfaceconstant{compact}{compact} +\setinterfaceconstant{component}{component} +\setinterfaceconstant{compoundhyphen}{compoundhyphen} +\setinterfaceconstant{compress}{compress} +\setinterfaceconstant{compressseparator}{compressseparator} +\setinterfaceconstant{concerns}{concerns} +\setinterfaceconstant{connector}{connector} +\setinterfaceconstant{continue}{pokracovat} +\setinterfaceconstant{contrastcolor}{kontrastnibarva} +\setinterfaceconstant{controls}{controls} +\setinterfaceconstant{conversion}{konverze} +\setinterfaceconstant{convertfile}{konverzesouboru} +\setinterfaceconstant{copies}{copies} +\setinterfaceconstant{corner}{roh} +\setinterfaceconstant{coupling}{propojeni} +\setinterfaceconstant{couplingway}{zpusobpropojeni} +\setinterfaceconstant{criterium}{kriterium} +\setinterfaceconstant{cropoffset}{cropoffset} +\setinterfaceconstant{crossreference}{crossreference} +\setinterfaceconstant{cssfile}{cssfile} +\setinterfaceconstant{current}{aktualni} +\setinterfaceconstant{cutspace}{cutspace} +\setinterfaceconstant{dash}{pomlcka} +\setinterfaceconstant{dat}{dat} +\setinterfaceconstant{database}{database} +\setinterfaceconstant{dataset}{dataset} +\setinterfaceconstant{date}{datum} +\setinterfaceconstant{deepnumbercommand}{deepnumbercommand} +\setinterfaceconstant{deeptextcommand}{deeptextcommand} +\setinterfaceconstant{default}{implicitni} +\setinterfaceconstant{delay}{prodleva} +\setinterfaceconstant{depth}{hloubka} +\setinterfaceconstant{depthcorrection}{korekcehloubky} +\setinterfaceconstant{direction}{smer} +\setinterfaceconstant{directory}{adresar} +\setinterfaceconstant{display}{obrazovka} +\setinterfaceconstant{distance}{vzdalenost} +\setinterfaceconstant{domain}{domain} +\setinterfaceconstant{dot}{tecka} +\setinterfaceconstant{doublesided}{oboustranne} +\setinterfaceconstant{down}{down} +\setinterfaceconstant{dummy}{dummy} +\setinterfaceconstant{dx}{dx} +\setinterfaceconstant{dy}{dy} +\setinterfaceconstant{edge}{hrana} +\setinterfaceconstant{edgedistance}{vzdalenosthrany} +\setinterfaceconstant{editor}{editor} +\setinterfaceconstant{editoretaldisplay}{editoretaldisplay} +\setinterfaceconstant{editoretallimit}{editoretallimit} +\setinterfaceconstant{editoretaltext}{editoretaltext} +\setinterfaceconstant{empty}{prazdne} +\setinterfaceconstant{entities}{entities} +\setinterfaceconstant{entries}{entries} +\setinterfaceconstant{equalheight}{equalheight} +\setinterfaceconstant{equalwidth}{equalwidth} +\setinterfaceconstant{escape}{escape} +\setinterfaceconstant{etaldisplay}{etaldisplay} +\setinterfaceconstant{etallimit}{etallimit} +\setinterfaceconstant{etaloption}{etaloption} +\setinterfaceconstant{etaltext}{etaltext} +\setinterfaceconstant{evenmargin}{sudamarginalie} +\setinterfaceconstant{exitoffset}{exitoffset} +\setinterfaceconstant{expansion}{expanzen} +\setinterfaceconstant{export}{export} +\setinterfaceconstant{extras}{extras} +\setinterfaceconstant{factor}{faktor} +\setinterfaceconstant{fallback}{fallback} +\setinterfaceconstant{family}{rodina} +\setinterfaceconstant{features}{features} +\setinterfaceconstant{fences}{fences} +\setinterfaceconstant{field}{field} +\setinterfaceconstant{fieldbackgroundcolor}{barvapozadipole} +\setinterfaceconstant{fieldframecolor}{barvarameckupole} +\setinterfaceconstant{fieldlayer}{fieldlayer} +\setinterfaceconstant{fieldoffset}{offsetpole} +\setinterfaceconstant{file}{soubor} +\setinterfaceconstant{filler}{filler} +\setinterfaceconstant{filtercommand}{filtercommand} +\setinterfaceconstant{finalnamesep}{finalnamesep} +\setinterfaceconstant{finalpagesep}{finalpagesep} +\setinterfaceconstant{finalpubsep}{finalpubsep} +\setinterfaceconstant{first}{prvni} +\setinterfaceconstant{firstnamesep}{firstnamesep} +\setinterfaceconstant{firstpage}{prvnistranka} +\setinterfaceconstant{focus}{zaostreni} +\setinterfaceconstant{focusin}{focusin} +\setinterfaceconstant{focusoffset}{focusoffset} +\setinterfaceconstant{focusout}{focusout} +\setinterfaceconstant{footer}{upati} +\setinterfaceconstant{footerdistance}{vzdalenostupati} +\setinterfaceconstant{footerstate}{statusupati} +\setinterfaceconstant{force}{sila} +\setinterfaceconstant{foregroundcolor}{foregroundcolor} +\setinterfaceconstant{foregroundstyle}{foregroundstyle} +\setinterfaceconstant{format}{formatovat} +\setinterfaceconstant{fractions}{fractions} +\setinterfaceconstant{frame}{ramecek} +\setinterfaceconstant{framecolor}{barvaramecku} +\setinterfaceconstant{framecorner}{rohramecku} +\setinterfaceconstant{framedepth}{hloubkaramecku} +\setinterfaceconstant{frameoffset}{offsetramecku} +\setinterfaceconstant{frameradius}{polomerramecku} +\setinterfaceconstant{frames}{ramecky} +\setinterfaceconstant{from}{z} +\setinterfaceconstant{functioncolor}{functioncolor} +\setinterfaceconstant{functionstyle}{functionstyle} +\setinterfaceconstant{get}{ziskat} +\setinterfaceconstant{global}{globalne} +\setinterfaceconstant{goodies}{goodies} +\setinterfaceconstant{grid}{mrizka} +\setinterfaceconstant{group}{group} +\setinterfaceconstant{groupsuffix}{groupsuffix} +\setinterfaceconstant{hang}{zaveseni} +\setinterfaceconstant{hcompact}{hcompact} +\setinterfaceconstant{headalign}{headalign} +\setinterfaceconstant{headcolor}{barvahlavicky} +\setinterfaceconstant{headcommand}{headcommand} +\setinterfaceconstant{headconversion}{konverzehlavicky} +\setinterfaceconstant{header}{zahlavi} +\setinterfaceconstant{headerdistance}{vzdalenostzahlavi} +\setinterfaceconstant{headerstate}{statuszahlavi} +\setinterfaceconstant{headlabel}{popisekhlavicky} +\setinterfaceconstant{headnumber}{cislonadpisu} +\setinterfaceconstant{headstyle}{stylhlavicky} +\setinterfaceconstant{height}{vyska} +\setinterfaceconstant{hfactor}{vfaktor} +\setinterfaceconstant{hfil}{hfil} +\setinterfaceconstant{hidenumber}{hidenumber} +\setinterfaceconstant{hoffset}{hoffset} +\setinterfaceconstant{horoffset}{horoffset} +\setinterfaceconstant{hyphen}{hyphen} +\setinterfaceconstant{hyphens}{hyphens} +\setinterfaceconstant{icommand}{iprikaz} +\setinterfaceconstant{ignore}{ignore} +\setinterfaceconstant{in}{v} +\setinterfaceconstant{inbetween}{mezi} +\setinterfaceconstant{increment}{zvysit} +\setinterfaceconstant{incrementnumber}{zvysujicicislo} +\setinterfaceconstant{indenting}{odsazovani} +\setinterfaceconstant{indentnext}{odsadpristi} +\setinterfaceconstant{index}{index} +\setinterfaceconstant{indicator}{indikator} +\setinterfaceconstant{initialsep}{initialsep} +\setinterfaceconstant{inner}{vnitrni} +\setinterfaceconstant{innermargin}{innermargin} +\setinterfaceconstant{inputfile}{inputfile} +\setinterfaceconstant{insidesection}{insidesection} +\setinterfaceconstant{instance}{instance} +\setinterfaceconstant{intent}{intent} +\setinterfaceconstant{interaction}{interakce} +\setinterfaceconstant{interlinespace}{meziradkovamezera} +\setinterfaceconstant{internalgrid}{internalgrid} +\setinterfaceconstant{italicfeatures}{italicfeatures} +\setinterfaceconstant{italicfont}{italicfont} +\setinterfaceconstant{itemalign}{itemalign} +\setinterfaceconstant{items}{polozky} +\setinterfaceconstant{joiners}{joiners} +\setinterfaceconstant{journalconversion}{journalconversion} +\setinterfaceconstant{juniorsep}{juniorsep} +\setinterfaceconstant{keeptogether}{keeptogether} +\setinterfaceconstant{ken}{ken} +\setinterfaceconstant{keyexpansion}{keyexpansion} +\setinterfaceconstant{keys}{keys} +\setinterfaceconstant{keyword}{keyword} +\setinterfaceconstant{label}{popisek} +\setinterfaceconstant{labeloffset}{labeloffset} +\setinterfaceconstant{language}{language} +\setinterfaceconstant{last}{last} +\setinterfaceconstant{lastnamesep}{lastnamesep} +\setinterfaceconstant{lastpage}{poslednistrana} +\setinterfaceconstant{lastpagesep}{lastpagesep} +\setinterfaceconstant{lastpubsep}{lastpubsep} +\setinterfaceconstant{layout}{layout} +\setinterfaceconstant{left}{vlevo} +\setinterfaceconstant{leftcolor}{barvavlevo} +\setinterfaceconstant{leftcompoundhyphen}{leftcompoundhyphen} +\setinterfaceconstant{leftedge}{levahrana} +\setinterfaceconstant{leftedgedistance}{vzdalenostlevehrany} +\setinterfaceconstant{leftframe}{ramecekvlevo} +\setinterfaceconstant{lefthyphen}{lefthyphen} +\setinterfaceconstant{leftmargin}{levyokraj} +\setinterfaceconstant{leftmargindistance}{vzdalenostlevehookraje} +\setinterfaceconstant{leftoffset}{levyoffset} +\setinterfaceconstant{leftquotation}{citacevlevo} +\setinterfaceconstant{leftquote}{citovatvlevo} +\setinterfaceconstant{leftsentence}{vetavlevo} +\setinterfaceconstant{leftspeech}{leftspeech} +\setinterfaceconstant{leftstyle}{stylvlevo} +\setinterfaceconstant{leftsubsentence}{podvetavlevo} +\setinterfaceconstant{lefttext}{textvlevo} +\setinterfaceconstant{leftwidth}{sirkavlevo} +\setinterfaceconstant{leftwords}{leftwords} +\setinterfaceconstant{less}{less} +\setinterfaceconstant{level}{uroven} +\setinterfaceconstant{levels}{urovne} +\setinterfaceconstant{limittext}{limittext} +\setinterfaceconstant{line}{radek} +\setinterfaceconstant{linecorrection}{korekceradku} +\setinterfaceconstant{lines}{radky} +\setinterfaceconstant{list}{seznam} +\setinterfaceconstant{listtext}{listtext} +\setinterfaceconstant{local}{lokalne} +\setinterfaceconstant{location}{misto} +\setinterfaceconstant{loffset}{loffset} +\setinterfaceconstant{logo}{logo} +\setinterfaceconstant{logos}{loga} +\setinterfaceconstant{marcolor}{barvaznacky} +\setinterfaceconstant{margin}{marginalie} +\setinterfaceconstant{margindistance}{vzdalenostokraje} +\setinterfaceconstant{marginedge}{textovahrana} +\setinterfaceconstant{marginedgetext}{textmarginalnihookraje} +\setinterfaceconstant{margintext}{textmarginalie} +\setinterfaceconstant{mark}{mark} +\setinterfaceconstant{marking}{znaceni} +\setinterfaceconstant{marstyle}{stylsnacky} +\setinterfaceconstant{mask}{mask} +\setinterfaceconstant{mathclass}{mathclass} +\setinterfaceconstant{mathlimits}{mathlimits} +\setinterfaceconstant{mathstyle}{mathstyle} +\setinterfaceconstant{max}{max} +\setinterfaceconstant{maxdepth}{maxdepth} +\setinterfaceconstant{maxheight}{maxvyska} +\setinterfaceconstant{maxwidth}{maxsirka} +\setinterfaceconstant{maybeyear}{maybeyear} +\setinterfaceconstant{menu}{menu} +\setinterfaceconstant{method}{metoda} +\setinterfaceconstant{middle}{stredni} +\setinterfaceconstant{middlecommand}{middlecommand} +\setinterfaceconstant{middlespeech}{middlespeech} +\setinterfaceconstant{middletext}{strednitext} +\setinterfaceconstant{midsentence}{midsentence} +\setinterfaceconstant{min}{min} +\setinterfaceconstant{mindepth}{mindepth} +\setinterfaceconstant{minheight}{minvyska} +\setinterfaceconstant{minwidth}{minsirka} +\setinterfaceconstant{moffset}{moffset} +\setinterfaceconstant{monthconversion}{monthconversion} +\setinterfaceconstant{more}{more} +\setinterfaceconstant{mpdepth}{mpdepth} +\setinterfaceconstant{mpheight}{mpheight} +\setinterfaceconstant{mpoffset}{mpoffset} +\setinterfaceconstant{mpwidth}{mpwidth} +\setinterfaceconstant{n}{n} +\setinterfaceconstant{name}{jmeno} +\setinterfaceconstant{namesep}{namesep} +\setinterfaceconstant{nbottom}{nspodek} +\setinterfaceconstant{nc}{nc} +\setinterfaceconstant{next}{dalsi} +\setinterfaceconstant{nextleft}{nextleft} +\setinterfaceconstant{nextleftquotation}{nextleftquotation} +\setinterfaceconstant{nextright}{nextright} +\setinterfaceconstant{nextrightquotation}{nextrightquotation} +\setinterfaceconstant{nl}{nl} +\setinterfaceconstant{nleft}{nvlevo} +\setinterfaceconstant{nlines}{nradky} +\setinterfaceconstant{norm}{norm} +\setinterfaceconstant{note}{note} +\setinterfaceconstant{nr}{nr} +\setinterfaceconstant{nright}{nvpravo} +\setinterfaceconstant{ntop}{nvrsek} +\setinterfaceconstant{number}{cislo} +\setinterfaceconstant{numberalign}{numberalign} +\setinterfaceconstant{numbercolor}{barvacisla} +\setinterfaceconstant{numbercommand}{ciselnyprikaz} +\setinterfaceconstant{numberconversion}{numberconversion} +\setinterfaceconstant{numberconversionset}{numberconversionset} +\setinterfaceconstant{numberdistance}{numberdistance} +\setinterfaceconstant{numbering}{cislovani} +\setinterfaceconstant{numberorder}{numberorder} +\setinterfaceconstant{numberprefix}{numberprefix} +\setinterfaceconstant{numbersegments}{numbersegments} +\setinterfaceconstant{numberseparator}{oddelovaccisla} +\setinterfaceconstant{numberseparatorset}{numberseparatorset} +\setinterfaceconstant{numberset}{numberset} +\setinterfaceconstant{numberstarter}{numberstarter} +\setinterfaceconstant{numberstopper}{numberstopper} +\setinterfaceconstant{numberstyle}{stylcisla} +\setinterfaceconstant{numberwidth}{numberwidth} +\setinterfaceconstant{nx}{nx} +\setinterfaceconstant{ny}{ny} +\setinterfaceconstant{object}{objekt} +\setinterfaceconstant{obstruction}{prekazka} +\setinterfaceconstant{oddmargin}{lichyokraj} +\setinterfaceconstant{offset}{offset} +\setinterfaceconstant{openaction}{otevriakci} +\setinterfaceconstant{openpage}{openpage} +\setinterfaceconstant{openpageaction}{akceotevrenistranky} +\setinterfaceconstant{openup}{openup} +\setinterfaceconstant{opticalsize}{opticalsize} +\setinterfaceconstant{option}{volba} +\setinterfaceconstant{order}{order} +\setinterfaceconstant{orientation}{orientation} +\setinterfaceconstant{otherstext}{otherstext} +\setinterfaceconstant{outermargin}{outermargin} +\setinterfaceconstant{overprint}{overprint} +\setinterfaceconstant{ownnumber}{vlastnicislo} +\setinterfaceconstant{page}{stranka} +\setinterfaceconstant{pageboundaries}{hranicestranky} +\setinterfaceconstant{pagecolor}{barvastranky} +\setinterfaceconstant{pagecolormodel}{pagecolormodel} +\setinterfaceconstant{pagecommand}{strankovyprikaz} +\setinterfaceconstant{pageconnector}{pageconnector} +\setinterfaceconstant{pageconversion}{pageconversion} +\setinterfaceconstant{pageconversionset}{pageconversionset} +\setinterfaceconstant{pageleft}{pageleft} +\setinterfaceconstant{pagenumber}{cislostranky} +\setinterfaceconstant{pageprefix}{pageprefix} +\setinterfaceconstant{pageprefixconnector}{pageprefixconnector} +\setinterfaceconstant{pageprefixconversion}{pageprefixconversion} +\setinterfaceconstant{pageprefixconversionset}{pageprefixconversionset} +\setinterfaceconstant{pageprefixsegments}{pageprefixsegments} +\setinterfaceconstant{pageprefixseparatorset}{pageprefixseparatorset} +\setinterfaceconstant{pageprefixset}{pageprefixset} +\setinterfaceconstant{pageprefixstarter}{pageprefixstarter} +\setinterfaceconstant{pageprefixstopper}{pageprefixstopper} +\setinterfaceconstant{pageright}{pageright} +\setinterfaceconstant{pagesegments}{pagesegments} +\setinterfaceconstant{pagesep}{pagesep} +\setinterfaceconstant{pageseparatorset}{pageseparatorset} +\setinterfaceconstant{pageset}{pageset} +\setinterfaceconstant{pagestarter}{pagestarter} +\setinterfaceconstant{pagestate}{pagestate} +\setinterfaceconstant{pagestopper}{pagestopper} +\setinterfaceconstant{pagestyle}{stylstranky} +\setinterfaceconstant{palet}{paleta} +\setinterfaceconstant{paper}{papir} +\setinterfaceconstant{paragraph}{odstavec} +\setinterfaceconstant{period}{period} +\setinterfaceconstant{place}{umistit} +\setinterfaceconstant{placehead}{umistihlavicku} +\setinterfaceconstant{placestopper}{predelmista} +\setinterfaceconstant{position}{position} +\setinterfaceconstant{prefix}{prefix} +\setinterfaceconstant{prefixconnector}{prefixconnector} +\setinterfaceconstant{prefixconversion}{prefixconversion} +\setinterfaceconstant{prefixconversionset}{prefixconversionset} +\setinterfaceconstant{prefixsegments}{prefixsegments} +\setinterfaceconstant{prefixseparatorset}{prefixseparatorset} +\setinterfaceconstant{prefixset}{prefixset} +\setinterfaceconstant{prefixstarter}{prefixstarter} +\setinterfaceconstant{prefixstopper}{prefixstopper} +\setinterfaceconstant{preset}{prednastaveni} +\setinterfaceconstant{preview}{nahled} +\setinterfaceconstant{previous}{predchozi} +\setinterfaceconstant{previousnumber}{predchozicislo} +\setinterfaceconstant{printable}{tisknutelne} +\setinterfaceconstant{process}{process} +\setinterfaceconstant{profile}{profile} +\setinterfaceconstant{properties}{properties} +\setinterfaceconstant{pubsep}{pubsep} +\setinterfaceconstant{quotechar}{quotechar} +\setinterfaceconstant{radius}{polomer} +\setinterfaceconstant{random}{nahodne} +\setinterfaceconstant{range}{range} +\setinterfaceconstant{reduction}{redukce} +\setinterfaceconstant{ref}{ref} +\setinterfaceconstant{refcommand}{refcommand} +\setinterfaceconstant{reference}{odkaz} +\setinterfaceconstant{referencemethod}{referencemethod} +\setinterfaceconstant{referenceprefix}{referenceprefix} +\setinterfaceconstant{referencing}{odkazujici} +\setinterfaceconstant{region}{region} +\setinterfaceconstant{regionin}{oblastuvnitr} +\setinterfaceconstant{regionout}{oblastvne} +\setinterfaceconstant{register}{register} +\setinterfaceconstant{regularfeatures}{regularfeatures} +\setinterfaceconstant{regularfont}{regularfont} +\setinterfaceconstant{renderingsetup}{renderingsetup} +\setinterfaceconstant{repeat}{opakovat} +\setinterfaceconstant{reset}{reset} +\setinterfaceconstant{resetnumber}{resetnumber} +\setinterfaceconstant{resolution}{rozliseni} +\setinterfaceconstant{resources}{resources} +\setinterfaceconstant{reverse}{reverse} +\setinterfaceconstant{right}{vpravo} +\setinterfaceconstant{rightchars}{rightchars} +\setinterfaceconstant{rightcolor}{barvavpravo} +\setinterfaceconstant{rightcompoundhyphen}{rightcompoundhyphen} +\setinterfaceconstant{rightedge}{pravahrana} +\setinterfaceconstant{rightedgedistance}{vzdalenostpravehrany} +\setinterfaceconstant{rightframe}{ramecekvpravo} +\setinterfaceconstant{righthyphen}{righthyphen} +\setinterfaceconstant{rightmargin}{pravyokraj} +\setinterfaceconstant{rightmargindistance}{vzdalenostpravehookraje} +\setinterfaceconstant{rightoffset}{pravyoffset} +\setinterfaceconstant{rightquotation}{citacevpravo} +\setinterfaceconstant{rightquote}{citovatvpravo} +\setinterfaceconstant{rightsentence}{vetavpravo} +\setinterfaceconstant{rightspeech}{rightspeech} +\setinterfaceconstant{rightstyle}{stylvpravo} +\setinterfaceconstant{rightsubsentence}{podvetavpravo} +\setinterfaceconstant{righttext}{textvpravo} +\setinterfaceconstant{rightwidth}{sirkavpravo} +\setinterfaceconstant{rightwords}{rightwords} +\setinterfaceconstant{roffset}{roffset} +\setinterfaceconstant{rotation}{rotace} +\setinterfaceconstant{rule}{linka} +\setinterfaceconstant{rulecolor}{barvalinky} +\setinterfaceconstant{rulecommand}{rulecommand} +\setinterfaceconstant{rulethickness}{tloustkalinky} +\setinterfaceconstant{samepage}{stejnastranka} +\setinterfaceconstant{sample}{vzor} +\setinterfaceconstant{samplesize}{samplesize} +\setinterfaceconstant{saveinlist}{saveinlist} +\setinterfaceconstant{scale}{meritko} +\setinterfaceconstant{scope}{rozsah} +\setinterfaceconstant{screen}{rastr} +\setinterfaceconstant{section}{oddil} +\setinterfaceconstant{sectionblock}{sectionblock} +\setinterfaceconstant{sectionconversion}{sectionconversion} +\setinterfaceconstant{sectionconversionset}{sectionconversionset} +\setinterfaceconstant{sectionnumber}{cislooddilu} +\setinterfaceconstant{sectionresetset}{sectionresetset} +\setinterfaceconstant{sectionsegments}{sectionsegments} +\setinterfaceconstant{sectionseparatorset}{sectionseparatorset} +\setinterfaceconstant{sectionset}{sectionset} +\setinterfaceconstant{sectionstarter}{sectionstarter} +\setinterfaceconstant{sectionstopper}{sectionstopper} +\setinterfaceconstant{separator}{oddelovac} +\setinterfaceconstant{separatorcolor}{separatorcolor} +\setinterfaceconstant{separatorstyle}{separatorstyle} +\setinterfaceconstant{set}{set} +\setinterfaceconstant{setups}{setups} +\setinterfaceconstant{shrink}{shrink} +\setinterfaceconstant{side}{pocitat} +\setinterfaceconstant{sidealign}{sidealign} +\setinterfaceconstant{sidemethod}{sidemethod} +\setinterfaceconstant{sidespaceafter}{bocnimezeraza} +\setinterfaceconstant{sidespacebefore}{bocnimezerapred} +\setinterfaceconstant{sign}{znak} +\setinterfaceconstant{size}{velikost} +\setinterfaceconstant{slantedfeatures}{slantedfeatures} +\setinterfaceconstant{slantedfont}{slantedfont} +\setinterfaceconstant{small}{male} +\setinterfaceconstant{smallcapsfeatures}{smallcapsfeatures} +\setinterfaceconstant{smallcapsfont}{smallcapsfont} +\setinterfaceconstant{solution}{solution} +\setinterfaceconstant{sort}{sort} +\setinterfaceconstant{sorttype}{sorttype} +\setinterfaceconstant{source}{zdroj} +\setinterfaceconstant{space}{mezera} +\setinterfaceconstant{spaceafter}{mezeraza} +\setinterfaceconstant{spacebefore}{mezerapred} +\setinterfaceconstant{spaceinbetween}{spaceinbetween} +\setinterfaceconstant{spacing}{mezerovani} +\setinterfaceconstant{specification}{specification} +\setinterfaceconstant{split}{split} +\setinterfaceconstant{splitcolor}{splitcolor} +\setinterfaceconstant{splitmethod}{splitmethod} +\setinterfaceconstant{splitoffset}{splitoffset} +\setinterfaceconstant{spot}{spot} +\setinterfaceconstant{stack}{stack} +\setinterfaceconstant{stackname}{stackname} +\setinterfaceconstant{start}{start} +\setinterfaceconstant{starter}{starter} +\setinterfaceconstant{state}{status} +\setinterfaceconstant{step}{krok} +\setinterfaceconstant{stop}{stop} +\setinterfaceconstant{stopper}{predel} +\setinterfaceconstant{stretch}{natahnout} +\setinterfaceconstant{strip}{strip} +\setinterfaceconstant{strut}{strut} +\setinterfaceconstant{style}{pismeno} +\setinterfaceconstant{stylealternative}{stylealternative} +\setinterfaceconstant{sub}{pod} +\setinterfaceconstant{subtitle}{podtitulek} +\setinterfaceconstant{suffix}{suffix} +\setinterfaceconstant{suffixseparator}{suffixseparator} +\setinterfaceconstant{suffixstopper}{suffixstopper} +\setinterfaceconstant{surnamefirstnamesep}{surnamefirstnamesep} +\setinterfaceconstant{surnameinitialsep}{surnameinitialsep} +\setinterfaceconstant{surnamesep}{surnamesep} +\setinterfaceconstant{svgstyle}{svgstyle} +\setinterfaceconstant{sx}{sx} +\setinterfaceconstant{sy}{sy} +\setinterfaceconstant{symalign}{symzarovnani} +\setinterfaceconstant{symbol}{symbol} +\setinterfaceconstant{symbolcommand}{symbolcommand} +\setinterfaceconstant{symbolset}{sadasymbolu} +\setinterfaceconstant{symcolor}{barvasymbolu} +\setinterfaceconstant{symstyle}{stylsymboly} +\setinterfaceconstant{synonym}{synonymum} +\setinterfaceconstant{synonymcolor}{barvasynonyma} +\setinterfaceconstant{synonymcommand}{synonymcommand} +\setinterfaceconstant{synonymstyle}{stylsynonyma} +\setinterfaceconstant{tab}{tab} +\setinterfaceconstant{text}{text} +\setinterfaceconstant{textalign}{textalign} +\setinterfaceconstant{textcolor}{barvatextu} +\setinterfaceconstant{textcommand}{textovyprikaz} +\setinterfaceconstant{textdistance}{textdistance} +\setinterfaceconstant{textheight}{vyskatextu} +\setinterfaceconstant{textlayer}{textlayer} +\setinterfaceconstant{textmargin}{textmargin} +\setinterfaceconstant{textmethod}{textmethod} +\setinterfaceconstant{textseparator}{oddelovactextu} +\setinterfaceconstant{textsize}{velikosttextu} +\setinterfaceconstant{textstate}{statustextu} +\setinterfaceconstant{textstyle}{styltextu} +\setinterfaceconstant{textwidth}{sirkatextu} +\setinterfaceconstant{threshold}{threshold} +\setinterfaceconstant{title}{titul} +\setinterfaceconstant{titlecolor}{barvatitulek} +\setinterfaceconstant{titlecommand}{titlecommand} +\setinterfaceconstant{titledistance}{vzdalenosttitulek} +\setinterfaceconstant{titleleft}{titleleft} +\setinterfaceconstant{titleright}{titleright} +\setinterfaceconstant{titlestyle}{styltitulek} +\setinterfaceconstant{to}{na} +\setinterfaceconstant{toffset}{toffset} +\setinterfaceconstant{tolerance}{tolerance} +\setinterfaceconstant{top}{vrsek} +\setinterfaceconstant{topcommand}{topcommand} +\setinterfaceconstant{topdistance}{vzdalenostvrsku} +\setinterfaceconstant{topframe}{rameceknahore} +\setinterfaceconstant{topoffset}{offsetvrsku} +\setinterfaceconstant{topspace}{svrchnimezera} +\setinterfaceconstant{topstate}{statusvrsku} +\setinterfaceconstant{totalnumber}{totalnumber} +\setinterfaceconstant{translate}{translate} +\setinterfaceconstant{trimoffset}{trimoffset} +\setinterfaceconstant{type}{typ} +\setinterfaceconstant{unit}{jednotka} +\setinterfaceconstant{unknownreference}{neznamyodkaz} +\setinterfaceconstant{up}{up} +\setinterfaceconstant{urlalternative}{urlalternativa} +\setinterfaceconstant{urlspace}{prostorurl} +\setinterfaceconstant{validate}{validovat} +\setinterfaceconstant{values}{values} +\setinterfaceconstant{vcommand}{vprikaz} +\setinterfaceconstant{vcompact}{vcompact} +\setinterfaceconstant{vector}{vector} +\setinterfaceconstant{veroffset}{offsethlavicky} +\setinterfaceconstant{vfil}{vfil} +\setinterfaceconstant{viewerprefix}{viewerprefix} +\setinterfaceconstant{voffset}{voffset} +\setinterfaceconstant{vonsep}{vonsep} +\setinterfaceconstant{way}{zpusob} +\setinterfaceconstant{wfactor}{sfaktor} +\setinterfaceconstant{white}{bily} +\setinterfaceconstant{width}{sirka} +\setinterfaceconstant{words}{words} +\setinterfaceconstant{xfactor}{xfaktor} +\setinterfaceconstant{xhtml}{xhtml} +\setinterfaceconstant{xmax}{xmax} +\setinterfaceconstant{xmlsetup}{xmlsetup} +\setinterfaceconstant{xoffset}{xoffset} +\setinterfaceconstant{xscale}{xmeritko} +\setinterfaceconstant{xstep}{xkrok} +\setinterfaceconstant{yfactor}{yfaktor} +\setinterfaceconstant{ymax}{ymax} +\setinterfaceconstant{yoffset}{yoffset} +\setinterfaceconstant{yscale}{ymeritko} +\setinterfaceconstant{ystep}{ykrok} +% definitions for interface elements for language cs +% +\setinterfaceelement{answerlines}{answerlines} +\setinterfaceelement{answerspace}{answerspace} +\setinterfaceelement{begin}{zacatek} +\setinterfaceelement{complete}{uplny} +\setinterfaceelement{coupled}{propojene} +\setinterfaceelement{currentlocal}{aktualnelokalni} +\setinterfaceelement{end}{konec} +\setinterfaceelement{endsetup}{} +\setinterfaceelement{get}{ziskat} +\setinterfaceelement{increment}{zvysit} +\setinterfaceelement{list}{seznam} +\setinterfaceelement{listof}{seznam} +\setinterfaceelement{load}{nacist} +\setinterfaceelement{local}{lokalne} +\setinterfaceelement{makeup}{zlom} +\setinterfaceelement{next}{dalsi} +\setinterfaceelement{place}{umisti} +\setinterfaceelement{previous}{predchozi} +\setinterfaceelement{previouslocal}{predchozilokalni} +\setinterfaceelement{reserve}{rezervovat} +\setinterfaceelement{see}{viz} +\setinterfaceelement{setup}{nastaveni} +\setinterfaceelement{start}{start} +\setinterfaceelement{stop}{stop} +\setinterfaceelement{text}{text} +\setinterfaceelement{type}{opis} +% definitions for interface commands for language cs +% +\setinterfacecommand{CAPPED}{KAP} +\setinterfacecommand{Character}{Znak} +\setinterfacecommand{Characters}{Znaky} +\setinterfacecommand{MONTH}{MESIC} +\setinterfacecommand{Numbers}{Cisla} +\setinterfacecommand{Romannumerals}{Rimskecislice} +\setinterfacecommand{SmallCapped}{Kap} +\setinterfacecommand{SmallCaps}{Kaps} +\setinterfacecommand{WEEKDAY}{VSEDNIDEN} +\setinterfacecommand{WORD}{SLOVO} +\setinterfacecommand{WORDS}{SLOVA} +\setinterfacecommand{Word}{Slovo} +\setinterfacecommand{Words}{Slova} +\setinterfacecommand{about}{oref} +\setinterfacecommand{adaptlayout}{prizpusobvzhled} +\setinterfacecommand{arg}{arg} +\setinterfacecommand{at}{pref} +\setinterfacecommand{atleftmargin}{atleftmargin} +\setinterfacecommand{atpage}{nastrane} +\setinterfacecommand{atrightmargin}{atrightmargin} +\setinterfacecommand{background}{pozadi} +\setinterfacecommand{backspace}{odsazenizleva} +\setinterfacecommand{blackrule}{cernalinka} +\setinterfacecommand{blackrules}{cernelinky} +\setinterfacecommand{blank}{preskoc} +\setinterfacecommand{bookmark}{zalozka} +\setinterfacecommand{bottomdistance}{vzdalenostspodku} +\setinterfacecommand{bottomheight}{vyskaspodku} +\setinterfacecommand{bottomspace}{bottomspace} +\setinterfacecommand{but}{spodek} +\setinterfacecommand{button}{tlacitko} +\setinterfacecommand{bypassblocks}{bypassblocks} +\setinterfacecommand{character}{znak} +\setinterfacecommand{characters}{znaky} +\setinterfacecommand{chem}{chem} +\setinterfacecommand{clip}{orez} +\setinterfacecommand{clonefield}{klonujpole} +\setinterfacecommand{color}{barva} +\setinterfacecommand{colorbar}{barevnalista} +\setinterfacecommand{colorvalue}{hodnotabarvy} +\setinterfacecommand{column}{sloupec} +\setinterfacecommand{comparecolorgroup}{porovnejskupinubarev} +\setinterfacecommand{comparepalet}{porovnejpaletu} +\setinterfacecommand{completepagenumber}{completepagenumber} +\setinterfacecommand{completeregister}{completeregister} +\setinterfacecommand{component}{komponenta} +\setinterfacecommand{convertnumber}{konvertujcislo} +\setinterfacecommand{copyfield}{kopirujpole} +\setinterfacecommand{correctwhitespace}{korekcebilehomista} +\setinterfacecommand{coupledocument}{propojenydokument} +\setinterfacecommand{couplemarking}{propojeneznaceni} +\setinterfacecommand{couplepage}{parovastrana} +\setinterfacecommand{couplepaper}{dvoustrannypapir} +\setinterfacecommand{coupleregister}{propojenyrejstrik} +\setinterfacecommand{crlf}{crlf} +\setinterfacecommand{currentdate}{aktualnidatum} +\setinterfacecommand{currentheadnumber}{aktualnicislonadpisu} +\setinterfacecommand{cutspace}{cutspace} +\setinterfacecommand{date}{datum} +\setinterfacecommand{decouplemarking}{rozpojeneznaceni} +\setinterfacecommand{decrementnumber}{decrementnumber} +\setinterfacecommand{define}{definuj} +\setinterfacecommand{defineaccent}{definujakcent} +\setinterfacecommand{defineblank}{definujpreskok} +\setinterfacecommand{defineblock}{definujblok} +\setinterfacecommand{definebodyfont}{definujzakladnifont} +\setinterfacecommand{definebodyfontenvironment}{definujprostredizakladnihofontu} +\setinterfacecommand{definebuffer}{definujbuffer} +\setinterfacecommand{definecharacter}{definujznak} +\setinterfacecommand{definecolor}{definujbarvu} +\setinterfacecommand{definecolorgroup}{definujskupinubarev} +\setinterfacecommand{definecolumnbreak}{definecolumnbreak} +\setinterfacecommand{definecolumnset}{definecolumnset} +\setinterfacecommand{definecombination}{definecombination} +\setinterfacecommand{definecombinedlist}{definujkombinovanyseznam} +\setinterfacecommand{definecommand}{definujprikaz} +\setinterfacecommand{defineconversion}{definujkonverzi} +\setinterfacecommand{definedescription}{definujpopis} +\setinterfacecommand{defineenumeration}{definujvycet} +\setinterfacecommand{definefield}{definujpole} +\setinterfacecommand{definefieldstack}{definujzasobnikpoli} +\setinterfacecommand{definefiguresymbol}{definujobrazeksymbol} +\setinterfacecommand{definefloat}{definujplvouciobjekt} +\setinterfacecommand{definefont}{definujfont} +\setinterfacecommand{definefontstyle}{definujstylfontu} +\setinterfacecommand{definefontsynonym}{definujsynonumumfontu} +\setinterfacecommand{defineframed}{definujoramovani} +\setinterfacecommand{defineframedtext}{definujoramovanytext} +\setinterfacecommand{definehbox}{definujhbox} +\setinterfacecommand{definehead}{definujnadpis} +\setinterfacecommand{defineindentedtext}{defineindentedtext} +\setinterfacecommand{defineinmargin}{defineinmargin} +\setinterfacecommand{defineinteractionmenu}{definujinterakcnimenu} +\setinterfacecommand{defineitemgroup}{defineitemgroup} +\setinterfacecommand{definelabel}{definujpopisek} +\setinterfacecommand{definelayer}{definelayer} +\setinterfacecommand{definelayout}{definelayout} +\setinterfacecommand{definelist}{definujseznam} +\setinterfacecommand{definelogo}{definujlogo} +\setinterfacecommand{definemainfield}{definujhlavnipole} +\setinterfacecommand{definemakeup}{definujupravu} +\setinterfacecommand{definemarking}{definujznaceni} +\setinterfacecommand{definemathalignment}{definemathalignment} +\setinterfacecommand{defineoutput}{definujvystup} +\setinterfacecommand{defineoverlay}{definujprekryv} +\setinterfacecommand{definepagebreak}{definepagebreak} +\setinterfacecommand{definepalet}{definujpaletu} +\setinterfacecommand{definepapersize}{definujvelikostpapiru} +\setinterfacecommand{defineparagraphs}{definujodstavce} +\setinterfacecommand{defineplacement}{defineplacement} +\setinterfacecommand{defineprofile}{definujprofil} +\setinterfacecommand{defineprogram}{definujprogram} +\setinterfacecommand{definerawfont}{definerawfont} +\setinterfacecommand{definereference}{definujodkaz} +\setinterfacecommand{definereferenceformat}{definujformatodkazu} +\setinterfacecommand{definereferencelist}{definujseznamodkazu} +\setinterfacecommand{defineregister}{definujrejstrik} +\setinterfacecommand{definerule}{definerule} +\setinterfacecommand{definesection}{definujsekci} +\setinterfacecommand{definesectionblock}{definujbloksekce} +\setinterfacecommand{definesorting}{definujtrideni} +\setinterfacecommand{definestartstop}{definujstartstop} +\setinterfacecommand{definestyle}{definujstyl} +\setinterfacecommand{definesubfield}{definujpodpole} +\setinterfacecommand{definesymbol}{definujsymbol} +\setinterfacecommand{definesynonyms}{definujsynonyma} +\setinterfacecommand{definetabletemplate}{definujsablonutabulky} +\setinterfacecommand{definetabulate}{definujtabelaci} +\setinterfacecommand{definetext}{definujtext} +\setinterfacecommand{definetextbackground}{definetextbackground} +\setinterfacecommand{definetextposition}{definetextposition} +\setinterfacecommand{definetextvariable}{definetextvariable} +\setinterfacecommand{definetype}{definetype} +\setinterfacecommand{definetyping}{definujopis} +\setinterfacecommand{defineversion}{definujverzi} +\setinterfacecommand{determineheadnumber}{stanovcislonadpisu} +\setinterfacecommand{determinelistcharacteristics}{stanovcharakteristickuseznamu} +\setinterfacecommand{determineregistercharacteristics}{urcicharakteristikurejstriku} +\setinterfacecommand{dimension}{rozmer} +\setinterfacecommand{disableinteractionmenu}{zablokujinterakcnimenu} +\setinterfacecommand{domicile}{bydliste} +\setinterfacecommand{donttest}{zadnytest} +\setinterfacecommand{edgedistance}{vzdalenostokraje} +\setinterfacecommand{edgewidth}{sirkaokraje} +\setinterfacecommand{emptylines}{emptylines} +\setinterfacecommand{environment}{prostredi} +\setinterfacecommand{externalfigure}{externiobraz} +\setinterfacecommand{fact}{fakt} +\setinterfacecommand{field}{pole} +\setinterfacecommand{fieldstack}{zasobnikpoli} +\setinterfacecommand{fillinfield}{vyplnovepole} +\setinterfacecommand{fillinline}{vyplnovyradek} +\setinterfacecommand{fillinrules}{vyplnovelinky} +\setinterfacecommand{fillintext}{vyplnenytext} +\setinterfacecommand{fitfield}{prizpusobivepole} +\setinterfacecommand{fixedspace}{tvrdamezera} +\setinterfacecommand{fixedspaces}{tvrdemezery} +\setinterfacecommand{followprofile}{dodrzujprofil} +\setinterfacecommand{followprofileversion}{dodrzujverziprofilu} +\setinterfacecommand{followversion}{dodrzujverzi} +\setinterfacecommand{footerdistance}{vzdalenostupati} +\setinterfacecommand{footerheight}{vyskaupati} +\setinterfacecommand{footnote}{poznamkapodcarou} +\setinterfacecommand{footnotetext}{footnotetext} +\setinterfacecommand{forceblocks}{forceblocks} +\setinterfacecommand{formulanumber}{cislorovnice} +\setinterfacecommand{fraction}{zlomek} +\setinterfacecommand{framed}{oramovani} +\setinterfacecommand{from}{zref} +\setinterfacecommand{getbuffer}{ziskejbuffer} +\setinterfacecommand{getmarking}{ziskejznaceni} +\setinterfacecommand{getnumber}{getnumber} +\setinterfacecommand{godown}{jdidolu} +\setinterfacecommand{goto}{jdina} +\setinterfacecommand{gotobox}{jdinabox} +\setinterfacecommand{gotopage}{jdinastranu} +\setinterfacecommand{graycolor}{sedabarva} +\setinterfacecommand{greyvalue}{hodnotasedi} +\setinterfacecommand{grid}{mrizka} +\setinterfacecommand{hairline}{vlasovalinka} +\setinterfacecommand{head}{nadpis} +\setinterfacecommand{headerdistance}{vzdalenostzahlavi} +\setinterfacecommand{headerheight}{vyskazahlavi} +\setinterfacecommand{headlevel}{hlavniuroven} +\setinterfacecommand{headnumber}{cislonadpisu} +\setinterfacecommand{headsym}{headsym} +\setinterfacecommand{headtext}{texthlavicky} +\setinterfacecommand{hideblocks}{schovejbloky} +\setinterfacecommand{high}{vysoky} +\setinterfacecommand{hl}{hl} +\setinterfacecommand{immediatebetweenlist}{immediatebetweenlist} +\setinterfacecommand{immediatetolist}{immediatetolist} +\setinterfacecommand{in}{tref} +\setinterfacecommand{incrementnumber}{zvysujicicislo} +\setinterfacecommand{indenting}{odsazovani} +\setinterfacecommand{inframed}{zaramovani} +\setinterfacecommand{infull}{plnezneni} +\setinterfacecommand{ininner}{ininner} +\setinterfacecommand{inleft}{vlevo} +\setinterfacecommand{inleftedge}{nalevo} +\setinterfacecommand{inleftmargin}{nalevyokraj} +\setinterfacecommand{inline}{vradku} +\setinterfacecommand{inmargin}{naokraj} +\setinterfacecommand{inmframed}{mazaramovani} +\setinterfacecommand{inneredgedistance}{inneredgedistance} +\setinterfacecommand{inneredgewidth}{inneredgewidth} +\setinterfacecommand{innermargindistance}{innermargindistance} +\setinterfacecommand{innermarginwidth}{innermarginwidth} +\setinterfacecommand{inothermargin}{nadruhyokraj} +\setinterfacecommand{inouter}{inouter} +\setinterfacecommand{inright}{vpravo} +\setinterfacecommand{inrightedge}{napravo} +\setinterfacecommand{inrightmargin}{napravyokraj} +\setinterfacecommand{installlanguage}{instalacejazyka} +\setinterfacecommand{interactionbar}{interakcnilista} +\setinterfacecommand{interactionbuttons}{interakcnitlacitka} +\setinterfacecommand{interactionmenu}{interaktivnimenu} +\setinterfacecommand{item}{polozka} +\setinterfacecommand{items}{polozky} +\setinterfacecommand{its}{pol} +\setinterfacecommand{keepblocks}{zachovejbloky} +\setinterfacecommand{label}{poppisek} +\setinterfacecommand{labels}{popisky} +\setinterfacecommand{labeltext}{textpopisku} +\setinterfacecommand{language}{jazyk} +\setinterfacecommand{leftaligned}{zarovnanovlevo} +\setinterfacecommand{leftedgedistance}{vzdalenostlevehookraje} +\setinterfacecommand{leftedgewidth}{sirkalevehookraje} +\setinterfacecommand{leftmargindistance}{vzdalenostlevemarginalie} +\setinterfacecommand{leftmarginwidth}{sirkalevemarginalie} +\setinterfacecommand{leg}{leg} +\setinterfacecommand{linewidth}{tloustkacary} +\setinterfacecommand{listheight}{vyskaseznamu} +\setinterfacecommand{listlength}{delkaseznamu} +\setinterfacecommand{listsymbol}{listsymbol} +\setinterfacecommand{listwidth}{sirkaseznamu} +\setinterfacecommand{logfields}{zaznamovepole} +\setinterfacecommand{lohi}{nivy} +\setinterfacecommand{low}{nizky} +\setinterfacecommand{macroname}{jmeno} +\setinterfacecommand{mainlanguage}{hlavnijazyk} +\setinterfacecommand{makeupheight}{vyskasazby} +\setinterfacecommand{makeupwidth}{sirkasazby} +\setinterfacecommand{mar}{okr} +\setinterfacecommand{margindistance}{vzdalenostmarginalie} +\setinterfacecommand{marginrule}{marginalnilinka} +\setinterfacecommand{margintext}{marginalnitext} +\setinterfacecommand{margintitle}{marginalninadpis} +\setinterfacecommand{marginwidth}{sirkamarginalie} +\setinterfacecommand{marginword}{marginalnislovo} +\setinterfacecommand{marking}{znaceni} +\setinterfacecommand{markversion}{oznacverzi} +\setinterfacecommand{mathematics}{matematika} +\setinterfacecommand{menubutton}{tlacitkomenu} +\setinterfacecommand{mframed}{maoramovani} +\setinterfacecommand{midaligned}{zarovnanonastred} +\setinterfacecommand{mirror}{zrcadlit} +\setinterfacecommand{month}{mesic} +\setinterfacecommand{moveformula}{moveformula} +\setinterfacecommand{moveongrid}{premistinamrizku} +\setinterfacecommand{movesidefloat}{movesidefloat} +\setinterfacecommand{navigating}{navigating} +\setinterfacecommand{nodimension}{zadnyrozmer} +\setinterfacecommand{noheaderandfooterlines}{zadnezahlaviaupati} +\setinterfacecommand{noindenting}{zadneodsazovani} +\setinterfacecommand{nolist}{zadnyseznam} +\setinterfacecommand{nomarking}{zadneznaceni} +\setinterfacecommand{nomoreblocks}{zadnedalsibloky} +\setinterfacecommand{nomorefiles}{zadnedalsisoubory} +\setinterfacecommand{nop}{nop} +\setinterfacecommand{nospace}{zadnamezera} +\setinterfacecommand{note}{poznamka} +\setinterfacecommand{notopandbottomlines}{zadnehorniadolniradky} +\setinterfacecommand{notsmallcapped}{nokap} +\setinterfacecommand{nowhitespace}{zadnebilemisto} +\setinterfacecommand{numberofsubpages}{numberofsubpages} +\setinterfacecommand{numbers}{cisla} +\setinterfacecommand{outeredgedistance}{outeredgedistance} +\setinterfacecommand{outeredgewidth}{outeredgewidth} +\setinterfacecommand{outermargindistance}{outermargindistance} +\setinterfacecommand{outermarginwidth}{outermarginwidth} +\setinterfacecommand{packed}{zhustene} +\setinterfacecommand{page}{strana} +\setinterfacecommand{pagedepth}{pagedepth} +\setinterfacecommand{pagenumber}{cislostrany} +\setinterfacecommand{pageoffset}{pageoffset} +\setinterfacecommand{pagereference}{odkaznastranu} +\setinterfacecommand{paperheight}{vyskapapiru} +\setinterfacecommand{paperwidth}{sirkapapiru} +\setinterfacecommand{periods}{tecky} +\setinterfacecommand{placebookmarks}{umistizalozky} +\setinterfacecommand{placecombinedlist}{umistikombinovanyseznam} +\setinterfacecommand{placefloat}{placefloat} +\setinterfacecommand{placefootnotes}{umistipoznamkypodcarou} +\setinterfacecommand{placeformula}{umistirovnici} +\setinterfacecommand{placeheadnumber}{placeheadnumber} +\setinterfacecommand{placeheadtext}{placeheadtext} +\setinterfacecommand{placelegend}{umistilegendu} +\setinterfacecommand{placelist}{umistiseznam} +\setinterfacecommand{placelistofsynonyms}{placelistofsynonyms} +\setinterfacecommand{placelocalfootnotes}{umistilokalnipoznamkypodcarou} +\setinterfacecommand{placelogos}{umistiloga} +\setinterfacecommand{placeongrid}{umistinamrizku} +\setinterfacecommand{placeontopofeachother}{umistinadsebe} +\setinterfacecommand{placepagenumber}{placepagenumber} +\setinterfacecommand{placerawlist}{placerawlist} +\setinterfacecommand{placereferencelist}{placereferencelist} +\setinterfacecommand{placeregister}{umistirejstrik} +\setinterfacecommand{placerule}{placerule} +\setinterfacecommand{placesidebyside}{umistivedlesebe} +\setinterfacecommand{placesubformula}{umistipodrovnici} +\setinterfacecommand{placetextvariable}{placetextvariable} +\setinterfacecommand{position}{pozice} +\setinterfacecommand{positiontext}{positiontext} +\setinterfacecommand{printpaperheight}{vyskatiskpapiru} +\setinterfacecommand{printpaperwidth}{sirkatiskpapiru} +\setinterfacecommand{processblocks}{zpracujbloky} +\setinterfacecommand{processpage}{zpracujstranu} +\setinterfacecommand{product}{produkt} +\setinterfacecommand{program}{program} +\setinterfacecommand{project}{projekt} +\setinterfacecommand{publication}{publikace} +\setinterfacecommand{quotation}{citace} +\setinterfacecommand{quote}{citovat} +\setinterfacecommand{ran}{ran} +\setinterfacecommand{redo}{opakovat} +\setinterfacecommand{ref}{ref} +\setinterfacecommand{reference}{odkaz} +\setinterfacecommand{referral}{odkaz} +\setinterfacecommand{referraldate}{odkaznadatum} +\setinterfacecommand{referring}{odkazujici} +\setinterfacecommand{remark}{oznaceni} +\setinterfacecommand{reset}{reset} +\setinterfacecommand{resetmarking}{resetznaceni} +\setinterfacecommand{resetnumber}{resetnumber} +\setinterfacecommand{resettext}{resettextcontent} +\setinterfacecommand{rightaligned}{zarovnanovpravo} +\setinterfacecommand{rightedgedistance}{vzdalenostpravehookraje} +\setinterfacecommand{rightedgewidth}{sirkapravehookraje} +\setinterfacecommand{rightmargindistance}{vzdalenostpravemarginalie} +\setinterfacecommand{rightmarginwidth}{sirkapravemarginalie} +\setinterfacecommand{romannumerals}{rimskecislice} +\setinterfacecommand{rotate}{otocit} +\setinterfacecommand{scale}{meritko} +\setinterfacecommand{screen}{obrazovka} +\setinterfacecommand{selectblocks}{vyberbloky} +\setinterfacecommand{selectpaper}{vyberpapir} +\setinterfacecommand{selectversion}{vyberverzi} +\setinterfacecommand{setnumber}{setnumber} +\setinterfacecommand{settextcontent}{settextcontent} +\setinterfacecommand{settextvariable}{settextvariable} +\setinterfacecommand{setupalign}{nastavzarovnani} +\setinterfacecommand{setupanswerarea}{setupanswerarea} +\setinterfacecommand{setuparranging}{nastavusporadani} +\setinterfacecommand{setupbackground}{nastavpozadi} +\setinterfacecommand{setupbackgrounds}{nastavpozadi} +\setinterfacecommand{setupblackrules}{nastavcernelinky} +\setinterfacecommand{setupblank}{nastavpreskok} +\setinterfacecommand{setupblock}{nastavblok} +\setinterfacecommand{setupbodyfont}{nastavzakladnifont} +\setinterfacecommand{setupbodyfontenvironment}{nastavprostredizakladnihofontu} +\setinterfacecommand{setupbottom}{nastavspodek} +\setinterfacecommand{setupbottomtexts}{nastavdolnitexty} +\setinterfacecommand{setupbuffer}{nastavbuffer} +\setinterfacecommand{setupbuttons}{nastavtlacitka} +\setinterfacecommand{setupcapitals}{nastavkapitalky} +\setinterfacecommand{setupcaption}{nastavpopisek} +\setinterfacecommand{setupcaptions}{nastavpopisky} +\setinterfacecommand{setupclipping}{nastavorez} +\setinterfacecommand{setupcolor}{nastavbarvu} +\setinterfacecommand{setupcolors}{nastavbarvy} +\setinterfacecommand{setupcolumns}{nastavsloupce} +\setinterfacecommand{setupcolumnset}{setupcolumnset} +\setinterfacecommand{setupcolumnsetlines}{setupcolumnsetlines} +\setinterfacecommand{setupcolumnsetstart}{setupcolumnsetstart} +\setinterfacecommand{setupcombinations}{nastavspojeni} +\setinterfacecommand{setupcombinedlist}{nastavkombinovanyseznam} +\setinterfacecommand{setupcomment}{nastavkomentar} +\setinterfacecommand{setupdescriptions}{nastavpopisy} +\setinterfacecommand{setupenumerations}{nastavvycty} +\setinterfacecommand{setupexternalfigures}{nastavexterniobrazy} +\setinterfacecommand{setupfield}{nastavpole} +\setinterfacecommand{setupfields}{nastavvsechnapole} +\setinterfacecommand{setupfillinlines}{nastavvyplnoveradky} +\setinterfacecommand{setupfillinrules}{nastavvyplnovelinky} +\setinterfacecommand{setupfloat}{nastavplvouciobjekt} +\setinterfacecommand{setupfloats}{nastavplvouciobjekty} +\setinterfacecommand{setupfloatsplitting}{nastavdeleniplvoucichobjektu} +\setinterfacecommand{setupfooter}{nastavupati} +\setinterfacecommand{setupfootertexts}{nastavtextyupati} +\setinterfacecommand{setupfootnotedefinition}{nastavdefinicipoznamekpodcarou} +\setinterfacecommand{setupfootnotes}{nastavpoznamkypodcarou} +\setinterfacecommand{setupforms}{setupforms} +\setinterfacecommand{setupformulas}{nastavrovnice} +\setinterfacecommand{setupframed}{nastavoramovani} +\setinterfacecommand{setupframedtexts}{nastavoramovanetexty} +\setinterfacecommand{setuphead}{nastavnadpis} +\setinterfacecommand{setupheader}{nastavzahlavi} +\setinterfacecommand{setupheadertexts}{nastavtextyzahlavi} +\setinterfacecommand{setupheadnumber}{nastavcislonadpisu} +\setinterfacecommand{setupheads}{nastavnadpisy} +\setinterfacecommand{setupheadtext}{nastavtexthlavicky} +\setinterfacecommand{setuphyphenmark}{nastavdelitko} +\setinterfacecommand{setupindentedtext}{setupindentedtext} +\setinterfacecommand{setupindenting}{nastavodsazovani} +\setinterfacecommand{setupinmargin}{nastavmarginalie} +\setinterfacecommand{setupinteraction}{nastavinterakci} +\setinterfacecommand{setupinteractionbar}{nastavinterakcnilistu} +\setinterfacecommand{setupinteractionmenu}{nastavinterakcnimenu} +\setinterfacecommand{setupinteractionscreen}{nastavinterakcniobrazovku} +\setinterfacecommand{setupinterlinespace}{nastavmeziradkovoumezeru} +\setinterfacecommand{setupitemgroup}{setupitemgroup} +\setinterfacecommand{setupitemgroups}{nastavvycty} +\setinterfacecommand{setupitems}{nastavpolozky} +\setinterfacecommand{setuplabeltext}{nastavtextpopisku} +\setinterfacecommand{setuplanguage}{nastavjazyk} +\setinterfacecommand{setuplayout}{nastavvzhled} +\setinterfacecommand{setuplegend}{nastavlegendu} +\setinterfacecommand{setuplinenumbering}{nastavcislovaniradku} +\setinterfacecommand{setuplines}{nastavradky} +\setinterfacecommand{setuplinewidth}{nastavsirkucary} +\setinterfacecommand{setuplist}{nastavseznam} +\setinterfacecommand{setupmakeup}{nastavupravu} +\setinterfacecommand{setupmarginblocks}{nastavmarginalniblok} +\setinterfacecommand{setupmarginrules}{nastavmarginalnilinky} +\setinterfacecommand{setupmarking}{nastavznaceni} +\setinterfacecommand{setupmathalignment}{setupmathalignment} +\setinterfacecommand{setupnarrower}{nastavzuzeni} +\setinterfacecommand{setupnumber}{setupnumber} +\setinterfacecommand{setupnumbering}{nastavcislovani} +\setinterfacecommand{setupoppositeplacing}{nastavumisteniprotejsku} +\setinterfacecommand{setupoutput}{nastavvystup} +\setinterfacecommand{setuppagecomment}{nastavkomentarstrany} +\setinterfacecommand{setuppagenumber}{nastavcislostrany} +\setinterfacecommand{setuppagenumbering}{nastavcislovanistran} +\setinterfacecommand{setuppagetransitions}{nastavprechodstrany} +\setinterfacecommand{setuppalet}{nastavpaletu} +\setinterfacecommand{setuppaper}{setuppaper} +\setinterfacecommand{setuppapersize}{nastavvelikostpapiru} +\setinterfacecommand{setupparagraphnumbering}{nastavcislovaniodstavcu} +\setinterfacecommand{setupparagraphs}{nastavodstavce} +\setinterfacecommand{setupplacement}{setupplacement} +\setinterfacecommand{setuppositioning}{nastavumistovani} +\setinterfacecommand{setupprofiles}{nastavprofily} +\setinterfacecommand{setupprograms}{nastavprogramy} +\setinterfacecommand{setuppublications}{nastavpublikace} +\setinterfacecommand{setupquote}{nastavcitaci} +\setinterfacecommand{setupreferencelist}{nastavseznamodkazu} +\setinterfacecommand{setupreferencing}{nastavodkazovani} +\setinterfacecommand{setupregister}{nastavrejstrik} +\setinterfacecommand{setuprotate}{nastavotoceni} +\setinterfacecommand{setuprule}{setuprule} +\setinterfacecommand{setupscreens}{nastavrastr} +\setinterfacecommand{setupsection}{nastavsekci} +\setinterfacecommand{setupsectionblock}{nastavbloksekce} +\setinterfacecommand{setupsorting}{nastavtrideni} +\setinterfacecommand{setupspacing}{nastavradkovani} +\setinterfacecommand{setupstartstop}{setupstartstop} +\setinterfacecommand{setupstrut}{setupstrut} +\setinterfacecommand{setupsubpagenumber}{nastavpodcislostrany} +\setinterfacecommand{setupsymbolset}{nastavsadusymbolu} +\setinterfacecommand{setupsynchronization}{nastavsynchronizaci} +\setinterfacecommand{setupsynchronizationbar}{nastavsynchronizacnilistu} +\setinterfacecommand{setupsynonyms}{nastavsynonyma} +\setinterfacecommand{setupsystem}{nastavsystem} +\setinterfacecommand{setuptab}{nastavtab} +\setinterfacecommand{setuptables}{nastavtabulky} +\setinterfacecommand{setuptabulate}{nastavtabelaci} +\setinterfacecommand{setuptext}{nastavtext} +\setinterfacecommand{setuptextbackground}{setuptextbackground} +\setinterfacecommand{setuptextposition}{setuptextposition} +\setinterfacecommand{setuptextrules}{nastavtextovelinky} +\setinterfacecommand{setuptexttexts}{nastavtexttexty} +\setinterfacecommand{setuptextvariable}{setuptextvariable} +\setinterfacecommand{setupthinrules}{nastavtenkelinky} +\setinterfacecommand{setuptolerance}{nastavtoleranci} +\setinterfacecommand{setuptop}{nastavhorejsek} +\setinterfacecommand{setuptoptexts}{nastavhornitexty} +\setinterfacecommand{setuptype}{nastavtype} +\setinterfacecommand{setuptyping}{nastavopis} +\setinterfacecommand{setupunderbar}{nastavpodtrzeni} +\setinterfacecommand{setupurl}{nastavurl} +\setinterfacecommand{setupversions}{nastavverze} +\setinterfacecommand{setupwhitespace}{nastavbilamista} +\setinterfacecommand{showbodyfont}{ukazzakladnifont} +\setinterfacecommand{showbodyfontenvironment}{ukazpostredizakladnihofontu} +\setinterfacecommand{showcolor}{ukazbarvu} +\setinterfacecommand{showcolorgroup}{ukazskupinubarev} +\setinterfacecommand{showexternalfigures}{ukazexterniobrazy} +\setinterfacecommand{showfields}{ukazpole} +\setinterfacecommand{showframe}{ukazramecek} +\setinterfacecommand{showgrid}{ukazmrizku} +\setinterfacecommand{showlayout}{ukazvzhled} +\setinterfacecommand{showmakeup}{ukazupravu} +\setinterfacecommand{showpalet}{ukazpaletu} +\setinterfacecommand{showprint}{ukazvytisk} +\setinterfacecommand{showsetups}{ukaznastaveni} +\setinterfacecommand{showstruts}{ukazpodpery} +\setinterfacecommand{showsymbolset}{ukazsadusymbolu} +\setinterfacecommand{smallcapped}{kap} +\setinterfacecommand{someline}{nejakyradek} +\setinterfacecommand{somewhere}{nekde} +\setinterfacecommand{space}{mezera} +\setinterfacecommand{splitfloat}{rozdelplvouciobjekt} +\setinterfacecommand{startalignment}{startzarovnavani} +\setinterfacecommand{startbackground}{startpozadi} +\setinterfacecommand{startcoding}{startkodovani} +\setinterfacecommand{startcolor}{startbarva} +\setinterfacecommand{startcolumnmakeup}{startcolumnmakeup} +\setinterfacecommand{startcolumns}{startsloupce} +\setinterfacecommand{startcolumnset}{startcolumnset} +\setinterfacecommand{startcombination}{startspojeni} +\setinterfacecommand{startcomponent}{startkomponenta} +\setinterfacecommand{startdocument}{startdokument} +\setinterfacecommand{startenvironment}{startprostredi} +\setinterfacecommand{startfigure}{startobraz} +\setinterfacecommand{startframed}{startframed} +\setinterfacecommand{startglobal}{startglobalni} +\setinterfacecommand{startline}{startradek} +\setinterfacecommand{startlinecorrection}{startkorekceradku} +\setinterfacecommand{startlinenumbering}{startcislovaniradku} +\setinterfacecommand{startlines}{startradky} +\setinterfacecommand{startlocal}{startlokalni} +\setinterfacecommand{startlocalfootnotes}{startlokalnipoznamkypodcarou} +\setinterfacecommand{startmakeup}{startuprava} +\setinterfacecommand{startmarginblock}{startmarginalniblok} +\setinterfacecommand{startmarginrule}{startmarginalnilinka} +\setinterfacecommand{startnarrower}{startzuzeni} +\setinterfacecommand{startopposite}{startprotejsek} +\setinterfacecommand{startoverlay}{startprekryv} +\setinterfacecommand{startoverzicht}{startprehled} +\setinterfacecommand{startpacked}{startzhustene} +\setinterfacecommand{startpositioning}{startumistovani} +\setinterfacecommand{startproduct}{startprodukt} +\setinterfacecommand{startprofile}{startprofil} +\setinterfacecommand{startproject}{startprojekt} +\setinterfacecommand{startquotation}{startcitace} +\setinterfacecommand{startraster}{startrastr} +\setinterfacecommand{startsymbolset}{startsadasymbolu} +\setinterfacecommand{startsynchronization}{startsynchronizace} +\setinterfacecommand{starttable}{starttabulka} +\setinterfacecommand{starttables}{starttabulky} +\setinterfacecommand{starttext}{starttext} +\setinterfacecommand{starttextbackground}{starttextbackground} +\setinterfacecommand{starttextrule}{starttextovalinka} +\setinterfacecommand{startunpacked}{startnezhustene} +\setinterfacecommand{startversion}{startverze} +\setinterfacecommand{stopalignment}{stopzarovnavani} +\setinterfacecommand{stopbackground}{stoppozadi} +\setinterfacecommand{stopcoding}{stopkodovani} +\setinterfacecommand{stopcolor}{stopbarva} +\setinterfacecommand{stopcolumnmakeup}{stopcolumnmakeup} +\setinterfacecommand{stopcolumns}{stopsloupce} +\setinterfacecommand{stopcolumnset}{stopcolumnset} +\setinterfacecommand{stopcombination}{stopspojeni} +\setinterfacecommand{stopcomponent}{stopkomponenta} +\setinterfacecommand{stopdocument}{stopdokument} +\setinterfacecommand{stopenvironment}{stopprostredi} +\setinterfacecommand{stopframed}{stopframed} +\setinterfacecommand{stopglobal}{stopglobalni} +\setinterfacecommand{stopline}{stopradek} +\setinterfacecommand{stoplinecorrection}{stopkorekceradku} +\setinterfacecommand{stoplinenumbering}{stopcislovaniradku} +\setinterfacecommand{stoplines}{stopradky} +\setinterfacecommand{stoplocal}{stoplokalni} +\setinterfacecommand{stoplocalfootnotes}{stoplokalnipoznamkypodcarou} +\setinterfacecommand{stopmakeup}{stopuprava} +\setinterfacecommand{stopmarginblock}{stopmarginalniblok} +\setinterfacecommand{stopmarginrule}{stopmarginalnilinka} +\setinterfacecommand{stopnarrower}{stopzuzeni} +\setinterfacecommand{stopopposite}{stopprotejsek} +\setinterfacecommand{stopoverlay}{stopprekryv} +\setinterfacecommand{stopoverzicht}{stopprehled} +\setinterfacecommand{stoppacked}{stopzhustene} +\setinterfacecommand{stoppositioning}{stopumistovani} +\setinterfacecommand{stopproduct}{stopprodukt} +\setinterfacecommand{stopprofile}{stopprofil} +\setinterfacecommand{stopproject}{stopprojekt} +\setinterfacecommand{stopquotation}{stopcitace} +\setinterfacecommand{stopraster}{stoprastr} +\setinterfacecommand{stopsynchronization}{stopsynchronizace} +\setinterfacecommand{stoptable}{stoptabulka} +\setinterfacecommand{stoptables}{stoptabulky} +\setinterfacecommand{stoptext}{stoptext} +\setinterfacecommand{stoptextbackground}{stoptextbackground} +\setinterfacecommand{stoptextrule}{stoptextovalinka} +\setinterfacecommand{stopunpacked}{stopnezhustene} +\setinterfacecommand{stopversion}{stopverze} +\setinterfacecommand{stretched}{roztazene} +\setinterfacecommand{subformulanumber}{cislopodrovnice} +\setinterfacecommand{subpagenumber}{subpagenumber} +\setinterfacecommand{switchtobodyfont}{prepninazakladnifont} +\setinterfacecommand{switchtorawfont}{switchtorawfont} +\setinterfacecommand{sym}{sym} +\setinterfacecommand{symbol}{symbol} +\setinterfacecommand{symoffset}{symoffset} +\setinterfacecommand{synchronizationbar}{synchronizacnilista} +\setinterfacecommand{synchronize}{synchronizovat} +\setinterfacecommand{tab}{tab} +\setinterfacecommand{testcolumn}{testcolumn} +\setinterfacecommand{testpage}{testpage} +\setinterfacecommand{tex}{tex} +\setinterfacecommand{textheight}{vyskatextu} +\setinterfacecommand{textreference}{odkaznatext} +\setinterfacecommand{textrule}{textovalinka} +\setinterfacecommand{textvariable}{textvariable} +\setinterfacecommand{textwidth}{sirkatextu} +\setinterfacecommand{thinrule}{tenkalinka} +\setinterfacecommand{thinrules}{tenkelinky} +\setinterfacecommand{tooltip}{bublinkovanapoveda} +\setinterfacecommand{topdistance}{vzdalenosthorejsku} +\setinterfacecommand{topheight}{vyskahorejsku} +\setinterfacecommand{topspace}{odsazenishora} +\setinterfacecommand{totalnumberofpages}{celkovypocetstran} +\setinterfacecommand{translate}{prelozit} +\setinterfacecommand{txt}{txt} +\setinterfacecommand{typ}{pis} +\setinterfacecommand{type}{opis} +\setinterfacecommand{typebuffer}{typebuffer} +\setinterfacecommand{typefile}{opissoubor} +\setinterfacecommand{unitmeaning}{vyznam} +\setinterfacecommand{unknown}{neznamo} +\setinterfacecommand{useJSscripts}{uzijJSscripts} +\setinterfacecommand{useURL}{uzijURL} +\setinterfacecommand{useXMLfilter}{useXMLfilter} +\setinterfacecommand{useblocks}{uzijbloky} +\setinterfacecommand{usecommands}{uzijprikazy} +\setinterfacecommand{useencoding}{uzijkodovani} +\setinterfacecommand{useexternaldocument}{uzijexternidokument} +\setinterfacecommand{useexternalfigure}{uzijexterniobraz} +\setinterfacecommand{useexternalfile}{uzijexternisoubor} +\setinterfacecommand{useexternalfiles}{uzijexternisoubory} +\setinterfacecommand{useexternalsoundtrack}{uzijexternizvuk} +\setinterfacecommand{usemodule}{uzijmodul} +\setinterfacecommand{usemodules}{uzijmoduly} +\setinterfacecommand{usepath}{uzijadresar} +\setinterfacecommand{usereferences}{uzijodkazy} +\setinterfacecommand{usespecials}{uzijspeciality} +\setinterfacecommand{usesymbols}{uzijsymbol} +\setinterfacecommand{usetypescript}{usetypescript} +\setinterfacecommand{usetypescriptfile}{usetypescriptfile} +\setinterfacecommand{useurl}{uzijurl} +\setinterfacecommand{version}{verze} +\setinterfacecommand{vl}{vl} +\setinterfacecommand{weekday}{vsedniden} +\setinterfacecommand{whitespace}{bilemisto} +\setinterfacecommand{wordright}{slovovpravo} +\setinterfacecommand{writebetweenlist}{zapismeziseznam} +\setinterfacecommand{writetolist}{zapisdoseznamu} +\setinterfacecommand{writetoreferencelist}{zapisdoseznamuodkazu} +\setinterfacecommand{writetoregister}{zapisdorejstriku} +% +\endinput
\ No newline at end of file diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index a93ba75a5..2ea69b2c9 100644 --- a/tex/context/base/mkiv/cont-new.mkiv +++ b/tex/context/base/mkiv/cont-new.mkiv @@ -11,7 +11,7 @@  %C therefore copyrighted by \PRAGMA. See mreadme.pdf for  %C details. -\newcontextversion{2016.09.12 18:27} +\newcontextversion{2016.09.23 10:13}  %D This file is loaded at runtime, thereby providing an excellent place for  %D hacks, patches, extensions and new features. diff --git a/tex/context/base/mkiv/context-todo.tex b/tex/context/base/mkiv/context-todo.tex index f455bc925..a356d5964 100644 --- a/tex/context/base/mkiv/context-todo.tex +++ b/tex/context/base/mkiv/context-todo.tex @@ -119,6 +119,10 @@ Hasselt NL      \startitem          only return nil when we expect multiple calls in in one line      \stopitem +    \startitem +        pdf injection in virtual characters (currently qQ interferes with font switch +        flushing) so a pdf page hack is needed +    \stopitem  \stopitemize  \stopsubject diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv index 4d0e51241..dd73eb503 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -39,7 +39,7 @@  %D up and the dependencies are more consistent.  \edef\contextformat {\jobname} -\edef\contextversion{2016.09.12 18:27} +\edef\contextversion{2016.09.23 10:13}  \edef\contextkind   {beta}  %D For those who want to use this: @@ -573,7 +573,7 @@  \to \everyjob  \appendtoks -    \ctxlua{statistics.savefmtstatus("\jobname","\contextversion","context.mkiv","\contextkind")}% can become automatic +    \ctxlua{statistics.savefmtstatus("\jobname","\contextversion","context.mkiv","\contextkind","\contextbanner")}% can become automatic  \to \everydump  \errorstopmode \dump \endinput diff --git a/tex/context/base/mkiv/core-uti.mkiv b/tex/context/base/mkiv/core-uti.mkiv index de9a893ee..c50a0eacc 100644 --- a/tex/context/base/mkiv/core-uti.mkiv +++ b/tex/context/base/mkiv/core-uti.mkiv @@ -22,7 +22,7 @@  \appendtoks      \clf_setjobcomment -        file   {tex.jobname}% +        file   {\jobname}%          format {\contextformat}%          stamp  {\contextversion}%          escape {\!!bs\space...\space\!!es}% diff --git a/tex/context/base/mkiv/data-use.lua b/tex/context/base/mkiv/data-use.lua index 7598506e4..930c5739f 100644 --- a/tex/context/base/mkiv/data-use.lua +++ b/tex/context/base/mkiv/data-use.lua @@ -56,7 +56,7 @@ statistics.register("used cache path",  function() return caches.usedpaths() end  -- experiment (code will move) -function statistics.savefmtstatus(texname,formatbanner,sourcefile) -- texname == formatname +function statistics.savefmtstatus(texname,formatbanner,sourcefile,kind,banner) -- texname == formatname      local enginebanner = status.banner      if formatbanner and enginebanner and sourcefile then          local luvname = file.replacesuffix(texname,"luv") -- utilities.lua.suffixes.luv @@ -67,6 +67,10 @@ function statistics.savefmtstatus(texname,formatbanner,sourcefile) -- texname ==              sourcefile   = sourcefile,          }          io.savedata(luvname,table.serialize(luvdata,true)) +        lua.registerfinalizer(function() +            logs.report("format banner","%s",banner) +            logs.newline() +        end)      end  end diff --git a/tex/context/base/mkiv/font-ctx.lua b/tex/context/base/mkiv/font-ctx.lua index b1f16fa5c..eacfe5fa9 100644 --- a/tex/context/base/mkiv/font-ctx.lua +++ b/tex/context/base/mkiv/font-ctx.lua @@ -2529,21 +2529,25 @@ constructors.privateslots = constructors.privateslots or { }  storage.register("fonts/constructors/privateslots", constructors.privateslots, "fonts.constructors.privateslots") -local privateslots    = constructors.privateslots -local lastprivateslot = 0xFD000 +do -constructors.privateslots = setmetatableindex(privateslots,function(t,k) -    local v = lastprivateslot -    lastprivateslot = lastprivateslot + 1 -    t[k] = v -    return v -end) +    local privateslots    = constructors.privateslots +    local lastprivateslot = 0xFD000 -implement { -    name      = "getprivateglyphslot", -    actions   = function(name) context(privateslots[name]) end, -    arguments = "string", -} +    constructors.privateslots = setmetatableindex(privateslots,function(t,k) +        local v = lastprivateslot +        lastprivateslot = lastprivateslot + 1 +        t[k] = v +        return v +    end) + +    implement { +        name      = "getprivateglyphslot", +        actions   = function(name) context(privateslots[name]) end, +        arguments = "string", +    } + +end  -- an extra helper @@ -2604,3 +2608,47 @@ statistics.register("used fonts",function()          end      end  end) + +-- new + +do + +    local settings_to_array    = utilities.parsers.settings_to_array +    local namedcolorattributes = attributes.colors.namedcolorattributes +    local colorvalues          = attributes.colors.values + +    implement { +        name      = "definefontcolorpalette", +        arguments = { "string", "string" }, +        actions   = function(name,set) +            set = settings_to_array(set) +            for i=1,#set do +                local name = set[i] +                local space, color = namedcolorattributes(name) +                local values = colorvalues[color] +                if values then +                    set[i] = { r = values[3], g = values[4],  b = values[5] } +                else +                    set[i] = { r = 0, g = 0, b = 0 } +                end +            end +            otf.registerpalette(name,set) +        end +    } + +end + +do + +    local pattern = C((1-S("* "))^1) + +    implement { +        name      = "truefontname", +        arguments = "string", +        actions   = function(s) +         -- context(match(s,"[^* ]+") or s) +            context(lpegmatch(pattern,s) or s) +        end +    } + +end diff --git a/tex/context/base/mkiv/font-fil.mkvi b/tex/context/base/mkiv/font-fil.mkvi index 0bfc07b6c..26751531b 100644 --- a/tex/context/base/mkiv/font-fil.mkvi +++ b/tex/context/base/mkiv/font-fil.mkvi @@ -185,53 +185,68 @@  % todo: replace * by ... less messy with features -\def\truefontname#name% -  {\expandafter\font_helpers_true_fontname#name*\empty*\relax} - -\def\font_helpers_true_fontname#name*#first#rest*#crap\relax -  {\ifcsname\??fontfile\fontclass#name\endcsname -     \ifx#first\empty -      %\expandafter\truefontname\csname\??fontfile\fontclass#name\endcsname -       \expandafter\truefontname\lastnamedcs -     \else -      %\expandafter\font_helpers_true_fontname_check\csname\??fontfile\fontclass#name\endcsname*#first#rest% -       \expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest% -     \fi -   \else\ifcsname\??fontfile\defaultfontclass#name\endcsname -     \ifx#first\empty -      %\expandafter\truefontname\csname\??fontfile\defaultfontclass#name\endcsname -       \expandafter\truefontname\lastnamedcs -     \else -      %\expandafter\font_helpers_true_fontname_check\csname\??fontfile\defaultfontclass#name\endcsname*#first#rest% -       \expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest% -     \fi -   \else\ifcsname\??fontfile#name\endcsname -     \ifx#first\empty -      %\expandafter\truefontname\csname\??fontfile#name\endcsname -       \expandafter\truefontname\lastnamedcs -     \else -      %\expandafter\font_helpers_true_fontname_check\csname\??fontfile#name\endcsname*#first#rest% -       \expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest% -     \fi -   \else -     #name\ifx#first\empty\else*#first#rest\fi -   \fi\fi\fi} +% \def\truefontname#name% +%   {\expandafter\font_helpers_true_fontname#name*\empty*\relax} +% +% \def\font_helpers_true_fontname#name*#first#rest*#crap\relax +%   {\ifcsname\??fontfile\fontclass#name\endcsname +%      \ifx#first\empty +%       %\expandafter\truefontname\csname\??fontfile\fontclass#name\endcsname +%        \expandafter\truefontname\lastnamedcs +%      \else +%       %\expandafter\font_helpers_true_fontname_check\csname\??fontfile\fontclass#name\endcsname*#first#rest% +%        \expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest% +%      \fi +%    \else\ifcsname\??fontfile\defaultfontclass#name\endcsname +%      \ifx#first\empty +%       %\expandafter\truefontname\csname\??fontfile\defaultfontclass#name\endcsname +%        \expandafter\truefontname\lastnamedcs +%      \else +%       %\expandafter\font_helpers_true_fontname_check\csname\??fontfile\defaultfontclass#name\endcsname*#first#rest% +%        \expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest% +%      \fi +%    \else\ifcsname\??fontfile#name\endcsname +%      \ifx#first\empty +%       %\expandafter\truefontname\csname\??fontfile#name\endcsname +%        \expandafter\truefontname\lastnamedcs +%      \else +%       %\expandafter\font_helpers_true_fontname_check\csname\??fontfile#name\endcsname*#first#rest% +%        \expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest% +%      \fi +%    \else +%      #name\ifx#first\empty\else*#first#rest\fi +%    \fi\fi\fi} +% +% \def\font_helpers_true_fontname_check#name% +%   {\expandafter\font_helpers_true_fontname_check_indeed#name*\relax} +% +% \def\font_helpers_true_fontname_check_indeed#name*#crap\relax +%   {\ifcsname\??fontfile\fontclass#name\endcsname +%     %\expandafter\font_helpers_true_fontname_check\csname\??fontfile\fontclass#name\endcsname +%      \expandafter\font_helpers_true_fontname_check\lastnamedcs +%    \else\ifcsname\??fontfile\defaultfontclass#name\endcsname +%     %\expandafter\font_helpers_true_fontname_check\csname\??fontfile\defaultfontclass#name\endcsname +%      \expandafter\font_helpers_true_fontname_check\lastnamedcs +%    \else\ifcsname\??fontfile#name\endcsname +%     %\expandafter\font_helpers_true_fontname_check\csname\??fontfile#name\endcsname +%      \expandafter\font_helpers_true_fontname_check\lastnamedcs +%    \else +%      #name% +%    \fi\fi\fi} -\def\font_helpers_true_fontname_check#name% -  {\expandafter\font_helpers_true_fontname_check_indeed#name*\relax} +\def\truefontname#name% + %{\normalexpanded{\noexpand\font_helpers_true_fontname{\clf_truefontname{#name}}}} +  {\expandafter\expandafter\expandafter\font_helpers_true_fontname\expandafter\expandafter\expandafter{\clf_truefontname{#name}}} -\def\font_helpers_true_fontname_check_indeed#name*#crap\relax +\def\font_helpers_true_fontname#name%    {\ifcsname\??fontfile\fontclass#name\endcsname -    %\expandafter\font_helpers_true_fontname_check\csname\??fontfile\fontclass#name\endcsname -     \expandafter\font_helpers_true_fontname_check\lastnamedcs +     \expandafter\font_helpers_true_fontname\expandafter{\lastnamedcs}%     \else\ifcsname\??fontfile\defaultfontclass#name\endcsname -    %\expandafter\font_helpers_true_fontname_check\csname\??fontfile\defaultfontclass#name\endcsname -     \expandafter\font_helpers_true_fontname_check\lastnamedcs +     \expandafter\font_helpers_true_fontname\expandafter{\lastnamedcs}%     \else\ifcsname\??fontfile#name\endcsname -    %\expandafter\font_helpers_true_fontname_check\csname\??fontfile#name\endcsname -     \expandafter\font_helpers_true_fontname_check\lastnamedcs +     \expandafter\font_helpers_true_fontname\expandafter{\lastnamedcs}%     \else -     #name% +     \clf_truefontname{#name}%     \fi\fi\fi}  \def\expandfontsynonym#command#name% one level expansion diff --git a/tex/context/base/mkiv/font-ini.mkvi b/tex/context/base/mkiv/font-ini.mkvi index 26a644aba..523c44b0b 100644 --- a/tex/context/base/mkiv/font-ini.mkvi +++ b/tex/context/base/mkiv/font-ini.mkvi @@ -2678,7 +2678,6 @@  % \unexpanded\def\getprivatemathchar#1%  %   {\begingroup\the\textfont\zerocount\getprivatechar{#1}\endgroup} -  \def\privatechar % the text variant gets expanded to utf    {\ifmmode       \expandafter\getprivatemathchar @@ -2686,6 +2685,14 @@       \expandafter\getprivatechar     \fi} +% new + +\unexpanded\def\definefontcolorpalette +  {\dodoubleargument\font_define_color_palette} + +\def\font_define_color_palette[#1][#2]% +  {\clf_definefontcolorpalette{#1}{#2}} +  % yes or no:  % \let\font_basics_check_text_bodyfont_slow\font_basics_check_text_bodyfont diff --git a/tex/context/base/mkiv/font-ocl.lua b/tex/context/base/mkiv/font-ocl.lua index ed1be9535..0e415d76a 100644 --- a/tex/context/base/mkiv/font-ocl.lua +++ b/tex/context/base/mkiv/font-ocl.lua @@ -9,43 +9,77 @@ if not modules then modules = { } end modules ['font-ocl'] = {  -- todo : user list of colors  local tostring, next, format = tostring, next, string.format +local round, max = math.round, math.round  local formatters = string.formatters +local tounicode  = fonts.mappings.tounicode -local otf = fonts.handlers.otf +local graytorgb  = attributes.colors.graytorgb +local cmyktorgb  = attributes.colors.cmyktorgb -local f_color_start = formatters["pdf:direct: %f %f %f rg"] -local s_color_stop  = "pdf:direct:" +local otf        = fonts.handlers.otf + +local f_color    = formatters["pdf:direct:%f %f %f rg"] +local f_gray     = formatters["pdf:direct:%f g"] +local s_black    = "pdf:direct:0 g"  if context then      local startactualtext = nil      local stopactualtext  = nil -    function otf.getactualtext(n) +    function otf.getactualtext(s)          if not startactualtext then -            startactualtext = backends.codeinjections.startunicodetoactualtext -            stopactualtext  = backends.codeinjections.stopunicodetoactualtext +            startactualtext = backends.codeinjections.startunicodetoactualtextdirect +            stopactualtext  = backends.codeinjections.stopunicodetoactualtextdirect          end -        return startactualtext(n), stopactualtext() +        return startactualtext(s), stopactualtext()      end  else      local tounicode = fonts.mappings.tounicode16 -    function otf.getactualtext(n) -        return "/Span << /ActualText <feff" .. tounicode(n) .. "> >> BDC", "EMC" +    function otf.getactualtext(s) +        return +            "/Span << /ActualText <feff" .. n .. "> >> BDC", +            "EMC"      end  end +local sharedpalettes = { } + +function otf.registerpalette(name,values) +    sharedpalettes[name] = values +    for i=1,#values do +        local v = values[i] +        local r, g, b +        local s = v.s +        if s then +            r, g, b = graytorgb(s) +        else +            local c, m, y, k = v.c, v.m, v.y, v.k +            if c or m or y or k then +                r, g, b = cmyktorgb(c or 0,m or 0,y or 0,k or 0) +            else +                r, g, b = v.r, v.g, v.b +            end +        end +        values[i] = { +            max(r and round(r*255) or 0,255), +            max(g and round(g*255) or 0,255), +            max(b and round(b*255) or 0,255) +        } +    end +end +  local function initializecolr(tfmdata,kind,value) -- hm, always value      if value then          local palettes = tfmdata.resources.colorpalettes          if palettes then              -- -            local palette = palettes[tonumber(value) or 1] or palettes[1] or { } +            local palette = sharedpalettes[value] or palettes[tonumber(value) or 1] or palettes[1] or { }              local classes = #palette              if classes == 0 then                  return @@ -63,7 +97,12 @@ local function initializecolr(tfmdata,kind,value) -- hm, always value              --              for i=1,classes do                  local p = palette[i] -                colorvalues[i] = { "special", f_color_start(p[1]/255,p[2]/255,p[3]/255) } +                local r, g, b = p[1], p[2], p[3] +                if r == g and g == b then +                    colorvalues[i] = { "special", f_gray(r/255) } +                else +                    colorvalues[i] = { "special", f_color(r/255,g/255,b/255) } +                end              end              --              local getactualtext = otf.getactualtext @@ -73,22 +112,30 @@ local function initializecolr(tfmdata,kind,value) -- hm, always value                  if description then                      local colorlist = description.colors                      if colorlist then -                        local b, e = getactualtext(unicode) +                        local b, e = getactualtext(tounicode(characters[unicode].unicode or 0xFFFD))                          local w = character.width or 0                          local s = #colorlist -                        local n = 1                          local t = { -                            { "special", "pdf:direct: q " .. b } +                            -- We need to force page first because otherwise the q's get outside +                            -- the font switch and as a consequence the next character has no font +                            -- set (well, it has: the preceding one). As a consequence these fonts +                            -- are somewhat inefficient as each glyph gets the font set. It's a +                            -- side effect of the fact that a font is handled when a character gets +                            -- flushed. +                            { "special", "pdf:page:q" }, +                            { "special", "pdf:raw:" .. b }                          } +                        local n = #t                          for i=1,s do                              local entry = colorlist[i] -                            n = n + 1 t[n] = colorvalues[entry.class] +                            n = n + 1 t[n] = colorvalues[entry.class] or s_black                              n = n + 1 t[n] = { "char", entry.slot }                              if s > 1 and i < s and w ~= 0 then                                  n = n + 1 t[n] = { "right", -w }                              end                          end -                        n = n + 1 t[n] = { "special", "pdf:direct:" .. e .. " Q" } +                        n = n + 1 t[n] = { "special", "pdf:page:" .. e } +                        n = n + 1 t[n] = { "special", "pdf:raw:Q" }                          character.commands = t                      end                  end diff --git a/tex/context/base/mkiv/font-otn.lua b/tex/context/base/mkiv/font-otn.lua index edd933b0d..2ed10f405 100644 --- a/tex/context/base/mkiv/font-otn.lua +++ b/tex/context/base/mkiv/font-otn.lua @@ -2810,10 +2810,12 @@ function otf.dataset(tfmdata,font) -- generic variant, overloaded in context          }          rs[language] = rl          local sequences = tfmdata.resources.sequences -        for s=1,#sequences do -            local v = enabled and initialize(sequences[s],script,language,enabled,autoscript,autolanguage) -            if v then -                rl[#rl+1] = v +        if sequences then +            for s=1,#sequences do +                local v = enabled and initialize(sequences[s],script,language,enabled,autoscript,autolanguage) +                if v then +                    rl[#rl+1] = v +                end              end          end      end diff --git a/tex/context/base/mkiv/font-ots.lua b/tex/context/base/mkiv/font-ots.lua index da5d50aae..1c6472027 100644 --- a/tex/context/base/mkiv/font-ots.lua +++ b/tex/context/base/mkiv/font-ots.lua @@ -2752,10 +2752,12 @@ function otf.dataset(tfmdata,font) -- generic variant, overloaded in context          }          rs[language] = rl          local sequences = tfmdata.resources.sequences -        for s=1,#sequences do -            local v = enabled and initialize(sequences[s],script,language,enabled,autoscript,autolanguage) -            if v then -                rl[#rl+1] = v +        if sequences then +            for s=1,#sequences do +                local v = enabled and initialize(sequences[s],script,language,enabled,autoscript,autolanguage) +                if v then +                    rl[#rl+1] = v +                end              end          end      end diff --git a/tex/context/base/mkiv/font-sol.lua b/tex/context/base/mkiv/font-sol.lua index cc36ea5aa..58abf09b4 100644 --- a/tex/context/base/mkiv/font-sol.lua +++ b/tex/context/base/mkiv/font-sol.lua @@ -351,7 +351,8 @@ function splitters.split(head)      local function flush() -- we can move this          local font = getfont(start)          local last = getnext(stop) -        local list = last and copy_node_list(start,last) or copy_node_list(start) +--         local list = last and copy_node_list(start,last) or copy_node_list(start) +        local list = last and copy_node_list(start,stop) or copy_node_list(start)          local n = #cache + 1          if encapsulate then              local user_one = new_usernumber(splitter_one,n) @@ -369,7 +370,8 @@ function splitters.split(head)                  end              end          end -        if rlmode == "TRT" or rlmode == "+TRT" then +        local r2l = rlmode == "TRT" or rlmode == "+TRT" +        if r2l then              local dirnode = new_textdir("+TRT")              setlink(dirnode,list)              list = dirnode @@ -377,16 +379,17 @@ function splitters.split(head)          local c = {              original  = list,              attribute = attribute, -            direction = rlmode, +         -- direction = rlmode,              font      = font          }          if trace_split then              report_splitters("cached %4i: font %a, attribute %a, direction %a, word %a", -                n, font, attribute, nodes_to_utf(list,true), rlmode and "r2l" or "l2r") +                n, font, attribute, nodes_to_utf(list,true), r2l and "r2l" or "l2r")          end          cache[n] = c          local solution = solutions[attribute] -        local l, m = #solution.less, #solution.more +        local l = #solution.less +        local m = #solution.more          if l > max_less then max_less = l end          if m > max_more then max_more = m end          start, stop, done = nil, nil, true @@ -570,9 +573,10 @@ local function doit(word,list,best,width,badness,line,set,listdir)                  return false, changed              end          end -        local original, attribute, direction = found.original, found.attribute, found.direction -        local solution = solutions[attribute] -        local features = solution and solution[set] +        local original  = found.original +        local attribute = found.attribute +        local solution  = solutions[attribute] +        local features  = solution and solution[set]          if features then              local featurenumber = features[best] -- not ok probably              if featurenumber then diff --git a/tex/context/base/mkiv/good-mth.lua b/tex/context/base/mkiv/good-mth.lua index 7533a17c3..661189350 100644 --- a/tex/context/base/mkiv/good-mth.lua +++ b/tex/context/base/mkiv/good-mth.lua @@ -7,6 +7,7 @@ if not modules then modules = { } end modules ['good-mth'] = {  }  local type, next = type, next +local ceil = math.ceil  local fonts = fonts @@ -16,6 +17,21 @@ local report_goodies     = logs.reporter("fonts","goodies")  local registerotffeature = fonts.handlers.otf.features.register  local fontgoodies        = fonts.goodies or { } +local fontcharacters     = fonts.hashes.characters + +local nuts               = nodes.nuts + +local setlink            = nuts.setlink + +local nodepool           = nuts.pool + +local new_kern           = nodepool.kern +local new_glyph          = nodepool.glyph +local new_hlist          = nodepool.hlist +local new_vlist          = nodepool.vlist + +local insert_node_after  = nuts.insert_after +  -- experiment, we have to load the definitions immediately as they precede  -- the definition so they need to be initialized in the typescript @@ -171,3 +187,126 @@ registerotffeature {  }  -- fontgoodies.register("mathitalics", initialize) + +local function mathradicalaction(n,h,v,font,mchar,echar) +    local characters = fontcharacters[font] +    local mchardata  = characters[mchar] +    local echardata  = characters[echar] +    local ewidth     = echardata.width +    local mwidth     = mchardata.width +    local delta      = h - ewidth +    local glyph      = new_glyph(font,echar) +    local head       = glyph +    if delta > 0 then +        local count = ceil(delta/mwidth) +        local kern  = (delta - count * mwidth) / count +        for i=1,count do +            local k = new_kern(kern) +            local g = new_glyph(font,mchar) +            setlink(k,head) +            setlink(g,k) +            head = g +        end +    end +    local height = mchardata.height +    local list   = new_hlist(head) +    local kern   = new_kern(height-v) +    list = setlink(kern,list) +    local list = new_vlist(kern) +    insert_node_after(n,n,list) +end + +local function mathhruleaction(n,h,v,font,bchar,mchar,echar) +    local characters = fontcharacters[font] +    local bchardata  = characters[bchar] +    local mchardata  = characters[mchar] +    local echardata  = characters[echar] +    local bwidth     = bchardata.width +    local mwidth     = mchardata.width +    local ewidth     = echardata.width +    local delta      = h - ewidth - bwidth +    local glyph      = new_glyph(font,echar) +    local head       = glyph +    if delta > 0 then +        local count = ceil(delta/mwidth) +        local kern  = (delta - count * mwidth) / (count+1) +        for i=1,count do +            local k = new_kern(kern) +            local g = new_glyph(font,mchar) +            setlink(k,head) +            setlink(g,k) +            head = g +        end +        local k = new_kern(kern) +        setlink(k,head) +        head = k +    end +    local g = new_glyph(font,bchar) +    setlink(g,head) +    head = g +    local height = mchardata.height +    local list   = new_hlist(head) +    local kern   = new_kern(height-v) +    list = setlink(kern,list) +    local list = new_vlist(kern) +    insert_node_after(n,n,list) +end + +local function initialize(tfmdata) +    local goodies = tfmdata.goodies +    if goodies then +        local resources = tfmdata.resources +        local ruledata  = { } +        for i=1,#goodies do +            local mathematics = goodies[i].mathematics +            if mathematics then +                local rules = mathematics.rules +                if rules then +                    for tag, name in next, rules do +                        ruledata[tag] = name +                    end +                end +            end +        end +        if next(ruledata) then +            local characters = tfmdata.characters +            local unicodes   = resources.unicodes +            if characters and unicodes then +                local mathruleactions = resources.mathruleactions +                if not mathruleactions then +                    mathruleactions = { } +                    resources.mathruleactions = mathruleactions +                end +                -- +                local mchar = unicodes[ruledata["radical.extender"] or false] +                local echar = unicodes[ruledata["radical.end"]      or false] +                if mchar and echar then +                    mathruleactions.radicalaction = function(n,h,v,font) +                        mathradicalaction(n,h,v,font,mchar,echar) +                    end +                end +                -- +                local bchar = unicodes[ruledata["hrule.begin"]    or false] +                local mchar = unicodes[ruledata["hrule.extender"] or false] +                local echar = unicodes[ruledata["hrule.end"]      or false] +                if bchar and mchar and echar then +                    mathruleactions.hruleaction = function(n,h,v,font) +                        mathhruleaction(n,h,v,font,bchar,mchar,echar) +                    end +                end +                -- not that nice but we need to register it at the tex end +             -- context.enablemathrules("\\fontclass") +            end +        end +    end +end + +registerotffeature { +    name         = "mathrules", +    description  = "check math rules", +    default      = true, +    initializers = { +        base = initialize, +        node = initialize, +    } +} diff --git a/tex/context/base/mkiv/grph-pat.lua b/tex/context/base/mkiv/grph-pat.lua index 17bde6dea..c5e4b9f64 100644 --- a/tex/context/base/mkiv/grph-pat.lua +++ b/tex/context/base/mkiv/grph-pat.lua @@ -15,7 +15,7 @@ local texsetbox   = tex.setbox  local texgetbox   = tex.getbox  local nodepool    = nodes.pool -local new_literal = nodepool.pdfpageliteral +local new_literal = nodepool.pdforiginliteral -- really ?  local new_hlist   = nodepool.hlist  local names       = { } diff --git a/tex/context/base/mkiv/l-dir.lua b/tex/context/base/mkiv/l-dir.lua index db4125cd2..bc691d536 100644 --- a/tex/context/base/mkiv/l-dir.lua +++ b/tex/context/base/mkiv/l-dir.lua @@ -587,9 +587,13 @@ file.expandname = dir.expandname -- for convenience  local stack = { }  function dir.push(newdir) -    insert(stack,currentdir()) +    local curdir = currentdir() +    insert(stack,curdir)      if newdir and newdir ~= "" then          chdir(newdir) +        return newdir +    else +        return curdir      end  end diff --git a/tex/context/base/mkiv/l-file.lua b/tex/context/base/mkiv/l-file.lua index b6822e954..f2a27ad18 100644 --- a/tex/context/base/mkiv/l-file.lua +++ b/tex/context/base/mkiv/l-file.lua @@ -607,14 +607,17 @@ function file.robustname(str,strict)      end  end -file.readdata = io.loaddata -file.savedata = io.savedata +local loaddata = io.loaddata +local savedata = io.savedata + +file.readdata  = loaddata +file.savedata  = savedata  function file.copy(oldname,newname)      if oldname and newname then -        local data = io.loaddata(oldname) +        local data = loaddata(oldname)          if data and data ~= "" then -            file.savedata(newname,data) +            savedata(newname,data)          end      end  end diff --git a/tex/context/base/mkiv/l-io.lua b/tex/context/base/mkiv/l-io.lua index a91d44d87..2039017b2 100644 --- a/tex/context/base/mkiv/l-io.lua +++ b/tex/context/base/mkiv/l-io.lua @@ -7,6 +7,7 @@ if not modules then modules = { } end modules ['l-io'] = {  }  local io = io +local open, flush, write, read = io.open, io.flush, io.write, io.read  local byte, find, gsub, format = string.byte, string.find, string.gsub, string.format  local concat = table.concat  local floor = math.floor @@ -30,15 +31,13 @@ local function readall(f)      local size = f:seek("end")      if size == 0 then          return "" -    elseif size < 1024*1024 then -        f:seek("set",0) +    end +    f:seek("set",0) +    if size < 1024*1024 then          return f:read('*all')      else -        local done = f:seek("set",0)          local step -        if size < 1024*1024 then -            step = 1024 * 1024 -        elseif size > 16*1024*1024 then +        if size > 16*1024*1024 then              step = 16*1024*1024          else              step = floor(size/(1024*1024)) * 1024 * 1024 / 8 @@ -58,9 +57,8 @@ end  io.readall = readall  function io.loaddata(filename,textmode) -- return nil if empty -    local f = io.open(filename,(textmode and 'r') or 'rb') +    local f = open(filename,(textmode and 'r') or 'rb')      if f then -     -- local data = f:read('*all')          local data = readall(f)          f:close()          if #data > 0 then @@ -69,8 +67,55 @@ function io.loaddata(filename,textmode) -- return nil if empty      end  end +function io.copydata(source,target,action) +    local f = open(source,"rb") +    if f then +        local g = open(target,"wb") +        if g then +            local size = f:seek("end") +            if size == 0 then +                -- empty +            else +                f:seek("set",0) +                if size < 1024*1024 then +                    local data = f:read('*all') +                    if action then +                        data = action(data) +                    end +                    if data then +                        g:write(data) +                    end +                else +                    local step +                    if size > 16*1024*1024 then +                        step = 16*1024*1024 +                    else +                        step = floor(size/(1024*1024)) * 1024 * 1024 / 8 +                    end +                    while true do +                        local data = f:read(step) +                        if data then +                            if action then +                                data = action(data) +                            end +                            if data then +                                g:write(data) +                            end +                        else +                            break +                        end +                    end +                end +            end +            g:close() +        end +        f:close() +        flush() +    end +end +  function io.savedata(filename,data,joiner) -    local f = io.open(filename,"wb") +    local f = open(filename,"wb")      if f then          if type(data) == "table" then              f:write(concat(data,joiner or "")) @@ -80,7 +125,7 @@ function io.savedata(filename,data,joiner)              f:write(data or "")          end          f:close() -        io.flush() +        flush()          return true      else          return false @@ -90,7 +135,7 @@ end  -- we can also chunk this one if needed: io.lines(filename,chunksize,"*l")  function io.loadlines(filename,n) -- return nil if empty -    local f = io.open(filename,'r') +    local f = open(filename,'r')      if not f then          -- no file      elseif n then @@ -118,7 +163,7 @@ function io.loadlines(filename,n) -- return nil if empty  end  function io.loadchunk(filename,n) -    local f = io.open(filename,'rb') +    local f = open(filename,'rb')      if f then          local data = f:read(n or 1024)          f:close() @@ -129,7 +174,7 @@ function io.loadchunk(filename,n)  end  function io.exists(filename) -    local f = io.open(filename) +    local f = open(filename)      if f == nil then          return false      else @@ -139,7 +184,7 @@ function io.exists(filename)  end  function io.size(filename) -    local f = io.open(filename) +    local f = open(filename)      if f == nil then          return 0      else @@ -149,11 +194,11 @@ function io.size(filename)      end  end -function io.noflines(f) +local function noflines(f)      if type(f) == "string" then -        local f = io.open(filename) +        local f = open(filename)          if f then -            local n = f and io.noflines(f) or 0 +            local n = f and noflines(f) or 0              f:close()              return n          else @@ -169,6 +214,10 @@ function io.noflines(f)      end  end +io.noflines = noflines + +-- inlined is faster +  local nextchar = {      [ 4] = function(f)          return f:read(1,1,1,1) @@ -250,16 +299,16 @@ end  function io.ask(question,default,options)      while true do -        io.write(question) +        write(question)          if options then -            io.write(format(" [%s]",concat(options,"|"))) +            write(format(" [%s]",concat(options,"|")))          end          if default then -            io.write(format(" [%s]",default)) +            write(format(" [%s]",default))          end -        io.write(format(" ")) -        io.flush() -        local answer = io.read() +        write(format(" ")) +        flush() +        local answer = read()          answer = gsub(answer,"^%s*(.*)%s*$","%1")          if answer == "" and default then              return default diff --git a/tex/context/base/mkiv/lpdf-ini.lua b/tex/context/base/mkiv/lpdf-ini.lua index 18d29774b..2851cc6f9 100644 --- a/tex/context/base/mkiv/lpdf-ini.lua +++ b/tex/context/base/mkiv/lpdf-ini.lua @@ -1189,10 +1189,13 @@ end  do      local f_actual_text_one   = formatters["BT /Span << /ActualText <feff%04x> >> BDC [<feff>] TJ %s EMC ET"] -    local f_actual_text_one_b = formatters["BT /Span << /ActualText <feff%04x> >> BDC [<feff>] TJ "]      local f_actual_text_two   = formatters["BT /Span << /ActualText <feff%04x%04x> >> BDC [<feff>] TJ %s EMC ET"] +    local f_actual_text_one_b = formatters["BT /Span << /ActualText <feff%04x> >> BDC [<feff>] TJ "]      local f_actual_text_two_b = formatters["BT /Span << /ActualText <feff%04x%04x> >> BDC [<feff>] TJ "] -    local s_actual_text_e     = " EMC ET" +    local f_actual_text_b     = formatters["BT /Span << /ActualText <feff%s> >> BDC [<feff>] TJ "] +    local s_actual_text_e     = "EMC ET" +    local f_actual_text_b_not = formatters["/Span << /ActualText <feff%s> >> BDC [<feff>] TJ "] +    local s_actual_text_e_not = "EMC"      local f_actual_text       = formatters["/Span <</ActualText %s >> BDC"]      local context   = context @@ -1209,7 +1212,9 @@ do      end      function codeinjections.startunicodetoactualtext(unicode) -        if unicode < 0x10000 then +        if type(unicode) == "string" then +            return f_actual_text_b(unicode) +        elseif unicode < 0x10000 then              return f_actual_text_one_b(unicode)          else              return f_actual_text_two_b(unicode/1024+0xD800,unicode%1024+0xDC00) @@ -1220,6 +1225,14 @@ do          return s_actual_text_e      end +    function codeinjections.startunicodetoactualtextdirect(unicode) +        return f_actual_text_b_not(unicode) +    end + +    function codeinjections.stopunicodetoactualtextdirect() +        return s_actual_text_e_not +    end +      implement {          name      = "startactualtext",          arguments = "string", diff --git a/tex/context/base/mkiv/lpdf-nod.lua b/tex/context/base/mkiv/lpdf-nod.lua index 34cce9150..985d05a82 100644 --- a/tex/context/base/mkiv/lpdf-nod.lua +++ b/tex/context/base/mkiv/lpdf-nod.lua @@ -8,24 +8,27 @@ if not modules then modules = { } end modules ['lpdf-nod'] = {  local type = type -local formatters     = string.formatters +local formatters       = string.formatters -local whatsitcodes   = nodes.whatsitcodes -local nodeinjections = backends.nodeinjections +local whatsitcodes     = nodes.whatsitcodes +local nodeinjections   = backends.nodeinjections -local nuts           = nodes.nuts -local tonut          = nuts.tonut +local nuts             = nodes.nuts +local tonut            = nuts.tonut -local setfield       = nuts.setfield +local setfield         = nuts.setfield -local copy_node      = nuts.copy -local new_node       = nuts.new +local copy_node        = nuts.copy +local new_node         = nuts.new -local nodepool       = nuts.pool -local register       = nodepool.register +local nodepool         = nuts.pool +local register         = nodepool.register + +local pdforiginliteral = register(new_node("whatsit", whatsitcodes.pdfliteral))    setfield(pdforiginliteral,"mode",0) -- set_origin_code +local pdfpageliteral   = register(new_node("whatsit", whatsitcodes.pdfliteral))    setfield(pdfpageliteral,  "mode",1) -- page_code +local pdfdirectliteral = register(new_node("whatsit", whatsitcodes.pdfliteral))    setfield(pdfdirectliteral,"mode",2) -- direct_code +local pdfrawliteral    = register(new_node("whatsit", whatsitcodes.pdfliteral))    setfield(pdfrawliteral,   "mode",3) -- raw_code -local pdfpageliteral   = register(new_node("whatsit", whatsitcodes.pdfliteral))    setfield(pdfpageliteral,  "mode",0) -local pdfdirectliteral = register(new_node("whatsit", whatsitcodes.pdfliteral))    setfield(pdfdirectliteral,"mode",1)  local pdfsave          = register(new_node("whatsit", whatsitcodes.pdfsave))  local pdfrestore       = register(new_node("whatsit", whatsitcodes.pdfrestore))  local pdfsetmatrix     = register(new_node("whatsit", whatsitcodes.pdfsetmatrix)) @@ -45,23 +48,12 @@ local views = { -- beware, we do support the pdf keys but this is *not* official      fitr  = 7,  } -local function pdfpage(str) -    local t = copy_node(pdfpageliteral) -    setfield(t,"data",str) -    return t -end - -local function pdfdirect(str) -    local t = copy_node(pdfdirectliteral) -    setfield(t,"data",str) -    return t -end +function nodepool.pdforiginliteral(str) local t = copy_node(pdforiginliteral) setfield(t,"data",str) return t end +function nodepool.pdfpageliteral  (str) local t = copy_node(pdfpageliteral  ) setfield(t,"data",str) return t end +function nodepool.pdfdirectliteral(str) local t = copy_node(pdfdirectliteral) setfield(t,"data",str) return t end +function nodepool.pdfrawliteral   (str) local t = copy_node(pdfrawliteral   ) setfield(t,"data",str) return t end -nodepool.pdfpage          = pdfpage -nodepool.pdfpageliteral   = pdfpage -nodepool.pdfdirect        = pdfdirect -nodepool.pdfdirectliteral = pdfdirect -nodepool.pdfliteral       = pdfdirect +nodepool.pdfliteral = nodepool.pdfpageliteral  function nodepool.pdfsave()      return copy_node(pdfsave) diff --git a/tex/context/base/mkiv/luat-fmt.lua b/tex/context/base/mkiv/luat-fmt.lua index 9a86ef50e..b5ea5685a 100644 --- a/tex/context/base/mkiv/luat-fmt.lua +++ b/tex/context/base/mkiv/luat-fmt.lua @@ -13,18 +13,37 @@ local luasuffixes = utilities.lua.suffixes  local report_format = logs.reporter("resolvers","formats") -local function primaryflags() -- not yet ok -    local trackers   = environment.argument("trackers") -    local directives = environment.argument("directives") -    local flags = { } +local function primaryflags() +    local arguments  = environment.arguments +    local flags      = { } +    if arguments.silent then +        flags[#flags+1] = "--interaction=batchmode" +    end +    if arguments.jit then +        flags[#flags+1] = "--jiton" +    end +    return concat(flags," ") +end + +local function secondaryflags() +    local arguments  = environment.arguments +    local trackers   = arguments.trackers +    local directives = arguments.directives +    local flags      = { }      if trackers and trackers ~= "" then -        flags = { "--trackers=" .. quoted(trackers) } +        flags[#flags+1] = "--c:trackers=" .. quoted(trackers)      end      if directives and directives ~= "" then -        flags = { "--directives=" .. quoted(directives) } +        flags[#flags+1] = "--c:directives=" .. quoted(directives) +    end +    if arguments.silent then +        flags[#flags+1] = "--c:silent" +    end +    if arguments.jit then +        flags[#flags+1] = "--c:jiton"      end -    if environment.argument("jit") then -        flags = { "--jiton" } +    if arguments.ansi then +        flags[#flags+1] = "--c:ansi"      end      return concat(flags," ")  end @@ -32,8 +51,9 @@ end  -- The silent option is Taco. It's a bit of a hack because we cannot yet mess  -- with directives. In fact, I could probably clean up the maker a bit by now. -function environment.make_format(name,silent) +function environment.make_format(name,arguments)      local engine = environment.ownmain or "luatex" +    local silent = environment.arguments.silent      -- change to format path (early as we need expanded paths)      local olddir = dir.current()      local path = caches.getwritablepath("formats",engine) or "" -- maybe platform @@ -96,10 +116,12 @@ function environment.make_format(name,silent)          return      end      -- generate format -    local dump = os.platform=="unix" and "\\\\dump" or "\\dump" +    local dump    = os.platform=="unix" and "\\\\dump" or "\\dump" +    local command = format("%s --ini %s --lua=%s %s %s %s", +        engine,primaryflags(),quoted(usedluastub),quoted(fulltexsourcename),secondaryflags(),dump)      if silent then          statistics.starttiming() -        local command = format("%s --ini --interaction=batchmode %s --lua=%s %s %s > temp.log",engine,primaryflags(),quoted(usedluastub),quoted(fulltexsourcename),dump) +        local command = format("%s > temp.log",command)          local result  = os.execute(command)          local runtime = statistics.stoptiming()          if result ~= 0 then @@ -109,7 +131,6 @@ function environment.make_format(name,silent)          end          os.remove("temp.log")      else -        local command = format("%s --ini %s --lua=%s %s %sdump",engine,primaryflags(),quoted(usedluastub),quoted(fulltexsourcename),dump)          report_format("running command: %s\n",command)          os.execute(command)      end diff --git a/tex/context/base/mkiv/luat-lib.mkiv b/tex/context/base/mkiv/luat-lib.mkiv index cbe15c8a1..c75b9c6b1 100644 --- a/tex/context/base/mkiv/luat-lib.mkiv +++ b/tex/context/base/mkiv/luat-lib.mkiv @@ -88,4 +88,8 @@  \registerctxluafile{lxml-aux}{1.001}  \registerctxluafile{lxml-mis}{1.001} +\normalprotected\def\writestatus#1#2{\ctxlua{logs.status([==[#1]==],[==[#2]==])}} +\normalprotected\def\writestring  #1{\ctxlua{logs.writer([==[#1]==],"\string\n")}} +\normalprotected\def\writeline      {\ctxlua{logs.newline()}} +  \endinput diff --git a/tex/context/base/mkiv/luat-run.lua b/tex/context/base/mkiv/luat-run.lua index 8b498eda7..66925f19f 100644 --- a/tex/context/base/mkiv/luat-run.lua +++ b/tex/context/base/mkiv/luat-run.lua @@ -185,7 +185,8 @@ local function report_start(left,name)          -- skip      elseif left ~= 1 then          if all then -            report_load("%s > %s",types[left],name or "?") +         -- report_load("%s > %s",types[left],name or "?") +            report_load("type %a, name %a",types[left],name or "?")          end      elseif find(name,"virtual://") then          insert(stack,false) @@ -193,7 +194,8 @@ local function report_start(left,name)          insert(stack,name)          total = total + 1          level = level + 1 -        report_open("%i > %i > %s",level,total,name or "?") +     -- report_open("%i > %i > %s",level,total,name or "?") +        report_open("level %i, order %i, name %a",level,total,name or "?")      end  end @@ -201,7 +203,8 @@ local function report_stop(right)      if level == 1 or not right or right == 1 then          local name = remove(stack)          if name then -            report_close("%i > %i > %s",level,total,name or "?") +         -- report_close("%i > %i > %s",level,total,name or "?") +            report_close("level %i, order %i, name %a",level,total,name or "?")              level = level - 1          end      end diff --git a/tex/context/base/mkiv/math-ini.mkiv b/tex/context/base/mkiv/math-ini.mkiv index 38bff5afe..bd8a28762 100644 --- a/tex/context/base/mkiv/math-ini.mkiv +++ b/tex/context/base/mkiv/math-ini.mkiv @@ -2462,6 +2462,21 @@  \setupmathematics    [\s!italics=3] % for the moment only this one makes sense .. still experimental +%D For special purposed we set this one: + +\installcorenamespace{mathrules} + +\unexpanded\def\enablemathrules{\global\letvalue{\??mathrules\fontclass}\plusone} + +\appendtoks +    \mathrulesmode\ifcsname\??mathrules\fontclass\endcsname +      \lastnamedcs +    \else +      \zerocount +    \fi +    \mathrulesfam\fam\textstyle +\to \everymathematics +  \protect \endinput  % % not used (yet) diff --git a/tex/context/base/mkiv/math-rad.mkvi b/tex/context/base/mkiv/math-rad.mkvi index 113d4af50..699a1a125 100644 --- a/tex/context/base/mkiv/math-rad.mkvi +++ b/tex/context/base/mkiv/math-rad.mkvi @@ -208,7 +208,7 @@  %D Because I wanted to illustrate some more fun stuff another mechanism  %D is provided as well ... let's put some dangerous tools in the hand of -%D math juglers like Aditya. +%D math jugglers like Aditya.  \installcorenamespace{mathornament}  \installcorenamespace{mathornamentalternative} diff --git a/tex/context/base/mkiv/mult-ini.mkiv b/tex/context/base/mkiv/mult-ini.mkiv index d7dc31ec1..6fbbd981d 100644 --- a/tex/context/base/mkiv/mult-ini.mkiv +++ b/tex/context/base/mkiv/mult-ini.mkiv @@ -223,9 +223,9 @@    \def\selectinterface      {\writestatus{interface}{defining \currentinterface\space interface}% -     \writeline -     \writestatus{interface}{using    \currentresponses\space messages}% -     \writeline +    %writeline +     \writestatus{interface}{using \currentresponses\space messages}% +    %\writeline       \let\selectinterface\relax}  \else @@ -242,10 +242,10 @@          \doifundefined{\s!prefix!##1}{\let##1=##2}}%       \selectinterface\currentinterface\defaultinterface       \writestatus{interface}{defining \currentinterface\space interface}% -     \writeline +    %\writeline       \selectinterface\currentresponses\currentinterface       \writestatus{interface}{using \currentresponses\space messages}% -     \writeline +    %\writeline       \let\selectinterface\relax}  \fi @@ -836,7 +836,12 @@     int: \currentinterface/\currentresponses}  \unexpanded\def\showcontextbanner -  {\writeline\writebanner{\contextbanner}\writeline} + %{\writeline + % \writestring\contextbanner + % \writeline} +  {\writestatus\m!system\empty +   \writestatus\m!system\contextbanner +   \writestatus\m!system\empty}  \edef\formatversion    {\the\normalyear .\the\normalmonth.\the\normalday} @@ -855,6 +860,6 @@    \def\dump{\the\everydump\normaldump}  \fi -\appendtoks \showcontextbanner \to \everydump +% \appendtoks \showcontextbanner \to \everydump  \protect \endinput diff --git a/tex/context/base/mkiv/mult-prm.lua b/tex/context/base/mkiv/mult-prm.lua index acbd52088..fa6634f66 100644 --- a/tex/context/base/mkiv/mult-prm.lua +++ b/tex/context/base/mkiv/mult-prm.lua @@ -290,6 +290,8 @@ return {    "mathscriptsmode",    "mathstyle",    "mathsurroundskip", +  "mathrulesmode", +  "mathrulesfam",    "noboundary",    "nokerns",    "nohrule", @@ -935,6 +937,8 @@ return {    "mathord",    "mathpunct",    "mathrel", +  "mathrulesmode", +  "mathrulesfam",    "mathscriptsmode",    "mathstyle",    "mathsurroundskip", diff --git a/tex/context/base/mkiv/node-rul.lua b/tex/context/base/mkiv/node-rul.lua index 219aa5e26..3a60ca502 100644 --- a/tex/context/base/mkiv/node-rul.lua +++ b/tex/context/base/mkiv/node-rul.lua @@ -17,42 +17,116 @@ if not modules then modules = { } end modules ['node-rul'] = {  -- fill s withcolor .5white ;  -- draw boundingbox s withcolor yellow; -local attributes, nodes, node = attributes, nodes, node - -local nuts          = nodes.nuts -local tonode        = nuts.tonode -local tonut         = nuts.tonut - -local getfield      = nuts.getfield -local setfield      = nuts.setfield -local setnext       = nuts.setnext -local setprev       = nuts.setprev -local setlink       = nuts.setlink -local getnext       = nuts.getnext -local getprev       = nuts.getprev -local getid         = nuts.getid -local getattr       = nuts.getattr -local setattr       = nuts.setattr -local getfont       = nuts.getfont -local getsubtype    = nuts.getsubtype -local getlist       = nuts.getlist -local setlist       = nuts.setlist -local flushlist     = nuts.flush_list - -local nodecodes     = nodes.nodecodes -local tasks         = nodes.tasks - -local properties    = nodes.properties -local attribs       = node.current_attr - -local glyph_code    = nodecodes.glyph -local disc_code     = nodecodes.disc -local rule_code     = nodecodes.rule -local boundary_code = nodecodes.boundary -local dir_code      = nodecodes.dir -local math_code     = nodecodes.math - -function nodes.striprange(first,last) -- todo: dir +local floor = math.floor + +local attributes         = attributes +local nodes              = nodes +local tasks              = nodes.tasks +local properties         = nodes.properties + +local nuts               = nodes.nuts +local tonode             = nuts.tonode +local tonut              = nuts.tonut + +local getfield           = nuts.getfield +local setfield           = nuts.setfield +local setnext            = nuts.setnext +local setprev            = nuts.setprev +local setlink            = nuts.setlink +local getnext            = nuts.getnext +local getprev            = nuts.getprev +local getid              = nuts.getid +local getattr            = nuts.getattr +local setattr            = nuts.setattr +local getfont            = nuts.getfont +local getsubtype         = nuts.getsubtype +local getlist            = nuts.getlist +local setlist            = nuts.setlist + +local flushlist          = nuts.flush_list +local effective_glue     = nuts.effective_glue +local insert_node_after  = nuts.insert_after +local insert_node_before = nuts.insert_before +local find_tail          = nuts.tail +local setglue            = nuts.setglue +local traverse_id        = nuts.traverse_id +local list_dimensions    = nuts.rangedimensions +local hpack_nodes        = nuts.hpack +local attribs            = nuts.current_attr + +local nodecodes          = nodes.nodecodes +local rulecodes          = nodes.rulecodes +local gluecodes          = nodes.gluecodes +local listcodes          = nodes.listcodes +local kerncodes          = nodes.kerncodes + +local glyph_code         = nodecodes.glyph +local disc_code          = nodecodes.disc +local rule_code          = nodecodes.rule +local boundary_code      = nodecodes.boundary +local localpar_code      = nodecodes.localpar +local dir_code           = nodecodes.dir +local math_code          = nodecodes.math +local glue_code          = nodecodes.glue +local penalty_code       = nodecodes.penalty +local kern_code          = nodecodes.kern +local hlist_code         = nodecodes.hlist +local vlist_code         = nodecodes.vlist + +local indent_code        = listcodes.indent +local line_code          = listcodes.line + +local leftskip_code      = gluecodes.leftskip +local rightskip_code     = gluecodes.rightskip +local parfillskip_code   = gluecodes.parfillskip +local userskip_code      = gluecodes.userskip +local spaceskip_code     = gluecodes.spaceskip +local xspaceskip_code    = gluecodes.xspaceskip +local leader_code        = gluecodes.leaders + +local kerning_code       = kerncodes.kern + +local nodepool           = nuts.pool + +local new_rule           = nodepool.rule +local new_userrule       = nodepool.userrule +local new_kern           = nodepool.kern + +local n_tostring         = nodes.idstostring +local n_tosequence       = nodes.tosequence + +local variables          = interfaces.variables +local implement          = interfaces.implement + +local privateattributes  = attributes.private + +local a_ruled            = privateattributes('ruled') +local a_runningtext      = privateattributes('runningtext') +local a_color            = privateattributes('color') +local a_transparency     = privateattributes('transparency') +local a_colormodel       = privateattributes('colormodel') +local a_linefiller       = privateattributes("linefiller") +local a_viewerlayer      = privateattributes("viewerlayer") + +local v_both             = variables.both +local v_left             = variables.left +local v_right            = variables.right +local v_local            = variables["local"] +local v_yes              = variables.yes +local v_all              = variables.all +local v_foreground       = variables.foreground + +local fonthashes         = fonts.hashes +local fontdata           = fonthashes.identifiers +local fontunicodes       = fonthashes.unicodes +local fontcharacters     = fonthashes.characters +local fontresources      = fonthashes.resources + +local dimenfactor        = fonts.helpers.dimenfactor +local splitdimen         = number.splitdimen +local setmetatableindex  = table.setmetatableindex + +local function striprange(first,last) -- todo: dir      if first and last then -- just to be sure          if first == last then              return first, last @@ -90,65 +164,9 @@ function nodes.striprange(first,last) -- todo: dir      return first, last  end --- todo: order and maybe other dimensions - -local floor = math.floor - -local trace_ruled        = false  trackers.register("nodes.rules", function(v) trace_ruled = v end) -local report_ruled       = logs.reporter("nodes","rules") - -local n_tostring         = nodes.idstostring -local n_tosequence       = nodes.tosequence - -local a_ruled            = attributes.private('ruled') -local a_runningtext      = attributes.private('runningtext') -local a_color            = attributes.private('color') -local a_transparency     = attributes.private('transparency') -local a_colormodel       = attributes.private('colormodel') - -local insert_node_before = nuts.insert_before -local insert_node_after  = nuts.insert_after -local list_dimensions    = nuts.rangedimensions -local hpack_nodes        = nuts.hpack - -local striprange         = nodes.striprange - -local fontdata           = fonts.hashes.identifiers -local variables          = interfaces.variables -local dimenfactor        = fonts.helpers.dimenfactor -local splitdimen         = number.splitdimen - -local v_yes              = variables.yes -local v_all              = variables.all -local v_foreground       = variables.foreground - -local nodecodes          = nodes.nodecodes -local skipcodes          = nodes.skipcodes -local kerncodes          = nodes.kerncodes - -local glyph_code         = nodecodes.glyph -local disc_code          = nodecodes.disc -local glue_code          = nodecodes.glue -local penalty_code       = nodecodes.penalty -local kern_code          = nodecodes.kern -local hlist_code         = nodecodes.hlist -local vlist_code         = nodecodes.vlist -local rule_code          = nodecodes.rule -local boundary_code      = nodecodes.boundary -local dir_code           = nodecodes.dir +nodes.striprange = striprange -local userskip_code      = skipcodes.userskip -local spaceskip_code     = skipcodes.spaceskip -local xspaceskip_code    = skipcodes.xspaceskip -local leader_code        = skipcodes.leaders - -local kerning_code       = kerncodes.kern - -local nodepool           = nuts.pool - -local new_rule           = nodepool.rule -local new_userrule       = nodepool.userrule -local new_kern           = nodepool.kern +-- todo: order and maybe other dimensions  -- we can use this one elsewhere too  -- @@ -311,8 +329,31 @@ rules.userrule    = userrule  local ruleactions = { }  rules.ruleactions = ruleactions -callback.register("process_rule",function(n,h,v) -    local n = tonut(n) +local function mathradical(n,h,v) +    ----- size    = getfield(n,"index") +    local font    = getfield(n,"transform") +    local actions = fontresources[font].mathruleactions +    if actions then +        local action = actions.radicalaction +        if action then +            action(n,h,v,font) +        end +    end +end + +local function mathrule(n,h,v) +    ----- size    = getfield(n,"index") +    local font    = getfield(n,"transform") +    local actions = fontresources[font].mathruleactions +    if actions then +        local action = actions.hruleaction +        if action then +            action(n,h,v,font) +        end +    end +end + +local function useraction(n,h,v)      local p = properties[n]      if p then          local i = p.type or "draw" @@ -321,17 +362,39 @@ callback.register("process_rule",function(n,h,v)              a(p,h,v,i,n)          end      end -end) +end + +local subtypeactions = { +    [rulecodes.user]     = useraction, +    [rulecodes.over]     = mathrule, +    [rulecodes.under]    = mathrule, +    [rulecodes.fraction] = mathrule, +    [rulecodes.radical]  = mathradical, +} + +callbacks.register( +    "process_rule", +    function(n,h,v) +        local n = tonut(n) +        local s = getsubtype(n) +        local a = subtypeactions[s] +        if a then +            a(n,h,v) +        end +    end, +    "handle additional user rule features" +)  -- +local trace_ruled   = false  trackers.register("nodes.rules", function(v) trace_ruled = v end) +local report_ruled  = logs.reporter("nodes","rules") +  function rules.define(settings)      data[#data+1] = settings      context(#data)  end -local a_viewerlayer = attributes.private("viewerlayer") -  local function flush_ruled(head,f,l,d,level,parent,strip) -- not that fast but acceptable for this purpose      local font = nil      local id   = getid(f) @@ -426,7 +489,6 @@ local function flush_ruled(head,f,l,d,level,parent,strip) -- not that fast but a                  level,w,ht,dp,n_tostring(f,l),n_tosequence(f,l,true))          end      end -      if mp and mp ~= "" then          local r = userrule {              width  = w, @@ -462,7 +524,9 @@ end  local process = nodes.processwords -rules.handler = function(head) return process(a_ruled,data,flush_ruled,head) end +rules.handler = function(head) +    return process(a_ruled,data,flush_ruled,head) +end  function rules.enable()      tasks.enableaction("shipouts","nodes.rules.handler") @@ -528,18 +592,200 @@ function nodes.shifts.enable()      tasks.enableaction("shipouts","nodes.shifts.handler")  end --- linefillers (placeholder) +-- linefillers  nodes.linefillers      = nodes.linefillers      or { }  nodes.linefillers.data = nodes.linefillers.data or { } +storage.register("nodes/linefillers/data", nodes.linefillers.data, "nodes.linefillers.data") + +local data = nodes.linefillers.data + +function nodes.linefillers.define(settings) +    data[#data+1] = settings +    context(#data) +end + +local function linefiller(current,data,width,location) +    local height = data.height +    local depth  = data.depth +    local mp     = data.mp +    local ma     = data.ma +    local ca     = data.ca +    local ta     = data.ta +    if mp and mp ~= "" then +        return tonut(userrule { +            width     = width, +            height    = height, +            depth     = depth, +            type      = "mp", +            line      = data.rulethickness, +            data      = mp, +            ma        = ma, +            ca        = ca, +            ta        = ta, +            option    = location, +            direction = getfield(current,"dir"), +        }) +    else +        local linefiller = new_rule(width,height,depth) +        if ca then +            setattr(linefiller,a_colorspace,ma) +            setattr(linefiller,a_color,ca) +        end +        if ta then +            setattr(linefiller,a_transparency,ta) +        end +        return linefiller +    end +end + +local function find_attr(head,attr) +    while head do +        local a = head[attr] +        if a then +            return a, head +        end +        head = getnext(head) +    end +end +  function nodes.linefillers.handler(head) -    return head, false +    for current in traverse_id(hlist_code,tonut(head)) do +        if getsubtype(current) == line_code then +            local list = getlist(current) +            if list then +                -- why doesn't leftskip take the attributes +                -- or list[linefiller] or maybe first match (maybe we need a fast helper for that) +                local a = getattr(current,a_linefiller) +                if a then +                    local class = a % 1000 +                    local data  = data[class] +                    if data then +                        local location   = data.location +                        local scope      = data.scope +                        local distance   = data.distance +                        local threshold  = data.threshold +                        local leftlocal  = false +                        local rightlocal = false +                        -- +                        if scope == v_right then +                            leftlocal = true +                        elseif scope == v_left then +                            rightlocal = true +                        elseif scope == v_local then +                            leftlocal  = true +                            rightlocal = true +                        end +                        -- +                        if location == v_left or location == v_both then +                            local lskip = nil -- leftskip +                            local iskip = nil -- indentation +                            local head  = list +                            while head do +                                local id = getid(head) +                                if id == glue_code then +                                    if getsubtype(head) == leftskip_code then +                                        lskip = head +                                    else +                                        break +                                    end +                                elseif id == localpar_code or id == dir_code then +                                    -- go on +                                elseif id == hlist_code then +                                    if getsubtype(head) == indent_code then +                                        iskip = head +                                    end +                                    break +                                else +                                    break +                                end +                                head = getnext(head) +                            end +                            if head then +                                local indentation = iskip and getfield(iskip,"width") or 0 +                                local leftfixed   = lskip and getfield(lskip,"width") or 0 +                                local lefttotal   = lskip and effective_glue(lskip,current) or 0 +                                local width = lefttotal - (leftlocal and leftfixed or 0) + indentation - distance +                                if width > threshold then +                                    if iskip then +                                        setfield(iskip,"width",0) +                                    end +                                    if lskip then +                                        setglue(lskip,leftlocal and getfield(lskip,"width") or nil) +                                        if distance > 0 then +                                            insert_node_after(list,lskip,new_kern(distance)) +                                        end +                                        insert_node_after(list,lskip,linefiller(current,data,width,"left")) +                                    else +                                        insert_node_before(list,head,linefiller(current,data,width,"left")) +                                        if distance > 0 then +                                            insert_node_before(list,head,new_kern(distance)) +                                        end +                                    end +                                end +                            end +                        end +                        -- +                        if location == v_right or location == v_both then +                            local pskip = nil -- parfillskip +                            local rskip = nil -- rightskip +                            local tail  = find_tail(list) +                            while tail and getid(tail) == glue_code do +                                local subtype = getsubtype(tail) +                                if subtype == rightskip_code then +                                    rskip = tail +                                elseif subtype == parfillskip_code then +                                    pskip = tail +                                else +                                    break +                                end +                                tail = getprev(tail) +                            end +                            if tail then +                                local rightfixed = rskip and getfield(rskip,"width") or 0 +                                local righttotal = rskip and effective_glue(rskip,current) or 0 +                                local parfixed   = pskip and getfield(pskip,"width") or 0 +                                local partotal   = pskip and effective_glue(pskip,current) or 0 +                                local width = righttotal - (rightlocal and rightfixed or 0) + partotal - distance +                                if width > threshold then +                                    if pskip then +                                        setglue(pskip) +                                    end +                                    if rskip then +                                        setglue(rskip,rightlocal and getfield(rskip,"width") or nil) +                                        if distance > 0 then +                                            insert_node_before(list,rskip,new_kern(distance)) +                                        end +                                        insert_node_before(list,rskip,linefiller(current,data,width,"right")) +                                    else +                                        insert_node_after(list,tail,linefiller(current,data,width,"right")) +                                        if distance > 0 then +                                            insert_node_after(list,tail,new_kern(distance)) +                                        end +                                    end +                                end +                            end +                        end +                    end +                end +            end +        end +    end +    return head  end --- interface +local enable = false -local implement = interfaces.implement +function nodes.linefillers.enable() +    if not enable then +    -- we could now nil it +        tasks.enableaction("finalizers","nodes.linefillers.handler") +        enable = true +    end +end + +-- interface  implement {      name      = "definerule", @@ -587,3 +833,30 @@ implement {      onlyonce = true,      actions  = nodes.shifts.enable  } + +implement { +    name      = "definelinefiller", +    actions   = { nodes.linefillers.define, context }, +    arguments = { +        { +            { "method", "integer" }, +            { "location", "string" }, +            { "scope", "string" }, +            { "mp", "string" }, +            { "ma", "integer" }, +            { "ca", "integer" }, +            { "ta", "integer" }, +            { "depth", "dimension" }, +            { "height", "dimension" }, +            { "distance", "dimension" }, +            { "threshold", "dimension" }, +            { "rulethickness", "dimension" }, +        } +    } +} + +implement { +    name     = "enablelinefillers", +    onlyonce = true, +    actions  = nodes.linefillers.enable +} diff --git a/tex/context/base/mkiv/node-rul.mkiv b/tex/context/base/mkiv/node-rul.mkiv index 275d8e9f2..bfdd17d30 100644 --- a/tex/context/base/mkiv/node-rul.mkiv +++ b/tex/context/base/mkiv/node-rul.mkiv @@ -442,4 +442,122 @@       {\begingroup\dostartisolation\begingroup#1}       {#2\endgroup\dostopisolation\endgroup}} +%D More rules. + +% The following code rocks and was written with the Toto Live in Poland bluray +% in loop mode on my 5.1 surround development setup (the Toto lineup with Simon +% Phillips on drums). The Amsterdam concert is equally energizing. + +\installcorenamespace{linefiller} +\installcorenamespace{linefillerindex} +\installcorenamespace{linefillerattribute} + +\installcommandhandler \??linefiller {linefiller} \??linefiller + +\definesystemattribute[linefiller][public] + +\newtoks\t_node_linefiller_checklist + +\let\c_node_linefiller_index\relax % temporary synonym + +\let\setuplinefillers\setuplinefiller + +\appendtoks +    \ifsecondargument +        \node_linefiller_define +    \else +        \the\t_node_linefiller_checklist +    \fi +\to \everysetuplinefiller + +\appendtoks +    \ifcsname\??linefillerindex\currentlinefiller\endcsname +        \lastnamedcs\zerocount +    \else +        \expandafter\newcount\csname\??linefillerindex\currentlinefiller\endcsname +    \fi +    \etoksapp\t_node_linefiller_checklist{\t_node_linefiller_checklist\node_linefiller_redefine{\currentlinefiller}}% +    \node_linefiller_define +\to \everydefinelinefiller + +\unexpanded\def\node_linefiller_define +  {\edef\p_node_rules_color{\linefillerparameter\c!color}% +   \setevalue{\??linefillerattribute\currentlinefiller}{\number +   \clf_definelinefiller +    %method         \linefillerparameter\c!method +     location      {\linefillerparameter\c!location}% +     scope         {\linefillerparameter\c!scope}% +     mp            {\includeMPgraphic{\linefillerparameter\c!mp}}% +     ma             \thecolormodelattribute +     ca             \thecolorattribute\p_node_rules_color +     ta             \thetransparencyattribute\p_node_rules_color +     height         \dimexpr\linefillerparameter\c!height\relax +     depth          \dimexpr\linefillerparameter\c!depth\relax +     distance       \dimexpr\linefillerparameter\c!distance\relax +     threshold      \dimexpr\linefillerparameter\c!threshold\relax +     rulethickness  \dimexpr\linefillerparameter\c!rulethickness\relax +   \relax}} + +\unexpanded\def\node_linefiller_redefine#1% +  {\def\currentlinefiller{#1}\node_linefiller_define} + +\unexpanded\def\node_linefiller_set#1% todo: check parent ! todo: move attr etc to lua +  {\def\currentlinefiller{#1}% +   \expandafter\let\expandafter\c_node_linefiller_index\csname\??linefillerindex#1\endcsname +   \advance\c_node_linefiller_index\plusone +   \clf_enablelinefillers +   \attribute\linefillerattribute\numexpr +      \plusthousand*\c_node_linefiller_index +     +\csname\??linefillerattribute#1\ifcsname\??linefiller#1:\number\c_node_linefiller_index\s!parent\endcsname:\number\c_node_linefiller_index\fi\endcsname +   \relax} + +\unexpanded\def\startlinefiller +  {\dodoubleempty\node_linefiller_start} + +\unexpanded\def\node_linefiller_start[#1][#2]% +  {\begingroup +   \par +   \def\currentlinefiller{#1}% +   \ifsecondargument +     % we need to update settings +     \setuplinefiller[#1][#2]% no \setupcurrentlinefiller as we need to update settings +   \fi +   \node_linefiller_set{#1}% +   \linefillerparameter\c!before +   \usealignparameter\linefillerparameter +   \uselinefillerstyleandcolor\c!textstyle\c!textcolor} % bars have foregroundcolor + +\unexpanded\def\stoplinefiller +  {\par +   \linefillerparameter\c!after +   \endgroup} + +\unexpanded\def\setlinefiller[#1]% +  {\node_linefiller_set{#1}} + +\setuplinefillers +  [%c!method=0, +   %c!mp=, +   \c!location=\v!both, +   \c!scope=\v!local, +   \c!distance=\zeropoint, +   \c!threshold=\zeropoint, +   \c!rulethickness=\linewidth, +   \c!height=\linewidth, +   \c!depth=\zeropoint, +  %\c!textcolor=, +  %\c!textstyle=, +  %\c!align=, +  %\c!before=, +  %\c!after=, +   \c!color=] + +\definelinefiller +  [filler] +  [\c!height=.75\exheight, +  %\c!mp=rules:filler:demo, +  %\c!threshold=.25\emwidth, +   \c!distance=.25\emwidth, +   \c!rulethickness=.25\exheight] +  \protect \endinput diff --git a/tex/context/base/mkiv/node-tra.lua b/tex/context/base/mkiv/node-tra.lua index 807b1de58..b3b4311e7 100644 --- a/tex/context/base/mkiv/node-tra.lua +++ b/tex/context/base/mkiv/node-tra.lua @@ -279,11 +279,11 @@ local function showsimplelist(h,depth,n)  end  -- \startluacode --- callback.register('buildpage_filter',function() nodes.show_simple_list(tex.lists.contrib_head) end) +-- callbacks.register('buildpage_filter',function() nodes.show_simple_list(tex.lists.contrib_head) end)  -- \stopluacode  -- \vbox{b\footnote{n}a}  -- \startluacode --- callback.register('buildpage_filter',nil) +-- callbacks.register('buildpage_filter',nil)  -- \stopluacode  nodes.showsimplelist = function(h,depth) showsimplelist(h,depth,0) end diff --git a/tex/context/base/mkiv/page-brk.mkiv b/tex/context/base/mkiv/page-brk.mkiv index eabcb74f8..b651cc8b4 100644 --- a/tex/context/base/mkiv/page-brk.mkiv +++ b/tex/context/base/mkiv/page-brk.mkiv @@ -246,12 +246,25 @@    {\page     \doifelseoddpage\donothing\page_reset_marks_and_insert_dummy} +% \installpagebreakmethod \v!quadruple % not yet ok inside columnsets +%   {\ifdoublesided +%      \ifnum\numexpr\realpageno/\plusfour\relax=\numexpr\realpageno/\plustwo\relax\else +%        \page_breaks_handle_direct\v!yes +%        \page_breaks_handle_direct\v!empty +%        \page_breaks_handle_direct\v!empty +%      \fi +%    \fi} +  \installpagebreakmethod \v!quadruple % not yet ok inside columnsets    {\ifdoublesided -     \ifnum\numexpr\realpageno/\plusfour\relax=\numexpr\realpageno/\plustwo\relax\else +     \ifcase\modulonumber\plusfour\realpageno\else         \page_breaks_handle_direct\v!yes -       \page_breaks_handle_direct\v!empty -       \page_breaks_handle_direct\v!empty +       \doloop +         {\ifcase\modulonumber\plusfour\realpageno\relax +            \exitloop +          \else +            \page_breaks_handle_direct\v!empty +          \fi}%       \fi     \fi} diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf Binary files differindex b8fff7f4d..e6c10b894 100644 --- a/tex/context/base/mkiv/status-files.pdf +++ b/tex/context/base/mkiv/status-files.pdf diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf Binary files differindex 88d519c15..b10df0d58 100644 --- a/tex/context/base/mkiv/status-lua.pdf +++ b/tex/context/base/mkiv/status-lua.pdf diff --git a/tex/context/base/mkiv/status-mkiv.lua b/tex/context/base/mkiv/status-mkiv.lua index 3fe9e0d8e..2afd47709 100644 --- a/tex/context/base/mkiv/status-mkiv.lua +++ b/tex/context/base/mkiv/status-mkiv.lua @@ -1,6386 +1,7435 @@  return { - todo = { -   category = "lua", -   filename = "core-run", -   status   = "idea", - }, - main = { + ["core"]={    { -   category = "mkiv", -   filename = "context", -   loading  = "parent", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="font-gds", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lus", -   comment  = "stub file for context", -   filename = "context", -   loading  = "parent", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="cont-run", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "tex", -   filename = "metatex", -   loading  = "parent", -   status   = "pending", +   ["category"]="mkvi", +   ["filename"]="font-sel", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lus", -   comment  = "stub file for metatex", -   filename = "metatex", -   loading  = "parent", -   status   = "pending", +   ["category"]="mkiv", +   ["filename"]="grph-pat", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "cont-cs", -   loading  = "parent", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="grph-rul", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "cont-de", -   loading  = "parent", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="lang-rep", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "cont-en", -   loading  = "parent", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="luat-usr", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "cont-fr", -   loading  = "parent", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="math-mis", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "cont-gb", -   loading  = "parent", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="math-rad", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "cont-it", -   loading  = "parent", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="page-cst", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "cont-nl", -   loading  = "parent", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="page-inj", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "cont-pe", -   loading  = "parent", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="page-lin", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "cont-ro", -   loading  = "parent", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="publ-imp-author", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mpiv", -   comment  = "maybe more delayed loading", -   filename = "metafun", -   loading  = "parent", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="publ-imp-cite", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "we keep this around for historic reasons", -   filename = "ppchtex", -   loading  = "never", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="publ-imp-commands", +   ["loading"]="always", +   ["status"]="okay", +  }, +  { +   ["category"]="mkvi", +   ["filename"]="publ-imp-default", +   ["loading"]="always", +   ["status"]="okay", +  }, +  { +   ["category"]="mkvi", +   ["filename"]="publ-imp-definitions", +   ["loading"]="always", +   ["status"]="okay", +  }, +  { +   ["category"]="mkvi", +   ["filename"]="publ-imp-list", +   ["loading"]="always", +   ["status"]="okay", +  }, +  { +   ["category"]="mkvi", +   ["filename"]="publ-imp-page", +   ["loading"]="always", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="spac-flr", +   ["loading"]="always", +   ["status"]="okay",    }, - }, - core = {    { -   category = "mkiv", -   filename = "syst-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="spac-prf", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "norm-ctx", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="strc-not", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "syst-pln", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="toks-map", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "syst-mes", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="toks-tra", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "luat-cod", -   loading  = "luat-cod", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-chr", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "maybe combine (3)", -   filename = "luat-bas", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-inj", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "maybe combine (3)", -   filename = "luat-lib", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-lig", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "catc-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-lin", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "forward dependency", -   filename = "catc-act", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-par", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "catc-def", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-wrp", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "catc-ctx", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="syst-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "catc-sym", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="norm-ctx", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "catc-xml", -   loading  = "module", -   status   = "okay", -   comment  = "only needed for mkii xml parser", +   ["category"]="mkiv", +   ["filename"]="syst-pln", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "maybe combine (1)", -   filename = "cldf-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="syst-mes", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "syst-aux", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="luat-cod", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "maybe combine (1)", -   filename = "syst-lua", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="maybe combine (3)", +   ["filename"]="luat-bas", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "maybe combine (1)", -   filename = "syst-con", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="maybe combine (3)", +   ["filename"]="luat-lib", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "maybe combine (1)", -   filename = "syst-fnt", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="catc-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "maybe combine (1)", -   filename = "syst-rtp", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="forward dependency", +   ["filename"]="catc-act", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   comment  = "maybe combine (2)", -   filename = "file-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="catc-def", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   comment  = "maybe combine (2)", -   filename = "file-res", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="catc-ctx", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "file-lib", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="catc-sym", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "supp-dir", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="only needed for mkii xml parser", +   ["filename"]="catc-xml", +   ["loading"]="module", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "char-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="maybe combine (1)", +   ["filename"]="cldf-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "char-utf", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="syst-aux", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "forward dependency", -   filename = "char-act", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="maybe combine (1)", +   ["filename"]="syst-lua", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "mult-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="maybe combine (1)", +   ["filename"]="syst-con", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "mult-sys", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="maybe combine (1)", +   ["filename"]="syst-fnt", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "mult-aux", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="maybe combine (1)", +   ["filename"]="syst-rtp", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "mult-def", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="maybe combine (2)", +   ["filename"]="file-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "mult-chk", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="maybe combine (2)", +   ["filename"]="file-res", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "mult-dim", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="file-lib", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "cldf-int", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="supp-dir", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "luat-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="char-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "toks-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="char-utf", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "attr-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="forward dependency", +   ["filename"]="char-act", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "attr-mkr", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="mult-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "code might move from here", -   filename = "core-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="mult-sys", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "might need more redoing", -   filename = "core-env", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="mult-aux", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "in due time more might move to here", -   filename = "layo-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="mult-def", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "maybe this becomes a runtime module", -   filename = "node-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="mult-chk", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "maybe use context.generics/context.sprint here", -   filename = "cldf-bas", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="mult-dim", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "might need more redoing", -   filename = "node-fin", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="cldf-int", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "needs integration and configuration", -   filename = "node-mig", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="luat-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "typo-bld", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="toks-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "typo-sus", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="attr-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "node-pag", -   loading  = "never", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="attr-mkr", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "back-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="code might move from here", +   ["filename"]="core-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "attr-col", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="might need more redoing", +   ["filename"]="core-env", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "attr-lay", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="in due time more might move to here", +   ["filename"]="layo-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "attr-neg", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="maybe this becomes a runtime module", +   ["filename"]="node-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "attr-eff", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="maybe use context.generics/context.sprint here", +   ["filename"]="cldf-bas", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "needs more usage", -   filename = "trac-tex", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="might need more redoing", +   ["filename"]="node-fin", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "trac-deb", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="needs integration and configuration", +   ["filename"]="node-mig", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "trac-ctx", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-bld", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "supp-box", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-sus", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "supp-ran", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="node-pag", +   ["loading"]="never", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "will be moved to the math-* modules", -   filename = "supp-mat", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="back-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "will grow", -   filename = "typo-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="attr-col", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "file-syn", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="attr-lay", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "file-mod", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="attr-neg", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "core-con", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="attr-eff", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "cont-fil", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="needs more usage", +   ["filename"]="trac-tex", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "cont-nop", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="trac-deb", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "cont-yes", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="trac-ctx", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "regi-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="supp-box", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "enco-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="supp-ran", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "hand-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="will be moved to the math-* modules", +   ["filename"]="supp-mat", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "lang-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="will grow", +   ["filename"]="typo-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "namespace should be languages", -   filename = "lang-lab", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="file-syn", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "lang-hyp", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="file-mod", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "unic-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="core-con", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "core-uti", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="cont-fil", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "maybe rename to core-two", -   filename = "core-two", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="cont-nop", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "core-dat", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="cont-yes", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "colo-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="regi-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "colo-ext", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="enco-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "colo-grp", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="hand-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "node-bck", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="lang-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "pack-cut", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="namespace should be languages", +   ["filename"]="lang-lab", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "lang-mis", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="lang-hyp", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "lang-url", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="unic-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "lang-def", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="core-uti", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "lang-hyp", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="maybe rename to core-two", +   ["filename"]="core-two", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "lang-frq", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="core-dat", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "lang-frd", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="colo-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "lang-wrd", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="colo-ext", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   comment  = "might need more redoing", -   filename = "file-job", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="colo-grp", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "symb-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="node-bck", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "sort-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="pack-cut", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "pack-mis", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="lang-mis", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "pack-rul", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="lang-url", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "endpar experimental code", -   filename = "pack-mrl", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="lang-def", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "pack-bck", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="lang-hyp", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "pack-fen", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="lang-frq", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "lxml-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="lang-frd", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "lxml-sor", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="lang-wrd", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "typo-prc", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="might need more redoing", +   ["filename"]="file-job", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "strc-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="symb-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "strc-tag", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="sort-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "this module might go away when code has been moved", -   filename = "strc-doc", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="pack-mis", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "still some rough edges", -   filename = "strc-num", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="pack-rul", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "strc-mar", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="endpar experimental code", +   ["filename"]="pack-mrl", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "strc-sbe", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="pack-bck", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "strc-lst", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="pack-fen", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "some of the local current and synchronization macros will be renamed", -   filename = "strc-sec", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="lxml-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "strc-pag", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="lxml-sor", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "(support for) setups might get improved", -   filename = "strc-ren", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="typo-prc", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "this module might go away", -   filename = "strc-xml", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="strc-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "strc-def", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="strc-tag", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   comment  = "some more low level names might change", -   filename = "strc-ref", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="this module might go away when code has been moved", +   ["filename"]="strc-doc", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "use setups for rendering", -   filename = "strc-reg", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="still some rough edges", +   ["filename"]="strc-num", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "strc-lev", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="strc-mar", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "maybe some tuning is needed / will happen", -   filename = "spac-ali", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="strc-sbe", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "probably needs some more work", -   filename = "spac-hor", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="strc-lst", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "maybe some changes will happen", -   filename = "spac-ver", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="some of the local current and synchronization macros will be renamed", +   ["filename"]="strc-sec", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "could be improved if needed", -   filename = "spac-lin", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="strc-pag", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "this needs to be checked occasionally", -   filename = "spac-pag", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="(support for) setups might get improved", +   ["filename"]="strc-ren", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "spac-par", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="this module might go away", +   ["filename"]="strc-xml", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "spac-def", -   loading  = "always", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="strc-def", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "needs thinking and redoing", -   filename = "spac-grd", -   loading  = "always", -   status   = "todo", +   ["category"]="mkvi", +   ["comment"]="some more low level names might change", +   ["filename"]="strc-ref", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "in transition", -   filename = "anch-pos", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="use setups for rendering", +   ["filename"]="strc-reg", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   comment  = "maybe change locationattribute names", -   filename = "scrn-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="strc-lev", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   comment  = "namespace needs checking", -   filename = "scrn-ref", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="maybe some tuning is needed / will happen", +   ["filename"]="spac-ali", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "will change when we have objects at lua end", -   filename = "pack-obj", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="probably needs some more work", +   ["filename"]="spac-hor", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "strc-itm", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="maybe some changes will happen", +   ["filename"]="spac-ver", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   comment  = "maybe more common counter code here and setups need to be improved", -   filename = "strc-con", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="could be improved if needed", +   ["filename"]="spac-lin", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "strc-des", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="this needs to be checked occasionally", +   ["filename"]="spac-pag", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   comment  = "(interactive) coupling is not yet working", -   filename = "strc-enu", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="spac-par", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "strc-ind", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="spac-def", +   ["loading"]="always", +   ["status"]="todo",    },    { -   category = "mkiv", -   comment  = "needs to be adapted when strc-con/des/enu changes", -   filename = "strc-lab", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="needs thinking and redoing", +   ["filename"]="spac-grd", +   ["loading"]="always", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "strc-syn", -   loading  = "always", -   status   = "todo", +   ["category"]="mkiv", +   ["comment"]="in transition", +   ["filename"]="anch-pos", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "a funny mix", -   filename = "core-sys", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="maybe change locationattribute names", +   ["filename"]="scrn-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "page-var", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="namespace needs checking", +   ["filename"]="scrn-ref", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "page-otr", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="will change when we have objects at lua end", +   ["filename"]="pack-obj", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "code might end up elsewhere", -   filename = "page-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="strc-itm", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "dealing with insertions might change", -   filename = "page-ins", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="maybe more common counter code here and setups need to be improved", +   ["filename"]="strc-con", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "page-fac", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="strc-des", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "otr commands will be redone", -   filename = "page-brk", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="(interactive) coupling is not yet working", +   ["filename"]="strc-enu", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "helpers for columns", -   filename = "page-col", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="strc-ind", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "room for improvement and extension", -   filename = "page-inf", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="needs to be adapted when strc-con/des/enu changes", +   ["filename"]="strc-lab", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "page-grd", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="strc-syn", +   ["loading"]="always", +   ["status"]="todo",    },    { -   category = "mkiv", -   comment  = "will be extended when columns are redone", -   filename = "page-flt", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="a funny mix", +   ["filename"]="core-sys", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "page-bck", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="page-var", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "page-not", -   loading  = "always", -   status   = "todo", +   ["category"]="mkvi", +   ["filename"]="page-otr", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "can probably be improved", -   filename = "page-one", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="code might end up elsewhere", +   ["filename"]="page-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "page-lay", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="dealing with insertions might change", +   ["filename"]="page-ins", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "page-box", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="page-fac", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   comment  = "a few things left", -   filename = "page-txt", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="otr commands will be redone", +   ["filename"]="page-brk", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "page-sid", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="helpers for columns", +   ["filename"]="page-col", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   comment  = "in due time we need a further cleanup", -   filename = "strc-flt", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="room for improvement and extension", +   ["filename"]="page-inf", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "page-pst", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="page-grd", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   comment  = "might be extended", -   filename = "page-mbk", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="will be extended when columns are redone", +   ["filename"]="page-flt", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "will be reimplemented", -   filename = "page-mul", -   loading  = "always", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="page-bck", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "work in progress", -   filename = "page-mix", -   loading  = "always", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="page-not", +   ["loading"]="always", +   ["status"]="todo",    },    { -   category = "mkiv", -   comment  = "will be reimplemented", -   filename = "page-set", -   loading  = "always", -   status   = "todo", +   ["category"]="mkiv", +   ["comment"]="can probably be improved", +   ["filename"]="page-one", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "pack-lyr", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="page-lay", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "pack-pos", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="page-box", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "page-mak", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="a few things left", +   ["filename"]="page-txt", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "will probably be overhauled some day", -   filename = "page-lin", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="page-sid", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "might get extended", -   filename = "page-par", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="in due time we need a further cleanup", +   ["filename"]="strc-flt", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "typo-pag", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="page-pst", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "typo-mar", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="might be extended", +   ["filename"]="page-mbk", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "typo-itm", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="will be reimplemented", +   ["filename"]="page-mul", +   ["loading"]="always", +   ["status"]="todo",    },    { -   category = "mkiv", -   comment  = "check other modules for buffer usage", -   filename = "buff-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="work in progress", +   ["filename"]="page-mix", +   ["loading"]="always", +   ["status"]="todo",    },    { -   category = "mkiv", -   comment  = "check obsolete processbuffer", -   filename = "buff-ver", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="will be reimplemented", +   ["filename"]="page-set", +   ["loading"]="always", +   ["status"]="todo",    },    { -   category = "mkvi", -   comment  = "experimental code", -   filename = "buff-par", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="pack-lyr", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "buff-imp-tex", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="pack-pos", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "buff-imp-mp", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="page-mak", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "buff-imp-lua", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="might get extended", +   ["filename"]="page-par", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "buff-imp-xml", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-pag", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "buff-imp-parsed-xml", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-mar", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "buff-imp-default", -   loading  = "indirect", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-itm", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "buff-imp-escaped", -   loading  = "indirect", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="check other modules for buffer usage", +   ["filename"]="buff-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "buff-imp-nested", -   loading  = "indirect", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="check obsolete processbuffer", +   ["filename"]="buff-ver", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "strc-blk", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="experimental code", +   ["filename"]="buff-par", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "page-imp", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="symb-imp-cc", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkvi", -   comment  = "maybe some extensions and delayed loading, needs checking", -   filename = "page-sel", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="buff-imp-default", +   ["loading"]="indirect", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "page-com", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="buff-imp-escaped", +   ["loading"]="indirect", +   ["status"]="okay",    },    { -   category = "mkvi", -   comment  = "namespace needs checking", -   filename = "scrn-pag", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="buff-imp-nested", +   ["loading"]="indirect", +   ["status"]="okay",    },    { -   category = "mkvi", -   comment  = "functionality needs checking", -   filename = "scrn-wid", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="strc-blk", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   comment  = "namespace needs checking", -   filename = "scrn-but", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="page-imp", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   comment  = "namespace needs checking", -   filename = "scrn-bar", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="maybe some extensions and delayed loading, needs checking", +   ["filename"]="page-sel", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "strc-bkm", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="page-com", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "typo-tal", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="namespace needs checking", +   ["filename"]="scrn-pag", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "somewhat weird", -   filename = "tabl-com", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="functionality needs checking", +   ["filename"]="scrn-wid", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "unchecked", -   filename = "tabl-pln", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="namespace needs checking", +   ["filename"]="scrn-but", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "tabl-tab", -   loading  = "always", -   status   = "pending", +   ["category"]="mkvi", +   ["comment"]="namespace needs checking", +   ["filename"]="scrn-bar", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "can probably be improved (names and such)", -   filename = "tabl-tbl", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="strc-bkm", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "frozen functionaly so no drastic cleanup", -   filename = "tabl-ntb", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-tal", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "tabl-mis", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="somewhat weird", +   ["filename"]="tabl-com", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "tabl-nte", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="unchecked", +   ["filename"]="tabl-pln", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "will be redone when needed", -   filename = "tabl-ltb", -   loading  = "always", -   status   = "pending", +   ["category"]="mkiv", +   ["filename"]="tabl-tab", +   ["loading"]="always", +   ["status"]="pending",    },    { -   category = "mkiv", -   comment  = "will be adapted when needed (and rest is done)", -   filename = "tabl-tsp", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="can probably be improved (names and such)", +   ["filename"]="tabl-tbl", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   comment  = "namespace needs checking", -   filename = "tabl-xtb", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="frozen functionaly so no drastic cleanup", +   ["filename"]="tabl-ntb", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "tabl-xnt", -   loading  = "module", -   status   = "okay", -   loading  = "always", -   comment  = "only when natural tables need a replacement", +   ["category"]="mkiv", +   ["filename"]="tabl-mis", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "java-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="tabl-nte", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   comment  = "namespace needs checking", -   filename = "scrn-fld", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="will be redone when needed", +   ["filename"]="tabl-ltb", +   ["loading"]="always", +   ["status"]="pending",    },    { -   category = "mkvi", -   comment  = "namespace needs checking", -   filename = "scrn-hlp", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="will be adapted when needed (and rest is done)", +   ["filename"]="tabl-tsp", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "char-enc", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="namespace needs checking", +   ["filename"]="tabl-xtb", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "font-lib", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="only when natural tables need a replacement", +   ["filename"]="tabl-xnt", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "font-fil", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="java-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "font-var", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="namespace needs checking", +   ["filename"]="scrn-fld", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "font-fea", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="namespace needs checking", +   ["filename"]="scrn-hlp", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "font-mat", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="char-enc", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   comment  = "needs occasional checking and upgrading", -   filename = "font-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="font-lib", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "font-sym", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="font-fil", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "font-sty", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="font-var", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "font-set", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="font-fea", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "font-emp", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="font-mat", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "font-col", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="needs occasional checking and upgrading", +   ["filename"]="font-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "font-pre", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="font-sym", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "font-unk", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="font-sty", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "likely this will become a module", -   filename = "font-tra", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="font-set", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "this could become a module", -   filename = "font-chk", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="font-emp", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "this one might be merged", -   filename = "font-uni", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="font-col", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "font-col", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="font-pre", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "font-gds", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="font-unk", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "font-aux", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="likely this will become a module", +   ["filename"]="font-tra", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "typo-lan", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="this could become a module", +   ["filename"]="font-chk", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "this is work in progress", -   filename = "lxml-css", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="this one might be merged", +   ["filename"]="font-uni", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "spac-chr", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="font-col", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "work in progress", -   filename = "blob-ini", -   loading  = "always", -   status   = "pending", +   ["category"]="mkvi", +   ["filename"]="font-aux", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "trac-vis", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-lan", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "trac-jus", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="this is work in progress", +   ["filename"]="lxml-css", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "trac-vis", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="spac-chr", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "typo-cln", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="work in progress", +   ["filename"]="blob-ini", +   ["loading"]="always", +   ["status"]="pending",    },    { -   category = "mkiv", -   filename = "typo-spa", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="trac-jus", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "do we keep the style and color or not", -   filename = "typo-krn", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="trac-vis", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "typo-itc", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-cln", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "maybe singular setup", -   filename = "typo-dir", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-spa", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "typo-brk", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="do we keep the style and color or not", +   ["filename"]="typo-krn", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "typo-cap", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="typo-itc", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "typo-dig", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="maybe singular setup", +   ["filename"]="typo-dir", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "typo-rep", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-brk", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   comment  = "maybe there will be a nicer interface", -   filename = "typo-txt", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-cap", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "typo-drp", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-dig", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "typo-fln", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-rep", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "type-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="maybe there will be a nicer interface", +   ["filename"]="typo-txt", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-set", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-drp", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-def", -   loading  = "type-set", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-fln", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-fbk", -   loading  = "type-set", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="type-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-lua", -   loading  = "type-set", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-set", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-one", -   loading  = "type-set", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-def", +   ["loading"]="type-set", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-otf", -   loading  = "type-set", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-fbk", +   ["loading"]="type-set", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-siz", -   loading  = "type-set", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-lua", +   ["loading"]="type-set", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-tmf", -   loading  = "never", -   status   = "okay", -   comment  = "placeholder to prevent other loading", +   ["category"]="mkiv", +   ["filename"]="type-one", +   ["loading"]="type-set", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "scrp-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-otf", +   ["loading"]="type-set", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "this module is obsolete", -   filename = "prop-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-siz", +   ["loading"]="type-set", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "mlib-ctx", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="placeholder to prevent other loading", +   ["filename"]="type-tmf", +   ["loading"]="never", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "metapost code is always evolving", -   filename = "meta-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="scrp-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "code used in a project", -   filename = "meta-lua", -   loading  = "experimental", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="this module is obsolete", +   ["filename"]="prop-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "meta-fnt", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="mlib-ctx", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "meta-tex", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="metapost code is always evolving", +   ["filename"]="meta-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "maybe this one will be merged", -   filename = "meta-fun", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="code used in a project", +   ["filename"]="meta-lua", +   ["loading"]="experimental", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "might get updated when mp code gets cleaned up", -   filename = "meta-pag", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="meta-fnt", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "meta-grd", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="meta-tex", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "page-mrk", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="maybe this one will be merged", +   ["filename"]="meta-fun", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "page-flw", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="might get updated when mp code gets cleaned up", +   ["filename"]="meta-pag", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "page-spr", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="meta-grd", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "will be made better", -   filename = "page-plg", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="page-mrk", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "needs more work (and thinking)", -   filename = "page-str", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="page-flw", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "in transition", -   filename = "anch-pgr", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="page-spr", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   comment  = "in transition", -   filename = "anch-bck", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="will be made better", +   ["filename"]="page-plg", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "will stay experimental for a while", -   filename = "anch-tab", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="needs more work (and thinking)", +   ["filename"]="page-str", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "anch-bar", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="in transition", +   ["filename"]="anch-pgr", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "interesting old mechanism to keep around (module?)", -   filename = "anch-snc", -   loading  = "always", -   status   = "pending", +   ["category"]="mkvi", +   ["comment"]="in transition", +   ["filename"]="anch-bck", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "math-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="will stay experimental for a while", +   ["filename"]="anch-tab", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "this file might merge into others", -   filename = "math-pln", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="anch-bar", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "math-for", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="interesting old mechanism to keep around (module?)", +   ["filename"]="anch-snc", +   ["loading"]="always", +   ["status"]="pending",    },    { -   category = "mkiv", -   comment  = "eventually this will be split and spread", -   filename = "math-def", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="math-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "will be checked and improved", -   filename = "math-ali", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="this file might merge into others", +   ["filename"]="math-pln", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "needs testing", -   filename = "math-arr", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="math-for", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "math-stc", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="eventually this will be split and spread", +   ["filename"]="math-def", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "math-acc", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="will be checked and improved", +   ["filename"]="math-ali", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "at least for the moment", -   filename = "math-frc", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="needs testing", +   ["filename"]="math-arr", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "math-scr", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="math-stc", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "math-int", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="math-acc", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "code get replaced (by autodelimiters)", -   filename = "math-del", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="at least for the moment", +   ["filename"]="math-frc", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "math-fen", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="math-scr", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "math-rad", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="math-int", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "code might move to here", -   filename = "math-inl", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="code get replaced (by autodelimiters)", +   ["filename"]="math-del", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "code might move to here", -   filename = "math-dis", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="math-fen", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "phys-dim", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="code might move to here", +   ["filename"]="math-inl", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "some more functionality will end up here", -   filename = "strc-mat", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="code might move to here", +   ["filename"]="math-dis", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "chem-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="phys-dim", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "chem-str", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="some more functionality will end up here", +   ["filename"]="strc-mat", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "typo-scr", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="chem-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "maybe some cleanup is needed", -   filename = "node-rul", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="chem-str", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "needs testing", -   filename = "font-sol", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-scr", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvI", -   filename = "strc-not", -   loading  = "always", -   status   = "todo", +   ["category"]="mkiv", +   ["comment"]="maybe some cleanup is needed", +   ["filename"]="node-rul", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkvi", -   comment  = "will be extended as part of crited", -   filename = "strc-lnt", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="needs testing", +   ["filename"]="font-sol", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "pack-com", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="strc-not", +   ["loading"]="always", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "typo-del", -   loading  = "always", -   status   = "okay", +   ["category"]="mkvi", +   ["comment"]="will be extended as part of crited", +   ["filename"]="strc-lnt", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "grph-trf", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="pack-com", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "grph-inc", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="typo-del", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "grph-fig", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="grph-trf", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "grph-raw", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="grph-inc", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "pack-box", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="grph-fig", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "pack-bar", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="grph-raw", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "page-app", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="pack-box", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "meta-fig", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="pack-bar", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "more or less obsolete", -   filename = "lang-spa", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="page-app", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "bibl-bib", -   loading  = "on demand", -   status   = "pending", +   ["category"]="mkiv", +   ["filename"]="meta-fig", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "bibl-tra", -   loading  = "on demand", -   status   = "pending", +   ["category"]="mkiv", +   ["comment"]="more or less obsolete", +   ["filename"]="lang-spa", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "not needed", -   filename = "meta-xml", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="bibl-bib", +   ["loading"]="on demand", +   ["status"]="pending",    },    { -   category = "mkiv", -   filename = "cont-log", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="bibl-tra", +   ["loading"]="on demand", +   ["status"]="pending",    },    { -   category = "mkiv", -   filename = "task-ini", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="not needed", +   ["filename"]="meta-xml", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "cldf-ver", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="cont-log", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "cldf-com", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="task-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "core-ctx", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="cldf-ver", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "will always be messy", -   filename = "core-def", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="cldf-com", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "object related code might move or change", -   filename = "back-pdf", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="core-ctx", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "back-swf", -   loading  = "never", -   status   = "okay", -   comment  = "no code, just an example of usage", +   ["category"]="mkiv", +   ["comment"]="will always be messy", +   ["filename"]="core-def", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "back-u3d", -   loading  = "never", -   status   = "okay", -   comment  = "no code, just an example of usage", +   ["category"]="mkiv", +   ["comment"]="object related code might move or change", +   ["filename"]="back-pdf", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "mlib-pdf", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="no code, just an example of usage", +   ["filename"]="back-swf", +   ["loading"]="never", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "mlib-pps", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="no code, just an example of usage", +   ["filename"]="back-u3d", +   ["loading"]="never", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "meta-pdf", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="mlib-pdf", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "might need more work", -   filename = "grph-epd", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="mlib-pps", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "some parameters might move from export to backend", -   filename = "back-exp", -   loading  = "always", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="meta-pdf", +   ["loading"]="always", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["comment"]="might need more work", +   ["filename"]="grph-epd", +   ["loading"]="always", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["comment"]="some parameters might move from export to backend", +   ["filename"]="back-exp", +   ["loading"]="always", +   ["status"]="okay",    },   }, - extras = { + ["extras"]={    { -   category = "tex", -   comment  = "add-on for mtx-context", -   filename = "mtx-context-arrange", -   loading  = "on demand", -   status   = "okay", +   ["category"]="tex", +   ["comment"]="add-on for mtx-context", +   ["filename"]="mtx-context-arrange", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "tex", -   comment  = "add-on for mtx-context", -   filename = "mtx-context-combine", -   loading  = "on demand", -   status   = "okay", +   ["category"]="tex", +   ["comment"]="add-on for mtx-context", +   ["filename"]="mtx-context-combine", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "tex", -   comment  = "add-on for mtx-context", -   filename = "mtx-context-common", -   loading  = "on demand", -   status   = "okay", +   ["category"]="tex", +   ["comment"]="add-on for mtx-context", +   ["filename"]="mtx-context-common", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "tex", -   comment  = "add-on for mtx-context", -   filename = "mtx-context-ideas", -   loading  = "on demand", -   status   = "okay", +   ["category"]="tex", +   ["comment"]="add-on for mtx-context", +   ["filename"]="mtx-context-ideas", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "tex", -   comment  = "add-on for mtx-context", -   filename = "mtx-context-listing", -   loading  = "on demand", -   status   = "okay", +   ["category"]="tex", +   ["comment"]="add-on for mtx-context", +   ["filename"]="mtx-context-listing", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "tex", -   comment  = "add-on for mtx-context", -   filename = "mtx-context-markdown", -   loading  = "on demand", -   status   = "okay", +   ["category"]="tex", +   ["comment"]="add-on for mtx-context", +   ["filename"]="mtx-context-markdown", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "tex", -   comment  = "add-on for mtx-context", -   filename = "mtx-context-select", -   loading  = "on demand", -   status   = "okay", +   ["category"]="tex", +   ["comment"]="add-on for mtx-context", +   ["filename"]="mtx-context-select", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "tex", -   comment  = "add-on for mtx-context", -   filename = "mtx-context-timing", -   loading  = "on demand", -   status   = "okay", +   ["category"]="tex", +   ["comment"]="add-on for mtx-context", +   ["filename"]="mtx-context-timing", +   ["loading"]="on demand", +   ["status"]="okay",    },   }, - implementations = { + ["implementations"]={ +  { +   ["category"]="mkiv", +   ["filename"]="symb-imp-fontawesome", +   ["loading"]="on demand", +   ["status"]="okay", +  },    { -   category = "mkiv", -   filename = "colo-imp-dem", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-imp-ebgaramond", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "colo-imp-ema", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-imp-gentium", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "colo-imp-rgb", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-imp-ipaex", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "colo-imp-x11", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-imp-lato", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "colo-imp-xwi", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-imp-libertinus", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "java-imp-exa", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-imp-mathdigits", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "java-imp-fil", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-imp-minion", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "java-imp-fld", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-imp-opendyslexic", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "java-imp-rhh", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-imp-source", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "java-imp-stp", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="buff-imp-tex", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "meta-imp-clp", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="buff-imp-mp", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "meta-imp-dum", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="buff-imp-lua", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "meta-imp-fen", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="buff-imp-xml", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "meta-imp-mis", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="buff-imp-parsed-xml", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "meta-imp-nav", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="meta-imp-grid", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "meta-imp-pre", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="meta-imp-mat", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "meta-imp-txt", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="meta-imp-outlines", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "symb-imp-cow", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="meta-imp-tab", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "symb-imp-eur", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="publ-imp-apa", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "symb-imp-jmn", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="publ-imp-aps", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "symb-imp-mis", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="colo-imp-crayola", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "symb-imp-mvs", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="colo-imp-rainbow", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "symb-imp-nav", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="colo-imp-ral", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-antykwa", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="colo-imp-dem", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-antykwapoltawskiego", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="colo-imp-ema", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-asana", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="colo-imp-rgb", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-averia", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="colo-imp-x11", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-buy", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="colo-imp-xwi", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-cambria", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="java-imp-exa", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-charter", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="java-imp-fil", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-cleartype", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="java-imp-fld", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-computer-modern-unicode", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="java-imp-rhh", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-cow", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="java-imp-stp", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-dejavu", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="meta-imp-clp", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-euler", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="meta-imp-dum", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-ghz", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="meta-imp-fen", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-hgz", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="meta-imp-mis", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-husayni", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="meta-imp-nav", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-hvmath", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="meta-imp-pre", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-inconsolata", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="meta-imp-txt", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-informal", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="symb-imp-cow", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-iwona", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="symb-imp-eur", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-kurier", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="symb-imp-jmn", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-latinmodern", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="symb-imp-mis", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-liberation", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="symb-imp-mvs", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-libertine", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="symb-imp-nav", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-lmnames", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-imp-antykwa", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-lucida-opentype", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-imp-antykwapoltawskiego", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-lucida-typeone", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-imp-asana", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-mathdesign", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-imp-averia", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-mathtimes", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-imp-buy", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-mscore", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-imp-cambria", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-osx", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-imp-charter", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-postscript", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-imp-cleartype", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-punknova", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-imp-computer-modern-unicode", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-texgyre", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-imp-cow", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-unfonts", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-imp-dejavu", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-xits", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-imp-euler", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-imp-xitsbidi", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="type-imp-ghz", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "publ-ini", -   loading  = "always", -   status   = "pending", +   ["category"]="mkiv", +   ["filename"]="type-imp-hgz", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "publ-old", -   loading  = "always", -   status   = "pending", +   ["category"]="mkiv", +   ["filename"]="type-imp-husayni", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "publ-tra", -   loading  = "always", -   status   = "pending", +   ["category"]="mkiv", +   ["filename"]="type-imp-hvmath", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "publ-usr", -   loading  = "always", -   status   = "pending", +   ["category"]="mkiv", +   ["filename"]="type-imp-inconsolata", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "publ-jrn", -   loading  = "always", -   status   = "pending", +   ["category"]="mkiv", +   ["filename"]="type-imp-informal", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "publ-xml", -   loading  = "always", -   status   = "pending", +   ["category"]="mkiv", +   ["filename"]="type-imp-iwona", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "publ-imp-apa", -   loading  = "always", -   status   = "pending", +   ["category"]="mkiv", +   ["filename"]="type-imp-kurier", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "publ-imp-cite", -   loading  = "always", -   status   = "pending", +   ["category"]="mkiv", +   ["filename"]="type-imp-latinmodern", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "publ-imp-definitions", -   loading  = "always", -   status   = "pending", +   ["category"]="mkiv", +   ["filename"]="type-imp-liberation", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "publ-imp-commands", -   loading  = "always", -   status   = "pending", +   ["category"]="mkiv", +   ["filename"]="type-imp-libertine", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="type-imp-lmnames", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="type-imp-lucida-opentype", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="type-imp-lucida-typeone", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="type-imp-mathdesign", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="type-imp-mathtimes", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="type-imp-mscore", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="type-imp-osx", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="type-imp-postscript", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="type-imp-punknova", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="type-imp-texgyre", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="type-imp-unfonts", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="type-imp-xits", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="type-imp-xitsbidi", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="publ-ini", +   ["loading"]="always", +   ["status"]="pending", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="publ-old", +   ["loading"]="always", +   ["status"]="pending", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="publ-tra", +   ["loading"]="always", +   ["status"]="pending", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="publ-usr", +   ["loading"]="always", +   ["status"]="pending", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="publ-xml", +   ["loading"]="always", +   ["status"]="pending",    },   }, - lua = { + ["lua"]={ +  { +   ["category"]="lua", +   ["filename"]="anch-pgr", +   ["loading"]="always", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="bibl-tst", +   ["loading"]="always", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="char-fio", +   ["loading"]="always", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="cldf-prs", +   ["loading"]="always", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="cldf-scn", +   ["loading"]="always", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="cldf-stp", +   ["loading"]="always", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="cont-run", +   ["loading"]="always", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="font-cff", +   ["loading"]="always", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="font-cft", +   ["loading"]="always", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="font-dsp", +   ["loading"]="always", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="font-gbn", +   ["loading"]="always", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="font-hsh", +   ["loading"]="always", +   ["status"]="okay", +  },    { -   category = "lua", -   filename = "anch-pos", -   loading  = "anch-pos", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-mps", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "attr-col", -   loading  = "attr-col", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-nod", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "attr-eff", -   loading  = "attr-eff", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-ocl", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "attr-ini", -   loading  = "attr-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-odk", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "attr-lay", -   loading  = "attr-lay", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-odv", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "attr-neg", -   loading  = "attr-neg", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-off", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "attr-mkr", -   loading  = "attr-mkr", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-one", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "experimental code, maybe some will move elsewhere", -   filename = "back-exp", -   loading  = "back-exp", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="font-onr", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "back-ini", -   loading  = "back-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-osd", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "back-pdf", -   loading  = "back-pdf", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-otj", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "bibl-bib", -   loading  = "on demand", +   ["category"]="lua", +   ["filename"]="font-otl", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "bibl-tra", -   loading  = "on demand", +   ["category"]="lua", +   ["filename"]="font-oto", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "blob-ini", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="font-otr", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "buff-imp-default", -   loading  = "buff-imp-default", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-ots", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "buff-imp-escaped", -   loading  = "buff-imp-escaped", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-oup", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "todo: colorization and nesting as in scite", -   filename = "buff-imp-lua", -   loading  = "buff-imp-lua", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-sel", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "todo: colorization and nesting as in scite", -   filename = "buff-imp-mp", -   loading  = "buff-imp-mp", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-shp", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "buff-imp-nested", -   loading  = "buff-imp-nested", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-ttf", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "buff-imp-parsed-xml", -   loading  = "buff-imp-parsed-xml", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-web", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "todo: colorization and nesting as in scite", -   filename = "buff-imp-tex", -   loading  = "buff-imp-tex", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-xtx", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "todo: colorization and nesting as in scite", -   filename = "buff-imp-xml", -   loading  = "buff-imp-xml", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="good-ctx", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "buff-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="good-gen", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "buff-par", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="good-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "maybe we will provide a few more (nesting) methods", -   filename = "buff-ver", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="good-mth", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "catc-ini", -   loading  = "catc-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="grph-con", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "char-cjk", -   loading  = "char-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="grph-mem", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "char-def", -   loading  = "char-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="grph-pat", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "maybe dataonly", -   filename = "char-enc", -   loading  = "char-enc", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="grph-rul", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "char-ent", -   loading  = "char-ent", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="l-gzip", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "maybe move blocks table to separate (dataonly) file", -   filename = "char-ini", -   loading  = "char-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="l-lua", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "char-map", -   loading  = "char-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="l-package", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "char-tex", -   loading  = "char-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="l-sandbox", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "char-utf", -   loading  = "char-utf", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lang-cnt", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "chem-ini", -   loading  = "chem-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lang-frq-de", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "chem-str", -   loading  = "chem-str", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lang-frq-en", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "will be extended and can be optimized if needed", -   filename = "cldf-bas", -   loading  = "cldf-bas", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lang-frq-nl", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "might change or even go away", -   filename = "cldf-com", -   loading  = "cldf-com", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lang-frq-pt", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "cldf-ini", -   loading  = "cldf-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lang-rep", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "cldf-int", -   loading  = "cldf-int", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="luat-usr", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "maybe this code can be redone more efficiently/robust", -   filename = "cldf-ver", -   loading  = "cldf-ver", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="lxml-ini", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "also used in mtx-*", -   filename = "colo-icc", -   loading  = "colo-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="math-dir", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "colo-ini", -   loading  = "colo-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="mlib-int", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "this code might move to a module", -   filename = "colo-run", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="mlib-lua", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "core-con", -   loading  = "core-con", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="node-ltp", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "core-ctx", -   loading  = "core-ctx", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="node-met", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "core-dat", -   loading  = "core-dat", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="node-nut", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "maybe abusing the tex namespace is wrong", -   filename = "core-env", -   loading  = "core-env", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="page-cst", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "core-sys", -   loading  = "core-sys", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="page-inj", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   commands = "this is in fact replaced by core-dat", -   filename = "core-two", -   loading  = "core-two", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="publ-imp-apa", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "some code will move to better places", -   filename = "core-uti", -   loading  = "core-uti", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="publ-imp-aps", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-aux", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="publ-imp-default", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-bin", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="publ-imp-replacements", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-con", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="publ-jrn", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-crl", -   loading  = "never", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="publ-reg", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-ctx", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="publ-sor", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-env", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="regi-ibm", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-exp", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="regi-pdfdoc", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-fil", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="scrp-tha", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-gen", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="spac-prf", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-ini", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="toks-map", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-inp", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="toks-tra", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-lst", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="trac-par", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-lua", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="typo-chr", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-met", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="typo-duc", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-out", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="typo-inj", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-pre", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="typo-lin", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-res", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="typo-tal", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-sch", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="typo-wrp", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-tex", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="util-fil", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-tmf", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="util-lib-imp-gm", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-tmp", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="util-lib-imp-gs", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-tre", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="util-ran", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-use", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="util-sac", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-vir", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="util-sbx", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "data-zip", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="util-sci", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "file-ini", -   loading  = "file-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="util-soc", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "file-job", -   loading  = "file-job", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="util-sql-imp-client", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "file-lib", -   loading  = "file-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="util-sql-imp-library", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "file-mod", -   loading  = "file-mod", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="util-sql-imp-sqlite", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "file-res", -   loading  = "file-res", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="util-sql-imp-swiglib", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "file-syn", -   loading  = "file-syn", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="util-sql-loggers", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-afm", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="util-sql-sessions", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-afk", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="util-sql-tickets", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "only used in luatex-fonts", -   filename = "font-age", -   loading  = "never", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="util-sql-tracers", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-agl", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="util-sql-users", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "needs some documentation in usage", -   filename = "font-aux", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="util-you", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "move more to the commands namespace", -   filename = "font-chk", -   loading  = "font-chk", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="m-escrito", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-cid", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="s-characters-properties", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-col", -   loading  = "font-col", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="s-languages-words", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-con", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="s-xml-analyzers", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "will be improved over time", -   filename = "font-ctx", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="x-math-svg", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-def", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="anch-pos", +   ["loading"]="anch-pos", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "part of this code is obsolete", -   filename = "font-enc", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="attr-col", +   ["loading"]="attr-col", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "needs documentation at the tex end", -   filename = "font-enh", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="attr-eff", +   ["loading"]="attr-eff", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "maybe some data tables can be be external", -   filename = "font-ext", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="attr-ini", +   ["loading"]="attr-ini", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "okay but can be improved", -   filename = "font-fbk", -   loading  = "font-lib", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="attr-lay", +   ["loading"]="attr-lay", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-gds", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="attr-neg", +   ["loading"]="attr-neg", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "font-hsh", -   loading  = "always", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="attr-mkr", +   ["loading"]="attr-mkr", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-ini", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="experimental code, maybe some will move elsewhere", +   ["filename"]="back-exp", +   ["loading"]="back-exp", +   ["status"]="pending",    },    { -   category = "lua", -   filename = "font-inj", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="back-ini", +   ["loading"]="back-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-ldr", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="back-pdf", +   ["loading"]="back-pdf", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-log", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="bibl-bib", +   ["loading"]="on demand",    },    { -   category = "lua", -   comment  = "currently rather minimalistic", -   filename = "font-lua", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="bibl-tra", +   ["loading"]="on demand",    },    { -   category = "lua", -   comment  = "the lum file support will be dropped / no map files anyway", -   filename = "font-map", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="blob-ini", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "font-mis", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="buff-imp-default", +   ["loading"]="buff-imp-default", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "font-nod", -   loading  = "always", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="buff-imp-escaped", +   ["loading"]="buff-imp-escaped", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "when more scripts are supported we might end up with imp files", -   filename = "font-ota", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="todo: colorization and nesting as in scite", +   ["filename"]="buff-imp-lua", +   ["loading"]="buff-imp-lua", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-otb", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="todo: colorization and nesting as in scite", +   ["filename"]="buff-imp-mp", +   ["loading"]="buff-imp-mp", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-otc", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="buff-imp-nested", +   ["loading"]="buff-imp-nested", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-otd", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="buff-imp-parsed-xml", +   ["loading"]="buff-imp-parsed-xml", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-otf", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="todo: colorization and nesting as in scite", +   ["filename"]="buff-imp-tex", +   ["loading"]="buff-imp-tex", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-oth", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="todo: colorization and nesting as in scite", +   ["filename"]="buff-imp-xml", +   ["loading"]="buff-imp-xml", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-oti", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="buff-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-otn", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="buff-par", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-otp", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="maybe we will provide a few more (nesting) methods", +   ["filename"]="buff-ver", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-ott", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="catc-ini", +   ["loading"]="catc-ini", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "is mostly replaced by lfg files", -   filename = "font-pat", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="char-cjk", +   ["loading"]="char-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-sol", -   loading  = "font-sol", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="char-def", +   ["loading"]="char-ini", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "also loaded on demand", -   filename = "font-syn", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="maybe dataonly", +   ["filename"]="char-enc", +   ["loading"]="char-enc", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-tfm", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="char-ent", +   ["loading"]="char-ent", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-trt", -   loading  = "font-lib", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="maybe move blocks table to separate (dataonly) file", +   ["filename"]="char-ini", +   ["loading"]="char-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "font-vf", -   loading  = "font-lib", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="char-map", +   ["loading"]="char-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "grph-epd", -   loading  = "grph-epd", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="char-tex", +   ["loading"]="char-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "grph-fil", -   loading  = "grph-inc", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="char-utf", +   ["loading"]="char-utf", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "grph-inc", -   loading  = "grph-inc", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="chem-ini", +   ["loading"]="chem-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "grph-raw", -   loading  = "grph-raw", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="chem-str", +   ["loading"]="chem-str", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "grph-swf", -   loading  = "grph-swf", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="will be extended and can be optimized if needed", +   ["filename"]="cldf-bas", +   ["loading"]="cldf-bas", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "grph-u3d", -   loading  = "grph-u3d", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="might change or even go away", +   ["filename"]="cldf-com", +   ["loading"]="cldf-com", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "experiment with graphic magick library", -   filename = "grph-wnd", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="cldf-ini", +   ["loading"]="cldf-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "java-ini", -   loading  = "java-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="cldf-int", +   ["loading"]="cldf-int", +   ["status"]="pending",    },    { -   category = "lua", -   filename = "l-boolean", -   status   = "todo", +   ["category"]="lua", +   ["comment"]="maybe this code can be redone more efficiently/robust", +   ["filename"]="cldf-ver", +   ["loading"]="cldf-ver", +   ["status"]="pending",    },    { -   category = "lua", -   filename = "l-dir", -   status   = "todo", +   ["category"]="lua", +   ["comment"]="also used in mtx-*", +   ["filename"]="colo-icc", +   ["loading"]="colo-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "l-file", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="colo-ini", +   ["loading"]="colo-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "l-function", -   status   = "todo", +   ["category"]="lua", +   ["comment"]="this code might move to a module", +   ["filename"]="colo-run", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "l-io", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="core-con", +   ["loading"]="core-con", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "l-lpeg", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="core-ctx", +   ["loading"]="core-ctx", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "l-math", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="core-dat", +   ["loading"]="core-dat", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "l-md5", -   status   = "todo", +   ["category"]="lua", +   ["comment"]="maybe abusing the tex namespace is wrong", +   ["filename"]="core-env", +   ["loading"]="core-env", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "l-number", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="core-sys", +   ["loading"]="core-sys", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "l-os", -   status   = "todo", +   ["category"]="lua", +   ["commands"]="this is in fact replaced by core-dat", +   ["filename"]="core-two", +   ["loading"]="core-two", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "l-pdfview", -   status   = "todo", +   ["category"]="lua", +   ["comment"]="some code will move to better places", +   ["filename"]="core-uti", +   ["loading"]="core-uti", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "l-set", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="data-aux", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "l-string", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="data-bin", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "l-table", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="data-con", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "l-unicode", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="data-crl", +   ["loading"]="never", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "l-url", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="data-ctx", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "l-xml", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="data-env", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "lang-def", -   loading  = "lang-def", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="data-exp", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "lang-dis", -   loading  = "lang-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="data-fil", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "lang-hyp", -   loading  = "lang-hyp", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="data-gen", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "lang-ini", -   loading  = "lang-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="data-ini", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "lang-lab", -   loading  = "lang-lab", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="data-inp", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "lang-hyp", -   loading  = "lang-hyp", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="data-lst", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "lang-txt", -   loading  = "lang-lab", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="data-lua", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   comment  = "maybe another approach is nicer", -   filename = "lang-url", -   loading  = "lang-url", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="data-met", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "lang-wrd", -   loading  = "lang-wrd", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="data-out", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   comment  =  "more will end up here", -   filename = "layo-ini", -   loading  = "layo-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="data-pre", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "lpdf-ano", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="data-res", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "lpdf-res", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="data-sch", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "lpdf-col", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="data-tex", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "lpdf-enc", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="data-tmf", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "lpdf-epa", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="data-tmp", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "lpdf-epd", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="data-tre", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "lpdf-fld", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="data-use", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "lpdf-fmt", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="data-vir", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "lpdf-grp", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="data-zip", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "lpdf-ini", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="file-ini", +   ["loading"]="file-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "lpdf-mis", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="file-job", +   ["loading"]="file-job", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "lpdf-mov", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="file-lib", +   ["loading"]="file-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "lpdf-nod", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="file-mod", +   ["loading"]="file-mod", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "lpdf-ren", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="file-res", +   ["loading"]="file-res", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "lpdf-swf", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="file-syn", +   ["loading"]="file-syn", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "lpdf-tag", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="font-afm", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "lpdf-u3d", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="font-afk", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "lpdf-wid", -   status   = "todo", +   ["category"]="lua", +   ["comment"]="only used in luatex-fonts", +   ["filename"]="font-age", +   ["loading"]="never", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "lpdf-xmp", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="font-agl", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "replacement code for wd/ht/dp", -   filename = "luat-bwc", -   loading  = "luat-lib", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="needs some documentation in usage", +   ["filename"]="font-aux", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "luat-cbk", -   loading  = "luat-lib", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="move more to the commands namespace", +   ["filename"]="font-chk", +   ["loading"]="font-chk", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "luat-cnf", -   loading  = "luat-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-cid", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "maybe some code should move", -   filename = "luat-cod", -   loading  = "luat-cod", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-col", +   ["loading"]="font-col", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "luat-env", -   loading  = "luat-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-con", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "luat-exe", -   loading  = "luat-lib", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="will be improved over time", +   ["filename"]="font-ctx", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "luat-fio", -   loading  = "luat-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-def", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "luat-fmt", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="part of this code is obsolete", +   ["filename"]="font-enc", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "will be upgraded when we have Lua 5.2", -   filename = "luat-ini", -   loading  = "luat-lib", -   status   = "pending", +   ["category"]="lua", +   ["comment"]="needs documentation at the tex end", +   ["filename"]="font-enh", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "will be upgraded when we have Lua 5.2", -   filename = "util-env", -   loading  = "luat-lib", -   status   = "pending", +   ["category"]="lua", +   ["comment"]="maybe some data tables can be be external", +   ["filename"]="font-ext", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "luat-iop", -   loading  = "luat-lib", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="okay but can be improved", +   ["filename"]="font-fbk", +   ["loading"]="font-lib", +   ["status"]="pending",    },    { -   category = "lua", -   comment  = "this is likely to change some day", -   filename = "luat-lua", -   loading  = "luat-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-ini", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "luat-mac", -   loading  = "luat-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-inj", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "luat-run", -   loading  = "luat-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-ldr", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "related to the socket code", -   filename = "luat-soc", -   loading  = "on demand", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="font-log", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "luat-sta", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="currently rather minimalistic", +   ["filename"]="font-lua", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "luat-sto", -   loading  = "luat-lib", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="the lum file support will be dropped / no map files anyway", +   ["filename"]="font-map", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "lxml-aux", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="font-mis", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "lxml-css", -   status   = "todo", +   ["category"]="lua", +   ["comment"]="when more scripts are supported we might end up with imp files", +   ["filename"]="font-ota", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "lxml-ctx", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="font-otb", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "lxml-dir", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="font-otc", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "lxml-ent", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="font-otd", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "lxml-inf", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="font-otf", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "lxml-lpt", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="font-oth", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "lxml-mis", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="font-oti", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "lxml-sor", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="font-otn", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "lxml-tab", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="font-otp", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "lxml-tex", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="font-ott", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "lxml-xml", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["comment"]="is mostly replaced by lfg files", +   ["filename"]="font-pat", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "m-chart", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="font-sol", +   ["loading"]="font-sol", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "m-database", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="also loaded on demand", +   ["filename"]="font-syn", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "m-nodechart", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="font-tfm", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "m-markdown", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="font-trt", +   ["loading"]="font-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "m-pstricks", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="font-vf", +   ["loading"]="font-lib", +   ["status"]="pending",    },    { -   category = "lua", -   filename = "m-spreadsheet", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="grph-epd", +   ["loading"]="grph-epd", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "m-steps", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="grph-fil", +   ["loading"]="grph-inc", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "math-act", -   loading  = "math-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="grph-inc", +   ["loading"]="grph-inc", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "math-frc", -   loading  = "math-frc", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="grph-raw", +   ["loading"]="grph-raw", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "could be made look nicer, but who cares", -   filename = "math-dim", -   loading  = "math-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="grph-swf", +   ["loading"]="grph-swf", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "the code is related to math-vfu", -   filename = "math-ext", -   loading  = "math-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="grph-u3d", +   ["loading"]="grph-u3d", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "math-fbk", -   loading  = "math-ini", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="experiment with graphic magick library", +   ["filename"]="grph-wnd", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "math-frc", -   loading  = "math-frc", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="java-ini", +   ["loading"]="java-ini", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "okay, but we might have a few more low level definers some day", -   filename = "math-ini", -   loading  = "math-ini", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="l-boolean", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "math-map", -   loading  = "math-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="l-dir", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "math-noa", -   loading  = "math-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="l-file", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "math-ren", -   loading  = "math-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="l-function", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "math-tag", -   loading  = "math-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="l-io", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "math-ttv", -   loading  = "math-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="l-lpeg", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "math-vfu", -   loading  = "math-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="l-math", +   ["status"]="todo",    },    { -   category = "lua", -   comment  = "this is just a first version", -   filename = "meta-fun", -   loading  = "meta-fun", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="l-md5", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "meta-ini", -   loading  = "meta-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="l-number", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "meta-lua", -   loading  = "meta-lua", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="l-os", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "meta-fnt", -   loading  = "meta-fnt", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="l-pdfview", +   ["status"]="todo",    },    { -   category = "lua", -   comment  = "could be done nicer nowadays but who needs it", -   filename = "meta-pdf", -   loading  = "meta-pdf", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="l-set", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "meta-pdh", -   loading  = "meta-pdh", -   status   = "okay", -   loading  = "never", -   comment  = "this is historic code that we keep around", +   ["category"]="lua", +   ["filename"]="l-string", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "meta-tex", -   loading  = "meta-tex", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="l-table", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "mlib-ctx", -   loading  = "mlib-ctx", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="l-unicode", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "mlib-pdf", -   loading  = "mlib-pdf", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="l-url", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "mlib-pps", -   loading  = "mlib-pdf", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="l-xml", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "mlib-run", -   loading  = "mlib-ctx", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lang-def", +   ["loading"]="lang-def", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "this is an experiment, namespaces need to be dealt with properly", -   filename = "mult-aux", -   loading  = "mult-aux", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="lang-dis", +   ["loading"]="lang-ini", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "this is an experiment", -   filename = "mult-chk", -   loading  = "mult-chk", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="lang-hyp", +   ["loading"]="lang-hyp", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "mult-def", -   loading  = "mult-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lang-ini", +   ["loading"]="lang-ini", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "used for generating editor lexing files", -   filename = "mult-fun", -   loading  = "never", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lang-lab", +   ["loading"]="lang-lab", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "mult-ini", -   loading  = "mult-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lang-hyp", +   ["loading"]="lang-hyp", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "used for generating editor lexing files", -   filename = "mult-low", -   loading  = "never", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lang-txt", +   ["loading"]="lang-lab", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "all messages need to be checked", -   filename = "mult-mes", -   loading  = "mult-ini", -   status   = "pending", +   ["category"]="lua", +   ["comment"]="maybe another approach is nicer", +   ["filename"]="lang-url", +   ["loading"]="lang-url", +   ["status"]="pending",    },    { -   category = "lua", -   comment  = "used for generating editor lexing files", -   filename = "mult-mps", -   loading  = "never", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lang-wrd", +   ["loading"]="lang-wrd", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "used for generating editor lexing files", -   filename = "mult-prm", -   loading  = "never", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="more will end up here", +   ["filename"]="layo-ini", +   ["loading"]="layo-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "node-acc", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lpdf-ano", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "node-aux", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lpdf-res", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "node-bck", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lpdf-col", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "node-dir", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lpdf-enc", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "node-ext", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lpdf-epa", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "node-fin", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lpdf-epd", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "node-fnt", -   loading  = "font-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lpdf-fld", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "node-ini", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lpdf-fmt", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "node-inj", -   loading  = "font-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lpdf-grp", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "node-mig", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lpdf-ini", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "node-pag", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lpdf-mis", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "node-ppt", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lpdf-mov", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "node-pro", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lpdf-nod", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "node-ref", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lpdf-ren", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "node-res", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lpdf-swf", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "node-rul", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lpdf-tag", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "node-ser", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lpdf-u3d", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "node-shp", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lpdf-wid", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "node-tex", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lpdf-xmp", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "node-tra", -   status   = "todo", +   ["category"]="lua", +   ["comment"]="replacement code for wd/ht/dp", +   ["filename"]="luat-bwc", +   ["loading"]="luat-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "node-snp", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="luat-cbk", +   ["loading"]="luat-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "node-tsk", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="luat-cnf", +   ["loading"]="luat-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "node-tst", -   status   = "todo", +   ["category"]="lua", +   ["comment"]="maybe some code should move", +   ["filename"]="luat-cod", +   ["loading"]="luat-cod", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "node-typ", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="luat-env", +   ["loading"]="luat-lib", +   ["status"]="okay",    },    { -   category = "lua", -   comment  =  "will be extended when we have opened up pdf objects", -   filename = "pack-obj", -   loading  = "pack-obj", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="luat-exe", +   ["loading"]="luat-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "pack-rul", -   loading  = "pack-rul", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="luat-fio", +   ["loading"]="luat-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "page-otr", -   loading  = "page-otr", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="luat-fmt", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "page-flt", -   status   = "todo", +   ["category"]="lua", +   ["comment"]="will be upgraded when we have Lua 5.2", +   ["filename"]="luat-ini", +   ["loading"]="luat-lib", +   ["status"]="pending",    },    { -   category = "lua", -   filename = "page-ins", -   status   = "todo", +   ["category"]="lua", +   ["comment"]="will be upgraded when we have Lua 5.2", +   ["filename"]="util-env", +   ["loading"]="luat-lib", +   ["status"]="pending",    },    { -   category = "lua", -   filename = "page-lin", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="luat-iop", +   ["loading"]="luat-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "page-mix", -   status   = "todo", +   ["category"]="lua", +   ["comment"]="this is likely to change some day", +   ["filename"]="luat-lua", +   ["loading"]="luat-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "page-pst", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="luat-mac", +   ["loading"]="luat-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "page-str", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="luat-run", +   ["loading"]="luat-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "phys-dim", -   loading  = "phys-dim", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="related to the socket code", +   ["filename"]="luat-soc", +   ["loading"]="on demand", +   ["status"]="pending",    },    { -   category = "lua", -   filename = "regi-8859-1", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="luat-sta", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "regi-8859-10", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="luat-sto", +   ["loading"]="luat-lib", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "regi-8859-11", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lxml-aux", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "regi-8859-13", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lxml-css", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "regi-8859-14", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lxml-ctx", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "regi-8859-15", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lxml-dir", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "regi-8859-16", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lxml-ent", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "regi-8859-2", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lxml-inf", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "regi-8859-3", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lxml-lpt", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "regi-8859-4", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lxml-mis", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "regi-8859-5", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lxml-sor", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "regi-8859-6", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lxml-tab", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "regi-8859-7", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lxml-tex", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "regi-8859-8", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lxml-xml", +   ["loading"]="luat-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "regi-8859-9", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="m-chart", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "regi-cp1250", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="m-database", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "regi-cp1251", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="m-nodechart", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "regi-cp1252", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="m-markdown", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "regi-cp1253", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="m-pstricks", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "regi-cp1254", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="m-spreadsheet", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "regi-cp1255", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="m-steps", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "regi-cp1256", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="math-act", +   ["loading"]="math-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "regi-cp1257", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="math-frc", +   ["loading"]="math-frc", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "regi-cp1258", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="could be made look nicer, but who cares", +   ["filename"]="math-dim", +   ["loading"]="math-ini", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "just a demo file", -   filename = "regi-demo", -   loading  = "never", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="the code is related to math-vfu", +   ["filename"]="math-ext", +   ["loading"]="math-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "regi-ini", -   loading  = "regi-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="math-fbk", +   ["loading"]="math-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "s-fonts-coverage", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="math-frc", +   ["loading"]="math-frc", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "s-fonts-features", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="okay, but we might have a few more low level definers some day", +   ["filename"]="math-ini", +   ["loading"]="math-ini", +   ["status"]="pending",    },    { -   category = "lua", -   filename = "s-fonts-missing", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="math-map", +   ["loading"]="math-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "s-fonts-shapes", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="math-noa", +   ["loading"]="math-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "s-fonts-system", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="math-ren", +   ["loading"]="math-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "s-fonts-tables", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="math-tag", +   ["loading"]="math-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "s-fonts-vectors", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="math-ttv", +   ["loading"]="math-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "s-languages-counters", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="math-vfu", +   ["loading"]="math-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "s-languages-frequencies", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="this is just a first version", +   ["filename"]="meta-fun", +   ["loading"]="meta-fun", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "s-languages-hyphenation", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="meta-ini", +   ["loading"]="meta-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "s-languages-sorting", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="meta-lua", +   ["loading"]="meta-lua", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "s-languages-system", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="meta-fnt", +   ["loading"]="meta-fnt", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "s-math-characters", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="could be done nicer nowadays but who needs it", +   ["filename"]="meta-pdf", +   ["loading"]="meta-pdf", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "s-math-coverage", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="this is historic code that we keep around", +   ["filename"]="meta-pdh", +   ["loading"]="never", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "s-math-extensibles", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="meta-tex", +   ["loading"]="meta-tex", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "s-fonts-goodies", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="mlib-ctx", +   ["loading"]="mlib-ctx", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "s-math-parameters", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="mlib-pdf", +   ["loading"]="mlib-pdf", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "s-physics-units", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="mlib-pps", +   ["loading"]="mlib-pdf", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "s-pre-71", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="mlib-run", +   ["loading"]="mlib-ctx", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "s-sql-tables", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="this is an experiment, namespaces need to be dealt with properly", +   ["filename"]="mult-aux", +   ["loading"]="mult-aux", +   ["status"]="pending",    },    { -   category = "lua", -   filename = "scrn-but", -   status   = "todo", +   ["category"]="lua", +   ["comment"]="this is an experiment", +   ["filename"]="mult-chk", +   ["loading"]="mult-chk", +   ["status"]="pending",    },    { -   category = "lua", -   filename = "scrn-fld", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="mult-def", +   ["loading"]="mult-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "scrn-hlp", -   status   = "todo", +   ["category"]="lua", +   ["comment"]="used for generating editor lexing files", +   ["filename"]="mult-fun", +   ["loading"]="never", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "scrn-ini", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="mult-ini", +   ["loading"]="mult-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "scrn-pag", -   status   = "todo", +   ["category"]="lua", +   ["comment"]="used for generating editor lexing files", +   ["filename"]="mult-low", +   ["loading"]="never", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "scrn-ref", -   status   = "todo", +   ["category"]="lua", +   ["comment"]="all messages need to be checked", +   ["filename"]="mult-mes", +   ["loading"]="mult-ini", +   ["status"]="pending",    },    { -   category = "lua", -   filename = "scrn-wid", -   status   = "todo", +   ["category"]="lua", +   ["comment"]="used for generating editor lexing files", +   ["filename"]="mult-mps", +   ["loading"]="never", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "we can speed this up", -   filename = "scrp-cjk", -   loading  = "scrp-ini", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="used for generating editor lexing files", +   ["filename"]="mult-prm", +   ["loading"]="never", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "we can speed this up", -   filename = "scrp-eth", -   loading  = "scrp-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="node-acc", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "scrp-ini", -   loading  = "scrp-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="node-aux", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "sort-ini", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="node-bck", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "sort-lan", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="node-dir", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "spac-adj", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="node-ext", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "spac-ali", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="node-fin", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "spac-chr", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="node-fnt", +   ["loading"]="font-lib", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "spac-hor", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="node-ini", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "spac-ver", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="node-mig", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "status-mkiv", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="node-pag", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "strc-bkm", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="node-ppt", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "strc-blk", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="node-pro", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "strc-con", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="node-ref", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "strc-doc", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="node-res", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "strc-flt", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="node-rul", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "strc-ini", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="node-ser", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "strc-itm", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="node-shp", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "strc-lev", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="node-tex", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "strc-lst", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="node-tra", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "strc-mar", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="node-snp", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "strc-mat", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="node-tsk", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "strc-not", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="node-tst", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "strc-num", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="node-typ", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "strc-pag", -   status   = "todo", +   ["category"]="lua", +   ["comment"]="will be extended when we have opened up pdf objects", +   ["filename"]="pack-obj", +   ["loading"]="pack-obj", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "strc-ref", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="pack-rul", +   ["loading"]="pack-rul", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "strc-reg", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="page-otr", +   ["loading"]="page-otr", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "strc-rsc", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="page-flt", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "strc-syn", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="page-ins", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "strc-tag", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="page-lin", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "supp-box", -   loading  = "supp-box", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="page-mix", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "supp-ran", -   loading  = "supp-ran", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="page-pst", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "symb-ini", -   loading  = "symb-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="page-str", +   ["status"]="todo",    },    { -   category = "lua", -   comment  = "there will be more in here", -   filename = "syst-aux", -   loading  = "syst-aux", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="phys-dim", +   ["loading"]="phys-dim", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "do some tests with speedups (sprint)", -   filename = "syst-con", -   loading  = "syst-con", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="regi-8859-1", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "do some tests with speedups (less tokens)", -   filename = "syst-lua", -   loading  = "syst-lua", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="regi-8859-10", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "tabl-tbl", -   loading  = "tabl-tbl", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="regi-8859-11", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "work in progress", -   filename = "tabl-xtb", -   loading  = "tabl-xtb", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="regi-8859-13", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "we need a well defined defintion moment", -   filename = "task-ini", -   loading  = "task-ini", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="regi-8859-14", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "toks-ini", -   loading  = "toks-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="regi-8859-15", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "toks-scn", -   loading  = "toks-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="regi-8859-16", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "must be applied in more places", -   filename = "trac-ctx", -   loading  = "trac-ctx", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="regi-8859-2", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "trac-deb", -   loading  = "trac-deb", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="regi-8859-3", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "for the moment somewhat private", -   filename = "trac-fil", -   loading  = "never", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="regi-8859-4", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "trac-inf", -   loading  = "luat-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="regi-8859-5", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "will be redone and extended", -   filename = "trac-lmx", -   loading  = "luat-lib", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="regi-8859-6", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "trac-log", -   loading  = "luat-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="regi-8859-7", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "trac-xml", -   loading  = "mtxrun", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="regi-8859-8", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "trac-exp", -   loading  = "mtxrun", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="regi-8859-9", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "experimental code, will be redone when lua 5.2", -   filename = "trac-pro", -   loading  = "luat-lib", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="regi-cp1250", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "some code can better be in util-set", -   filename = "trac-set", -   loading  = "luat-lib", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="regi-cp1251", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "trac-tex", -   loading  = "trac-tex", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="regi-cp1252", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "trac-tim", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="regi-cp1253", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "trac-vis", -   loading  = "trac-vis", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="regi-cp1254", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "trac-jus", -   loading  = "trac-jus", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="regi-cp1255", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "type-ini", -   loading  = "type-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="regi-cp1256", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "typo-bld", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="regi-cp1257", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "typo-sus", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="regi-cp1258", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "typo-brk", -   status   = "todo", +   ["category"]="lua", +   ["comment"]="just a demo file", +   ["filename"]="regi-demo", +   ["loading"]="never", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "typo-cap", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="regi-ini", +   ["loading"]="regi-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "typo-cln", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="s-fonts-coverage", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "typo-dig", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="s-fonts-features", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "typo-dir", -   loading  = "typo-dir", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="s-fonts-missing", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "work in progress", -   filename = "typo-dha", -   loading  = "typo-dir", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="s-fonts-shapes", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "typo-dua", -   loading  = "typo-dir", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="s-fonts-system", +   ["status"]="okay",    },    { -   category = "lua", -   comment  = "work in progress", -   filename = "typo-dub", -   loading  = "typo-dir", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="s-fonts-tables", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "typo-ini", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="s-fonts-vectors", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "typo-tal", -   loading  = "typo-tal", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="s-languages-counters", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "typo-itc", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="s-languages-frequencies", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "typo-krn", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="s-languages-hyphenation", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "typo-mar", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="s-languages-sorting", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "typo-pag", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="s-languages-system", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "typo-drp", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="s-math-characters", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "typo-fln", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="s-math-coverage", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "typo-man", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="s-fonts-goodies", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "typo-prc", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="s-math-parameters", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "typo-lan", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="s-pre-71", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "typo-rep", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="s-sql-tables", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "typo-spa", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="scrn-but", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "unic-ini", -   loading  = "unic-ini", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="scrn-fld", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "util-deb", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="scrn-hlp", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "util-dim", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="scrn-ini", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "util-fmt", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="scrn-pag", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "util-jsn", -   loading  = "m-json", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="scrn-ref", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "util-lua", -   loading  = "luat-lib", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="scrn-wid", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "util-lib", -   loading  = "luat-lib", -   status   = "okay", +   ["category"]="lua", +   ["comment"]="we can speed this up", +   ["filename"]="scrp-cjk", +   ["loading"]="scrp-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "util-mrg", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["comment"]="we can speed this up", +   ["filename"]="scrp-eth", +   ["loading"]="scrp-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "util-pck", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="scrp-ini", +   ["loading"]="scrp-ini", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "util-prs", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="sort-ini", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "util-seq", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="sort-lan", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "util-sql", -   loading  = "m-sql", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="spac-adj", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "util-sta", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="spac-ali", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "util-sto", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="spac-chr", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "util-str", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="spac-hor", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "util-tab", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="spac-ver", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "util-tpl", -   loading  = "luat-lib", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="status-mkiv", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "x-asciimath", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="strc-bkm", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "x-calcmath", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="strc-blk", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "x-cals", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="strc-con", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "x-chemml", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="strc-doc", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "x-ct", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="strc-flt", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "x-ldx", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="strc-ini", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "x-mathml", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="strc-itm", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "publ-ini", -   loading  = "publ-ini.mkiv", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="strc-lev", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "publ-aut", -   loading  = "publ-ini.mkiv", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="strc-lst", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "publ-dat", -   loading  = "publ-ini.mkiv", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="strc-mar", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "publ-oth", -   loading  = "publ-ini.mkiv", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="strc-mat", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "publ-fnd", -   loading  = "publ-ini.mkiv", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="strc-not", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "publ-tra", -   loading  = "publ-ini.mkiv", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="strc-num", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "publ-usr", -   loading  = "publ-ini.mkiv", -   status   = "pending", +   ["category"]="lua", +   ["filename"]="strc-pag", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="strc-ref", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="strc-reg", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="strc-rsc", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="strc-syn", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="strc-tag", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="supp-box", +   ["loading"]="supp-box", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="supp-ran", +   ["loading"]="supp-ran", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="symb-ini", +   ["loading"]="symb-ini", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["comment"]="there will be more in here", +   ["filename"]="syst-aux", +   ["loading"]="syst-aux", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["comment"]="do some tests with speedups (sprint)", +   ["filename"]="syst-con", +   ["loading"]="syst-con", +   ["status"]="pending", +  }, +  { +   ["category"]="lua", +   ["comment"]="do some tests with speedups (less tokens)", +   ["filename"]="syst-lua", +   ["loading"]="syst-lua", +   ["status"]="pending", +  }, +  { +   ["category"]="lua", +   ["filename"]="tabl-tbl", +   ["loading"]="tabl-tbl", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["comment"]="work in progress", +   ["filename"]="tabl-xtb", +   ["loading"]="tabl-xtb", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["comment"]="we need a well defined defintion moment", +   ["filename"]="task-ini", +   ["loading"]="task-ini", +   ["status"]="pending", +  }, +  { +   ["category"]="lua", +   ["filename"]="toks-ini", +   ["loading"]="toks-ini", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="toks-scn", +   ["loading"]="toks-ini", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["comment"]="must be applied in more places", +   ["filename"]="trac-ctx", +   ["loading"]="trac-ctx", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="trac-deb", +   ["loading"]="trac-deb", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["comment"]="for the moment somewhat private", +   ["filename"]="trac-fil", +   ["loading"]="never", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="trac-inf", +   ["loading"]="luat-lib", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["comment"]="will be redone and extended", +   ["filename"]="trac-lmx", +   ["loading"]="luat-lib", +   ["status"]="pending", +  }, +  { +   ["category"]="lua", +   ["filename"]="trac-log", +   ["loading"]="luat-lib", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="trac-xml", +   ["loading"]="mtxrun", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="trac-exp", +   ["loading"]="mtxrun", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["comment"]="experimental code, will be redone when lua 5.2", +   ["filename"]="trac-pro", +   ["loading"]="luat-lib", +   ["status"]="pending", +  }, +  { +   ["category"]="lua", +   ["comment"]="some code can better be in util-set", +   ["filename"]="trac-set", +   ["loading"]="luat-lib", +   ["status"]="pending", +  }, +  { +   ["category"]="lua", +   ["filename"]="trac-tex", +   ["loading"]="trac-tex", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="trac-tim", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="trac-vis", +   ["loading"]="trac-vis", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="trac-jus", +   ["loading"]="trac-jus", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="type-ini", +   ["loading"]="type-ini", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="typo-bld", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="typo-sus", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="typo-brk", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="typo-cap", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="typo-cln", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="typo-dig", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="typo-dir", +   ["loading"]="typo-dir", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["comment"]="work in progress", +   ["filename"]="typo-dha", +   ["loading"]="typo-dir", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="typo-dua", +   ["loading"]="typo-dir", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["comment"]="work in progress", +   ["filename"]="typo-dub", +   ["loading"]="typo-dir", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="typo-ini", +   ["status"]="todo", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="typo-tal", +   ["loading"]="typo-tal", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="typo-itc", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="typo-krn", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="typo-mar", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="typo-pag", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="typo-drp", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="typo-fln", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="typo-man", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="typo-prc", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="typo-lan", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="typo-rep", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="typo-spa", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="unic-ini", +   ["loading"]="unic-ini", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="util-deb", +   ["loading"]="luat-lib", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="util-dim", +   ["loading"]="luat-lib", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="util-fmt", +   ["loading"]="luat-lib", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="util-jsn", +   ["loading"]="m-json", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="util-lua", +   ["loading"]="luat-lib", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="util-lib", +   ["loading"]="luat-lib", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="util-mrg", +   ["loading"]="luat-lib", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="util-pck", +   ["loading"]="luat-lib", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="util-prs", +   ["loading"]="luat-lib", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="util-seq", +   ["loading"]="luat-lib", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="util-sql", +   ["loading"]="m-sql", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="util-sta", +   ["loading"]="luat-lib", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="util-sto", +   ["loading"]="luat-lib", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="util-str", +   ["loading"]="luat-lib", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="util-tab", +   ["loading"]="luat-lib", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="util-tpl", +   ["loading"]="luat-lib", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="x-asciimath", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="x-calcmath", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="x-cals", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="x-chemml", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="x-ct", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="x-ldx", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="x-mathml", +   ["status"]="todo", +  }, +  { +   ["category"]="lua", +   ["filename"]="publ-ini", +   ["loading"]="publ-ini.mkiv", +   ["status"]="pending", +  }, +  { +   ["category"]="lua", +   ["filename"]="publ-aut", +   ["loading"]="publ-ini.mkiv", +   ["status"]="pending", +  }, +  { +   ["category"]="lua", +   ["filename"]="publ-dat", +   ["loading"]="publ-ini.mkiv", +   ["status"]="pending", +  }, +  { +   ["category"]="lua", +   ["filename"]="publ-oth", +   ["loading"]="publ-ini.mkiv", +   ["status"]="pending", +  }, +  { +   ["category"]="lua", +   ["filename"]="publ-fnd", +   ["loading"]="publ-ini.mkiv", +   ["status"]="pending", +  }, +  { +   ["category"]="lua", +   ["filename"]="publ-tra", +   ["loading"]="publ-ini.mkiv", +   ["status"]="pending", +  }, +  { +   ["category"]="lua", +   ["filename"]="publ-usr", +   ["loading"]="publ-ini.mkiv", +   ["status"]="pending", +  }, + }, + ["main"]={ +  { +   ["category"]="mkiv", +   ["filename"]="context", +   ["loading"]="parent", +   ["status"]="okay", +  }, +  { +   ["category"]="lus", +   ["comment"]="stub file for context", +   ["filename"]="context", +   ["loading"]="parent", +   ["status"]="okay", +  }, +  { +   ["category"]="tex", +   ["filename"]="metatex", +   ["loading"]="parent", +   ["status"]="pending", +  }, +  { +   ["category"]="lus", +   ["comment"]="stub file for metatex", +   ["filename"]="metatex", +   ["loading"]="parent", +   ["status"]="pending", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="cont-cs", +   ["loading"]="parent", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="cont-de", +   ["loading"]="parent", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="cont-en", +   ["loading"]="parent", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="cont-fr", +   ["loading"]="parent", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="cont-gb", +   ["loading"]="parent", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="cont-it", +   ["loading"]="parent", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="cont-nl", +   ["loading"]="parent", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="cont-pe", +   ["loading"]="parent", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="cont-ro", +   ["loading"]="parent", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["comment"]="we keep this around for historic reasons", +   ["filename"]="ppchtex", +   ["loading"]="never", +   ["status"]="okay",    },   }, - metafun = { + ["metafun"]={ +  { +   ["category"]="mpiv", +   ["comment"]="maybe more delayed loading", +   ["filename"]="metafun", +   ["loading"]="parent", +   ["status"]="okay", +  }, +  { +   ["category"]="mpiv", +   ["filename"]="mp-base", +   ["loading"]="always", +   ["status"]="okay", +  }, +  { +   ["category"]="mpiv", +   ["filename"]="mp-tool", +   ["loading"]="always", +   ["status"]="okay", +  }, +  { +   ["category"]="mpiv", +   ["filename"]="mp-mlib", +   ["loading"]="always", +   ["status"]="okay", +  }, +  { +   ["category"]="mpiv", +   ["comment"]="sort of obsolete", +   ["filename"]="mp-core", +   ["status"]="okay", +  },    { -   category = "mpiv", -   filename = "mp-base", -   loading  = "always", -   status   = "okay", +   ["category"]="mpiv", +   ["comment"]="maybe some nicer synonyms", +   ["filename"]="mp-page", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mpiv", -   filename = "mp-tool", -   loading  = "always", -   status   = "okay", +   ["category"]="mpiv", +   ["filename"]="mp-butt", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mpiv", -   filename = "mp-mlib", -   loading  = "always", -   status   = "okay", +   ["category"]="mpiv", +   ["filename"]="mp-shap", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mpiv", -   comment  = "sort of obsolete", -   filename = "mp-core", -   status   = "okay", +   ["category"]="mpiv", +   ["filename"]="mp-grph", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mpiv", -   comment  = "maybe some nicer synonyms", -   filename = "mp-page", -   loading  = "always", -   status   = "okay", +   ["category"]="mpiv", +   ["filename"]="mp-grid", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mpiv", -   filename = "mp-butt", -   loading  = "always", -   status   = "okay", +   ["category"]="mpiv", +   ["comment"]="a hack anyway", +   ["filename"]="mp-form", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mpiv", -   filename = "mp-shap", -   loading  = "always", -   status   = "okay", +   ["category"]="mpiv", +   ["filename"]="mp-figs", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mpiv", -   filename = "mp-grph", -   loading  = "always", -   status   = "okay", +   ["category"]="mpiv", +   ["filename"]="mp-func", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mpiv", -   filename = "mp-grid", -   loading  = "always", -   status   = "okay", +   ["category"]="mpiv", +   ["filename"]="mp-text", +   ["loading"]="on demand", +   ["status"]="todo",    },    { -   category = "mpiv", -   comment  = "a hack anyway", -   filename = "mp-form", -   loading  = "always", -   status   = "okay", +   ["category"]="mpiv", +   ["filename"]="mp-crop", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mpiv", -   filename = "mp-figs", -   loading  = "always", -   status   = "okay", +   ["category"]="mpiv", +   ["comment"]="follows m-chart", +   ["filename"]="mp-char", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mpiv", -   filename = "mp-func", -   loading  = "always", -   status   = "okay", +   ["category"]="mpiv", +   ["comment"]="follows m-steps", +   ["filename"]="mp-step", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mpiv", -   filename = "mp-text", -   loading  = "on demand", -   status   = "todo", +   ["category"]="mpiv", +   ["filename"]="mp-chem", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mpiv", -   filename = "mp-crop", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mpiv", +   ["comment"]="maybe some namespace changes", +   ["filename"]="mp-abck", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mpiv", -   comment  = "follows m-chart", -   filename = "mp-char", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mpiv", +   ["comment"]="maybe some namespace changes", +   ["filename"]="mp-apos", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mpiv", -   comment  = "follows m-steps", -   filename = "mp-step", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mpiv", +   ["comment"]="will be done when needed", +   ["filename"]="mp-asnc", +   ["loading"]="on demand", +   ["status"]="todo",    },    { -   category = "mpiv", -   filename = "mp-chem", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mpiv", +   ["filename"]="mp-back", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mpiv", -   comment  = "maybe some namespace changes", -   filename = "mp-abck", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mpiv", +   ["filename"]="mp-bare", +   ["loading"]="always", +   ["status"]="okay",    },    { -   category = "mpiv", -   comment  = "maybe some namespace changes", -   filename = "mp-apos", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mpiv", +   ["filename"]="mp-cows", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mpiv", -   comment  = "will be done when needed", -   filename = "mp-asnc", -   loading  = "on demand", -   status   = "todo", +   ["category"]="mpiv", +   ["filename"]="mp-fobg", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="mpiv", +   ["filename"]="mp-grap", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="mpiv", +   ["filename"]="mp-idea", +   ["loading"]="on demand", +   ["status"]="unknown", +  }, +  { +   ["category"]="mpiv", +   ["filename"]="mp-luas", +   ["loading"]="always", +   ["status"]="okay", +  }, +  { +   ["category"]="mpiv", +   ["filename"]="mp-symb", +   ["loading"]="on demand", +   ["status"]="okay",    },   }, - modules = { + ["modules"]={ +  { +   ["category"]="mkiv", +   ["comment"]="best use m-zint instead", +   ["filename"]="m-barcodes", +   ["loading"]="module", +   ["status"]="okay", +  }, +  { +   ["category"]="mkvi", +   ["filename"]="m-chart", +   ["loading"]="module", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["comment"]="this is a placeholder (chemistry is built-in)", +   ["filename"]="m-chemic", +   ["loading"]="never", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="m-cweb", +   ["status"]="todo", +  }, +  { +   ["category"]="mkiv", +   ["filename"]="m-database", +   ["status"]="okay", +  }, +  { +   ["category"]="mkvi", +   ["filename"]="m-nodechart", +   ["status"]="okay", +  }, +  { +   ["category"]="mkiv", +   ["comment"]="add-on for mtx-context", +   ["filename"]="m-directives", +   ["loading"]="on demand", +   ["status"]="okay", +  },    { -   category = "mkiv", -   comment  = "best use m-zint instead", -   filename = "m-barcodes", -   loading  = "module", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="m-educat", +   ["status"]="todo",    },    { -   category = "mkvi", -   filename = "m-chart", -   loading  = "module", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="m-fields", +   ["status"]="todo",    },    { -   category = "mkiv", -   comment  = "this is a placeholder (chemistry is built-in)", -   filename = "m-chemic", -   loading  = "never", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="m-format", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "m-cweb", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="m-graph", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "m-database", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="m-ipsum", +   ["loading"]="module", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "m-nodechart", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="m-json", +   ["loading"]="module", +   ["status"]="okay",    },    { -   category = "tex", -   filename = "m-datastrc", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="m-layout", +   ["status"]="todo",    },    { -   category = "mkiv", -   comment  = "add-on for mtx-context", -   filename = "m-directives", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="add-on for mtx-context", +   ["filename"]="m-logcategories", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "tex", -   filename = "m-educat", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="m-markdown", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "m-fields", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="m-mathcrap", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "m-format", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="m-mkii", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "m-graph", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="m-mkivhacks", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "m-ipsum", -   loading  = "module", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="m-morse", +   ["loading"]="module", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "m-json", -   loading  = "module", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="m-narrowtt", +   ["loading"]="module", +   ["status"]="okay",    },    { -   category = "tex", -   filename = "m-layout", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="m-ntb-to-xtb", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "add-on for mtx-context", -   filename = "m-logcategories", -   loading  = "on demand", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="m-obsolete", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "m-markdown", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="m-oldfun", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "m-mathcrap", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="m-oldnum", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "m-mkii", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="m-pictex", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "m-mkivhacks", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="m-pstricks", +   ["status"]="todo",    },    { -   category = "mkvi", -   filename = "m-morse", -   loading  = "module", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="keep an eye on changes in lua code", +   ["filename"]="m-punk", +   ["status"]="okay",    },    { -   category = "tex", -   filename = "m-narrowtt", -   loading  = "module", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="m-spreadsheet", +   ["status"]="okay",    },    { -   category = "tex", -   filename = "m-newmat", -   status   = "todo", +   ["category"]="mkvi", +   ["filename"]="m-steps", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "m-ntb-to-xtb", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="m-subsub", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "m-obsolete", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="m-sql", +   ["loading"]="module", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "m-oldfun", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="m-timing", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "m-oldnum", -   status   = "todo", +   ["category"]="mkiv", +   ["comment"]="add-on for mtx-context", +   ["filename"]="m-trackers", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "tex", -   filename = "m-pictex", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="m-translate", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "m-pstricks", -   status   = "todo", +   ["category"]="xsd", +   ["filename"]="x-chemml", +   ["status"]="todo",    },    { -   category = "mkiv", -   comment  = "keep an eye on changes in lua code", -   filename = "m-punk", -   status   = "okay", +   ["category"]="xsd", +   ["filename"]="x-contml", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "m-r", -   status   = "todo", +   ["category"]="rng", +   ["filename"]="x-corres", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "m-spreadsheet", -   status   = "okay", +   ["category"]="dtd", +   ["filename"]="x-fig-00", +   ["status"]="todo",    },    { -   category = "mkvi", -   filename = "m-steps", -   status   = "todo", +   ["category"]="xsd", +   ["filename"]="x-fig-00", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "m-streams", -   status   = "todo", +   ["category"]="ctx", +   ["filename"]="x-ldx", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "m-subsub", -   status   = "todo", +   ["category"]="xsd", +   ["filename"]="x-mathml", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "m-sql", -   loading  = "module", -   status   = "okay", +   ["category"]="xsl", +   ["filename"]="x-om2cml", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "m-timing", -   status   = "okay", +   ["category"]="xsl", +   ["filename"]="x-openmath", +   ["status"]="todo",    },    { -   category = "mkiv", -   comment  = "add-on for mtx-context", -   filename = "m-trackers", -   loading  = "on demand", -   status   = "okay", +   ["category"]="ctx", +   ["comment"]="runner for x-pfs-01", +   ["filename"]="x-pfsense", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "m-translate", -   status   = "okay", +   ["category"]="xsd", +   ["filename"]="x-physml", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "m-units", -   status   = "todo", +   ["category"]="xsl", +   ["filename"]="x-sm2om", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "m-visual", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="m-units", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "m-zint", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="m-visual", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-abr-01", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="m-zint", +   ["status"]="okay",    },    { -   category = "tex", -   filename = "s-abr-02", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-abr-01", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-abr-03", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-abr-02", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-abr-04", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-abr-03", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-art-01", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-abr-04", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-cdr-01", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-art-01", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-def-01", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-cdr-01", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-faq-00", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-def-01", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-faq-01", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-faq-00", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-faq-02", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-faq-01", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-faq-03", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-faq-02", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-fnt-10", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-faq-03", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-fnt-20", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-fnt-10", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-fnt-21", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-fnt-20", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-fnt-24", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-fnt-21", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-fnt-30", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-fnt-24", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-fonts-coverage", -   loading  = "s-fonts-coverage", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="s-fonts-coverage", +   ["loading"]="s-fonts-coverage", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "s-fonts-features", -   loading  = "s-fonts-features", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="s-fonts-features", +   ["loading"]="s-fonts-features", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "s-fonts-goodies", -   loading  = "s-fonts-goodies", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="s-fonts-goodies", +   ["loading"]="s-fonts-goodies", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "s-fonts-missing", -   loading  = "s-fonts-missing", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="s-fonts-missing", +   ["loading"]="s-fonts-missing", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "s-fonts-shapes", -   loading  = "s-fonts-shapes", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="s-fonts-shapes", +   ["loading"]="s-fonts-shapes", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "s-fonts-system", -   loading  = "s-fonts-system", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="s-fonts-system", +   ["loading"]="s-fonts-system", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "s-fonts-tables", -   loading  = "s-fonts-tables", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="s-fonts-tables", +   ["loading"]="s-fonts-tables", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "s-fonts-vectors", -   loading  = "s-fonts-vectors", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="s-fonts-vectors", +   ["loading"]="s-fonts-vectors", +   ["status"]="okay",    },    { -   category = "mkvi", -   filename = "s-inf-01", -   status   = "okay", +   ["category"]="mkvi", +   ["filename"]="s-inf-01", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "s-inf-02", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-inf-02", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-inf-03", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-inf-03", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-inf-04", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-inf-04", +   ["status"]="todo",    },    { -   category = "lua", -   filename = "s-languages-counters", -   loading  = "s-languages-counters", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="s-languages-counters", +   ["loading"]="s-languages-counters", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "s-languages-frequencies", -   loading  = "s-languages-frequencies", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="s-languages-frequencies", +   ["loading"]="s-languages-frequencies", +   ["status"]="okay",    },    { -   category = "lua", -   filename = "s-languages-hyphenation", -   loading  = "s-languages-hyphenation", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="s-languages-hyphenation", +   ["loading"]="s-languages-hyphenation", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "s-languages-sorting", -   loading  = "s-languages-sorting", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="s-languages-sorting", +   ["loading"]="s-languages-sorting", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "s-languages-system", -   loading  = "s-languages-system", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="s-languages-system", +   ["loading"]="s-languages-system", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "s-lan-03", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-mag-01", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-lan-04", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-map-10", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-lan-06", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="s-math-characters", +   ["loading"]="s-math-characters", +   ["status"]="okay",    },    { -   category = "tex", -   filename = "s-mag-01", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-math-coverage", +   ["loading"]="s-math-coverage", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "s-map-10", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-math-extensibles", +   ["loading"]="s-math-extensibles", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "s-math-characters", -   loading  = "s-math-characters", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="s-math-parameters", +   ["loading"]="s-math-parameters", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "s-math-coverage", -   loading  = "s-math-coverage", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="s-math-repertoire", +   ["loading"]="s-math-repertoire", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "s-math-extensibles", -   loading  = "s-math-extensibles", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="s-mod-00", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-math-parameters", -   loading  = "s-math-parameters", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="s-mod-01", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-math-repertoire", -   loading  = "s-math-repertoire", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="s-mod-02", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-mod-00", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-pages-statistics", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "s-mod-01", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-physics-units", +   ["loading"]="s-physics-units", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "s-mod-02", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-00", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-pages-statistics", -   status   = "okay", +   ["category"]="tex", +   ["filename"]="s-pre-01", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-physics-units", -   loading  = "s-physics-units", -   status   = "okay", +   ["category"]="tex", +   ["filename"]="s-pre-02", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-00", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-03", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-01", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-04", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-02", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-05", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-03", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-06", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-04", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-07", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-05", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-08", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-06", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-09", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-07", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-10", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-08", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-11", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-09", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-12", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-10", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-13", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-11", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-14", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-12", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-15", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-13", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-16", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-14", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-pre-17", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-15", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-18", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-16", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-19", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-17", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-22", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-18", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-23", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-19", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-26", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-22", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-27", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-23", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-pre-30", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-26", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-present-tiles", +   ["status"]="okay",    },    { -   category = "tex", -   filename = "s-pre-27", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-50", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-pre-30", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-pre-60", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-present-tiles", -   status   = "okay", +   ["category"]="tex", +   ["filename"]="s-pre-61", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-50", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-62", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-pre-60", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-63", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-61", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-64", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-62", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-66", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-63", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-67", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-64", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-68", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-66", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-pre-69", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-67", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-pre-70", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-68", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-pre-71", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-pre-69", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-93", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-pre-70", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="s-pre-96", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-pre-71", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-reg-01", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-pre-93", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="s-sql-tables", +   ["loading"]="s-sql-tables", +   ["status"]="okay",    },    { -   category = "tex", -   filename = "s-pre-96", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="x-asciimath", +   ["status"]="okay",    },    { -   category = "tex", -   filename = "s-ptj-01", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="x-calcmath", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-reg-01", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="x-cals", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-set-31", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="x-chemml", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "s-syn-01", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="x-ct", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "s-sql-tables", -   loading  = "s-sql-tables", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="x-entities", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "x-asciimath", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="x-foxet", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "x-calcmath", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="x-ldx", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "x-cals", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="x-mathml", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "x-chemml", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="x-newmml", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "x-ct", -   status   = "todo", +   ["category"]="mkiv", +   ["comment"]="pfsense xml configuration rendering", +   ["filename"]="x-pfs-01", +   ["status"]="okay",    },    { -   category = "tex", -   filename = "x-dir-01", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="x-physml", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "x-dir-05", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="x-res-01", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "x-entities", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="x-res-50", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "x-foxet", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="x-udhr", +   ["status"]="okay",    }, + }, + ["optional"]={    { -   category = "mkiv", -   filename = "x-ldx", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="bxml-apa", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "x-mathml", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="colo-run", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "x-newmml", -   status   = "todo", +   ["category"]="mkiv", +   ["comment"]="always needs some work", +   ["filename"]="cont-new", +   ["loading"]="runtime", +   ["status"]="todo",    },    { -   category = "mkiv", -   comment  = "pfsense xml configuration rendering", -   filename = "x-pfs-01", -   status   = "okay", +   ["category"]="mkiv", +   ["filename"]="font-run", +   ["loading"]="on demand", +   ["status"]="todo",    },    { -   category = "mkiv", -   filename = "x-physml", -   status   = "todo", +   ["category"]="mkiv", +   ["comment"]="this is an experimental module", +   ["filename"]="lxml-ctx", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "x-res-01", -   status   = "todo", +   ["category"]="mkiv", +   ["comment"]="this is historic code that we keep around", +   ["filename"]="meta-pdh", +   ["loading"]="never", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "x-res-50", -   status   = "todo", +   ["category"]="mkiv", +   ["comment"]="this is just a helper for generating files", +   ["filename"]="mult-prm", +   ["loading"]="never", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "x-set-11", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="page-run", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "x-set-12", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="spac-adj", +   ["loading"]="never", +   ["status"]="obsolete",    },    { -   category = "mkiv", -   filename = "x-udhr", -   status   = "okay", +   ["category"]="mkiv", +   ["comment"]="replaced by a more modern variant", +   ["filename"]="supp-vis", +   ["loading"]="never", +   ["status"]="obsolete",    },    { -   category = "mkiv", -   filename = "x-xtag", -   status   = "todo", +   ["category"]="mkiv", +   ["filename"]="symb-run", +   ["loading"]="on demand", +   ["status"]="okay",    },   }, - optional = { + ["patterns"]={    { -   category = "mkiv", -   filename = "bxml-apa", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lang-af", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "colo-run", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lang-agr", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   comment  = "always needs some work", -   filename = "cont-new", -   loading  = "runtime", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lang-ala", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "font-run", -   loading  = "on demand", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lang-bg", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "lxml-ctx", -   status   = "okay", -   comment  = "this is an experimental module", +   ["category"]="lua", +   ["filename"]="lang-ca", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "meta-pdh", -   loading  = "never", -   status   = "okay", -   comment  = "this is historic code that we keep around", +   ["category"]="lua", +   ["filename"]="lang-cs", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "mult-prm", -   loading  = "never", -   status   = "okay", -   comment  = "this is just a helper for generating files", +   ["category"]="lua", +   ["filename"]="lang-cy", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "page-run", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lang-da", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "spac-adj", -   loading  = "never", -   status   = "obsolete", +   ["category"]="lua", +   ["filename"]="lang-de", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "supp-vis", -   loading  = "never", -   status   = "obsolete", -   comment  = "replaced by a more modern variant", +   ["category"]="lua", +   ["filename"]="lang-deo", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "symb-run", -   loading  = "on demand", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lang-es", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "mkiv", -   filename = "type-run", -   loading  = "on demand", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lang-et", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="lang-eu", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="lang-fi", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="lang-fr", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="lang-gb", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="lang-hr", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="lang-hu", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="lang-is", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="lang-it", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="lang-la", +   ["loading"]="on demand", +   ["status"]="okay", +  }, +  { +   ["category"]="lua", +   ["filename"]="lang-lt", +   ["loading"]="on demand", +   ["status"]="okay",    }, - }, - resources = {    { -   category = "ori", -   comment  = "template for a user configuration file (with suffix mkiv)", -   filename = "cont-sys", -   loading  = "runtime", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lang-lv", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lmx", -   filename = "context-base", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lang-ml", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lmx", -   filename = "context-characters", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lang-mn", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lmx", -   filename = "context-debug", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lang-nb", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lmx", -   filename = "context-error", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lang-nl", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lmx", -   filename = "context-fonttest", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lang-nn", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lmx", -   filename = "context-help", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lang-pl", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "lmx", -   filename = "context-timing", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lang-pt", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "pdf", -   filename = "context-version", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lang-ro", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "png", -   filename = "context-version", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lang-ru", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "css", -   comment  = "layout specification for debug and error pages and web services", -   filename = "context", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lang-sk", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "rme", -   comment  = "readme file", -   filename = "context", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lang-sl", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "ctx", -   comment  = "example of a ctx file (for mtx-context)", -   filename = "core-ctx", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lang-sr", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "css", -   filename = "export-example", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lang-sv", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "rng", -   filename = "export-example", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lang-th", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "tex", -   filename = "export-example", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lang-tk", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "xml", -   comment  = "this file is auto-generated by mtx-language", -   filename = "lang-all", -   status   = "okay", +   ["category"]="lua", +   ["filename"]="lang-tr", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "xml", -   filename = "lpdf-pda", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lang-uk", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "xml", -   filename = "lpdf-pdx", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lang-us", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "rlx", -   filename = "rlxcache", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="lang-zh", +   ["loading"]="on demand", +   ["status"]="okay",    },    { -   category = "rlx", -   filename = "rlxtools", -   status   = "todo", +   ["category"]="lua", +   ["filename"]="word-xx", +   ["loading"]="on demand", +   ["status"]="okay", +  }, + }, + ["resources"]={ +  { +   ["category"]="ori", +   ["comment"]="template for a user configuration file (with suffix mkiv)", +   ["filename"]="cont-sys", +   ["loading"]="runtime", +   ["status"]="okay", +  }, +  { +   ["category"]="lmx", +   ["filename"]="context-base", +   ["status"]="todo", +  }, +  { +   ["category"]="lmx", +   ["filename"]="context-characters", +   ["status"]="todo", +  }, +  { +   ["category"]="lmx", +   ["filename"]="context-debug", +   ["status"]="todo", +  }, +  { +   ["category"]="lmx", +   ["filename"]="context-error", +   ["status"]="todo",    },    { -   category = "ctx", -   filename = "s-mod", -   status   = "todo", +   ["category"]="lmx", +   ["filename"]="context-fonttest", +   ["status"]="todo",    },    { -   category = "pdf", -   filename = "status-files", -   status   = "todo", +   ["category"]="lmx", +   ["filename"]="context-help", +   ["status"]="todo",    },    { -   category = "pdf", -   filename = "status-lua", -   status   = "todo", +   ["category"]="lmx", +   ["filename"]="context-timing", +   ["status"]="todo",    },    { -   category = "tex", -   filename = "status-mkiv", -   status   = "todo", +   ["category"]="pdf", +   ["filename"]="context-version", +   ["status"]="todo",    },    { -   category = "xsd", -   filename = "x-chemml", -   status   = "todo", +   ["category"]="png", +   ["filename"]="context-version", +   ["status"]="todo",    },    { -   category = "xsd", -   filename = "x-contml", -   status   = "todo", +   ["category"]="css", +   ["comment"]="layout specification for debug and error pages and web services", +   ["filename"]="context", +   ["status"]="okay",    },    { -   category = "rng", -   filename = "x-corres", -   status   = "todo", +   ["category"]="rme", +   ["comment"]="readme file", +   ["filename"]="context", +   ["status"]="okay",    },    { -   category = "dtd", -   filename = "x-fig-00", -   status   = "todo", +   ["category"]="ctx", +   ["comment"]="example of a ctx file (for mtx-context)", +   ["filename"]="core-ctx", +   ["status"]="okay",    },    { -   category = "xsd", -   filename = "x-fig-00", -   status   = "todo", +   ["category"]="css", +   ["filename"]="export-example", +   ["status"]="todo",    },    { -   category = "ctx", -   filename = "x-ldx", -   status   = "todo", +   ["category"]="rng", +   ["filename"]="export-example", +   ["status"]="todo",    },    { -   category = "xsd", -   filename = "x-mathml", -   status   = "todo", +   ["category"]="tex", +   ["filename"]="export-example", +   ["status"]="todo",    },    { -   category = "xsl", -   filename = "x-om2cml", -   status   = "todo", +   ["category"]="xml", +   ["comment"]="this file is auto-generated by mtx-language", +   ["filename"]="lang-all", +   ["status"]="okay",    },    { -   category = "xsl", -   filename = "x-openmath", -   status   = "todo", +   ["category"]="xml", +   ["filename"]="lpdf-pda", +   ["status"]="todo",    },    { -   category = "ctx", -   comment  = "runner for x-pfs-01", -   filename = "x-pfsense", -   status   = "okay", +   ["category"]="xml", +   ["filename"]="lpdf-pdx", +   ["status"]="todo",    },    { -   category = "xsd", -   filename = "x-physml", -   status   = "todo", +   ["category"]="rlx", +   ["filename"]="rlxcache", +   ["status"]="todo",    },    { -   category = "xsl", -   filename = "x-sm2om", -   status   = "todo", +   ["category"]="rlx", +   ["filename"]="rlxtools", +   ["status"]="todo", +  }, +  { +   ["category"]="ctx", +   ["filename"]="s-mod", +   ["status"]="todo", +  }, +  { +   ["category"]="pdf", +   ["filename"]="status-files", +   ["status"]="todo", +  }, +  { +   ["category"]="pdf", +   ["filename"]="status-lua", +   ["status"]="todo", +  }, +  { +   ["category"]="tex", +   ["filename"]="status-mkiv", +   ["status"]="todo", +  }, + }, + ["todo"]={ +  { +   ["category"]="lua", +   ["filename"]="core-run", +   ["status"]="idea",    },   },  } diff --git a/tex/context/base/mkiv/strc-num.lua b/tex/context/base/mkiv/strc-num.lua index d2181342a..98db1b42d 100644 --- a/tex/context/base/mkiv/strc-num.lua +++ b/tex/context/base/mkiv/strc-num.lua @@ -165,7 +165,7 @@ local function enhance()      enhance = nil  end -local function allocate(name,i) -- can be metatable +local function allocate(name,i) -- can be metatable but it's a bit messy      local cd = counterdata[name]      if not cd then          cd = { @@ -182,20 +182,24 @@ local function allocate(name,i) -- can be metatable      cd = cd.data      local ci = cd[i]      if not ci then -        ci = { -            number = 0, -            start  = 0, -            saved  = 0, -            step   = 1, -            range  = 1, -            offset = false, -            stop   = 0, -- via metatable: last, first, stop only for tracing -        } -        setmetatableindex(ci, function(t,s) return constructor[s](t,name,i) end) -        cd[i] = ci -        tobesaved[name][i] = { } -    else -        if enhance then enhance() end -- not stored in bytecode +        for i=1,i do +            if not cd[i] then +                ci = { +                    number = 0, +                    start  = 0, +                    saved  = 0, +                    step   = 1, +                    range  = 1, +                    offset = false, +                    stop   = 0, -- via metatable: last, first, stop only for tracing +                } +                setmetatableindex(ci, function(t,s) return constructor[s](t,name,i) end) +                cd[i] = ci +                tobesaved[name][i] = { } +            end +        end +    elseif enhance then +        enhance() -- not stored in bytecode      end      return ci  end diff --git a/tex/context/base/mkiv/syst-aux.mkiv b/tex/context/base/mkiv/syst-aux.mkiv index 0878719b5..96a377595 100644 --- a/tex/context/base/mkiv/syst-aux.mkiv +++ b/tex/context/base/mkiv/syst-aux.mkiv @@ -3040,7 +3040,7 @@     \endgroup}  %D \macros -%D   {writestring,writeline,writebanner, +%D   {writestring,writeline,  %D    writestatus,statuswidth,normalwritestatus}  %D  %D Maybe one didn't notice, but we've already introduced a @@ -3063,11 +3063,8 @@  \ifdefined\writestring \else -    \newtoks\everywritestring - -               \def\writedirect  {\immediate\write\statuswrite} -               \def\writeline    {\writedirect{}} -    \unexpanded\def\writestring#1{\begingroup\the\everywritestring\writedirect{#1}\endgroup} +    \unexpanded\def\writestring{\immediate\write\statuswrite} +    \unexpanded\def\writeline  {\writestring{}}  \fi @@ -3100,15 +3097,14 @@  %D a macro accepting two arguments and a boolean (in fact a  %D few macro's too). -\newif\ifdebuggerinfo - -\unexpanded\def\debuggerinfo#1#2% -  {\ifdebuggerinfo -     \writestatus{debugger}{#1:: #2}% -   \fi} - -\ifdefined\writestatus \else            \let\writestatus\normalwritestatus \fi -\ifdefined\writebanner \else \unexpanded\def\writebanner{\writestring}     \fi +% \newif\ifdebuggerinfo +% +% \unexpanded\def\debuggerinfo#1#2% +%   {\ifdebuggerinfo +%      \writestatus{debugger}{#1:: #2}% +%    \fi} +% +% \ifdefined\writestatus \else \let\writestatus\normalwritestatus \fi  % % % % % % % % % % % % % % % % % % % % % % % % diff --git a/tex/context/base/mkiv/syst-ini.mkiv b/tex/context/base/mkiv/syst-ini.mkiv index b2cc37f0c..02f0d89f6 100644 --- a/tex/context/base/mkiv/syst-ini.mkiv +++ b/tex/context/base/mkiv/syst-ini.mkiv @@ -1166,4 +1166,7 @@  \ifdefined\protrusionboundary \else \let\protrusionboundary\boundary   \fi  \ifdefined\wordboundary       \else \let\wordboundary      \noboundary \fi +\ifdefined\mathrulesfam       \else \newcount\mathrulesfam             \fi +\ifdefined\mathrulesmode      \else \newcount\mathrulesmode            \fi +  \protect \endinput diff --git a/tex/context/base/mkiv/syst-mes.mkiv b/tex/context/base/mkiv/syst-mes.mkiv index 4cd36e24b..3b16d7f97 100644 --- a/tex/context/base/mkiv/syst-mes.mkiv +++ b/tex/context/base/mkiv/syst-mes.mkiv @@ -11,12 +11,8 @@  %C therefore copyrighted by \PRAGMA. See mreadme.pdf for  %C details. -\newtoks\everywritestring - -\def\writedirect  {\immediate\write\statuswrite} -\def\writeline    {\writedirect{}} -\def\writestring#1{\begingroup\the\everywritestring\writedirect{#1}\endgroup} -\let\writebanner   \writestring +\def\writestring  {\immediate\write\statuswrite} +\def\writeline    {\writestring{}}  \let\message       \normalmessage  \endinput diff --git a/tex/context/base/mkiv/trac-deb.lua b/tex/context/base/mkiv/trac-deb.lua index 792ad9b56..9a0108368 100644 --- a/tex/context/base/mkiv/trac-deb.lua +++ b/tex/context/base/mkiv/trac-deb.lua @@ -332,6 +332,27 @@ local function trace_calls(n)      trace_calls = function() end  end +if LUATEXVERSION > 0.98 then + +    local editor = [[scite "-open:%filename%" -goto:%linenumber%]] + +    directives.register("system.editor",function(v) +        editor = v +    end) + +    callback.register("call_edit",function(filename,linenumber) +        if editor then +            editor = gsub(editor,"%%s",filename) +            editor = gsub(editor,"%%d",linenumber) +            editor = gsub(editor,"%%filename%%",filename) +            editor = gsub(editor,"%%linenumber%%",linenumber) +            logs.report("system","starting editor: %s",editor) +            os.execute(editor) +        end +    end) + +end +  directives.register("system.tracecalls", function(n) trace_calls(n) end) -- indirect is needed for nilling  implement { name = "showtrackers",       actions = trackers.show } diff --git a/tex/context/base/mkiv/trac-log.lua b/tex/context/base/mkiv/trac-log.lua index 6623e189c..b6bb123cf 100644 --- a/tex/context/base/mkiv/trac-log.lua +++ b/tex/context/base/mkiv/trac-log.lua @@ -114,6 +114,16 @@ if tex and (tex.jobname or tex.formatname) then          texio.setescape(0) -- or (false)      end +    if arg then +        -- we're don't have environment.arguments yet +        for k, v in next, arg do -- k can be negative ! +            if v == "--ansi" or v == "--c:ansi" then +                variant = "ansi" +                break +            end +        end +    end +      local function useluawrites()          -- quick hack, awaiting speedup in engine (8 -> 6.4 sec for --make with console2) diff --git a/tex/context/base/mkiv/trac-xml.lua b/tex/context/base/mkiv/trac-xml.lua index cd8b8c0a5..7906d76a8 100644 --- a/tex/context/base/mkiv/trac-xml.lua +++ b/tex/context/base/mkiv/trac-xml.lua @@ -169,6 +169,7 @@ function reporters.export(t,methods,filename)                  if filename then                      local fullname = file.replacesuffix(filename,method)                      t.report("saving export in %a",fullname) +                    dir.mkdirs(file.pathpart(fullname))                      io.savedata(fullname,result)                  else                      reporters.lines(t,result) diff --git a/tex/context/base/mkiv/type-set.mkiv b/tex/context/base/mkiv/type-set.mkiv index e2d7071d4..47d6e3257 100644 --- a/tex/context/base/mkiv/type-set.mkiv +++ b/tex/context/base/mkiv/type-set.mkiv @@ -121,4 +121,10 @@  \definefilesynonym [type-imp-mathdesigngaramond.mkiv]   [type-imp-mathdesign.mkiv]  \definefilesynonym [type-imp-mathdesignutopia.mkiv]     [type-imp-mathdesign.mkiv] +\definefilesynonym [type-imp-cows.mkiv]                 [type-imp-koeielettersot.mkiv] +\definefilesynonym [type-imp-sheep.mkiv]                [type-imp-koeielettersot.mkiv] +\definefilesynonym [type-imp-coloredcows.mkiv]          [type-imp-koeielettersot.mkiv] +\definefilesynonym [type-imp-coloredsheep.mkiv]         [type-imp-koeielettersot.mkiv] +\definefilesynonym [type-imp-koeieletters.mkiv]         [type-imp-koeielettersot.mkiv] +  \protect \endinput diff --git a/tex/context/base/mkiv/typo-bld.lua b/tex/context/base/mkiv/typo-bld.lua index 3f9d4429a..27171bfbd 100644 --- a/tex/context/base/mkiv/typo-bld.lua +++ b/tex/context/base/mkiv/typo-bld.lua @@ -46,6 +46,8 @@ local hpack_node         = nodes.hpack  local starttiming        = statistics.starttiming  local stoptiming         = statistics.stoptiming +local registercallback   = callbacks.register +  storage.register("builders/paragraphs/constructors/names",   names,   "builders.paragraphs.constructors.names")  storage.register("builders/paragraphs/constructors/numbers", numbers, "builders.paragraphs.constructors.numbers") @@ -172,7 +174,7 @@ end  function constructors.enable () enabled = true  end  function constructors.disable() enabled = false end -callbacks.register('linebreak_filter', processor, "breaking paragraps into lines") +registercallback('linebreak_filter', processor, "breaking paragraps into lines")  statistics.register("linebreak processing time", function()      return statistics.elapsedseconds(parbuilders) @@ -255,9 +257,9 @@ function builders.buildpage_filter(groupcode)      end  end -callbacks.register('vpack_filter',      builders.vpack_filter,      "vertical spacing etc") -callbacks.register('buildpage_filter',  builders.buildpage_filter,  "vertical spacing etc (mvl)") ----------.register('contribute_filter', builders.contribute_filter, "adding content to lists") +registercallback('vpack_filter',      builders.vpack_filter,      "vertical spacing etc") +registercallback('buildpage_filter',  builders.buildpage_filter,  "vertical spacing etc (mvl)") +----------------('contribute_filter', builders.contribute_filter, "adding content to lists")  statistics.register("v-node processing time", function()      return statistics.elapsedseconds(builders) @@ -296,7 +298,7 @@ local function vpack_quality(how,n,detail,first,last)  end  trackers.register("builders.vpack.quality",function(v) -    callback.register("vpack_quality",v and report_vpack_quality or nil) +    registercallback("vpack_quality",v and report_vpack_quality or nil,"check vpack quality")  end)  local report, show = false, false @@ -347,37 +349,40 @@ end  trackers.register("builders.hpack.quality",function(v)      report = v -    callback.register("hpack_quality",(report or show) and hpack_quality or nil) +    registercallback("hpack_quality",(report or show) and hpack_quality or nil,"check hpack quality")  end)  trackers.register("builders.hpack.overflow",function(v)      show = v -    callback.register("hpack_quality",(report or show) and hpack_quality or nil) +    registercallback("hpack_quality",(report or show) and hpack_quality or nil,"check hpack quality")  end)  -- local ignoredepth = - 65536000  -- --- callback.register("append_to_vlist_filter", function(box,location,prevdepth,mirrored) ---     if prevdepth > ignoredepth then ---         local b = tex.baselineskip ---         local d = b.width - prevdepth ---         local g = nil ---         if mirrored then ---             d = d - box.depth ---         else ---             d = d - box.height ---         end ---         if d < tex.lineskiplimit then ---             g = nodes.pool.glue() ---             g.spec = tex.lineskip +-- registercallback( +--     "append_to_vlist_filter", +--     function(box,location,prevdepth,mirrored), +--         if prevdepth > ignoredepth then +--             local b = tex.baselineskip +--             local d = b.width - prevdepth +--             local g = nil +--             if mirrored then +--                 d = d - box.depth +--             else +--                 d = d - box.height +--             end +--             if d < tex.lineskiplimit then +--                 g = nodes.pool.glue() +--                 g.spec = tex.lineskip +--             else +--                 g = nodes.pool.baselineskip(d) +--             end +--             g.next = box +--             box.prev = g +--             return g, mirrored and box.height or box.depth  --         else ---             g = nodes.pool.baselineskip(d) +--             return box, mirrored and box.height or box.depth  --         end ---         g.next = box ---         box.prev = g ---         return g, mirrored and box.height or box.depth ---     else ---         return box, mirrored and box.height or box.depth ---     end --- end) --- +--     end, +--     "experimental prevdepth checking" +-- ) diff --git a/tex/context/fonts/mkiv/koeielettersot.lfg b/tex/context/fonts/mkiv/koeielettersot.lfg new file mode 100644 index 000000000..74bf2dd49 --- /dev/null +++ b/tex/context/fonts/mkiv/koeielettersot.lfg @@ -0,0 +1,16 @@ +return { +    name = "koeielettersot", +    version = "1.00", +    comment = "Goodies that complement koeielettersot", +    author = "Hans Hagen", +    copyright = "ConTeXt development team", +    mathematics = { +        rules = { +            ["radical.extender"] = "radical.extender", +            ["radical.end"]      = "radical.end", +            ["hrule.begin"]      = "rule.begin", +            ["hrule.extender"]   = "rule.ex", +            ["hrule.end"]        = "rule.end", +        } +    } +} diff --git a/tex/context/fonts/mkiv/type-imp-koeielettersot.mkiv b/tex/context/fonts/mkiv/type-imp-koeielettersot.mkiv new file mode 100644 index 000000000..fc6640532 --- /dev/null +++ b/tex/context/fonts/mkiv/type-imp-koeielettersot.mkiv @@ -0,0 +1,153 @@ +%D \module +%D   [       file=type-cowotf, +%D        version=2016.09.16, +%D          title=\CONTEXT\ Typescript Macros, +%D       subtitle=Cow Fonts (otf version), +%D         author={Taco Hoekwater \& Hans Hagen}, +%D           date=\currentdate, +%D      copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +%D The cow fonts are a project of Duane Bibby, Hans Hagen and Taco +%D Hoekwater. + +\unprotect + +\definefontfeature +  [sheepdigits] +  [mode=node, +   script=latn, +   ss01=yes] + +\definefontfeature +  [cowslogos] +  [mode=node, +   script=latn, +   ss02=yes, +   dlig=yes] + +\definefontfeature +  [cowsligatures] +  [mode=node, +   script=latn, +   dlig=yes] + +\definefontfeature +  [cowscolors] +  [colr=yes, +   ss02=yes, +   dlig=yes] + +\definefontfeature +  [cowsdefault] +  [default] +  [mode=node, +   compose=yes] + +\definefontfeature +  [sheepdefault] +  [cowsdefault,sheepdigits] + +\definefontfeature +  [cowscolored] +  [cowsdefault,cowscolors] + +\definefontfeature +  [sheepcolored] +  [sheepdefault,cowscolors] + +\starttypescriptcollection[koeielettersot] + +    \loadfontgoodies[koeielettersot] + +    \starttypescript [\s!all] [cowsotf] +        \definefontsynonym [Cows]         [koeielettersot][\s!features=cowsdefault] +        \definefontsynonym [CowsLogo]     [koeielettersot][\s!features=cowslogos] +        \definefontsynonym [CowsMathRoman][koeielettersot][\s!goodies=koeielettersot] +    \stoptypescript + +    \starttypescript [\s!all] [koeielettersotf,sheepotf] +        \definefontsynonym [Sheep]         [koeielettersot][\s!features=sheepdefault] +        \definefontsynonym [SheepLogo]     [koeielettersot][\s!features=cowslogos] +        \definefontsynonym [SheepMathRoman][koeielettersot][\s!features=sheepdigits,\s!goodies=koeielettersot] +    \stoptypescript + +%   \definefontsynonym[\s!MathRoman][file:texgyredejavu-math][\s!features=\s!math\mathsizesuffix,\s!goodies=dejavu-math] + +    \starttypescript [\s!all] [coloredcowsotf] +        \definefontsynonym [Cows]         [koeielettersot][\s!features=cowscolored] +        \definefontsynonym [CowsLogo]     [koeielettersot][\s!features=cowslogos] +        \definefontsynonym [CowsMathRoman][koeielettersot][\s!goodies=koeielettersot] +    \stoptypescript + +    \starttypescript [\s!all] [coloredsheepotf] +        \definefontsynonym [Sheep]         [koeielettersot][\s!features=sheepcolored] +        \definefontsynonym [SheepLogo]     [koeielettersot][\s!features=cowslogos] +        \definefontsynonym [SheepMathRoman][koeielettersot][\s!features=sheepdigits,\s!goodies=koeielettersot] +    \stoptypescript + +    \starttypescript [\s!serif] [cowsotf,coloredcowsotf] +        \setups[\s!font:\s!fallback:\s!serif] +        \definefontsynonym [\s!Serif]     [Cows] +        \definefontsynonym [\s!Serif Logo][CowsLogo] +    \stoptypescript + +    \starttypescript [\s!serif] [koeielettersotf,sheepotf,coloredsheepotf] +        \setups[\s!font:\s!fallback:\s!serif] +        \definefontsynonym [\s!Serif]     [Sheep] +        \definefontsynonym [\s!Serif Logo][SheepLogo] +    \stoptypescript + +    \starttypescript [\s!math] [cowsotf,coloredcowsotf] +        \definefontsynonym [\s!MathRoman][CowsMathRoman] +        \enablemathrules % uses \fontclass, for now this way +    \stoptypescript + +    \starttypescript [\s!math] [koeielettersotf,sheepotf,coloredsheepotf] +        \definefontsynonym [\s!MathRoman][SheepMathRoman] +        \enablemathrules % uses \fontclass, for now this way +    \stoptypescript + +    \starttypescript [koeieletters,cows,sheep,coloredcows,coloredsheep] +        \definetypeface [\typescriptone][\s!rm][\s!serif][\typescriptone otf][\s!default] +        \definetypeface [\typescriptone][\s!ss][\s!serif][\typescriptone otf][\s!default] +        \definetypeface [\typescriptone][\s!mm][\s!math] [\typescriptone otf][\s!default] +        \definetypeface [\typescriptone][\s!tt][\s!mono] [modern]            [\s!default][\s!rscale=0.85] +    \stoptypescript + +\stoptypescriptcollection + +\protect + +\continueifinputfile{type-imp-koeielettersot.mkiv} + +\starttext + +% \loadtypescriptfile[cowotf] + +\definecolor[cowred]   [r=.50] +\definecolor[cowgreen] [g=.50] +\definecolor[cowblue]  [b=.50] +\definecolor[cowyellow][y=.25] + +% \startluacode +%     fonts.handlers.otf.registerpalette("demo", { +%         { g = .50 }, +%         { y = .25 }, +%         { b = .50 }, +%         { r = .50 }, +%     }) +% \stopluacode + +\definefontcolorpalette[cows][cowgreen,cowyellow,cowblue,cowred] + +\adaptfontfeature[cowscolored] [colr=cows] + +\setupbodyfont[coloredcows,12pt] + +\input zapf + +\stoptext diff --git a/tex/context/interface/mkiv/i-boxes.xml b/tex/context/interface/mkiv/i-boxes.xml index d88bf509c..3114bd100 100644 --- a/tex/context/interface/mkiv/i-boxes.xml +++ b/tex/context/interface/mkiv/i-boxes.xml @@ -979,9 +979,9 @@          </cd:arguments>      </cd:command> -    <cd:command name="beginvbox" file="supp-box.mkiv"> -    <cd:command name="beginhbox" file="supp-box.mkiv"> -    <cd:command name="endvbox" file="supp-box.mkiv"> -    <cd:command name="endhbox" file="supp-box.mkiv"> +    <cd:command name="beginvbox" file="supp-box.mkiv"/> +    <cd:command name="beginhbox" file="supp-box.mkiv"/> +    <cd:command name="endvbox" file="supp-box.mkiv"/> +    <cd:command name="endhbox" file="supp-box.mkiv"/>  </cd:interface> diff --git a/tex/context/interface/mkiv/i-chart.xml b/tex/context/interface/mkiv/i-chart.xml index 06c356041..66aa9e45f 100644 --- a/tex/context/interface/mkiv/i-chart.xml +++ b/tex/context/interface/mkiv/i-chart.xml @@ -66,10 +66,6 @@                      <cd:constant type="yes"/>                      <cd:constant type="no" default="yes"/>                  </cd:parameter> -                <cd:parameter name="autofocus"> -                    <cd:constant type="yes"/> -                    <cd:constant type="no" default="yes"/> -                </cd:parameter>                  <cd:parameter name="background">                      <cd:resolve name="value-background"/>                  </cd:parameter> diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf Binary files differindex a1495d79b..73f85f451 100644 --- a/tex/context/interface/mkiv/i-context.pdf +++ b/tex/context/interface/mkiv/i-context.pdf diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf Binary files differindex 6d5e65047..e653ee5fd 100644 --- a/tex/context/interface/mkiv/i-readme.pdf +++ b/tex/context/interface/mkiv/i-readme.pdf diff --git a/tex/context/modules/mkii/m-quest.mkii b/tex/context/modules/mkii/m-quest.mkii new file mode 100644 index 000000000..596abaa0a --- /dev/null +++ b/tex/context/modules/mkii/m-quest.mkii @@ -0,0 +1,232 @@ +%D \module +%D   [       file=m-invull, +%D        version=1995.01.10, +%D          title=\CONTEXT\ Extra Modules, +%D       subtitle=Exercise, +%D         author=Hans Hagen, +%D           date=\currentdate, +%D      copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +%I Invuloefeningen kunnen worden vormgegeven met het +%I de commando's: +%I +%I   \definieerinvulwoord[trefwoord]{woord,woord} +%I   \invulwoord[trefwoord] +%I   \invulwoord{woord,woord,...} +%I +%I Daarbij kan het een en ander worden ingesteld met +%I +%I   \stelinvullenin[status=,nummer=,links=,rechts=,letter=] +%P +%I Er zijn drie manieren om woorden in te vullen. De meest +%I eenvoudige is die waarbij de in te vullen woorden in de +%I tekst staan. +%I +%I   bla bla \invulwoord{een,alfa} bla bla bla bla bla bla +%I   bla bla bla bla bla bla bla bla \invulwoord{twee,beta}. +%I +%I De gezette tekst hangt af van de instellingen: +%I +%I   [status=leeg]             ________ +%I   [status=vol,nummer=1]     'een' respectievelijk 'twee' +%I   [status=vol,nummer=2]     'alfa' respectievelijk 'beta' +%I +%I Het nummer heeft dus betrekking op het volgnummer in de +%I opgegeven reeks. +%P +%I Bij de tweede manier worden eerste de alternatieven +%I gedefinieerd: +%I +%I   \definieerinvulwoord{een,alfa} +%I   \definieerinvulwoord{twee,beta} +%I +%I die vervolgens worden opgeroepen: +%I +%I   bla \invulwoord[+] bla bla bla bla bla bla bla bla bla +%I   bla bla bla bla bla bla bla bla bla bla \invulwoord[+]. +%I +%I De mogelijke instellingen komen overeen met die van de +%I eerste manier. +%P +%I De derde manier is een variant op de tweede. Bij grote +%I teksten kan men het overzicht kwijtraken. Het is daarom +%I mogelijk 'logische' namen toe te kennen aan woorden. +%I +%I   \definieerinvulwoord[a]{een,alfa} +%I   \definieerinvulwoord[b]{twee,beta} +%I +%I die vervolgens worden opgeroepen: +%I +%I   bla \invulwoord[a] bla bla bla bla bla bla bla bla bla +%I   bla bla bla bla bla bla bla bla bla bla \invulwoord[b]. +%I +%I Dit maakt het bovendien mogelijk woorden meerdere malen +%I (in een willekeurige volgorde op te roepen: +%I +%I   bla \invulwoord[a] bla \invulwoord[b] bla bla bla bla +%I   bla bla bla bla \invulwoord[b] bla bla \invulwoord[a]. +%P +%I Bij [status=leeg] wordt een streep gezet die in breedte +%I overeenkomt met het woord dat er eigenlijk hoort te +%I staan. De ingevulde tekst komt visueel daardoor overeen +%I met de in te vullen tekst, wat vergelijken vereenvoudigd. +%I +%I Met [status=reset] worden enkele tellers weer op 0 gezet. +%I Dit kan nodig zijn als meerdere invuloefeningen in een +%I tekst worden gezet. +%I +%I Als \versie[voorlopig] is ingesteld, worden bij invullers +%I zonder logische namen tussen haakjes de volgnummers +%I getoond. + +%S \startsetup +%S   \command +%S     [stelinvullenin] +%S   \type +%S     [\c!vars!] +%S   \variable +%S     [\c!letter] +%S     [\v!normaal,\v!vet,\v!schuin,\v!vetschuin,\v!type,\v!kap, +%S      \v!klein...,\c!command!] +%S     [\v!vet] +%S   \variable +%S     [\c!links] +%S     [\c!text!] +%S     [] +%S   \variable +%S     [\c!rechts] +%S     [\c!text!] +%S     [] +%S   \variable +%S     [\c!status] +%S     [\v!leeg,\v!vol,\v!reset] +%S     [\v!vol] +%S   \variable +%S     [\c!nummer] +%S     [\c!number!] +%S     [1] +%S   \variable +%S     [\c!lijn] +%S     [\v!aan,\v!uit] +%S     [\v!aan] +%S \stopsetup + +%S \startsetup +%S   \command +%S     [invulwoord] +%S   \type +%S     [\c!ref!,\c!opt!\c!val!\c!opt!\c!args!] +%S   \value +%S     [\c!text!] +%S \stopsetup + +%S \startsetup +%S   \command +%S     [definieerinvulwoord] +%S   \type +%S     [\c!ref!,\c!opt!\c!val!\c!args!] +%S   \value +%S     [\c!text!] +%S \stopsetup + +%  Mogelijke uitbreidingen +% +%  -  [breedte=<maat>,passend,ruim] +%  -  invullijst met nummers +%  -  weergeven lijst tijdens definitie blokkeren +%  -  door elkaar definieren + +\unprotect + +\definesystemvariable    {iv} + +\definereferenceconstant {fillin} {:iv:} + +\newcount\invulteller \newcount\invulput \newcount\invulget + +\def\stelinvullenin +  {\dosingleargument\dostelinvullenin} + +\def\dostelinvullenin[#1]% +  {\getparameters[\??iv][#1]% +   \doif\@@ivstate\v!reset +     {\global\invulput\zerocount +      \global\invulget\zerocount +      \let\@@ivstate\empty}} + +\def\definieerinvulwoord +  {\dosingleempty\dodefinieerinvulwoord} + +\def\dodefinieerinvulwoord[#1]#2% +  {\iffirstargument +     \setgvalue{\r!fillin#1}{\simpleinvulwoord{#2}}% +   \else +     \global\advance\invulput \plusone +     \setgvalue{\r!fillin\the\invulput}{\simpleinvulwoord{#2}}% +   \fi +   \doifconcepttracing +     {\ifnum\invulput>\zerocount +        \setbox\scratchbox\hbox{~\ttx(\the\invulput)}% +        \wd\scratchbox\zeropoint +        \box\scratchbox +        \par +      \fi}} + +\def\dosimpleinvulwoord#1% +  {\ifnum\@@ivnumber>\zerocount \advance\invulteller \plusone \fi +   \ifnum\invulteller=\@@ivnumber\relax +     \bgroup +     \doconvertfont\@@ivstyle +       {\@@ivleft +        \doifelse\@@ivstate\v!empty +          {\doifelse\@@ivrule\v!on\leeginvulwoord\geeninvulwoord} +          {\doifelse\@@ivrule\v!on\underbar      \firstofoneargument}% +        {#1}% +        \@@ivright}% +     \egroup +   \fi}% + +\def\simpleinvulwoord#1% +  {\ifnum\@@ivnumber>0 +     \invulteller\zerocount +     \processcommalist[#1]\dosimpleinvulwoord +   \else +     \dosimpleinvulwoord{#1}% +   \fi} + +\def\complexinvulwoord[#1]% +  {\bgroup +   \doifsomething{#1} +     {\global\advance\invulget \plusone +      \doconvertfont\@@ivstyle +        {\@@ivleft\getvalue{\r!fillin\the\invulget}\@@ivright}} +     {\doconvertfont\@@ivstyle +        {\@@ivleft\getvalue{\r!fillin           #1}\@@ivright}}% +   \egroup} + +\definecomplexorsimple\invulwoord + +\def\leeginvulwoord#1% +  {{\let\redounderbar\dodounderbar +    \def\dodounderbar##1{\redounderbar{\hphantom{##1}}}% +    \underbar{#1}}} + +\def\geeninvulwoord#1% +  {{\def\dodounderbar##1{\hphantom{##1}}% +    \underbar{#1}}} + +% when nummer > 0, then commalist processing; beware of $(1,2)$, use { } there + +\stelinvullenin +  [\c!number=0, +   \c!style=\v!bold, +   \c!rule=\v!on, +   \c!left=, +   \c!right=, +   \c!state=] + +\protect \endinput diff --git a/tex/context/modules/mkii/m-streams.mkii b/tex/context/modules/mkii/m-streams.mkii new file mode 100644 index 000000000..a8589a89c --- /dev/null +++ b/tex/context/modules/mkii/m-streams.mkii @@ -0,0 +1,446 @@ +%D \module +%D   [       file=m-streams, +%D        version=2006.03.21, +%D          title=\CONTEXT\ Modules, +%D       subtitle=Streams, +%D         author=Hans Hagen, +%D           date=\currentdate, +%D      copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +%D First we implement a simple left||right synchronization +%D mechanism, which we may perfect and extend over time. + +\unprotect + +\defineoutputstream [\v!left] +\defineoutputstream [\v!right] + +\definemarknote[\v!left] +\definemarknote[\v!right] + +\startsetups stream:\v!left:bottom +    \flushmarknotes[\v!left] +\stopsetups +\startsetups stream:\v!right:bottom +    \flushmarknotes[\v!right] +\stopsetups +\startsetups stream:\v!left:reset +   \erasemarknotes[\v!left] +\stopsetups +\startsetups stream:\v!right:reset +   \erasemarknotes[\v!right] +\stopsetups + +\def\LeftNote               {\setmarknote             [\v!left]}  % {#1} +\def\RightNote              {\setmarknote             [\v!right]} % {#1} +\def\SwitchToLeft           {\enableoutputstream      [\v!left]} +\def\SwitchToRight          {\enableoutputstream      [\v!right]} +\def\SwitchToNormal         {\enableoutputstream      [\s!default]} +\def\SynchronizeLeftAndRight{\synchronizeoutputstreams[\v!left,\v!right]} +\def\FlushLeftAndRight      {\flushoutputstreampages  [\v!left,\v!right]} + +\protect + +% \topskip     \strutheight +% \splittopskip\strutheight + +%D Example of usage: +%D +%D \starttyping +%D \nopenalties \setupinterlinespace[top=height] \setupcolors[state=start] +%D +%D \showgrid \showstruts +%D +%D \starttext +%D +%D \title{Whatever} \page +%D +%D \dorecurse {5} { +%D     \let\RecurseLevel\recurselevel +%D     \SwitchToLeft   \dorecurse{10}{\dontleavehmode{\tf\RecurseLevel:l \begstrut \input tufte \endstrut \endgraf}} +%D     \SwitchToRight  \dorecurse{10}{\dontleavehmode{\sl\RecurseLevel:r \begstrut \input knuth \endstrut \endgraf}} +%D     \SwitchToNormal \SynchronizeLeftAndRight +%D     \SwitchToLeft   \dorecurse{10}{\dontleavehmode{\bf\RecurseLevel:l \begstrut \input zapf  \endstrut \endgraf}} +%D     \SwitchToRight  \dorecurse{10}{\dontleavehmode{\bs\RecurseLevel:r \begstrut \input davis \endstrut \endgraf}} +%D     \SwitchToNormal \SynchronizeLeftAndRight +%D } +%D +%D \FlushLeftAndRight +%D +%D \stoptext +%D \stoptyping +%D +%D Another example: +%D +%D \starttyping +%D \nopenalties \setupinterlinespace[top=height] \setupcolors[state=start] +%D +%D \showgrid \showstruts +%D +%D \starttext +%D +%D \SwitchToNormal \FlushLeftAndRight \page +%D +%D \def\StartCouple{\page\SwitchToNormal} +%D \def\StopCouple {\SwitchToNormal \SynchronizeLeftAndRight \FlushLeftAndRight} +%D +%D \def\Original   {\SwitchToNormal\SynchronizeLeftAndRight\SwitchToLeft} +%D \def\Translation{\SwitchToRight} +%D +%D \StartCouple +%D \dorecurse{10} { +%D     \Original    o: \begstrut \inright{\blackrule}\input tufte   \endstrut \LeftNote {tufte}   \endgraf +%D     \Translation t: \begstrut \inleft {\blackrule}\input zapf    \endstrut \RightNote{zapf}    \endgraf +%D     \Original    o: \begstrut \inright{\blackrule}\input knuth   \endstrut \LeftNote {knuth}   \endgraf +%D     \Translation t: \begstrut \inleft {\blackrule}\input davis   \endstrut \RightNote{davis}   \endgraf +%D     \Original    o: \begstrut \inright{\blackrule}\input douglas \endstrut \LeftNote {douglas} \endgraf +%D     \Translation t: \begstrut \inleft {\blackrule}\input bryson  \endstrut \RightNote{bryson}  \endgraf +%D } +%D \StopCouple +%D \stoptext +%D \stoptyping + +%D Next we implement stream layers. + +\unprotect + +\def\overloadtextwidth#1% +  {\makeupwidth#1\relax +   \textwidth\makeupwidth +   \hsize\makeupwidth} + +\startsetups streamlayer:default:settings +  % set hsize etc, like \overloadtextwidth{12cm} +\stopsetups + +\startsetups streamlayer:default:extras +  % flush goodies, like local floats +\stopsetups + +\startsetups streamlayer:default:place +  \setlayer +    [\currentstreamlayer] +    [\c!preset=\v!left\v!top] +    {\outputstreambox[\currentstreamlayer]}% +\stopsetups + +\startsetups streamlayer:default:copy +  \setlayer +    [\currentstreamlayer] +    [\c!preset=\v!left\v!top] +    {\outputstreamcopy[\currentstreamlayer]}% +\stopsetups + +\startsetups streamlayer:default:reset +   \outputstreambox[\currentstreamlayer] +\stopsetups + +\startsetups streamlayer:default:flush +    \tightlayer[\currentstreamlayer] +\stopsetups + +\def\definestreamlayer +  {\dodoubleempty\dodefinestreamlayer} + +\def\dodefinestreamlayer[#1][#2]% +  {\defineoutputstream[#1]% +   \defineoutputstream[main]% +   \definelayer[#1][\c!method=\v!fit,\c!width=\textwidth,#2]} + +\def\dostreamsetups#1% +  {\doifsetupselse{streamlayer:\currentstreamlayer:#1} +     {\directsetup{streamlayer:\currentstreamlayer:#1}} +     {\directsetup{streamlayer:\s!default:#1}}} + +\def\startstreamlayer[#1]% +  {\bgroup +%    \def\startstreamlayer[##1]{\bgroup\let\stopstreamlayer\egroup}% +   \edef\currentstreamlayer{#1}% +   \enableoutputstream[main]% +   \synchronizeoutput +   \enableoutputstream[\currentstreamlayer]% +   \bgroup +   \dostreamsetups{settings}} + +\def\stopstreamlayer +  {\endgraf +   \egroup +   \disableoutputstream % \enableoutputstream[\s!default]% +   \outputstreambox[main]% +%    \dostreamsetups{place}% +%    \dostreamsetups{extras}% +%    \dostreamsetups{flush}% +   \egroup} + +\def\preparestreamlayer{\dosingleempty\dopreparestreamlayer} +\def\flushstreamlayer  {\dosingleempty\doflushstreamlayer  } +\def\placestreamlayer  {\dosingleempty\doplacestreamlayer  } + +\def\dopreparestreamlayer[#1]% +  {\bgroup +   \edef\currentstreamlayer{\iffirstargument#1\else\currentstreamlayer\fi}% +   \dostreamsetups{place}% +   \dostreamsetups{extras}% +%  \dostreamsetups{flush}% +   \egroup} + +\def\doflushstreamlayer[#1]% +  {\bgroup +   \edef\currentstreamlayer{\iffirstargument#1\else\currentstreamlayer\fi}% +   \dostreamsetups{flush}% +   \egroup} + +\def\doplacestreamlayer[#1]% +  {\preparestreamlayer[#1]% +   \flushstreamlayer[#1]} + +\protect + +%D Usage: + +%D \starttyping +%D \setupinterlinespace[top=height] +%D +%D \setupcolors[state=start] +%D +%D \definestreamlayer[block] +%D +%D \definemeasure[localtextwidth] [\dimexpr.7\textwidth\relax] +%D \definemeasure[localfloatwidth][\dimexpr.3\textwidth-2\bodyfontsize\relax] +%D +%D \startsetups streamlayer:block:settings +%D   \hsize=\measure{localtextwidth} +%D   \setupfloat[figure][maxwidth=\measure{localfloatwidth}] +%D \stopsetups +%D +%D \startsetups streamlayer:block:extras +%D   \setuplocalfloats +%D     [before=\blank, +%D      after=\blank, +%D      inbetween=\blank] +%D   \setbox\scratchbox\vbox{\hsize\measure{localfloatwidth}\getlocalfloats} +%D   \ifdim\ht\scratchbox>\thelayerheight\currentstreamlayer\relax +%D     % more float than text +%D     \setlayerframed +%D       [\currentstreamlayer] +%D       [preset=righttop] +%D       [frame=off, +%D        offset=overlay] +%D       {\box\scratchbox} +%D   \else +%D     % more text than float +%D     \setuplocalfloats +%D       [before=\vfill, +%D        after=\removedepth\vfill, +%D        inbetween=\removedepth\vfill] +%D     \setlayerframed +%D       [\currentstreamlayer] +%D       [preset=righttop] +%D       [frame=off, +%D        offset=overlay] +%D       {\vbox to \thelayerheight\currentstreamlayer {\hsize\measure{localfloatwidth}\getlocalfloats}} +%D   \fi +%D   \resetlocalfloats +%D \stopsetups +%D +%D \startsetups streamlayer:block:place +%D   \setlayerframed +%D     [\currentstreamlayer] +%D     [preset=lefttop] +%D     [frame=off, +%D      offset=overlay] +%D     {\outputstreambox[\currentstreamlayer]}% +%D \stopsetups +%D +%D \startsetups streamlayer:block:flush +%D    \framed +%D      [offset=overlay, +%D       frame=off, +%D       background=color, +%D       backgroundcolor=red] +%D      {\tightlayer[\currentstreamlayer]} +%D \stopsetups +%D +%D \setupbodyfont[small] +%D +%D \starttext +%D +%D \dorecurse {10} { +%D     \startstreamlayer[block] +%D         \title{Sample \recurselevel} +%D         \input tufte \endgraf +%D         \placefigure[local]{}{} +%D         \placefigure[local]{}{} +%D         \ifodd\recurselevel\relax \placefigure[local]{}{} \fi +%D         \startitemize[columns] +%D             \item xxx +%D             \item xxx +%D             \item xxx +%D             \item xxx +%D             \item xxx +%D         \stopitemize +%D     \stopstreamlayer +%D     \placestreamlayer[block] +%D } +%D +%D \dorecurse {10} { +%D     \startstreamlayer[block] +%D         \title{Sample \recurselevel} +%D         \startcolumns +%D             \input tufte +%D         \stopcolumns +%D     \stopstreamlayer +%D     \placestreamlayer[block] +%D } +%D +%D \stoptext +%D \stoptyping + +\def\starttextstreamlayer +  {\startstreamlayer} + +\def\stoptextstreamlayer +  {\endgraf +   % maybe depth if no proper depth and no skip +   \removelastskip +   \stopstreamlayer} + +\def\placetextstreamlayer{\placestreamlayer} + +%D \starttyping +%D \definestreamlayer[whatever][width=12cm] +%D +%D \startstreamlayer[whatever] +%D   \startitemize[columns,two][after=] +%D     \item one +%D     \item two +%D     \item three +%D     \item four +%D   \stopitemize +%D \stopstreamlayer +%D +%D \framed[strut=no,align=normal]{\placestreamlayer[whatever]\obeydepth} +%D +%D \starttextstreamlayer[whatever] +%D   \startitemize[columns,two] +%D     \item one +%D     \item two +%D     \item three +%D     \item four +%D   \stopitemize +%D \stoptextstreamlayer +%D +%D \framed[strut=no]{\placetextstreamlayer[whatever]} +%D \stoptyping + +\endinput + +\setupinterlinespace[top=height] + +\setupcolors[state=start] + +\definestreamlayer[block] + +\definemeasure[localtextwidth] [\dimexpr.7\textwidth\relax] +\definemeasure[localfloatwidth][\dimexpr.3\textwidth-2\bodyfontsize\relax] + +\startsetups streamlayer:block:settings +  \hsize=\measure{localtextwidth} +  \setupfloat[figure][maxwidth=\measure{localfloatwidth}] +\stopsetups + +\startsetups streamlayer:block:extras +  \setuplocalfloats +    [before=\whitespace\blank, +     after=\whitespace\blank, +     inbetween=\whitespace\blank] +  \setbox\scratchbox\vbox{\hsize\measure{localfloatwidth}\getlocalfloats} +  \ifdim\ht\scratchbox>\thelayerheight\currentstreamlayer\relax +    % more float than text +    \setlayerframed +      [\currentstreamlayer] +      [preset=righttop] +      [frame=off, +       offset=overlay] +      {\box\scratchbox} +  \else +    % more text than float +    \setuplocalfloats +      [before=\vfill, +       after=\removedepth\vfill, +       inbetween=\removedepth\vfill] +    \setlayerframed +      [\currentstreamlayer] +      [preset=righttop] +      [frame=off, +       offset=overlay] +      {\vbox to \thelayerheight\currentstreamlayer {\hsize\measure{localfloatwidth}\getlocalfloats}} +  \fi +  \resetlocalfloats +\stopsetups + +\startsetups streamlayer:block:place +  \setlayerframed +    [\currentstreamlayer] +    [preset=lefttop] +    [frame=off, +     offset=overlay] +    {\outputstreambox[\currentstreamlayer]}% +\stopsetups + +\startsetups streamlayer:block:flush +   \framed +     [offset=overlay, +      frame=off, +      background=color, +      backgroundcolor=red] +     {\tightlayer[\currentstreamlayer]} +\stopsetups + +\setupbodyfont[small] + +\starttext + +% \definestreamlayer[block] +% +% \startstreamlayer[block] +%     \title{Sample \recurselevel} +%     \startcolumns +%         \dorecurse{4}{\input tufte \par} +%     \stopcolumns +% \stopstreamlayer +% \placestreamlayer[block] + +\dorecurse {10} { +    \startstreamlayer[block] +        \title{Sample \recurselevel} +        \input tufte \endgraf +        \placefigure[local]{}{} +        \placefigure[local]{}{} +        \ifodd\recurselevel\relax \placefigure[local]{}{} \fi +        \startitemize[columns] +            \item xxx +            \item xxx +            \item xxx +            \item xxx +            \item xxx +        \stopitemize +    \stopstreamlayer +    \placestreamlayer[block] +} + +\dorecurse {10} { +    \startstreamlayer[block] +        \title{Sample \recurselevel} +        \startcolumns +            \input tufte +        \stopcolumns +    \stopstreamlayer +    \placestreamlayer[block] +} + +\stoptext diff --git a/tex/context/modules/mkiv/m-chart.lua b/tex/context/modules/mkiv/m-chart.lua index 549b3c213..5a9311387 100644 --- a/tex/context/modules/mkiv/m-chart.lua +++ b/tex/context/modules/mkiv/m-chart.lua @@ -581,6 +581,7 @@ local function process_connections(chart,xoffset,yoffset)      local settings = chart.settings      for i=1,#data do          local cell = visible(chart,data[i]) +-- local cell = data[i]          if cell then              local connections = cell.connections              for j=1,#connections do @@ -590,7 +591,7 @@ local function process_connections(chart,xoffset,yoffset)                  if othercell then -- and visible(chart,data[i]) then                      local cellx, celly = cell.x, cell.y                      local otherx, othery, location = othercell.x, othercell.y, connection.location -                    if otherx > 0 and othery > 0 and cellx > 0 and celly > 0 and connection.location then +                    if otherx > 0 and othery > 0 and cellx > 0 and celly > 0 and location then                          local what_cell, where_cell, what_other, where_other = lpegmatch(what,location)                          if what_cell and where_cell and what_other and where_other then                              local linesettings = settings.line @@ -733,7 +734,6 @@ local function getchart(settings,forced_x,forced_y,forced_nx,forced_ny)          print("no such chart",chartname)          return      end --- chart = table.copy(chart)      chart = expanded(chart,settings)      local chartsettings = chart.settings.chart      local autofocus = chart.settings.chart.autofocus @@ -762,6 +762,14 @@ local function getchart(settings,forced_x,forced_y,forced_nx,forced_ny)              if miny == 0 or y > maxy then maxy = y end          end      end +-- optional: +if x + nx > maxx then +    nx = maxx - x + 1 +end +if y + ny > maxy then +    ny = maxy - y + 1 +end +    --   -- print("1>",x,y,nx,ny)   -- print("2>",minx, miny, maxx, maxy)      -- check of window should be larger (maybe autofocus + nx/ny?) @@ -878,9 +886,9 @@ local function makechart(chart)      context("flow_chart_offset := %p ;",offset)      --      context("flow_reverse_y := true ;") -if chartsettings.option == v_test then -    context("flow_draw_test_shapes ;") -end +    if chartsettings.option == v_test then +        context("flow_draw_test_shapes ;") +    end      process_cells(chart,0,0)      process_connections(chart,0,0)      process_texts(chart,0,0) @@ -919,9 +927,9 @@ local function splitchart(chart)          if done then              last_x = to_x          end --- if first_x >= to_x then ---     break --- end +     -- if first_x >= to_x then +     --     break +     -- end          local part_y = 0          local first_y = from_y          while true do @@ -931,31 +939,31 @@ local function splitchart(chart)              if done then                  last_y = to_y              end --- if first_y >= to_y then ---     break --- end +         -- if first_y >= to_y then +         --     break +         -- end              -- -local data = chart.data -for i=1,#data do -    local cell = data[i] ---     inspect(cell) -    local cx, cy = cell.x, cell.y -    if cx >= first_x and cx <= last_x then -        if cy >= first_y and cy <= last_y then -            report_chart("part (%s,%s) of %a is split from (%s,%s) -> (%s,%s)",part_x,part_y,name,first_x,first_y,last_x,last_y) -            local x  = first_x -            local y  = first_y -            local nx = last_x - first_x + 1 -            local ny = last_y - first_y + 1 -            context.beforeFLOWsplit() -            context.handleFLOWsplit(function() -                makechart(getchart(settings,x,y,nx,ny)) -- we need to pass frozen settings ! -            end) -            context.afterFLOWsplit() -            break -        end -    end -end +            local data = chart.data +            for i=1,#data do +                local cell = data[i] +            --     inspect(cell) +                local cx, cy = cell.x, cell.y +                if cx >= first_x and cx <= last_x then +                    if cy >= first_y and cy <= last_y then +                        report_chart("part (%s,%s) of %a is split from (%s,%s) -> (%s,%s)",part_x,part_y,name,first_x,first_y,last_x,last_y) +                        local x  = first_x +                        local y  = first_y +                        local nx = last_x - first_x + 1 +                        local ny = last_y - first_y + 1 +                        context.beforeFLOWsplit() +                        context.handleFLOWsplit(function() +                            makechart(getchart(settings,x,y,nx,ny)) -- we need to pass frozen settings ! +                        end) +                        context.afterFLOWsplit() +                        break +                    end +                end +            end              --              if done then                  break diff --git a/tex/context/modules/mkiv/m-graph.mkiv b/tex/context/modules/mkiv/m-graph.mkiv index 71af14cc8..8946732d0 100644 --- a/tex/context/modules/mkiv/m-graph.mkiv +++ b/tex/context/modules/mkiv/m-graph.mkiv @@ -26,6 +26,7 @@  \startMPdefinitions{graph}      loadmodule "grap" ; +%     input mp-grap.mpiv ;  \stopMPdefinitions  \protect @@ -71,8 +72,6 @@      label.rt(formatted("(@j,@j)",(1.23,4.56)),(0cm,-5.0cm)) ;  \stopMPpage -\stoptext -  % \startMPpage[instance=graph]  % draw begingraph(3in,2in);  %     gdraw "t:/metapost/grphdata/agepop91.d"; @@ -131,3 +130,5 @@  %     autogrid(otick.bot,otick.rt);  % endgraph;  % \stopMPpage + +\stoptext diff --git a/tex/context/modules/mkiv/s-inf-01.mkvi b/tex/context/modules/mkiv/s-inf-01.mkvi index 2c0c1681e..2fda9997a 100644 --- a/tex/context/modules/mkiv/s-inf-01.mkvi +++ b/tex/context/modules/mkiv/s-inf-01.mkvi @@ -39,7 +39,7 @@          "colo%-pan.tex", ".*test.*"      }      local types = { -        "tex", "mkii", "mkiv", "mkvi", "lua" +        "tex", "mkii", "mkiv", "mkvi", "lua", -- "mpiv"      }      local patterns = {          "^([a-z][a-z][a-z][a-z])%-[a-z0-9%-]+%.[a-z]+", @@ -150,7 +150,7 @@          for k, v in table.sortedpairs(what) do              local c = what == size and comp[k] or nope              context.NC() -            context("%s~%s~~%s~~%s", +            context("\\bf %s~%s~~%s~~%s",                  (used.mkii[k] and "ii") or "~~",                  (used.mkiv[k] and "iv") or "~~",                  (used.mkvi[k] and "vi") or "~~", @@ -197,7 +197,7 @@  \starttexdefinition Top #what#fraction#total#bigones      \hbox to 5em{\hss#total}%      \enspace -    \hbox {#what\ifnum#total=#bigones\else~#bigones\rlap{~+}\fi\hss}% +    \hbox {{\bf#what}\ifnum#total=#bigones\else~#bigones\rlap{~+}\fi\hss}%  \stoptexdefinition  \starttexdefinition Bar #color#size#nobigones#fraction @@ -225,19 +225,26 @@  \stoptexdefinition  \starttexdefinition Up #color#width -    \scratchdimen#width\dimexpr 16em\relax +%     \scratchdimen#width\dimexpr 16em\relax +    \scratchdimen#width\dimexpr 40em\relax      \ifdim\scratchdimen=\zeropoint          \kern1em +    \else\ifdim\scratchdimen>13em +        \blackrule[color=bar:#color,height=15em,width=1em]% +        \hskip-1.1em +        \blackrule[color=white,height=14em,width=1.2em]% +        \hskip-1.1em +        \blackrule[color=bar:#color,height=13em,width=1em]%      \else          \ifdim\scratchdimen<\onepoint \scratchdimen\onepoint \fi          \blackrule[color=bar:#color,height=\scratchdimen,width=1em]% -    \fi +    \fi\fi  \stoptexdefinition  \starttexdefinition Show #title#how#what      \startTEXpage[offset=1em,width=fit]          \hbox{\tttf\strut\currentdate~-~#title} -        \par +        \blank[line]          \ctxlua{document.context_state_\number#how("#what")}      \stopTEXpage  \stoptexdefinition @@ -249,7 +256,7 @@          {The number of files used in ConTeXt (base modules and styles).}          {1}{number}      \Show -        {The size of (core) files used in ConTeXt (- indicates exclusion of large data files; + indicates inclusion of large data files; comment and spaces removed.)} +        {The size of (core) files used in ConTeXt (- : large data files excluded; + : large data files included; comment and spaces removed)}          {1}{size}      \Show          {The relative number of files used in ConTeXt (tex, mkii, mkiv, mkvi, lua).} diff --git a/tex/context/modules/mkiv/x-html.mkiv b/tex/context/modules/mkiv/x-html.mkiv index e1806eb9e..723872dfd 100644 --- a/tex/context/modules/mkiv/x-html.mkiv +++ b/tex/context/modules/mkiv/x-html.mkiv @@ -148,9 +148,11 @@  %  % we can also use \xmlmap for border etc +% \registerctxluafile{lxml-css}{1.001} +  \starttexdefinition cssgetsinglepadding #1     \ctxlua { -     context((moduledata.css.padding( +     context((xml.css.padding(           "#1",           \number\dimexpr0.1ex,           \number\dimexpr0.01\hsize, diff --git a/tex/context/modules/mkiv/x-math-svg.mkvi b/tex/context/modules/mkiv/x-math-svg.mkvi new file mode 100644 index 000000000..4645f75d8 --- /dev/null +++ b/tex/context/modules/mkiv/x-math-svg.mkvi @@ -0,0 +1,65 @@ +%D \module +%D   [       file=x-math-svg, +%D        version=2014.09.19, +%D          title=\CONTEXT\ XML Modules, +%D       subtitle=\MATHML\ to \SVG, +%D         author=Hans Hagen, +%D           date=\currentdate, +%D      copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\writestatus{loading}{ConTeXt XML Macros / MathML to SVG Converter} + +\usemodule[x][mathml] + +\registerctxluafile{x-math-svg}{} + +\starttexdefinition MakeSVGMath #index#page#mode +    \setbox\scratchbox\hbox\bgroup +        \xmlprocessbuffer{main}{math-#page}{} +    \egroup +    \ctxlua { +        moduledata.svgmath.register(#index, #page, { +            mode   = "#mode", +            width  = \number\wd\scratchbox, +            height = \number\ht\scratchbox, +            depth  = \number\dp\scratchbox, +        } ) +    } +    \startTEXpage +        \box\scratchbox +    \stopTEXpage +\stoptexdefinition + +\starttexdefinition ReuseSVGMath #index#page +    \ctxlua { +        moduledata.svgmath.register(#index,#page) +    } +\stoptexdefinition + +% assume the same font .. what to do with size + +\startluacode + +    local svgstyle = document.arguments.svgstyle or "" + +    if type(svgstyle) == "string" and svgstyle ~= "" then +        context.environment { svgstyle } +    else +        context.setupbodyfont { "pagella" } +    end + +\stopluacode + +% \continueifinputfile{x-math-svg.mkvi} + +\starttext + +    \startluacode +        moduledata.svgmath.process(environment.arguments.inputfile) +    \stopluacode + +\stoptext diff --git a/tex/context/sample/common/carrol.tex b/tex/context/sample/common/carrol.tex new file mode 100644 index 000000000..1b653d69c --- /dev/null +++ b/tex/context/sample/common/carrol.tex @@ -0,0 +1,5 @@ +The fraction of fossil olfactory receptor genes is significantly +higher in all species with full color vision. This suggests that +the evolution of trichromatic vision --- which allows these +primates to detect food, mates, and danger with visual cues --- +has reduced their reliance on the sense of smell. diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 773811860..c0b459689 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@  -- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua  -- parent file : c:/data/develop/context/sources/luatex-fonts.lua --- merge date  : 09/12/16 18:27:00 +-- merge date  : 09/23/16 10:13:56  do -- begin closure to overcome local limits and interference @@ -2018,6 +2018,7 @@ if not modules then modules={} end modules ['l-io']={    license="see context related readme files"  }  local io=io +local open,flush,write,read=io.open,io.flush,io.write,io.read  local byte,find,gsub,format=string.byte,string.find,string.gsub,string.format  local concat=table.concat  local floor=math.floor @@ -2034,15 +2035,13 @@ local function readall(f)    local size=f:seek("end")    if size==0 then      return "" -  elseif size<1024*1024 then -    f:seek("set",0) +  end +  f:seek("set",0) +  if size<1024*1024 then      return f:read('*all')    else -    local done=f:seek("set",0)      local step -    if size<1024*1024 then -      step=1024*1024 -    elseif size>16*1024*1024 then +    if size>16*1024*1024 then        step=16*1024*1024      else        step=floor(size/(1024*1024))*1024*1024/8 @@ -2060,7 +2059,7 @@ local function readall(f)  end  io.readall=readall  function io.loaddata(filename,textmode)  -  local f=io.open(filename,(textmode and 'r') or 'rb') +  local f=open(filename,(textmode and 'r') or 'rb')    if f then      local data=readall(f)      f:close() @@ -2069,8 +2068,53 @@ function io.loaddata(filename,textmode)      end    end  end +function io.copydata(source,target,action) +  local f=open(source,"rb") +  if f then +    local g=open(target,"wb") +    if g then +      local size=f:seek("end") +      if size==0 then +      else +        f:seek("set",0) +        if size<1024*1024 then +          local data=f:read('*all') +          if action then +            data=action(data) +          end +          if data then +            g:write(data) +          end +        else +          local step +          if size>16*1024*1024 then +            step=16*1024*1024 +          else +            step=floor(size/(1024*1024))*1024*1024/8 +          end +          while true do +            local data=f:read(step) +            if data then +              if action then +                data=action(data) +              end +              if data then +                g:write(data) +              end +            else +              break +            end +          end +        end +      end +      g:close() +    end +    f:close() +    flush() +  end +end  function io.savedata(filename,data,joiner) -  local f=io.open(filename,"wb") +  local f=open(filename,"wb")    if f then      if type(data)=="table" then        f:write(concat(data,joiner or "")) @@ -2080,14 +2124,14 @@ function io.savedata(filename,data,joiner)        f:write(data or "")      end      f:close() -    io.flush() +    flush()      return true    else      return false    end  end  function io.loadlines(filename,n)  -  local f=io.open(filename,'r') +  local f=open(filename,'r')    if not f then    elseif n then      local lines={} @@ -2113,7 +2157,7 @@ function io.loadlines(filename,n)    end  end  function io.loadchunk(filename,n) -  local f=io.open(filename,'rb') +  local f=open(filename,'rb')    if f then      local data=f:read(n or 1024)      f:close() @@ -2123,7 +2167,7 @@ function io.loadchunk(filename,n)    end  end  function io.exists(filename) -  local f=io.open(filename) +  local f=open(filename)    if f==nil then      return false    else @@ -2132,7 +2176,7 @@ function io.exists(filename)    end  end  function io.size(filename) -  local f=io.open(filename) +  local f=open(filename)    if f==nil then      return 0    else @@ -2141,11 +2185,11 @@ function io.size(filename)      return s    end  end -function io.noflines(f) +local function noflines(f)    if type(f)=="string" then -    local f=io.open(filename) +    local f=open(filename)      if f then -      local n=f and io.noflines(f) or 0 +      local n=f and noflines(f) or 0        f:close()        return n      else @@ -2160,6 +2204,7 @@ function io.noflines(f)      return n    end  end +io.noflines=noflines  local nextchar={    [ 4]=function(f)      return f:read(1,1,1,1) @@ -2237,16 +2282,16 @@ function io.bytes(f,n)  end  function io.ask(question,default,options)    while true do -    io.write(question) +    write(question)      if options then -      io.write(format(" [%s]",concat(options,"|"))) +      write(format(" [%s]",concat(options,"|")))      end      if default then -      io.write(format(" [%s]",default)) +      write(format(" [%s]",default))      end -    io.write(format(" ")) -    io.flush() -    local answer=io.read() +    write(format(" ")) +    flush() +    local answer=read()      answer=gsub(answer,"^%s*(.*)%s*$","%1")      if answer=="" and default then        return default @@ -2655,13 +2700,15 @@ function file.robustname(str,strict)      end    end  end -file.readdata=io.loaddata -file.savedata=io.savedata +local loaddata=io.loaddata +local savedata=io.savedata +file.readdata=loaddata +file.savedata=savedata  function file.copy(oldname,newname)    if oldname and newname then -    local data=io.loaddata(oldname) +    local data=loaddata(oldname)      if data and data~="" then -      file.savedata(newname,data) +      savedata(newname,data)      end    end  end @@ -20391,10 +20438,12 @@ function otf.dataset(tfmdata,font)      }      rs[language]=rl      local sequences=tfmdata.resources.sequences -    for s=1,#sequences do -      local v=enabled and initialize(sequences[s],script,language,enabled,autoscript,autolanguage) -      if v then -        rl[#rl+1]=v +    if sequences then +      for s=1,#sequences do +        local v=enabled and initialize(sequences[s],script,language,enabled,autoscript,autolanguage) +        if v then +          rl[#rl+1]=v +        end        end      end    end @@ -23221,31 +23270,62 @@ if not modules then modules={} end modules ['font-ocl']={    license="see context related readme files"  }  local tostring,next,format=tostring,next,string.format +local round,max=math.round,math.round  local formatters=string.formatters +local tounicode=fonts.mappings.tounicode +local graytorgb=attributes.colors.graytorgb +local cmyktorgb=attributes.colors.cmyktorgb  local otf=fonts.handlers.otf -local f_color_start=formatters["pdf:direct: %f %f %f rg"] -local s_color_stop="pdf:direct:" +local f_color=formatters["pdf:direct:%f %f %f rg"] +local f_gray=formatters["pdf:direct:%f g"] +local s_black="pdf:direct:0 g"  if context then    local startactualtext=nil    local stopactualtext=nil -  function otf.getactualtext(n) +  function otf.getactualtext(s)      if not startactualtext then -      startactualtext=backends.codeinjections.startunicodetoactualtext -      stopactualtext=backends.codeinjections.stopunicodetoactualtext +      startactualtext=backends.codeinjections.startunicodetoactualtextdirect +      stopactualtext=backends.codeinjections.stopunicodetoactualtextdirect      end -    return startactualtext(n),stopactualtext() +    return startactualtext(s),stopactualtext()    end  else    local tounicode=fonts.mappings.tounicode16 -  function otf.getactualtext(n) -    return "/Span << /ActualText <feff"..tounicode(n).."> >> BDC","EMC" +  function otf.getactualtext(s) +    return +      "/Span << /ActualText <feff"..n.."> >> BDC", +      "EMC" +  end +end +local sharedpalettes={} +function otf.registerpalette(name,values) +  sharedpalettes[name]=values +  for i=1,#values do +    local v=values[i] +    local r,g,b +    local s=v.s +    if s then +      r,g,b=graytorgb(s) +    else +      local c,m,y,k=v.c,v.m,v.y,v.k +      if c or m or y or k then +        r,g,b=cmyktorgb(c or 0,m or 0,y or 0,k or 0) +      else +        r,g,b=v.r,v.g,v.b +      end +    end +    values[i]={ +      max(r and round(r*255) or 0,255), +      max(g and round(g*255) or 0,255), +      max(b and round(b*255) or 0,255) +    }    end  end  local function initializecolr(tfmdata,kind,value)     if value then      local palettes=tfmdata.resources.colorpalettes      if palettes then -      local palette=palettes[tonumber(value) or 1] or palettes[1] or {} +      local palette=sharedpalettes[value] or palettes[tonumber(value) or 1] or palettes[1] or {}        local classes=#palette        if classes==0 then          return @@ -23260,7 +23340,12 @@ local function initializecolr(tfmdata,kind,value)        }        for i=1,classes do          local p=palette[i] -        colorvalues[i]={ "special",f_color_start(p[1]/255,p[2]/255,p[3]/255) } +        local r,g,b=p[1],p[2],p[3] +        if r==g and g==b then +          colorvalues[i]={ "special",f_gray(r/255) } +        else +          colorvalues[i]={ "special",f_color(r/255,g/255,b/255) } +        end        end        local getactualtext=otf.getactualtext        for unicode,character in next,characters do @@ -23268,22 +23353,24 @@ local function initializecolr(tfmdata,kind,value)          if description then            local colorlist=description.colors            if colorlist then -            local b,e=getactualtext(unicode) +            local b,e=getactualtext(tounicode(characters[unicode].unicode or 0xFFFD))              local w=character.width or 0              local s=#colorlist -            local n=1              local t={ -              { "special","pdf:direct: q "..b } +              { "special","pdf:page:q" }, +              { "special","pdf:raw:"..b }              } +            local n=#t              for i=1,s do                local entry=colorlist[i] -              n=n+1 t[n]=colorvalues[entry.class] +              n=n+1 t[n]=colorvalues[entry.class] or s_black                n=n+1 t[n]={ "char",entry.slot }                if s>1 and i<s and w~=0 then                  n=n+1 t[n]={ "right",-w }                end              end -            n=n+1 t[n]={ "special","pdf:direct:"..e.." Q" } +            n=n+1 t[n]={ "special","pdf:page:"..e } +            n=n+1 t[n]={ "special","pdf:raw:Q" }              character.commands=t            end          end  | 
