summaryrefslogtreecommitdiff
path: root/tex/context/base/mkxl
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2021-03-09 12:30:41 +0100
committerContext Git Mirror Bot <phg@phi-gamma.net>2021-03-09 12:30:41 +0100
commit07b53cf6e6c57bf8d8bfc3b222b8a2454b84fa3f (patch)
treef431fc92e4702d471652fd9eec3fd579904ef576 /tex/context/base/mkxl
parentfa586e6ec838cce74b4ac10fb4c68241061b5f23 (diff)
downloadcontext-07b53cf6e6c57bf8d8bfc3b222b8a2454b84fa3f.tar.gz
2021-03-09 11:42:00
Diffstat (limited to 'tex/context/base/mkxl')
-rw-r--r--tex/context/base/mkxl/cont-new.mkxl2
-rw-r--r--tex/context/base/mkxl/context.mkxl2
-rw-r--r--tex/context/base/mkxl/lang-def.mkxl47
-rw-r--r--tex/context/base/mkxl/lpdf-lmt.lmt46
-rw-r--r--tex/context/base/mkxl/lxml-ini.mkxl10
-rw-r--r--tex/context/base/mkxl/mult-sys.mkxl3
-rw-r--r--tex/context/base/mkxl/page-sel.mklx7
-rw-r--r--tex/context/base/mkxl/page-sid.mkxl2
-rw-r--r--tex/context/base/mkxl/strc-sec.mkxl4
9 files changed, 86 insertions, 37 deletions
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