From 07b53cf6e6c57bf8d8bfc3b222b8a2454b84fa3f Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Tue, 9 Mar 2021 12:30:41 +0100 Subject: 2021-03-09 11:42:00 --- tex/context/base/mkxl/cont-new.mkxl | 2 +- tex/context/base/mkxl/context.mkxl | 2 +- tex/context/base/mkxl/lang-def.mkxl | 47 ++++++++++++++++++++++++++----------- tex/context/base/mkxl/lpdf-lmt.lmt | 46 +++++++++++++++++++++++++++++------- tex/context/base/mkxl/lxml-ini.mkxl | 10 ++++---- tex/context/base/mkxl/mult-sys.mkxl | 3 ++- tex/context/base/mkxl/page-sel.mklx | 7 +++--- tex/context/base/mkxl/page-sid.mkxl | 2 +- tex/context/base/mkxl/strc-sec.mkxl | 4 ++-- 9 files changed, 86 insertions(+), 37 deletions(-) (limited to 'tex/context/base/mkxl') diff --git a/tex/context/base/mkxl/cont-new.mkxl b/tex/context/base/mkxl/cont-new.mkxl index b60dd2ddd..096e94210 100644 --- a/tex/context/base/mkxl/cont-new.mkxl +++ b/tex/context/base/mkxl/cont-new.mkxl @@ -13,7 +13,7 @@ % \normalend % uncomment this to get the real base runtime -\newcontextversion{2021.03.05 19:11} +\newcontextversion{2021.03.09 11:39} %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/mkxl/context.mkxl b/tex/context/base/mkxl/context.mkxl index 88b99e7d4..8c2be0abc 100644 --- a/tex/context/base/mkxl/context.mkxl +++ b/tex/context/base/mkxl/context.mkxl @@ -29,7 +29,7 @@ %D {YYYY.MM.DD HH:MM} format. \immutable\edef\contextformat {\jobname} -\immutable\edef\contextversion{2021.03.05 19:11} +\immutable\edef\contextversion{2021.03.09 11:39} %overloadmode 1 % check frozen / warning %overloadmode 2 % check frozen / error diff --git a/tex/context/base/mkxl/lang-def.mkxl b/tex/context/base/mkxl/lang-def.mkxl index 85c1f3ac7..cc94bf7ae 100644 --- a/tex/context/base/mkxl/lang-def.mkxl +++ b/tex/context/base/mkxl/lang-def.mkxl @@ -350,6 +350,21 @@ \c!rightquotation=\upperrightdoublesixquote, \c!date={\v!day,\space,\v!month,\space,\v!year}] +\installlanguage + [\s!bg] + [\s!lefthyphenmin=2, + \s!righthyphenmin=2, + \c!spacing=\v!packed, + \c!leftsentence=\leftguillemot, + \c!rightsentence=\rightguillemot, + \c!leftsubsentence=\lowerleftdoubleninequote, + \c!rightsubsentence=\upperrightdoubleninequote, + \c!leftquote=\lowerleftsingleninequote, + \c!rightquote=\upperrightsinglesixquote, + \c!leftquotation=\lowerleftdoubleninequote, + \c!rightquotation=\upperrightdoublesixquote, + \c!date={\v!day,\space,\v!month,\space,\v!year}] + \installlanguage [\s!russian] [\s!ru] \installlanguage [\s!ukrainian] [\s!ua] \installlanguage [\s!belarussian][\s!be] @@ -357,6 +372,7 @@ \installlanguage [\s!sr-latn] [\s!sr] \installlanguage [\s!sr-cyrl] [\s!sr] \installlanguage [\s!macedonian] [\s!mk] +\installlanguage [\s!bulgarian] [\s!bg] % Uralic Languages: Cheremiss, Estonian, Finnish, Karelian, Laap, @@ -486,7 +502,7 @@ \installlanguage [\s!arabic] [\s!ar] \installlanguage - [\s!pe] + [\s!farsi] [\c!spacing=\v!broad, \c!leftsentence=\emdash, \c!rightsentence=\emdash, @@ -498,9 +514,9 @@ \c!rightquotation=\rightguillemot, \c!date={\v!day,\space,\v!month,\space,\v!year}] -\installlanguage [\s!persian] [\s!pe] -\installlanguage [\s!fa] [\s!pe] % these two are redundant but sometimes might -\installlanguage [\s!farsi] [\s!fa] % sound more natural .. best set labels to 'pe' +\installlanguage [\s!fa] [\s!farsi] +\installlanguage [\s!persian] [\s!farsi] +\installlanguage [\s!pe] [\s!farsi] % Just aliases to "ar" for now @@ -539,20 +555,23 @@ \installlanguage [\s!esperanto] - [%\c!spacing=\v!packed, - %\c!leftsentence=\emdash, - %\c!rightsentence=\emdash, - %\c!leftsubsentence=\emdash, - %\c!rightsubsentence=\emdash, - %\c!leftquote=\lowerleftdoubleninequote, - %\c!rightquote=\upperrightdoublesixquote, - %\c!leftquotation=\lowerleftdoubleninequote, - %\c!rightquotation=\upperrightdoublesixquote, - %\c!date={\v!year,~m.,\space,\v!month,\space,\v!day,~d.}, + [\c!spacing=\v!packed, + \c!leftsentence=\endash, + \c!rightsentence=\endash, + \c!leftsubsentence=\endash, + \c!rightsubsentence=\endash, + \c!leftquote=\upperleftsinglesixquote, %U+2018, + \c!rightquote=\upperrightsingleninequote, %U+2019, + \c!leftquotation=\upperleftdoublesixquote, %U+201C, + \c!rightquotation=\upperrightdoubleninequote, %U+201D, + \c!date={\v!year,~m.,\space,\v!month,\space,\v!day,~d.}, + \c!date={\v!day-a\space de\space \v!month\space \v!year}, \s!patterns=eo, \s!lefthyphenmin=2, \s!righthyphenmin=2] +\installlanguage[\s!eo][\c!default=\s!esperanto] + % Baltic Languages: Lettish/Latvian, Lietuvių/Lithuanian \installlanguage diff --git a/tex/context/base/mkxl/lpdf-lmt.lmt b/tex/context/base/mkxl/lpdf-lmt.lmt index fbc002a93..3c2db0247 100644 --- a/tex/context/base/mkxl/lpdf-lmt.lmt +++ b/tex/context/base/mkxl/lpdf-lmt.lmt @@ -80,7 +80,7 @@ updaters.register("backend.update.lpdf",function() pdfgetfontname = lpdf.getfontname pdfgetfontobjectnumber = lpdf.getfontobjectnumber -- - pdfgetpagereference = lpdf.getpagereference + pdfgetpagereference = lpdf.getpagereference -- move code so we don't need this end) local pdf_pages = pdfconstant("Pages") @@ -2067,22 +2067,38 @@ do return nofobjects end + -- function lpdf.pagereference(n,complete) -- true | false | nil | n [true,false] + -- if nofpages == 0 then + -- nofpages = structures.pages.nofpages + -- if nofpages == 0 then + -- nofpages = 1 + -- end + -- end + -- if n == true or not n then + -- complete = n + -- n = texgetcount("realpageno") + -- end + -- local r = n > nofpages and pdfgetpagereference(nofpages) or pdfgetpagereference(n) + -- return complete and pdfreference(r) or r + -- end + function lpdf.pagereference(n,complete) -- true | false | nil | n [true,false] - if nofpages == 0 then - nofpages = structures.pages.nofpages - if nofpages == 0 then - nofpages = 1 - end - end if n == true or not n then complete = n n = texgetcount("realpageno") end - local r = n > nofpages and pdfgetpagereference(nofpages) or pdfgetpagereference(n) + if n > nofpages then + nofpages = n + end + local r = pdfgetpagereference(n) return complete and pdfreference(r) or r end - function lpdf.nofpages() + function lpdf.lastreferredpage() + return nofpages + end + + function lpdf.nofpages() -- this will change: document nofpages return structures.pages.nofpages end @@ -2973,6 +2989,18 @@ do return string.format("%s.%s, compresslevel %s, objectcompresslevel %s",outputfilename,"pdf",lpdf.getcompression()) end) -- + luatex.registerstopactions(function() + if pdfname then + local r = lpdf.lastreferredpage() -- somehow referenced + local t = lpdf.nofpages() -- in tuc file + local s = lpdf.getnofpages() -- in page tree, saved in file + if r > s then + report() + report("referred pages: %i, saved pages %i, pages from tuc file: %i, possible corrupt file",r,e,t) + report() + end + end + end) end converter = drivers.converters.lmtx useddriver = driver diff --git a/tex/context/base/mkxl/lxml-ini.mkxl b/tex/context/base/mkxl/lxml-ini.mkxl index 01d0f883f..e4d982c76 100644 --- a/tex/context/base/mkxl/lxml-ini.mkxl +++ b/tex/context/base/mkxl/lxml-ini.mkxl @@ -305,10 +305,10 @@ \installdirectcommandhandler \??xml {xml} -\letvalue{\??xmldefaults\v!normal}\zerocount -\letvalue{\??xmldefaults\v!none }\zerocount -\letvalue{\??xmldefaults\v!text }\plusone -\letvalue{\??xmldefaults\v!hidden}\plustwo +\letcsname\??xmldefaults\v!normal\endcsname\zerocount +\letcsname\??xmldefaults\v!none \endcsname\zerocount +\letcsname\??xmldefaults\v!text \endcsname\plusone +\letcsname\??xmldefaults\v!hidden\endcsname\plustwo \permanent\protected\def\xmldefaulttotext {\ifcase\xmlprocessingmode @@ -334,7 +334,7 @@ \doif{\directxmlparameter\c!entities}\v!yes\clf_xmlloadentities \to \everysetupxml -\permanent\def\xmlmapvalue #1#2#3{\setvalue{\??xmlmapvalue#1:#2}{#3}} % keep #3 to grab spaces +\permanent\def\xmlmapvalue #1#2#3{\defcsname\??xmlmapvalue#1:#2\endcsname{#3}} % keep #3 to grab spaces \permanent\def\xmldoifelsevalue #1#2{\ifcsname\??xmlmapvalue#1:#2\endcsname\expandafter\firstoftwoarguments\else\expandafter\secondoftwoarguments\fi} \permanent\def\xmlvalue#1#2% #3 diff --git a/tex/context/base/mkxl/mult-sys.mkxl b/tex/context/base/mkxl/mult-sys.mkxl index 3e1d32a91..2941a7b08 100644 --- a/tex/context/base/mkxl/mult-sys.mkxl +++ b/tex/context/base/mkxl/mult-sys.mkxl @@ -48,6 +48,7 @@ \definesystemconstant {ancientlatin} \definesystemconstant {ala} \definesystemconstant {arabic} \definesystemconstant {ar} \definesystemconstant {belarussian} \definesystemconstant {be} +\definesystemconstant {bulgarian} \definesystemconstant {bg} \definesystemconstant {bokmal} \definesystemconstant {nb} \definesystemconstant {catalan} \definesystemconstant {ca} \definesystemconstant {chinese} \definesystemconstant {cn} @@ -57,7 +58,7 @@ \definesystemconstant {dutch} \definesystemconstant {nl} \definesystemconstant {english} \definesystemconstant {en} \definesystemconstant {estonian} \definesystemconstant {et} -\definesystemconstant {esperanto} % \definesystemconstant {eo} +\definesystemconstant {esperanto} \definesystemconstant {eo} \definesystemconstant {farsi} \definesystemconstant {fa} % just persian \definesystemconstant {finnish} \definesystemconstant {fi} \definesystemconstant {french} \definesystemconstant {fr} diff --git a/tex/context/base/mkxl/page-sel.mklx b/tex/context/base/mkxl/page-sel.mklx index 1ec1b40e3..41ca751ad 100644 --- a/tex/context/base/mkxl/page-sel.mklx +++ b/tex/context/base/mkxl/page-sel.mklx @@ -114,7 +114,8 @@ \egroup} \def\page_selectors_filter_a_page#filename#page% - {\hpack to \textwidth + {%\startpagemakeup + \hpack to \textwidth {\ifdim\scratchwidth>\zeropoint \rightorleftpageaction{\scratchwidth\zeropoint}{\hfill}% \fi @@ -128,8 +129,8 @@ \fi \hss}% \wd\scratchbox\zeropoint - \box\scratchbox} - \page} + \box\scratchbox}% + \page}%\stoppagemakeup} \permanent\tolerant\protected\def\copypages[#filename]#spacer[#settings]#spacer[#figuresettings]% {\bgroup diff --git a/tex/context/base/mkxl/page-sid.mkxl b/tex/context/base/mkxl/page-sid.mkxl index 3c1f1f7be..fd9f6837a 100644 --- a/tex/context/base/mkxl/page-sid.mkxl +++ b/tex/context/base/mkxl/page-sid.mkxl @@ -661,7 +661,7 @@ \page_sides_set_skips \page_floats_report_total \relax - \lefttoright + %\lefttoright % not needed in lmtx \strc_floats_mark_par_as_free \ifcase\c_page_sides_float_type % invalid diff --git a/tex/context/base/mkxl/strc-sec.mkxl b/tex/context/base/mkxl/strc-sec.mkxl index 7c4a8fc24..a5b3cde6e 100644 --- a/tex/context/base/mkxl/strc-sec.mkxl +++ b/tex/context/base/mkxl/strc-sec.mkxl @@ -1272,8 +1272,8 @@ \permanent\def\namedheadnumber #1{\getstructurenumber {\thenamedheadlevel{#1}}} \permanent\def\somenamedheadnumber#1#2{\getsomestructurenumber{\thenamedheadlevel{#1}}{#2}} -\permanent\tolerant\protected\def\headnumber[#1]#*[#2]% simple case is just a number - {\getsomefullstructurenumber{\ifparameter#1\or\thenamedheadlevel{#1}\fi}{#2}} +\permanent\tolerant\protected\def\headnumber[#1]#*[#2]% + {\getsomefullstructurenumber{\thenamedheadlevel{#1}}{#2}} \permanent\tolerant\protected\def\someheadnumber[#1]#*[#2]% {\dontleavehmode -- cgit v1.2.3