From 07ac7b09a67d45e2dc971efc584f7f9ae7207669 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Fri, 24 Jul 2020 17:15:33 +0200 Subject: 2020-07-24 15:18:00 --- tex/context/base/mkii/cont-new.mkii | 2 +- tex/context/base/mkii/context.mkii | 2 +- tex/context/base/mkii/mult-de.mkii | 193 ++++++++++++ tex/context/base/mkiv/cont-new.mkiv | 2 +- tex/context/base/mkiv/context.mkiv | 2 +- tex/context/base/mkiv/context.mkxl | 4 +- tex/context/base/mkiv/luat-run.lua | 1 + tex/context/base/mkiv/mult-low.lua | 3 +- tex/context/base/mkiv/mult-prm.lua | 3 +- tex/context/base/mkiv/spac-par.lmt | 70 +++++ tex/context/base/mkiv/spac-par.mkiv | 22 +- tex/context/base/mkiv/spac-par.mkxl | 339 +++++++++++++++++++++ tex/context/base/mkiv/status-files.pdf | Bin 27809 -> 27839 bytes tex/context/base/mkiv/status-lua.pdf | Bin 254762 -> 254844 bytes tex/context/interface/mkii/keys-de.xml | 193 ++++++++++++ tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 16 files changed, 815 insertions(+), 23 deletions(-) create mode 100644 tex/context/base/mkiv/spac-par.lmt create mode 100644 tex/context/base/mkiv/spac-par.mkxl (limited to 'tex') diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii index 5dfe01da9..3729922c6 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{2020.07.22 21:15} +\newcontextversion{2020.07.24 15:15} %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 00fd9716e..5c4c39b74 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{2020.07.22 21:15} +\edef\contextversion{2020.07.24 15:15} %D For those who want to use this: diff --git a/tex/context/base/mkii/mult-de.mkii b/tex/context/base/mkii/mult-de.mkii index 12d0f460b..923e871bc 100644 --- a/tex/context/base/mkii/mult-de.mkii +++ b/tex/context/base/mkii/mult-de.mkii @@ -128,6 +128,9 @@ \setinterfacevariable{camel}{camel} \setinterfacevariable{cap}{kap} \setinterfacevariable{capital}{versalien} +\setinterfacevariable{category}{category} +\setinterfacevariable{cd:character}{cd:character} +\setinterfacevariable{cd:font}{cd:font} \setinterfacevariable{center}{center} \setinterfacevariable{centerlast}{centerlast} \setinterfacevariable{chapter}{kapitel} @@ -186,6 +189,7 @@ \setinterfacevariable{external}{extern} \setinterfacevariable{extremestretch}{extremestretch} \setinterfacevariable{fact}{gegeben} +\setinterfacevariable{fallback}{fallback} \setinterfacevariable{february}{februar} \setinterfacevariable{field}{field} \setinterfacevariable{figure}{abbildung} @@ -804,8 +808,10 @@ \setinterfaceconstant{extras}{extras} \setinterfaceconstant{factor}{faktor} \setinterfaceconstant{fallback}{fallback} +\setinterfaceconstant{fallbacks}{fallbacks} \setinterfaceconstant{family}{familie} \setinterfaceconstant{features}{features} +\setinterfaceconstant{featureset}{featureset} \setinterfaceconstant{fences}{fences} \setinterfaceconstant{field}{field} \setinterfaceconstant{fieldbackgroundcolor}{feldhintergrundfarbe} @@ -880,6 +886,7 @@ \setinterfaceconstant{increment}{erhoehen} \setinterfaceconstant{incrementnumber}{nummererhoehen} \setinterfaceconstant{indenting}{einziehen} +\setinterfaceconstant{indentlist}{indentlist} \setinterfaceconstant{indentnext}{ziehefolgendeein} \setinterfaceconstant{index}{index} \setinterfaceconstant{indicator}{indikator} @@ -1084,6 +1091,7 @@ \setinterfaceconstant{period}{period} \setinterfaceconstant{place}{platziere} \setinterfaceconstant{placehead}{setzekopf} +\setinterfaceconstant{placeholder}{placeholder} \setinterfaceconstant{placestopper}{setzetrenner} \setinterfaceconstant{position}{position} \setinterfaceconstant{prefix}{prefix} @@ -1367,8 +1375,18 @@ \setinterfacecommand{Word}{Wort} \setinterfacecommand{Words}{Woerter} \setinterfacecommand{about}{ueber} +\setinterfacecommand{adaptfontfeature}{adaptfontfeature} \setinterfacecommand{adaptlayout}{passelayoutan} +\setinterfacecommand{addfeature}{addfeature} +\setinterfacecommand{alignbottom}{alignbottom} +\setinterfacecommand{aligned}{aligned} +\setinterfacecommand{alignedbox}{alignedbox} +\setinterfacecommand{alignedline}{alignedline} +\setinterfacecommand{alignhere}{alignhere} \setinterfacecommand{alignment}{alignment} +\setinterfacecommand{alignmentcharacter}{alignmentcharacter} +\setinterfacecommand{applytocharacters}{applytocharacters} +\setinterfacecommand{applytofirstcharacter}{applytofirstcharacter} \setinterfacecommand{arg}{arg} \setinterfacecommand{at}{bei} \setinterfacecommand{atleftmargin}{atleftmargin} @@ -1380,9 +1398,13 @@ \setinterfacecommand{blackrules}{rechtecke} \setinterfacecommand{blank}{blanko} \setinterfacecommand{bookmark}{bookmark} +\setinterfacecommand{bottombox}{bottombox} \setinterfacecommand{bottomdistance}{abstandunten} \setinterfacecommand{bottomheight}{hoeheunten} +\setinterfacecommand{bottomleftbox}{bottomleftbox} +\setinterfacecommand{bottomrightbox}{bottomrightbox} \setinterfacecommand{bottomspace}{bottomspace} +\setinterfacecommand{buildtextbottomdot}{buildtextbottomdot} \setinterfacecommand{but}{but} \setinterfacecommand{button}{knopf} \setinterfacecommand{bypassblocks}{bypassblocks} @@ -1421,8 +1443,11 @@ \setinterfacecommand{defineblock}{definiereblock} \setinterfacecommand{definebodyfont}{definierefliesstext} \setinterfacecommand{definebodyfontenvironment}{definierefliesstextumgebung} +\setinterfacecommand{definebodyfontswitch}{definebodyfontswitch} \setinterfacecommand{definebuffer}{definierepuffer} \setinterfacecommand{definecharacter}{definierezeichen} +\setinterfacecommand{definecharacterkerning}{definecharacterkerning} +\setinterfacecommand{definecharacterspacing}{definecharacterspacing} \setinterfacecommand{definecolor}{definierefarbe} \setinterfacecommand{definecolorgroup}{definierefarbengruppe} \setinterfacecommand{definecolumnbreak}{definecolumnbreak} @@ -1432,37 +1457,57 @@ \setinterfacecommand{definecommand}{definierebefehl} \setinterfacecommand{defineconversion}{definierekonversion} \setinterfacecommand{definedescription}{definierebeschreibung} +\setinterfacecommand{definedfont}{definedfont} \setinterfacecommand{defineenumeration}{definierenummerierung} +\setinterfacecommand{definefallbackfamily}{definefallbackfamily} \setinterfacecommand{definefield}{definierefeld} \setinterfacecommand{definefieldstack}{definierefeldstapel} \setinterfacecommand{definefiguresymbol}{definiereabbsymbol} +\setinterfacecommand{definefilefallback}{definefilefallback} +\setinterfacecommand{definefirstline}{definefirstline} \setinterfacecommand{definefloat}{definieregleitobjekt} \setinterfacecommand{definefont}{definiereschrift} +\setinterfacecommand{definefontalternative}{definefontalternative} +\setinterfacecommand{definefontfallback}{definefontfallback} +\setinterfacecommand{definefontfamily}{definefontfamily} +\setinterfacecommand{definefontfamilypreset}{definefontfamilypreset} +\setinterfacecommand{definefontfeature}{definefontfeature} +\setinterfacecommand{definefontfile}{definefontfile} +\setinterfacecommand{definefontsize}{definefontsize} +\setinterfacecommand{definefontsolution}{definefontsolution} \setinterfacecommand{definefontstyle}{definiereschriftstil} \setinterfacecommand{definefontsynonym}{defineschriftsynonym} \setinterfacecommand{defineframed}{definiereumrahmt} \setinterfacecommand{defineframedtext}{definiereumrahmtertext} +\setinterfacecommand{definefrozenfont}{definefrozenfont} \setinterfacecommand{definehbox}{definierehbox} \setinterfacecommand{definehead}{definiereueberschrift} +\setinterfacecommand{definehyphenationfeatures}{definehyphenationfeatures} \setinterfacecommand{defineindentedtext}{defineindentedtext} \setinterfacecommand{defineinmargin}{defineinmargin} \setinterfacecommand{defineinteractionmenu}{definiereinteraktionsmenue} \setinterfacecommand{defineitemgroup}{defineitemgroup} +\setinterfacecommand{defineitems}{defineitems} \setinterfacecommand{definelabel}{definierelabel} \setinterfacecommand{definelayer}{definelayer} \setinterfacecommand{definelayout}{definelayout} +\setinterfacecommand{definelinenote}{definelinenote} \setinterfacecommand{definelist}{definiereliste} \setinterfacecommand{definelogo}{definierelogo} \setinterfacecommand{definemainfield}{definierehauptfeld} \setinterfacecommand{definemakeup}{definiereumbruch} \setinterfacecommand{definemarking}{definierebeschriftung} \setinterfacecommand{definemathalignment}{definemathalignment} +\setinterfacecommand{definemode}{definemode} +\setinterfacecommand{definenamedcolor}{definenamedcolor} +\setinterfacecommand{definenote}{definenote} \setinterfacecommand{defineoutput}{defineoutput} \setinterfacecommand{defineoverlay}{definiereoverlay} \setinterfacecommand{definepagebreak}{definepagebreak} \setinterfacecommand{definepalet}{definierepalette} \setinterfacecommand{definepapersize}{definierepapierformat} \setinterfacecommand{defineparagraphs}{definiereabsaetze} +\setinterfacecommand{defineperiodkerning}{defineperiodkerning} \setinterfacecommand{defineplacement}{defineplacement} \setinterfacecommand{defineprofile}{definiereprofil} \setinterfacecommand{defineprogram}{definiereprogramme} @@ -1484,33 +1529,45 @@ \setinterfacecommand{definetabulate}{definieretabulator} \setinterfacecommand{definetext}{definieretext} \setinterfacecommand{definetextbackground}{definetextbackground} +\setinterfacecommand{definetextnote}{definetextnote} \setinterfacecommand{definetextposition}{definetextposition} \setinterfacecommand{definetextvariable}{definetextvariable} \setinterfacecommand{definetype}{definetype} \setinterfacecommand{definetyping}{definieretippen} \setinterfacecommand{defineversion}{definiereversion} +\setinterfacecommand{depthspanningtext}{depthspanningtext} \setinterfacecommand{determineheadnumber}{bestimmekopfnummer} \setinterfacecommand{determinelistcharacteristics}{bestimmelistencharakeristika} \setinterfacecommand{determineregistercharacteristics}{bestimmeregistercharakteristika} \setinterfacecommand{dimension}{dimension} \setinterfacecommand{disableinteractionmenu}{inaktiviereinteraktionsmenue} +\setinterfacecommand{disablemode}{disablemode} +\setinterfacecommand{doaddfeature}{doaddfeature} \setinterfacecommand{domicile}{wohnort} +\setinterfacecommand{dontconvertfont}{dontconvertfont} \setinterfacecommand{donttest}{keintest} \setinterfacecommand{edgedistance}{randabstand} \setinterfacecommand{edgewidth}{randbreite} +\setinterfacecommand{emphasisboldface}{emphasisboldface} \setinterfacecommand{emptylines}{emptylines} +\setinterfacecommand{enablemode}{enablemode} \setinterfacecommand{environment}{umgebung} \setinterfacecommand{externalfigure}{externeabbildung} \setinterfacecommand{fact}{geg} +\setinterfacecommand{fastswitchtobodyfont}{fastswitchtobodyfont} +\setinterfacecommand{feature}{feature} \setinterfacecommand{field}{feld} \setinterfacecommand{fieldstack}{feldstapel} \setinterfacecommand{fillinfield}{ausfuellfeld} \setinterfacecommand{fillinline}{gefuelltezeile} \setinterfacecommand{fillinrules}{gefuelltesrechteck} \setinterfacecommand{fillintext}{ausfuelltext} +\setinterfacecommand{firstcharacter}{firstcharacter} \setinterfacecommand{fitfield}{passendfeld} +\setinterfacecommand{fittopbaselinegrid}{fittopbaselinegrid} \setinterfacecommand{fixedspace}{festesspatium} \setinterfacecommand{fixedspaces}{festesspatium} +\setinterfacecommand{flushnotes}{flushnotes} \setinterfacecommand{followprofile}{folgeprofil} \setinterfacecommand{followprofileversion}{folgeprofilversion} \setinterfacecommand{followversion}{folgeversion} @@ -1519,13 +1576,19 @@ \setinterfacecommand{footnote}{fussnote} \setinterfacecommand{footnotetext}{footnotetext} \setinterfacecommand{forceblocks}{forceblocks} +\setinterfacecommand{forcecharacterstripping}{forcecharacterstripping} \setinterfacecommand{formulanumber}{formelnummer} \setinterfacecommand{fraction}{bruch} \setinterfacecommand{framed}{umrahmt} \setinterfacecommand{from}{von} +\setinterfacecommand{fromlinenote}{fromlinenote} \setinterfacecommand{getbuffer}{holepuffer} +\setinterfacecommand{getfirstcharacter}{getfirstcharacter} \setinterfacecommand{getmarking}{holebeschriftung} \setinterfacecommand{getnumber}{getnumber} +\setinterfacecommand{globaldisablemode}{globaldisablemode} +\setinterfacecommand{globalenablemode}{globalenablemode} +\setinterfacecommand{globalpreventmode}{globalpreventmode} \setinterfacecommand{godown}{nachunten} \setinterfacecommand{goto}{zu} \setinterfacecommand{gotobox}{zurbox} @@ -1541,6 +1604,7 @@ \setinterfacecommand{headnumber}{kopfnummer} \setinterfacecommand{headsym}{headsym} \setinterfacecommand{headtext}{ueberschrifttext} +\setinterfacecommand{heightspanningtext}{heightspanningtext} \setinterfacecommand{hideblocks}{verbergebloecke} \setinterfacecommand{high}{hoch} \setinterfacecommand{hl}{hl} @@ -1572,26 +1636,37 @@ \setinterfacecommand{interactionbuttons}{interaktionsknopfe} \setinterfacecommand{interactionmenu}{interaktionsmenue} \setinterfacecommand{item}{pos} +\setinterfacecommand{itemgroup}{itemgroup} \setinterfacecommand{items}{posten} +\setinterfacecommand{itemtag}{itemtag} \setinterfacecommand{its}{its} \setinterfacecommand{keepblocks}{behaltebloecke} +\setinterfacecommand{kerncharacters}{kerncharacters} \setinterfacecommand{label}{label} \setinterfacecommand{labels}{labels} \setinterfacecommand{labeltext}{labeltext} \setinterfacecommand{language}{sprache} +\setinterfacecommand{languageCharacters}{languageCharacters} +\setinterfacecommand{languagecharacters}{languagecharacters} \setinterfacecommand{leftaligned}{linksbuendig} +\setinterfacecommand{leftbottombox}{leftbottombox} \setinterfacecommand{leftedgedistance}{abstandlinkerrand} \setinterfacecommand{leftedgewidth}{breitelinkerrand} +\setinterfacecommand{leftline}{leftline} \setinterfacecommand{leftmargindistance}{linkemarginalafstand} \setinterfacecommand{leftmarginwidth}{linkemarginalbreite} \setinterfacecommand{leg}{leg} \setinterfacecommand{linecorrection}{linecorrection} +\setinterfacecommand{linenote}{linenote} +\setinterfacecommand{linespanningtext}{linespanningtext} \setinterfacecommand{linewidth}{liniendicke} \setinterfacecommand{listheight}{listenhoehe} \setinterfacecommand{listlength}{listenlaenge} \setinterfacecommand{listsymbol}{listsymbol} \setinterfacecommand{listwidth}{listenbreite} +\setinterfacecommand{loadfontgoodies}{loadfontgoodies} \setinterfacecommand{localfootnotes}{localfootnotes} +\setinterfacecommand{localnotes}{localnotes} \setinterfacecommand{logfields}{registrierefelder} \setinterfacecommand{lohi}{tiho} \setinterfacecommand{low}{tief} @@ -1622,6 +1697,7 @@ \setinterfacecommand{nodimension}{keindimension} \setinterfacecommand{noheaderandfooterlines}{keinekopfundfusszeilen} \setinterfacecommand{noindenting}{nichteinziehen} +\setinterfacecommand{noitem}{noitem} \setinterfacecommand{nolist}{keineliste} \setinterfacecommand{nomarking}{keinebeschriftung} \setinterfacecommand{nomoreblocks}{keinebloeckemehr} @@ -1629,6 +1705,7 @@ \setinterfacecommand{nop}{nop} \setinterfacecommand{nospace}{keinspatium} \setinterfacecommand{note}{notiz} +\setinterfacecommand{notesymbol}{notesymbol} \setinterfacecommand{notopandbottomlines}{keinzeilenobenundunten} \setinterfacecommand{notsmallcapped}{nokap} \setinterfacecommand{nowhitespace}{keinzwischenraum} @@ -1640,6 +1717,7 @@ \setinterfacecommand{outermarginwidth}{outermarginwidth} \setinterfacecommand{packed}{kleinerdurchschuss} \setinterfacecommand{page}{seite} +\setinterfacecommand{pagebreak}{pagebreak} \setinterfacecommand{pagedepth}{pagedepth} \setinterfacecommand{pagenumber}{seitenummer} \setinterfacecommand{pageoffset}{pageoffset} @@ -1658,7 +1736,10 @@ \setinterfacecommand{placelist}{platziereliste} \setinterfacecommand{placelistofsynonyms}{placelistofsynonyms} \setinterfacecommand{placelocalfootnotes}{platzierelokalefussnoten} +\setinterfacecommand{placelocalnotes}{placelocalnotes} \setinterfacecommand{placelogos}{platzierelogo} +\setinterfacecommand{placenamedfloat}{placenamedfloat} +\setinterfacecommand{placenotes}{placenotes} \setinterfacecommand{placeongrid}{amgitterausrichten} \setinterfacecommand{placeontopofeachother}{platziereuntereinander} \setinterfacecommand{placepagenumber}{placepagenumber} @@ -1671,9 +1752,17 @@ \setinterfacecommand{placetextvariable}{placetextvariable} \setinterfacecommand{position}{position} \setinterfacecommand{positiontext}{positiontext} +\setinterfacecommand{postponenotes}{postponenotes} +\setinterfacecommand{postponingnotes}{postponingnotes} +\setinterfacecommand{predefinedfont}{predefinedfont} +\setinterfacecommand{predefinefont}{predefinefont} +\setinterfacecommand{presetdocument}{presetdocument} +\setinterfacecommand{prettyprintbuffer}{prettyprintbuffer} +\setinterfacecommand{preventmode}{preventmode} \setinterfacecommand{printpaperheight}{printpapierhoehe} \setinterfacecommand{printpaperwidth}{printpapierbreite} \setinterfacecommand{processblocks}{bearbeitebloecke} +\setinterfacecommand{processbodyfontenvironmentlist}{processbodyfontenvironmentlist} \setinterfacecommand{processpage}{bearbeiteseite} \setinterfacecommand{product}{produkt} \setinterfacecommand{program}{programm} @@ -1683,19 +1772,45 @@ \setinterfacecommand{quote}{zitieren} \setinterfacecommand{ran}{ran} \setinterfacecommand{redo}{wiederholen} +\setinterfacecommand{redoconvertfont}{redoconvertfont} \setinterfacecommand{ref}{ref} \setinterfacecommand{reference}{referenz} \setinterfacecommand{referral}{verweis} \setinterfacecommand{referraldate}{verweisdatum} \setinterfacecommand{referring}{referieren} +\setinterfacecommand{registerfontclass}{registerfontclass} +\setinterfacecommand{registerhyphenationexception}{registerhyphenationexception} +\setinterfacecommand{registerhyphenationpattern}{registerhyphenationpattern} \setinterfacecommand{remark}{bemerkung} +\setinterfacecommand{replacefeature}{replacefeature} \setinterfacecommand{reset}{ruecksetzten} +\setinterfacecommand{resetandaddfeature}{resetandaddfeature} +\setinterfacecommand{resetcharacteralign}{resetcharacteralign} +\setinterfacecommand{resetcharacterkerning}{resetcharacterkerning} +\setinterfacecommand{resetcharacterspacing}{resetcharacterspacing} +\setinterfacecommand{resetcharacterstripping}{resetcharacterstripping} +\setinterfacecommand{resetfeature}{resetfeature} +\setinterfacecommand{resetfontcolorsheme}{resetfontcolorsheme} +\setinterfacecommand{resetfontfallback}{resetfontfallback} +\setinterfacecommand{resetfontsolution}{resetfontsolution} +\setinterfacecommand{resethyphenationfeatures}{resethyphenationfeatures} +\setinterfacecommand{resetlocalfloats}{resetlocalfloats} \setinterfacecommand{resetmarking}{ruecksetztenbeschriftung} +\setinterfacecommand{resetmode}{resetmode} \setinterfacecommand{resetnumber}{resetnumber} +\setinterfacecommand{resetpath}{resetpath} +\setinterfacecommand{resetperiodkerning}{resetperiodkerning} +\setinterfacecommand{resetsystemmode}{resetsystemmode} \setinterfacecommand{resettext}{resettextcontent} +\setinterfacecommand{resetvisualizers}{resetvisualizers} +\setinterfacecommand{restoreglobalbodyfont}{restoreglobalbodyfont} +\setinterfacecommand{retestfeature}{retestfeature} +\setinterfacecommand{revivefeature}{revivefeature} \setinterfacecommand{rightaligned}{rechtsbuendig} +\setinterfacecommand{rightbottombox}{rightbottombox} \setinterfacecommand{rightedgedistance}{abstandrechterrand} \setinterfacecommand{rightedgewidth}{breiterechterrand} +\setinterfacecommand{rightline}{rightline} \setinterfacecommand{rightmargindistance}{rechtemarginalafstand} \setinterfacecommand{rightmarginwidth}{rechtemarginalbreite} \setinterfacecommand{romannumerals}{roemischezahlen} @@ -1706,12 +1821,38 @@ \setinterfacecommand{selectblocks}{waehlebloeckeaus} \setinterfacecommand{selectpaper}{waehlepapieraus} \setinterfacecommand{selectversion}{waehleversionaus} +\setinterfacecommand{setbigbodyfont}{setbigbodyfont} +\setinterfacecommand{setcharacteralign}{setcharacteralign} +\setinterfacecommand{setcharacteraligndetail}{setcharacteraligndetail} +\setinterfacecommand{setcharactercasing}{setcharactercasing} +\setinterfacecommand{setcharactercleaning}{setcharactercleaning} +\setinterfacecommand{setcharacterkerning}{setcharacterkerning} +\setinterfacecommand{setcharacterspacing}{setcharacterspacing} +\setinterfacecommand{setcharacterstripping}{setcharacterstripping} +\setinterfacecommand{setcurrentfontclass}{setcurrentfontclass} +\setinterfacecommand{setfirstline}{setfirstline} +\setinterfacecommand{setfirstpasscharacteralign}{setfirstpasscharacteralign} +\setinterfacecommand{setfont}{setfont} +\setinterfacecommand{setfontcolorsheme}{setfontcolorsheme} +\setinterfacecommand{setfontfeature}{setfontfeature} +\setinterfacecommand{setfontsolution}{setfontsolution} +\setinterfacecommand{setfontstrut}{setfontstrut} +\setinterfacecommand{sethyphenationfeatures}{sethyphenationfeatures} +\setinterfacecommand{setmainbodyfont}{setmainbodyfont} +\setinterfacecommand{setmode}{setmode} +\setinterfacecommand{setnote}{setnote} +\setinterfacecommand{setnotetext}{setnotetext} \setinterfacecommand{setnumber}{setnumber} +\setinterfacecommand{setperiodkerning}{setperiodkerning} +\setinterfacecommand{setsecondpasscharacteralign}{setsecondpasscharacteralign} +\setinterfacecommand{setsmallbodyfont}{setsmallbodyfont} +\setinterfacecommand{setsystemmode}{setsystemmode} \setinterfacecommand{settextcontent}{settext} \setinterfacecommand{settextvariable}{settextvariable} \setinterfacecommand{setupalign}{stelleausrichtungein} \setinterfacecommand{setupanswerarea}{setupanswerarea} \setinterfacecommand{setuparranging}{stelleanordnenein} +\setinterfacecommand{setupattachment}{setupattachment} \setinterfacecommand{setupbackground}{stellehintergrundein} \setinterfacecommand{setupbackgrounds}{stellehintergruendeein} \setinterfacecommand{setupblackrules}{stellerechteckein} @@ -1726,6 +1867,9 @@ \setinterfacecommand{setupcapitals}{stelleversalienein} \setinterfacecommand{setupcaption}{stellebildunterschriftein} \setinterfacecommand{setupcaptions}{stellebilderunterschriftein} +\setinterfacecommand{setupcharacteralign}{setupcharacteralign} +\setinterfacecommand{setupcharacterkerning}{setupcharacterkerning} +\setinterfacecommand{setupcharacterspacing}{setupcharacterspacing} \setinterfacecommand{setupclipping}{stelleausschnittein} \setinterfacecommand{setupcolor}{stellefarbeein} \setinterfacecommand{setupcolors}{stellefarbenein} @@ -1736,6 +1880,7 @@ \setinterfacecommand{setupcombinations}{stellekombinationein} \setinterfacecommand{setupcombinedlist}{stellezusammengestelltelisteein} \setinterfacecommand{setupcomment}{stellekommentarein} +\setinterfacecommand{setupcounter}{setupcounter} \setinterfacecommand{setupdescription}{setupdescription} \setinterfacecommand{setupdescriptions}{definierebeschreibungen} \setinterfacecommand{setupenumeration}{setupenumeration} @@ -1745,9 +1890,14 @@ \setinterfacecommand{setupfields}{stellefelderin} \setinterfacecommand{setupfillinlines}{stellegefuelltezeileein} \setinterfacecommand{setupfillinrules}{stellegefuelltesrechteckein} +\setinterfacecommand{setupfirstline}{setupfirstline} \setinterfacecommand{setupfloat}{stellegleitobjektein} \setinterfacecommand{setupfloats}{stellegleitobjekteein} \setinterfacecommand{setupfloatsplitting}{stelleplatziegeteiltegleitobjekt} +\setinterfacecommand{setupfontexpansion}{setupfontexpansion} +\setinterfacecommand{setupfontprotrusion}{setupfontprotrusion} +\setinterfacecommand{setupfonts}{setupfonts} +\setinterfacecommand{setupfontsolution}{setupfontsolution} \setinterfacecommand{setupfooter}{stellefusszeileein} \setinterfacecommand{setupfootertexts}{stellefusszeilentextein} \setinterfacecommand{setupfootnotedefinition}{stellefussnotendefinitionein} @@ -1764,6 +1914,7 @@ \setinterfacecommand{setupheadnumber}{stellekopfzahlein} \setinterfacecommand{setupheads}{stelleueberschriftenein} \setinterfacecommand{setupheadtext}{stelleueberschrifttextein} +\setinterfacecommand{setuphyphenation}{setuphyphenation} \setinterfacecommand{setuphyphenmark}{stellebindestrichein} \setinterfacecommand{setupindentedtext}{setupindentedtext} \setinterfacecommand{setupindenting}{stelleeinziehenein} @@ -1780,6 +1931,7 @@ \setinterfacecommand{setuplanguage}{stellespracheein} \setinterfacecommand{setuplayout}{stellelayoutein} \setinterfacecommand{setuplegend}{stellelegendeein} +\setinterfacecommand{setuplinenote}{setuplinenote} \setinterfacecommand{setuplinenumbering}{stellezeilennumerierungein} \setinterfacecommand{setuplines}{stellezeilenein} \setinterfacecommand{setuplinewidth}{stellelinienbreiteein} @@ -1792,6 +1944,10 @@ \setinterfacecommand{setupmarking}{stellebeschriftungein} \setinterfacecommand{setupmathalignment}{setupmathalignment} \setinterfacecommand{setupnarrower}{stelleengerein} +\setinterfacecommand{setupnotation}{setupnotation} +\setinterfacecommand{setupnotations}{setupnotations} +\setinterfacecommand{setupnote}{setupnote} +\setinterfacecommand{setupnotes}{setupnotes} \setinterfacecommand{setupnumber}{setupnumber} \setinterfacecommand{setupnumbering}{stellenummerierungein} \setinterfacecommand{setupoppositeplacing}{stellegegenueberplatzierenein} @@ -1805,6 +1961,7 @@ \setinterfacecommand{setuppapersize}{stellepapierformatein} \setinterfacecommand{setupparagraphnumbering}{stelleabsatznummerierungein} \setinterfacecommand{setupparagraphs}{stelleabsaetzeein} +\setinterfacecommand{setupperiodkerning}{setupperiodkerning} \setinterfacecommand{setupplacement}{setupplacement} \setinterfacecommand{setuppositioning}{stellepositionierenein} \setinterfacecommand{setupprofiles}{stelleprofilein} @@ -1834,6 +1991,7 @@ \setinterfacecommand{setuptabulate}{stelletabulatorein} \setinterfacecommand{setuptext}{stelletextein} \setinterfacecommand{setuptextbackground}{setuptextbackground} +\setinterfacecommand{setuptextnote}{setuptextnote} \setinterfacecommand{setuptextposition}{setuptextposition} \setinterfacecommand{setuptextrules}{stelletextumrissein} \setinterfacecommand{setuptexttexts}{stelletexttexteein} @@ -1848,16 +2006,29 @@ \setinterfacecommand{setupurl}{stelleurlein} \setinterfacecommand{setupversions}{stelleversionein} \setinterfacecommand{setupwhitespace}{stellezwischenraumein} +\setinterfacecommand{setvisualizerfont}{setvisualizerfont} \setinterfacecommand{showbodyfont}{zeigefliesstext} \setinterfacecommand{showbodyfontenvironment}{zeigefliesstextumgebung} \setinterfacecommand{showcolor}{zeigefarbe} \setinterfacecommand{showcolorgroup}{zeigefarbengruppe} +\setinterfacecommand{showcounter}{showcounter} \setinterfacecommand{showexternalfigures}{zeigeexterneabbildungen} \setinterfacecommand{showfields}{zeigefelder} +\setinterfacecommand{showfont}{showfont} +\setinterfacecommand{showfontdata}{showfontdata} +\setinterfacecommand{showfontexpansion}{showfontexpansion} +\setinterfacecommand{showfontitalics}{showfontitalics} +\setinterfacecommand{showfontkerns}{showfontkerns} +\setinterfacecommand{showfontparameters}{showfontparameters} +\setinterfacecommand{showfontstrip}{showfontstrip} +\setinterfacecommand{showfontstyle}{showfontstyle} \setinterfacecommand{showframe}{zeigerahmen} \setinterfacecommand{showgrid}{zeigegitter} +\setinterfacecommand{showhyphenationtrace}{showhyphenationtrace} +\setinterfacecommand{showkerning}{showkerning} \setinterfacecommand{showlayout}{zeigelayout} \setinterfacecommand{showmakeup}{zeigeumbruch} +\setinterfacecommand{showminimalbaseline}{showminimalbaseline} \setinterfacecommand{showpalet}{zeigepalette} \setinterfacecommand{showprint}{zeigedruck} \setinterfacecommand{showsetups}{zeigeeinstellungen} @@ -1867,6 +2038,7 @@ \setinterfacecommand{someline}{einezeile} \setinterfacecommand{somewhere}{irgendwo} \setinterfacecommand{space}{spatium} +\setinterfacecommand{specialitem}{specialitem} \setinterfacecommand{splitfloat}{teilegleitobjekt} \setinterfacecommand{startalignment}{startausrichtung} \setinterfacecommand{startbackground}{starthintergrund} @@ -1884,6 +2056,7 @@ \setinterfacecommand{startglobal}{startglobal} \setinterfacecommand{startline}{startzeile} \setinterfacecommand{startlinecorrection}{startzeilenkorrektur} +\setinterfacecommand{startlinenote}{startlinenote} \setinterfacecommand{startlinenumbering}{startzeilennumerierung} \setinterfacecommand{startlines}{startzeilen} \setinterfacecommand{startlocal}{startlokal} @@ -1926,6 +2099,7 @@ \setinterfacecommand{stopglobal}{stopglobal} \setinterfacecommand{stopline}{stopzeile} \setinterfacecommand{stoplinecorrection}{stopzeilenkorrektur} +\setinterfacecommand{stoplinenote}{stoplinenote} \setinterfacecommand{stoplinenumbering}{stopzeilennumerierung} \setinterfacecommand{stoplines}{stopzeilen} \setinterfacecommand{stoplocal}{stoplokal} @@ -1953,8 +2127,11 @@ \setinterfacecommand{stopunpacked}{stopgrosserdurchschuss} \setinterfacecommand{stopversion}{stopversion} \setinterfacecommand{stretched}{gestreckt} +\setinterfacecommand{strictinspectnextcharacter}{strictinspectnextcharacter} +\setinterfacecommand{stripcharacter}{stripcharacter} \setinterfacecommand{subformulanumber}{unterformelnummer} \setinterfacecommand{subpagenumber}{subpagenumber} +\setinterfacecommand{subtractfeature}{subtractfeature} \setinterfacecommand{switchtobodyfont}{wechselezumfliesstext} \setinterfacecommand{switchtorawfont}{switchtorawfont} \setinterfacecommand{sym}{sym} @@ -1964,16 +2141,24 @@ \setinterfacecommand{synchronize}{synchronisieren} \setinterfacecommand{tab}{tab} \setinterfacecommand{testcolumn}{testcolumn} +\setinterfacecommand{testfeature}{testfeature} +\setinterfacecommand{testfeatureonce}{testfeatureonce} \setinterfacecommand{testpage}{testpage} \setinterfacecommand{tex}{tex} \setinterfacecommand{textbackground}{textbackground} +\setinterfacecommand{textcolor}{textcolor} \setinterfacecommand{textheight}{texthoehe} +\setinterfacecommand{textnote}{textnote} \setinterfacecommand{textreference}{textreferenz} \setinterfacecommand{textrule}{textlinie} \setinterfacecommand{textvariable}{textvariable} \setinterfacecommand{textwidth}{textbreite} +\setinterfacecommand{thefirstcharacter}{thefirstcharacter} +\setinterfacecommand{thenormalizedbodyfontsize}{thenormalizedbodyfontsize} +\setinterfacecommand{theremainingcharacters}{theremainingcharacters} \setinterfacecommand{thinrule}{duennelinie} \setinterfacecommand{thinrules}{duennerumriss} +\setinterfacecommand{tolinenote}{tolinenote} \setinterfacecommand{tooltip}{tooltip} \setinterfacecommand{topdistance}{abstandoben} \setinterfacecommand{topheight}{hoeheoben} @@ -1984,13 +2169,19 @@ \setinterfacecommand{typ}{tip} \setinterfacecommand{type}{tippen} \setinterfacecommand{typebuffer}{tippepuffer} +\setinterfacecommand{typedefinedbuffer}{typedefinedbuffer} \setinterfacecommand{typefile}{tippedatei} +\setinterfacecommand{typeinlinebuffer}{typeinlinebuffer} +\setinterfacecommand{typing}{typing} \setinterfacecommand{unitmeaning}{bedeutung} \setinterfacecommand{unknown}{unbekant} +\setinterfacecommand{unregisterhyphenationpattern}{unregisterhyphenationpattern} \setinterfacecommand{useJSscripts}{verwendeJSscript} \setinterfacecommand{useURL}{verwendeURL} \setinterfacecommand{useXMLfilter}{useXMLfilter} \setinterfacecommand{useblocks}{verwendebloecke} +\setinterfacecommand{usebodyfont}{usebodyfont} +\setinterfacecommand{usebodyfontparameter}{usebodyfontparameter} \setinterfacecommand{usecommands}{verwendebefehl} \setinterfacecommand{useencoding}{benutzekodierung} \setinterfacecommand{useexternaldocument}{verwendeexteresdokument} @@ -2007,10 +2198,12 @@ \setinterfacecommand{usetypescript}{usetypescript} \setinterfacecommand{usetypescriptfile}{usetypescriptfile} \setinterfacecommand{useurl}{verwendeurl} +\setinterfacecommand{verbatim}{verbatim} \setinterfacecommand{version}{version} \setinterfacecommand{vl}{vl} \setinterfacecommand{weekday}{wochentag} \setinterfacecommand{whitespace}{zwischenraum} +\setinterfacecommand{widthspanningtext}{widthspanningtext} \setinterfacecommand{wordright}{wortrechts} \setinterfacecommand{writebetweenlist}{schreibezwischenliste} \setinterfacecommand{writetolist}{schreibezurliste} diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index 52b08dcf1..0df4eaf93 100644 --- a/tex/context/base/mkiv/cont-new.mkiv +++ b/tex/context/base/mkiv/cont-new.mkiv @@ -13,7 +13,7 @@ % \normalend % uncomment this to get the real base runtime -\newcontextversion{2020.07.22 21:15} +\newcontextversion{2020.07.24 15:15} %D This file is loaded at runtime, thereby providing an excellent place for hacks, %D patches, extensions and new features. There can be local overloads in cont-loc diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv index 70030293a..128b75ec1 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -45,7 +45,7 @@ %D {YYYY.MM.DD HH:MM} format. \edef\contextformat {\jobname} -\edef\contextversion{2020.07.22 21:15} +\edef\contextversion{2020.07.24 15:15} %D Kind of special: diff --git a/tex/context/base/mkiv/context.mkxl b/tex/context/base/mkiv/context.mkxl index 7581dc085..ab4499856 100644 --- a/tex/context/base/mkiv/context.mkxl +++ b/tex/context/base/mkiv/context.mkxl @@ -29,7 +29,7 @@ %D {YYYY.MM.DD HH:MM} format. \edef\contextformat {\jobname} -\edef\contextversion{2020.07.22 21:15} +\edef\contextversion{2020.07.24 15:15} %D Kind of special: @@ -272,7 +272,7 @@ \loadmkxlfile{spac-ver} % LMTX beware, hooks into strc-sec \loadmarkfile{spac-lin} \loadmarkfile{spac-pag} -\loadmarkfile{spac-par} +\loadmkxlfile{spac-par} \loadmarkfile{spac-def} \loadmkvifile{spac-prf} \loadmarkfile{spac-grd} diff --git a/tex/context/base/mkiv/luat-run.lua b/tex/context/base/mkiv/luat-run.lua index 990a1b154..305948edb 100644 --- a/tex/context/base/mkiv/luat-run.lua +++ b/tex/context/base/mkiv/luat-run.lua @@ -45,6 +45,7 @@ local function start_run() if logs.start_run then logs.start_run() end + -- logs.report("engine","%s version %s, format id %s",LUATEXENGINE,LUATEXVERSION,LUATEXFORMATID) for i=1,#startactions do startactions[i]() end diff --git a/tex/context/base/mkiv/mult-low.lua b/tex/context/base/mkiv/mult-low.lua index 5a5fac8b5..ec0a0355b 100644 --- a/tex/context/base/mkiv/mult-low.lua +++ b/tex/context/base/mkiv/mult-low.lua @@ -450,7 +450,8 @@ return { "installctxfunction", "installprotectedctxfunction", "installprotectedctxscanner", "installctxscanner", "resetctxscanner", "cldprocessfile", "cldloadfile", "cldloadviafile", "cldcontext", "cldcommand", -- - "carryoverpar", "freezeparagraphproperties", + "carryoverpar", "freezeparagraphproperties", "defrostparagraphproperties", "setparagraphfreezing", "forgetparagraphfreezing", + -- "lastlinewidth", -- "assumelongusagecs", diff --git a/tex/context/base/mkiv/mult-prm.lua b/tex/context/base/mkiv/mult-prm.lua index 3b720fa8f..88b7dad7a 100644 --- a/tex/context/base/mkiv/mult-prm.lua +++ b/tex/context/base/mkiv/mult-prm.lua @@ -270,6 +270,7 @@ return { "endlocalcontrol", "etoksapp", "etokspre", + "everytab", "exceptionpenalty", "expand", "expandafterpars", @@ -414,6 +415,7 @@ return { "unletprotected", "vpack", "wordboundary", + "wrapuppar", "xtoksapp", "xtokspre", }, @@ -615,7 +617,6 @@ return { "everyjob", "everymath", "everypar", - "everytab", "everyvbox", "exhyphenchar", "exhyphenpenalty", diff --git a/tex/context/base/mkiv/spac-par.lmt b/tex/context/base/mkiv/spac-par.lmt new file mode 100644 index 000000000..ed5b735ec --- /dev/null +++ b/tex/context/base/mkiv/spac-par.lmt @@ -0,0 +1,70 @@ +if not modules then modules = { } end modules ['spac-par'] = { + version = 1.001, + comment = "companion to spac-par.mkxl", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files" +} + +local context = context +local implement = interfaces.implement + +local collected = utilities.storage.allocate() +local tobesaved = utilities.storage.allocate() + +local jobparwrappers = { + collected = collected, + tobesaved = tobesaved, +} + +job.parwrappers = jobparwrappers + +local function initializer() + tobesaved = jobparwrappers.tobesaved + collected = jobparwrappers.collected +end + +job.register('job.parwrappers.collected', tobesaved, initializer) + +implement { + name = "newparwrapper", + arguments = "string", + actions = function(id) + local t = tobesaved[id] + if t then + t[#t+1] = 0 + else + tobesaved[id] = { 0 } + end + end +} + +implement { + name = "setparwrapper", + arguments = "string", + actions = function(id) + local t = tobesaved[id] + local n = #t + t[n] = t[n] + 1 + end +} + +implement { + name = "getparwrapper", + arguments = "string", + public = true, + actions = function(id) + local t = tobesaved[id] + context(t and t[#t] or 0) + end +} + +implement { + name = "lastparwrapper", + arguments = "string", + public = true, + actions = function(id) + local t = collected and collected[id] + context(t and t[#t] or 0) + end +} diff --git a/tex/context/base/mkiv/spac-par.mkiv b/tex/context/base/mkiv/spac-par.mkiv index 627a43bcf..f1745e4f8 100644 --- a/tex/context/base/mkiv/spac-par.mkiv +++ b/tex/context/base/mkiv/spac-par.mkiv @@ -49,22 +49,16 @@ \unexpanded\def\flushparagraphproperties {\popmacro\currentparagraphproperties} -%D New experimental stuff: +%D New experimental stuff, not supported in \MKIV: -\ifcase\contextlmtxmode +\let\freezeparagraphproperties \relax +\let\defrostparagraphproperties\relax +\let\setparagraphfreezing \relax +\let\forgetparagraphfreezing \relax - \let\freezeparagraphproperties\donothing - -\else - - \unexpanded\def\freezeparagraphproperties{\snapshotpar\maxdimen} - - \installtexexperiment - {paragraphs.freeze} - {\appendtoksonce\freezeparagraphproperties\to \everypar} - {\removetoks \freezeparagraphproperties\from\everypar} - -\fi +\let\updateparwrapper \relax +\let\registerparwrapper\gobbletwoarguments +\let\forgetparwrapper \relax %D Beware, changing this will break some code (like pos/backgrounds) but it has been %D changed anyway so let's see where things go wrong. diff --git a/tex/context/base/mkiv/spac-par.mkxl b/tex/context/base/mkiv/spac-par.mkxl new file mode 100644 index 000000000..b136b5bce --- /dev/null +++ b/tex/context/base/mkiv/spac-par.mkxl @@ -0,0 +1,339 @@ +%D \module +%D [ file=spac-par, +%D version=2009.10.16, % 1997.03.31, was core-spa.tex +%D title=\CONTEXT\ Spacing Macros, +%D subtitle=Paragraphs, +%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 Spacing Macros / Paragraphs} + +\registerctxluafile{spac-par}{autosuffix} + +\unprotect + +%D New experimental stuff: + +\let\spac_paragraph_freeze\relax + +\protected\def\freezeparagraphproperties {\snapshotpar\maxcount} +\protected\def\defrostparagraphproperties{\snapshotpar\zerocount} + +\protected\def\setparagraphfreezing {\let\spac_paragraph_freeze\freezeparagraphproperties} +\protected\def\forgetparagraphfreezing{\let\spac_paragraph_freeze\relax} + +\installcorenamespace {bparwrap} +\installcorenamespace {eparwrap} + +\let\spac_paragraph_wrap\relax + +\protected\def\spac_paragraph_update + {\ifcsname\??bparwrap\the\currentgrouplevel\endcsname + \the\lastnamedcs + \wrapuppar{\the\csname\??eparwrap\the\currentgrouplevel\endcsname}% + \fi} + + +\protected\def\spac_paragraph_install + {\expandafter\newtoks\csname\??bparwrap\the\currentgrouplevel\endcsname + \expandafter\newtoks\csname\??eparwrap\the\currentgrouplevel\endcsname} + +% \protected\def\registerparwrapper#1#2% +% {\ifcsname\??bparwrap\the\currentgrouplevel\endcsname \else +% \spac_paragraph_install +% \fi +% \toksapp\csname\??bparwrap\the\currentgrouplevel\endcsname{#1}% +% \tokspre\csname\??eparwrap\the\currentgrouplevel\endcsname{#2}% +% \let\spac_paragraph_wrap\spac_paragraph_update} + +% \protected\def\registerparwrapperreverse#1#2% +% {\ifcsname\??bparwrap\the\currentgrouplevel\endcsname \else +% \spac_paragraph_install +% \fi +% \tokspre\csname\??bparwrap\the\currentgrouplevel\endcsname{#1}% +% \toksapp\csname\??eparwrap\the\currentgrouplevel\endcsname{#2}% +% \let\spac_paragraph_wrap\spac_paragraph_update} + +\protected\def\registerparwrapper#1#2#3% + {\ifcsname\??bparwrap\the\currentgrouplevel\endcsname \else + \spac_paragraph_install + \fi + \clf_newparwrapper{#1}% + \toksapp\csname\??bparwrap\the\currentgrouplevel\endcsname{\clf_setparwrapper{#1}#2}% + \tokspre\csname\??eparwrap\the\currentgrouplevel\endcsname{#3}% + \let\spac_paragraph_wrap\spac_paragraph_update} + +\protected\def\registerparwrapperreverse#1#2#3% + {\ifcsname\??bparwrap\the\currentgrouplevel\endcsname \else + \spac_paragraph_install + \fi + \clf_newparwrapper{#1}% + \tokspre\csname\??bparwrap\the\currentgrouplevel\endcsname{\clf_setparwrapper{#1}#2}% + \toksapp\csname\??eparwrap\the\currentgrouplevel\endcsname{#3}% + \let\spac_paragraph_wrap\spac_paragraph_update} + +\protected\def\forgetparwrapper + {\csname\??bparwrap\the\currentgrouplevel\endcsname\emptytoks + \csname\??eparwrap\the\currentgrouplevel\endcsname\emptytoks} + +% \getparwrapper % defined in lua +% \lastparwrapper % defined in lua + +\protected\def\showparwrapperstate#1% + {\begingroup + \infofont ΒΆ#1\hilo + {\smallinfofont\getparwrapper {#1}}% + {\smallinfofont\lastparwrapper{#1}}% + \endgroup} + +\appendtoks \updateparwrapperindeed \to\everypar +\appendtoks\let\updateparwrapperindeed\relax\to\everyforgetall + +\installtexexperiment + {paragraphs.freeze} + {\setparagraphfreezing + \appendtoksonce\spac_paragraph_wrap \to \everypar + \appendtoksonce\spac_paragraph_freeze\to \everypar} + {\forgetparagraphfreezing + \removetoks \spac_paragraph_wrap \from\everypar + \removetoks \spac_paragraph_freeze\from\everypar} + +%D In due time, the code below will be upgraded using the above mechanisms. + +%D The dreadful sequence \type {\bgroup} \unknown\ \type {\carryoverpar} \unknown\ +%D \type {\egroup} is needed when for instance sidefloats are used in combination +%D with something that starts with a group. This is because otherwise the +%D indentation as set (by the output routine) inside the group are forgotten +%D afterwards. (I must not forget its existence). + +% Todo (maybe): +% +% \parshape \getparshape\relax +% \interlinepenalties \getinterlinepenalties\relax +% \clubpenalties \getclubpenalties\relax +% \widowpenalties \getwidowpenalties\relax +% \displaywidowpenalties\getdisplaywidowpenalties\relax + +\def\carryoverpar#1% #1 can be \endgroup or \egroup or ... expandable ! + {\normalexpanded + {\noexpand#1% + \hangindent\the\hangindent + \hangafter \the\hangafter + \parskip \the\parskip + \leftskip \the\leftskip + \rightskip \the\rightskip}} + +\unexpanded\def\pushparagraphproperties + {\edef\currentparagraphproperties{\carryoverpar\relax}% + \pushmacro\currentparagraphproperties} + +\unexpanded\def\popparagraphproperties + {\popmacro\currentparagraphproperties + \currentparagraphproperties} + +\unexpanded\def\flushparagraphproperties + {\popmacro\currentparagraphproperties} + +%D Beware, changing this will break some code (like pos/backgrounds) but it has been +%D changed anyway so let's see where things go wrong. + +\installcorenamespace{paragraphintro} + +\let\insertparagraphintro\relax % hook into everypar + +\newtoks\t_spac_paragraphs_intro_first +\newtoks\t_spac_paragraphs_intro_next +\newtoks\t_spac_paragraphs_intro_each + +\newconditional\c_spac_paragraphs_intro_first +\newconditional\c_spac_paragraphs_intro_next +\newconditional\c_spac_paragraphs_intro_each + +\unexpanded\def\setupparagraphintro + {\dodoubleempty\spac_paragraphs_intro} + +\unexpanded\def\spac_paragraphs_intro[#1][#2]% + {\def\spac_paragraphs_intro_step##1% + {\csname\??paragraphintro\ifcsname\??paragraphintro##1\endcsname##1\fi\endcsname{#2}}% + \processcommacommand[#1]\spac_paragraphs_intro_step} + +\letvalue{\??paragraphintro\empty}\gobbleoneargument + +\setvalue{\??paragraphintro\v!reset}#1% + {\global\setfalse\c_spac_paragraphs_intro_first + \global\setfalse\c_spac_paragraphs_intro_next + \global\setfalse\c_spac_paragraphs_intro_each + \global\t_spac_paragraphs_intro_first\emptytoks + \global\t_spac_paragraphs_intro_next \emptytoks + \global\t_spac_paragraphs_intro_each \emptytoks + \glet\insertparagraphintro\relax} + +\setvalue{\??paragraphintro\v!first}#1% + {\global\settrue\c_spac_paragraphs_intro_first + \gtoksapp\t_spac_paragraphs_intro_first{#1}% + \glet\insertparagraphintro\spac_paragraphs_flush_intro} + +\setvalue{\??paragraphintro\v!next}#1% + {\global\settrue\c_spac_paragraphs_intro_next + \gtoksapp\t_spac_paragraphs_intro_next{#1}% + \glet\insertparagraphintro\spac_paragraphs_flush_intro} + +\setvalue{\??paragraphintro\v!each}#1% + {\global\settrue\c_spac_paragraphs_intro_each + \gtoksapp\t_spac_paragraphs_intro_each{#1}% + \glet\insertparagraphintro\spac_paragraphs_flush_intro} + +%D We can say: +%D +%D \starttyping +%D \setupparagraphintro[first][\index{Knuth}] +%D \stoptyping +%D +%D Maybe more convenient is: +%D +%D \starttyping +%D \flushatparagraph{\index{Zapf}} +%D \stoptyping +%D +%D \starttyping +%D \setupparagraphintro[first][\hbox to 3.5em{\tt FIRST \hss}] +%D \setupparagraphintro[first][\hbox to 3.5em{\tt TSRIF \hss}] +%D \setupparagraphintro[next] [\hbox to 3.5em{\tt NEXT \hss}] +%D \setupparagraphintro[next] [\hbox to 3.5em{\tt TXEN \hss}] +%D \setupparagraphintro[each] [\hbox to 3.0em{\tt EACH \hss}] +%D \setupparagraphintro[each] [\hbox to 3.0em{\tt HCEA \hss}] +%D +%D some paragraph \par +%D some paragraph \par +%D some paragraph \par +%D some paragraph \par +%D +%D \setupparagraphintro[first][\hbox to 3.5em{\tt FIRST \hss}] +%D \setupparagraphintro[first][\hbox to 3.5em{\tt TSRIF \hss}] +%D +%D some paragraph \par +%D some paragraph \par +%D +%D \setupparagraphintro[reset] +%D +%D some paragraph \par +%D \stoptyping + +\unexpanded\def\flushatparagraph#1% + {\global\c_spac_paragraphs_intro_first\plusone + \gtoksapp\t_spac_paragraphs_intro_first{#1}% + \glet\insertparagraphintro\spac_paragraphs_flush_intro} + +%D Here comes the flusher (we misuse the one level expansion of token registers to +%D feed a nice stream into the paragraph.) + +\unexpanded\def\spac_paragraphs_flush_intro % we make sure that the token lists expand directly + {\normalexpanded{% % after another so the first code is there twice + \ifconditional\c_spac_paragraphs_intro_each + \ifconditional\c_spac_paragraphs_intro_next + \glet\insertparagraphintro\spac_paragraphs_flush_intro_next + \else + \glet\insertparagraphintro\spac_paragraphs_flush_intro_each + \fi + \ifconditional\c_spac_paragraphs_intro_first + \global\setfalse\c_spac_paragraphs_intro_first + \global\t_spac_paragraphs_intro_first\emptytoks + \the\t_spac_paragraphs_intro_first + \fi + \the\t_spac_paragraphs_intro_each + \else + \ifconditional\c_spac_paragraphs_intro_next + \glet\insertparagraphintro\spac_paragraphs_flush_intro_next + \fi + \ifconditional\c_spac_paragraphs_intro_first + \global\setfalse\c_spac_paragraphs_intro_first + \global\t_spac_paragraphs_intro_first\emptytoks + \the\t_spac_paragraphs_intro_first + \fi + \fi}} + +\unexpanded\def\spac_paragraphs_flush_intro_next + {\normalexpanded{% + \global\setfalse\c_spac_paragraphs_intro_next + \global\t_spac_paragraphs_intro_next\emptytoks + \ifconditional\c_spac_paragraphs_intro_each + \glet\insertparagraphintro\spac_paragraphs_flush_intro_each + \the\t_spac_paragraphs_intro_next + \the\t_spac_paragraphs_intro_each + \else + \glet\insertparagraphintro\relax + \the\t_spac_paragraphs_intro_next + \fi}} + +\unexpanded\def\spac_paragraphs_flush_intro_each + {\the\t_spac_paragraphs_intro_each} + +%D \macros +%D {flushatnextpar} +%D +%D This macro collects data that will be flushed at the next paragraph. By using +%D this macro you can avoid interfering nodes (writes, etc). + +\let\flushpostponednodedata\relax % hook into everypar + +\newbox \b_spac_postponed_data +%newcount\c_spac_postponed_data + +% \installcorenamespace {postponednodesstack} +% +% \initializeboxstack\??postponednodesstack +% +% \unexpanded\def\pushpostponednodedata +% {\global\advance\c_spac_postponed_data\plusone +% \savebox\??postponednodesstack{\the\c_spac_postponed_data}{\box\b_spac_postponed_data}} +% +% \unexpanded\def\poppostponednodedata +% {\global\setbox\b_spac_postponed_data\hbox{\foundbox\??postponednodesstack{\the\c_spac_postponed_data}}% +% \global\advance\c_spac_postponed_data\minusone +% \ifvoid\b_spac_postponed_data\else +% \glet\flushpostponednodedata\spac_postponed_data_flush +% \fi} + +\newtoks\everyflushatnextpar + +\unexpanded\def\pushpostponednodedata + {\globalpushbox\b_spac_postponed_data} + +\unexpanded\def\poppostponednodedata + {\globalpopbox\b_spac_postponed_data + \ifvoid\b_spac_postponed_data\else + \glet\flushpostponednodedata\spac_postponed_data_flush + \fi} + +\unexpanded\def\flushatnextpar + {\begingroup + \the\everyflushatnextpar + \glet\flushpostponednodedata\spac_postponed_data_flush + \dowithnextboxcs\spac_postponed_data_finish\hpack} + +\def\spac_postponed_data_finish + {\global\setbox\b_spac_postponed_data\hpack % to\zeropoint + {\box\b_spac_postponed_data\box\nextbox}% + \endgroup} + +\def\spac_postponed_data_flush + {%\iftrialtypesetting \else + \ifvoid\b_spac_postponed_data\else + \hpack{\smashedbox\b_spac_postponed_data}% \box\b_spac_postponed_data + \fi + \glet\flushpostponednodedata\relax + }%\fi} + +\unexpanded\def\doflushatpar % might be renamed + {\ifvmode + \expandafter\flushatnextpar + \else + \expandafter\firstofoneargument + \fi} + +\protect \endinput diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf index a2fbd86a7..b6a9c8d6c 100644 Binary files a/tex/context/base/mkiv/status-files.pdf and b/tex/context/base/mkiv/status-files.pdf differ diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf index d95c43f54..3f5dea552 100644 Binary files a/tex/context/base/mkiv/status-lua.pdf and b/tex/context/base/mkiv/status-lua.pdf differ diff --git a/tex/context/interface/mkii/keys-de.xml b/tex/context/interface/mkii/keys-de.xml index 9c08858b4..c8ecc0d28 100644 --- a/tex/context/interface/mkii/keys-de.xml +++ b/tex/context/interface/mkii/keys-de.xml @@ -131,6 +131,9 @@ + + + @@ -189,6 +192,7 @@ + @@ -810,8 +814,10 @@ + + @@ -886,6 +892,7 @@ + @@ -1090,6 +1097,7 @@ + @@ -1379,8 +1387,18 @@ + + + + + + + + + + @@ -1392,9 +1410,13 @@ + + + + @@ -1433,8 +1455,11 @@ + + + @@ -1444,37 +1469,57 @@ + + + + + + + + + + + + + + + + + + + + @@ -1496,33 +1541,45 @@ + + + + + + + + + + + + @@ -1531,13 +1588,19 @@ + + + + + + @@ -1553,6 +1616,7 @@ + @@ -1584,26 +1648,37 @@ + + + + + + + + + + + @@ -1634,6 +1709,7 @@ + @@ -1641,6 +1717,7 @@ + @@ -1652,6 +1729,7 @@ + @@ -1670,7 +1748,10 @@ + + + @@ -1683,9 +1764,17 @@ + + + + + + + + @@ -1695,19 +1784,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1718,12 +1833,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1738,6 +1879,9 @@ + + + @@ -1748,6 +1892,7 @@ + @@ -1757,9 +1902,14 @@ + + + + + @@ -1776,6 +1926,7 @@ + @@ -1792,6 +1943,7 @@ + @@ -1804,6 +1956,10 @@ + + + + @@ -1817,6 +1973,7 @@ + @@ -1846,6 +2003,7 @@ + @@ -1860,16 +2018,29 @@ + + + + + + + + + + + + + @@ -1879,6 +2050,7 @@ + @@ -1896,6 +2068,7 @@ + @@ -1938,6 +2111,7 @@ + @@ -1965,8 +2139,11 @@ + + + @@ -1976,16 +2153,24 @@ + + + + + + + + @@ -1996,13 +2181,19 @@ + + + + + + @@ -2019,10 +2210,12 @@ + + diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 33efe4581..a890d3e0b 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 : 2020-07-22 21:15 +-- merge date : 2020-07-24 15:15 do -- begin closure to overcome local limits and interference -- cgit v1.2.3