From 5bb786877a5617fb8fbe3fd0e7b54fbcea3ce002 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Fri, 7 Dec 2018 20:44:55 +0100 Subject: 2018-12-07 19:45:00 --- tex/context/base/mkii/cont-new.mkii | 2 +- tex/context/base/mkii/context.mkii | 2 +- tex/context/base/mkii/mult-cs.mkii | 2 +- tex/context/base/mkii/mult-en.mkii | 3 +- tex/context/base/mkii/mult-fr.mkii | 3 +- tex/context/base/mkii/mult-nl.mkii | 1 + tex/context/base/mkii/mult-ro.mkii | 3 +- tex/context/base/mkiv/char-ini.lua | 6 +- tex/context/base/mkiv/cont-new.mkiv | 2 +- tex/context/base/mkiv/context.mkiv | 4 +- tex/context/base/mkiv/font-chk.lua | 3 + tex/context/base/mkiv/font-ctx.lua | 10 +- tex/context/base/mkiv/font-def.lua | 6 +- tex/context/base/mkiv/font-imp-effects.lua | 2 +- tex/context/base/mkiv/font-lib.mkvi | 7 ++ tex/context/base/mkiv/grph-rul.lua | 28 +++++ tex/context/base/mkiv/lpdf-xmp.lua | 20 ++-- tex/context/base/mkiv/lxml-ini.mkiv | 16 +-- tex/context/base/mkiv/lxml-tex.lua | 1 - tex/context/base/mkiv/mult-def.lua | 6 +- tex/context/base/mkiv/mult-ini.mkiv | 5 - tex/context/base/mkiv/mult-low.lua | 4 +- tex/context/base/mkiv/pack-rul.mkiv | 21 +++- tex/context/base/mkiv/page-bck.mkiv | 2 +- tex/context/base/mkiv/page-lin.lua | 2 +- tex/context/base/mkiv/page-lin.mkvi | 2 +- tex/context/base/mkiv/page-one.mkiv | 3 + tex/context/base/mkiv/page-sid.mkiv | 13 ++- tex/context/base/mkiv/publ-dat.lua | 2 +- tex/context/base/mkiv/publ-ini.lua | 4 +- tex/context/base/mkiv/spac-ali.mkiv | 40 ------- tex/context/base/mkiv/spac-hor.mkiv | 7 ++ tex/context/base/mkiv/status-files.pdf | Bin 26066 -> 26052 bytes tex/context/base/mkiv/status-lua.pdf | Bin 269690 -> 269696 bytes tex/context/base/mkiv/strc-ref.mkvi | 10 +- tex/context/base/mkiv/supp-dir.mkiv | 20 ---- tex/context/base/mkiv/syst-aux.lua | 6 +- tex/context/base/mkiv/syst-cmp.lua | 8 ++ tex/context/base/mkiv/syst-cmp.mkiv | 22 ++++ tex/context/base/mkiv/syst-ini.mkiv | 122 ++++++++------------- tex/context/base/mkiv/trac-deb.lua | 8 +- tex/context/base/mkiv/typo-dir.mkiv | 24 ++-- tex/context/base/mkiv/util-deb.lua | 7 +- tex/context/base/mkiv/util-evo.lua | 12 +- tex/context/interface/mkii/keys-cs.xml | 2 +- tex/context/interface/mkii/keys-en.xml | 3 +- tex/context/interface/mkii/keys-fr.xml | 3 +- tex/context/interface/mkii/keys-nl.xml | 1 + tex/context/interface/mkii/keys-ro.xml | 3 +- tex/context/interface/mkiv/context-en.xml | 1 + tex/context/interface/mkiv/i-context.pdf | Bin 857217 -> 857222 bytes tex/context/interface/mkiv/i-framed.xml | 3 +- tex/context/interface/mkiv/i-readme.pdf | Bin 60775 -> 60779 bytes tex/generic/context/luatex/luatex-fonts-merged.lua | 7 +- 54 files changed, 266 insertions(+), 228 deletions(-) create mode 100644 tex/context/base/mkiv/syst-cmp.lua create mode 100644 tex/context/base/mkiv/syst-cmp.mkiv (limited to 'tex') diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii index 31171217c..4d04ebdb2 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{2018.12.01 13:20} +\newcontextversion{2018.12.07 19:37} %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 0465300d9..d5b74dd8d 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{2018.12.01 13:20} +\edef\contextversion{2018.12.07 19:37} %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 index b07eb00f6..b2cbdb517 100644 --- a/tex/context/base/mkii/mult-cs.mkii +++ b/tex/context/base/mkii/mult-cs.mkii @@ -418,7 +418,7 @@ \setinterfacevariable{positive}{positiv} \setinterfacevariable{postponing}{odlozit} \setinterfacevariable{postscript}{postscript} -\setinterfacevariable{precedingpage}{followingpage} +\setinterfacevariable{precedingpage}{precedingpage} \setinterfacevariable{preference}{nastaveni} \setinterfacevariable{preview}{nahled} \setinterfacevariable{previous}{predchozi} diff --git a/tex/context/base/mkii/mult-en.mkii b/tex/context/base/mkii/mult-en.mkii index bbe977f64..faf268576 100644 --- a/tex/context/base/mkii/mult-en.mkii +++ b/tex/context/base/mkii/mult-en.mkii @@ -137,6 +137,7 @@ \setinterfacevariable{chemicals}{chemicals} \setinterfacevariable{chemistry}{chemistry} \setinterfacevariable{cite}{cite} +\setinterfacevariable{closed}{closed} \setinterfacevariable{color}{color} \setinterfacevariable{column}{column} \setinterfacevariable{columns}{columns} @@ -418,7 +419,7 @@ \setinterfacevariable{positive}{positive} \setinterfacevariable{postponing}{postponing} \setinterfacevariable{postscript}{postscript} -\setinterfacevariable{precedingpage}{followingpage} +\setinterfacevariable{precedingpage}{precedingpage} \setinterfacevariable{preference}{preference} \setinterfacevariable{preview}{preview} \setinterfacevariable{previous}{previous} diff --git a/tex/context/base/mkii/mult-fr.mkii b/tex/context/base/mkii/mult-fr.mkii index 69804afcb..fe883d50f 100644 --- a/tex/context/base/mkii/mult-fr.mkii +++ b/tex/context/base/mkii/mult-fr.mkii @@ -137,6 +137,7 @@ \setinterfacevariable{chemicals}{chemicals} \setinterfacevariable{chemistry}{chemistry} \setinterfacevariable{cite}{cite} +\setinterfacevariable{closed}{closed} \setinterfacevariable{color}{couleur} \setinterfacevariable{column}{colonne} \setinterfacevariable{columns}{colonnes} @@ -418,7 +419,7 @@ \setinterfacevariable{positive}{positif} \setinterfacevariable{postponing}{postponing} \setinterfacevariable{postscript}{postscript} -\setinterfacevariable{precedingpage}{followingpage} +\setinterfacevariable{precedingpage}{precedingpage} \setinterfacevariable{preference}{preference} \setinterfacevariable{preview}{previsualisation} \setinterfacevariable{previous}{precedent} diff --git a/tex/context/base/mkii/mult-nl.mkii b/tex/context/base/mkii/mult-nl.mkii index e0f445eb2..884503363 100644 --- a/tex/context/base/mkii/mult-nl.mkii +++ b/tex/context/base/mkii/mult-nl.mkii @@ -137,6 +137,7 @@ \setinterfacevariable{chemicals}{chemicals} \setinterfacevariable{chemistry}{chemie} \setinterfacevariable{cite}{cite} +\setinterfacevariable{closed}{gesloten} \setinterfacevariable{color}{kleur} \setinterfacevariable{column}{kolom} \setinterfacevariable{columns}{kolommen} diff --git a/tex/context/base/mkii/mult-ro.mkii b/tex/context/base/mkii/mult-ro.mkii index 447600484..eeccec5bb 100644 --- a/tex/context/base/mkii/mult-ro.mkii +++ b/tex/context/base/mkii/mult-ro.mkii @@ -137,6 +137,7 @@ \setinterfacevariable{chemicals}{chemicals} \setinterfacevariable{chemistry}{chemistry} \setinterfacevariable{cite}{cite} +\setinterfacevariable{closed}{closed} \setinterfacevariable{color}{culoare} \setinterfacevariable{column}{coloana} \setinterfacevariable{columns}{coloane} @@ -418,7 +419,7 @@ \setinterfacevariable{positive}{positiv} \setinterfacevariable{postponing}{postponing} \setinterfacevariable{postscript}{postscript} -\setinterfacevariable{precedingpage}{followingpage} +\setinterfacevariable{precedingpage}{precedingpage} \setinterfacevariable{preference}{preferinta} \setinterfacevariable{preview}{previzualizare} \setinterfacevariable{previous}{precedent} diff --git a/tex/context/base/mkiv/char-ini.lua b/tex/context/base/mkiv/char-ini.lua index 1c53d924f..1e8c1f7d3 100644 --- a/tex/context/base/mkiv/char-ini.lua +++ b/tex/context/base/mkiv/char-ini.lua @@ -1283,9 +1283,9 @@ lpegpatterns.utf8lower = utf8lower -- string lpegpatterns.utf8upper = utf8upper -- string lpegpatterns.utf8shape = utf8shape -- string -function characters.lower (str) return lpegmatch(utf8lower,str) end -function characters.upper (str) return lpegmatch(utf8upper,str) end -function characters.shaped(str) return lpegmatch(utf8shape,str) end +function characters.lower (str) return str and lpegmatch(utf8lower,str) or "" end +function characters.upper (str) return str and lpegmatch(utf8upper,str) or "" end +function characters.shaped(str) return str and lpegmatch(utf8shape,str) or "" end -- local str = [[ -- ÀÁÂÃÄÅàáâãäå àáâãäåàáâãäå ÀÁÂÃÄÅÀÁÂÃÄÅ AAAAAAaaaaaa diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index a46932506..a31442367 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{2018.12.01 13:20} +\newcontextversion{2018.12.07 19:37} %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.mkiv b/tex/context/base/mkiv/context.mkiv index f4c144514..0bc464b70 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -42,7 +42,7 @@ %D has to match \type {YYYY.MM.DD HH:MM} format. \edef\contextformat {\jobname} -\edef\contextversion{2018.12.01 13:20} +\edef\contextversion{2018.12.07 19:37} \edef\contextkind {beta} %D For those who want to use this: @@ -582,6 +582,8 @@ \loadmarkfile{task-ini} +\loadmarkfile{syst-cmp} % compatibility stuff moved here + \loadmarkfile{cont-run} % the main runner (used in cont-yes.mkiv) \doifelsefileexists{back-shp.mkiv}{\loadmarkfile{back-shp}}{} diff --git a/tex/context/base/mkiv/font-chk.lua b/tex/context/base/mkiv/font-chk.lua index a79e25e4d..0e4adf87e 100644 --- a/tex/context/base/mkiv/font-chk.lua +++ b/tex/context/base/mkiv/font-chk.lua @@ -363,6 +363,9 @@ local function getmissing(id) local messages = shared and shared.messages if messages then local filename = d.properties.filename + if not filename then + filename = tostring(d) + end local tf = t[filename] or { } for i=1,#relevant do local tm = messages[relevant[i]] diff --git a/tex/context/base/mkiv/font-ctx.lua b/tex/context/base/mkiv/font-ctx.lua index e6547dedd..b9db940dc 100644 --- a/tex/context/base/mkiv/font-ctx.lua +++ b/tex/context/base/mkiv/font-ctx.lua @@ -18,7 +18,7 @@ local format, gmatch, match, find, lower, upper, gsub, byte, topattern = string. local concat, serialize, sort, fastcopy, mergedtable = table.concat, table.serialize, table.sort, table.fastcopy, table.merged local sortedhash, sortedkeys, sequenced = table.sortedhash, table.sortedkeys, table.sequenced local parsers = utilities.parsers -local settings_to_hash, settings_to_hash_colon_too, hash_to_string, settings_to_array = parsers.settings_to_hash, parsers.settings_to_hash_colon_too, parsers.hash_to_string, parsers.settings_to_array +local settings_to_hash, hash_to_string, settings_to_array = parsers.settings_to_hash, parsers.hash_to_string, parsers.settings_to_array local formatcolumns = utilities.formatters.formatcolumns local mergehashes = utilities.parsers.mergehashes local formatters = string.formatters @@ -586,9 +586,11 @@ local function presetcontext(name,parent,features) -- will go to con and shared features = { } elseif type(features) == "string" then features = normalize_features(settings_to_hash(features)) - for key, value in next, features do - if type(value) == "string" and find(value,"[=:]") then - local t = settings_to_hash_colon_too(value) + -- if type(value) == "string" and find(value,"[=:]") then + -- local t = settings_to_hash_colon_too(value) -- clashes with foo=file:bar + for key, value in next, features do + if type(value) == "string" and find(value,"[=]") then + local t = settings_to_hash(value) if next(t) then features[key] = sequenced(normalize_features(t),",") end diff --git a/tex/context/base/mkiv/font-def.lua b/tex/context/base/mkiv/font-def.lua index e5101e7f6..2deb04744 100644 --- a/tex/context/base/mkiv/font-def.lua +++ b/tex/context/base/mkiv/font-def.lua @@ -208,9 +208,9 @@ function resolvers.name(specification) features.normal = normal end normal.instance = instance - if not callbacks.supported.glyph_stream_provider then - normal.variableshapes = true -- for the moment - end + -- if not callbacks.supported.glyph_stream_provider then + -- normal.variableshapes = true -- for the moment + -- end end -- local suffix = lower(suffixonly(resolved)) diff --git a/tex/context/base/mkiv/font-imp-effects.lua b/tex/context/base/mkiv/font-imp-effects.lua index 578c8bc10..cc6e4c0bf 100644 --- a/tex/context/base/mkiv/font-imp-effects.lua +++ b/tex/context/base/mkiv/font-imp-effects.lua @@ -1,6 +1,6 @@ if not modules then modules = { } end modules ['font-imp-effects'] = { version = 1.001, - comment = "companion to font-ini.mkiv and hand-ini.mkiv", + comment = "companion to font-ini.mkiv", author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", copyright = "PRAGMA ADE / ConTeXt Development Team", license = "see context related readme files" diff --git a/tex/context/base/mkiv/font-lib.mkvi b/tex/context/base/mkiv/font-lib.mkvi index f87f2901b..1f820439f 100644 --- a/tex/context/base/mkiv/font-lib.mkvi +++ b/tex/context/base/mkiv/font-lib.mkvi @@ -110,6 +110,13 @@ \registerctxluafile{font-imp-quality}{} \registerctxluafile{font-imp-italics}{} \registerctxluafile{font-imp-dimensions}{} + +\doifelsefileexists{font-imp-scripts.lua} { + \registerctxluafile{font-imp-scripts}{} +} { + % not yet, lmtx feature +} + \registerctxluafile{font-imp-tracing}{} % comes last! \registerctxluafile{font-fbk}{} diff --git a/tex/context/base/mkiv/grph-rul.lua b/tex/context/base/mkiv/grph-rul.lua index b30ed21cd..eb9c000b3 100644 --- a/tex/context/base/mkiv/grph-rul.lua +++ b/tex/context/base/mkiv/grph-rul.lua @@ -16,6 +16,7 @@ local bpfactor = number.dimenfactors.bp local nuts = nodes.nuts local userrule = nuts.rules.userrule +local outlinerule = nuts.pool.outlinerule local ruleactions = nuts.rules.ruleactions local setattrlist = nuts.setattrlist @@ -249,6 +250,33 @@ interfaces.implement { end } +interfaces.implement { + name = "outlinerule", + public = true, + protected = true, + arguments = { { + { "width", "dimension" }, + { "height", "dimension" }, + { "depth", "dimension" }, + { "line", "dimension" }, + } } , + actions = function(t) + local rule = outlinerule(t.width,t.height,t.depth,t.line) + setattrlist(rule,true) + context(tonode(rule)) -- will become context.nodes.flush + end +} + +interfaces.implement { + name = "framedoutline", + arguments = { "dimension", "dimension", "dimension", "dimension" }, + actions = function(w,h,d,l) + local rule = outlinerule(w,h,d,l) + setattrlist(rule,true) + context(tonode(rule)) -- will become context.nodes.flush + end +} + interfaces.implement { name = "fakeword", arguments = { { diff --git a/tex/context/base/mkiv/lpdf-xmp.lua b/tex/context/base/mkiv/lpdf-xmp.lua index b9595062f..ac7872fc2 100644 --- a/tex/context/base/mkiv/lpdf-xmp.lua +++ b/tex/context/base/mkiv/lpdf-xmp.lua @@ -144,15 +144,17 @@ local function update() settrailerid(false) return end - end - dates = toboolean(dates) - included.date = dates - if dates then - included.id = true - else - report_info("no date/time but fake id information will be added") - settrailerid(true) - included.id = "fake" + if t == "string" then + dates = toboolean(dates) + included.date = dates + if dates ~= false then + included.id = true + else + report_info("no date/time but fake id information will be added") + settrailerid(true) + included.id = "fake" + end + end end end diff --git a/tex/context/base/mkiv/lxml-ini.mkiv b/tex/context/base/mkiv/lxml-ini.mkiv index a06a9ed6e..5cb4bb22d 100644 --- a/tex/context/base/mkiv/lxml-ini.mkiv +++ b/tex/context/base/mkiv/lxml-ini.mkiv @@ -36,11 +36,11 @@ % for now indirect -\def\xmlconcat #1#2#3{\clf_xmlconcat {#1}{#2}{\detokenize{#3}}} -\def\xmlconcatrange #1#2#3#4#5{\clf_xmlconcatrange {#1}{#2}{#3}{#4}{\detokenize{#5}}} -\def\xmlload #1#2{\clf_xmlload {#1}{#2}{\directxmlparameter\c!compress}} -\def\xmlloadbuffer #1#2{\clf_xmlloadbuffer {#1}{#2}{\directxmlparameter\c!compress}} -\def\xmlloaddata #1#2{\clf_xmlloaddata {#1}{#2}{\directxmlparameter\c!compress}} +\def\xmlconcat #1#2#3{\clf_xmlconcat {#1}{#2}{\detokenize{#3}}} +\def\xmlconcatrange #1#2#3#4#5{\clf_xmlconcatrange{#1}{#2}{#3}{#4}{\detokenize{#5}}} +\def\xmlload #1#2{\clf_xmlload {#1}{#2}{\directxmlparameter\c!compress}} +\def\xmlloadbuffer #1#2{\clf_xmlloadbuffer {#1}{#2}{\directxmlparameter\c!compress}} +\def\xmlloaddata #1#2{\clf_xmlloaddata {#1}{#2}{\directxmlparameter\c!compress}} % aliased @@ -261,8 +261,8 @@ %xmlpushdocument{#3}% #2{#3}{#4}% \setcatcodetable\notcatcodes - \doifelsenothing{#5} - {\xmlsetup{#3}{xml:process}} + \doifelsenothing{#5}% + {\xmlsetup{#3}{xml:process}}% {\xmlsetup{#3}{#5}}% %xmlpopdocument \endgroup} @@ -327,7 +327,7 @@ \fi \unexpanded\def\stopxmldisplayverbatim {\endofverbatimlines - \stoppacked} + \stoppacked}% \doinitializeverbatim \beginofverbatimlines} diff --git a/tex/context/base/mkiv/lxml-tex.lua b/tex/context/base/mkiv/lxml-tex.lua index adef0f0ce..8bd5429cf 100644 --- a/tex/context/base/mkiv/lxml-tex.lua +++ b/tex/context/base/mkiv/lxml-tex.lua @@ -517,7 +517,6 @@ else function lxml.withindex(name,n,command) -- will change as name is always there now local i, p = lpegmatch(splitter,n) - if p then contextsprint(ctxcatcodes,"\\xmlw{",command,"}{",n,"}") else diff --git a/tex/context/base/mkiv/mult-def.lua b/tex/context/base/mkiv/mult-def.lua index d4ef3f6df..20f7ab040 100644 --- a/tex/context/base/mkiv/mult-def.lua +++ b/tex/context/base/mkiv/mult-def.lua @@ -13038,6 +13038,10 @@ return { ["cite"]={ ["en"]="cite", }, + ["closed"]={ + ["en"]="closed", + ["nl"]="gesloten", + }, ["color"]={ ["cs"]="barevne", ["de"]="farbe", @@ -15556,7 +15560,7 @@ return { ["ro"]="postscript", }, ["precedingpage"]={ - ["en"]="followingpage", + ["en"]="precedingpage", ["nl"]="voorafgaandepagina", }, ["preference"]={ diff --git a/tex/context/base/mkiv/mult-ini.mkiv b/tex/context/base/mkiv/mult-ini.mkiv index 117ac768c..634e2c1d8 100644 --- a/tex/context/base/mkiv/mult-ini.mkiv +++ b/tex/context/base/mkiv/mult-ini.mkiv @@ -124,11 +124,6 @@ \def\s!top {top} \def\s!both {both} -%D Kind of special: - -\edef\!!TLT{\detokenize{TLT}} -\edef\!!TRT{\detokenize{TRT}} - %D \macros %D {defineinterfaceconstant, %D defineinterfacevariable, diff --git a/tex/context/base/mkiv/mult-low.lua b/tex/context/base/mkiv/mult-low.lua index 13ab1c000..bc6c50fb2 100644 --- a/tex/context/base/mkiv/mult-low.lua +++ b/tex/context/base/mkiv/mult-low.lua @@ -297,7 +297,7 @@ return { "singleexpandafter", "doubleexpandafter", "tripleexpandafter", -- "dontleavehmode", "removelastspace", "removeunwantedspaces", "keepunwantedspaces", - "removepunctuation", "ignoreparskip", "forcestrutdepth", + "removepunctuation", "ignoreparskip", "forcestrutdepth", "onlynonbreakablespace", -- "wait", "writestatus", "define", "defineexpandable", "redefine", -- @@ -348,7 +348,7 @@ return { "dosinglegroupempty", "dodoublegroupempty", "dotriplegroupempty", "doquadruplegroupempty", "doquintuplegroupempty", "permitspacesbetweengroups", "dontpermitspacesbetweengroups", -- - "nopdfcompression", "maximumpdfcompression", "normalpdfcompression", "onlypdfobjectcompression", + "nopdfcompression", "maximumpdfcompression", "normalpdfcompression", "onlypdfobjectcompression", "nopdfobjectcompression", -- "modulonumber", "dividenumber", -- diff --git a/tex/context/base/mkiv/pack-rul.mkiv b/tex/context/base/mkiv/pack-rul.mkiv index 249c4f99b..f3ac8f6e8 100644 --- a/tex/context/base/mkiv/pack-rul.mkiv +++ b/tex/context/base/mkiv/pack-rul.mkiv @@ -730,7 +730,7 @@ % \dp\scratchbox\d_framed_target_dp % \box\scratchbox} -\def\pack_framed_stroked_box_normal +\def\pack_framed_stroked_box_normal_opened {\setbox\scratchbox\vpack \bgroup \csname\??framedtop\p_framed_frame\framedparameter\c!topframe\endcsname \nointerlineskip % new (needed for fences) @@ -750,6 +750,25 @@ \dp\scratchbox\d_framed_target_dp \box\scratchbox} +\def\pack_framed_stroked_box_normal_closed + {\hpack\bgroup + \scratchdimen.5\d_framed_linewidth + \hskip\scratchdimen + \clf_framedoutline + \dimexpr\d_framed_target_wd-\d_framed_linewidth\relax + \dimexpr\d_framed_target_ht-\scratchdimen\relax + \dimexpr\d_framed_target_dp-\scratchdimen\relax + \d_framed_linewidth + \relax + \egroup} + +\def\pack_framed_stroked_box_normal + {\ifx\p_framed_frame\v!closed + \pack_framed_stroked_box_normal_closed + \else + \pack_framed_stroked_box_normal_opened + \fi} + \def\pack_framed_t_rule{\hrule\s!height\d_framed_linewidth\kern-\d_framed_linewidth} \def\pack_framed_b_rule{\kern-\d_framed_linewidth\hrule\s!height\d_framed_linewidth} \def\pack_framed_r_rule{\kern-\d_framed_linewidth\vrule\s!width\d_framed_linewidth} diff --git a/tex/context/base/mkiv/page-bck.mkiv b/tex/context/base/mkiv/page-bck.mkiv index b44910bbe..1ec7cdbb8 100644 --- a/tex/context/base/mkiv/page-bck.mkiv +++ b/tex/context/base/mkiv/page-bck.mkiv @@ -52,7 +52,7 @@ \let\currentotrbackground\empty -%D This is the only spot where we hav ea low level dependency on the way +%D This is the only spot where we have a low level dependency on the way %D parent chains are defined but we want the speed. \unexpanded\def\page_backgrounds_check_background diff --git a/tex/context/base/mkiv/page-lin.lua b/tex/context/base/mkiv/page-lin.lua index 0e5f74694..51bfb4a7e 100644 --- a/tex/context/base/mkiv/page-lin.lua +++ b/tex/context/base/mkiv/page-lin.lua @@ -245,7 +245,7 @@ local function check_number(n,a,skip,sameline) end local p = checkline(n) if p then - ctx_makelinenumber(tag,skipflag,s,p.hsize,p.reverse and "TRT" or "TLT") + ctx_makelinenumber(tag,skipflag,s,p.hsize,p.reverse and 1 or 0) else report_lines("needs checking") end diff --git a/tex/context/base/mkiv/page-lin.mkvi b/tex/context/base/mkiv/page-lin.mkvi index 6470a8094..f36b27474 100644 --- a/tex/context/base/mkiv/page-lin.mkvi +++ b/tex/context/base/mkiv/page-lin.mkvi @@ -349,7 +349,7 @@ \d_page_lines_distance\linenumberingparameter\c!distance\relax \edef\p_align{\linenumberingparameter\c!align}% \edef\p_location{\linenumberingparameter\c!location}% - \ifcase\istltdir#dir\relax + \ifcase#dir\relax \settrue \c_page_lines_dir_left_to_right \else \setfalse\c_page_lines_dir_left_to_right diff --git a/tex/context/base/mkiv/page-one.mkiv b/tex/context/base/mkiv/page-one.mkiv index bfd0a2838..87783436f 100644 --- a/tex/context/base/mkiv/page-one.mkiv +++ b/tex/context/base/mkiv/page-one.mkiv @@ -229,6 +229,9 @@ \vskip\s_page_one_between_top_insert \egroup} +\let\totaltopinserted\!!zeropoint +\let\totalbotinserted\!!zeropoint + \unexpanded\def\page_one_command_set_top_insertions {\bgroup \ifconditional\c_page_floats_some_waiting diff --git a/tex/context/base/mkiv/page-sid.mkiv b/tex/context/base/mkiv/page-sid.mkiv index 303b77af2..afaf18231 100644 --- a/tex/context/base/mkiv/page-sid.mkiv +++ b/tex/context/base/mkiv/page-sid.mkiv @@ -403,7 +403,8 @@ \endgroup \else \forcestrutdepth - \fi} + \fi + \page_otr_command_set_vsize} % new \def\page_sides_flush_floats {\par @@ -689,7 +690,8 @@ % \stoptext \def\page_sides_analyse_progress - {\d_page_sides_progress\d_page_sides_vsize + {%\page_otr_command_set_vsize % this is new, otherwise topfloats are not taken into account + \d_page_sides_progress\d_page_sides_vsize \ifconditional\c_page_sides_flag \advance\d_page_sides_progress-\d_page_sides_page_total \global\setfalse\c_page_sides_flag @@ -704,7 +706,12 @@ \def\page_sides_analyse_space {\global\settrue\c_page_sides_flag - \page_sides_force_depth +\ifdim\pagegoal=\maxdimen + \pagegoal\textheight +\fi +\ifdim\pagetotal<\zeropoint + \pagetotal\textheight +\fi \global\d_page_sides_page_total \pagetotal % global \ifnum\c_page_sides_float_type<\plusfour \global\d_page_sides_width \zeropoint diff --git a/tex/context/base/mkiv/publ-dat.lua b/tex/context/base/mkiv/publ-dat.lua index b6e49da0f..f09e97a8d 100644 --- a/tex/context/base/mkiv/publ-dat.lua +++ b/tex/context/base/mkiv/publ-dat.lua @@ -1138,7 +1138,7 @@ do \ifdefined\btxcmd % we're probably in context \else - \def\btxcmd#1{\csname#1\endcsname} + \def\btxcmd#1{\begincsname#1\endcsname} \fi } diff --git a/tex/context/base/mkiv/publ-ini.lua b/tex/context/base/mkiv/publ-ini.lua index d58152bfc..ecc013dcd 100644 --- a/tex/context/base/mkiv/publ-ini.lua +++ b/tex/context/base/mkiv/publ-ini.lua @@ -32,7 +32,7 @@ local sortedkeys, sortedhash = table.sortedkeys, table.sortedhash local setmetatableindex = table.setmetatableindex local lpegmatch = lpeg.match local P, S, C, Ct, Cs, R, Carg = lpeg.P, lpeg.S, lpeg.C, lpeg.Ct, lpeg.Cs, lpeg.R, lpeg.Carg -local upper = utf.upper +local upper = characters.upper local report = logs.reporter("publications") local report_cite = logs.reporter("publications","cite") @@ -3463,7 +3463,7 @@ do implement { name = "btxcmdstring", - actions = function() context(btxstring) end, + actions = function() if btxstring ~= "" then context(btxstring) end end, } function publications.prerollcmdstring(str) diff --git a/tex/context/base/mkiv/spac-ali.mkiv b/tex/context/base/mkiv/spac-ali.mkiv index b28295cb3..71dbb6eb3 100644 --- a/tex/context/base/mkiv/spac-ali.mkiv +++ b/tex/context/base/mkiv/spac-ali.mkiv @@ -109,38 +109,6 @@ \textdirection\directionrighttoleft \pardirection \directionrighttoleft} -% % keep this as reference -% -% \unexpanded\def\spac_directions_lefttoright_hmode -% {\textdir TLT\relax -% \settrue\inlinelefttoright} -% -% \unexpanded\def\spac_directions_righttoleft_hmode -% {\textdir TRT\relax -% \setfalse\inlinelefttoright} -% -% \unexpanded\def\spac_directions_lefttoright_hmode -% {\ifzeropt\lastskip -% \textdir TLT\relax -% \else -% \scratchskip\lastskip -% \unskip -% \textdir TLT\relax -% \hskip\scratchskip -% \fi -% \settrue\inlinelefttoright} -% -% \unexpanded\def\spac_directions_righttoleft_hmode -% {\ifzeropt\lastskip -% \textdir TRT\relax -% \else -% \scratchskip\lastskip -% \unskip -% \textdir TRT\relax -% \hskip\scratchskip -% \fi -% \setfalse\inlinelefttoright} - \unexpanded\def\spac_directions_lefttoright_hmode {\linedirection\directionlefttoright % linedir keeps subtype of skip \settrue\inlinelefttoright} @@ -149,14 +117,6 @@ {\linedirection\directionrighttoleft % linedir keeps subtype of skip \setfalse\inlinelefttoright} -% \def\currentdirectionparameters -% {\ifconditional\inlinelefttoright \else -% idir {r2l}% -% \fi -% \ifconditional\displaylefttoright \else -% ddir {r2l}% -% \fi} - \unexpanded\def\synchronizelayoutdirection {\ifconditional\layoutlefttoright \spac_directions_synchronize_lr diff --git a/tex/context/base/mkiv/spac-hor.mkiv b/tex/context/base/mkiv/spac-hor.mkiv index 8504fdbd3..bbdab80aa 100644 --- a/tex/context/base/mkiv/spac-hor.mkiv +++ b/tex/context/base/mkiv/spac-hor.mkiv @@ -568,6 +568,13 @@ \fi \fi} +\unexpanded\def\onlynonbreakablespace + {\ifdim\lastskip=\interwordspace + \unskip + \nonbreakablespace + \fi + \ignorespaces} + % \startbuffer % \startlines \tt \fixedspaces % 0~1~~2~~~3~~~~4~~~~~5 diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf index 905068fc4..5315cf23b 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 925e6efa7..338fd01eb 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/base/mkiv/strc-ref.mkvi b/tex/context/base/mkiv/strc-ref.mkvi index 47719ffe2..be759548d 100644 --- a/tex/context/base/mkiv/strc-ref.mkvi +++ b/tex/context/base/mkiv/strc-ref.mkvi @@ -1163,17 +1163,23 @@ \newtoks\defaultleftreferencetoks \newtoks\defaultrightreferencetoks -\def\leftofreferencecontent {\nobreakspace} % we cannot do \definereferenceformat[at] .. so we need this +%def\leftofreferencecontent {\nobreakspace} % we cannot do \definereferenceformat[at] .. so we need this \let\rightofreferencecontent \empty \let\leftofreference \empty \let\rightofreference \empty +\unexpanded\def\leftofreferencecontent + {\removeunwantedspaces + \nonbreakablespace + \ignorespaces} + \installcorenamespace{referencinginteraction} \def\strc_references_interaction_all {\the\leftreferencetoks \doifelsesometoks\leftreferencetoks \leftofreferencecontent \donothing \leftofreference + \doifelsesometoks\leftreferencetoks\onlynonbreakablespace\relax % new, replace space by nonbreakable if present \currentreferencecontent \rightofreference \doifelsesometoks\rightreferencetoks\rightofreferencecontent\donothing @@ -1852,7 +1858,7 @@ \def\strc_references_define_program[#name][#program][#description]% {\clf_defineprogram{#name}{#program}{#description}} -\def\program[#name]% incompatible, more consistent, hardy used anyway +\unexpanded\def\program[#name]% incompatible, more consistent, hardy used anyway {\dontleavehmode \begingroup \useprogramsstyleandcolor\c!style\c!color diff --git a/tex/context/base/mkiv/supp-dir.mkiv b/tex/context/base/mkiv/supp-dir.mkiv index dfde3d753..073d32aa7 100644 --- a/tex/context/base/mkiv/supp-dir.mkiv +++ b/tex/context/base/mkiv/supp-dir.mkiv @@ -40,24 +40,4 @@ % {\inleft{\normalexpanded{\noexpand\hbox bdir\directionlefttoright % {\ttxx[\syst_direction_string\pardirection,\syst_direction_string\textdirection]}}}} -% will become obsolete: - -\bgroup - \catcode`L=\othercatcode \gdef\istltdir#1#2#3{\if#2L0\else1\fi} - \catcode`R=\othercatcode \gdef\istrtdir#1#2#3{\if#2R0\else1\fi} -\egroup - -\def\istlttextdir{\expandafter\istltdir\the\textdir} -\def\istrttextdir{\expandafter\istrtdir\the\textdir} - -\def\istltpardir {\expandafter\istltdir\the\pardir } -\def\istrtpardir {\expandafter\istrtdir\the\pardir } - -% in 1.10 but obsolete helpers anyway - -% \def\istlttextdir{\ifnum\textdirection=\plusone \zerocount\else \plusone \fi} -% \def\istrttextdir{\ifnum\textdirection=\plusone \plusone \else \zerocount\fi} -% \def\istltpardir {\ifnum\pardirection =\plusone \zerocount\else \plusone \fi} -% \def\istrtpardir {\ifnum\pardirection =\plusone \plusone \else \zerocount\fi} - \protect \endinput diff --git a/tex/context/base/mkiv/syst-aux.lua b/tex/context/base/mkiv/syst-aux.lua index f3ab7ff61..9b0ca82c4 100644 --- a/tex/context/base/mkiv/syst-aux.lua +++ b/tex/context/base/mkiv/syst-aux.lua @@ -355,9 +355,9 @@ do return s end - local function lower() context(_lower_(s)) end - local function upper() context(_upper_(s)) end - local function strip() context(_strip_(s)) end + local function lower(s) context(_lower_(s)) end + local function upper(s) context(_upper_(s)) end + local function strip(s) context(_strip_(s)) end implement { name = "upper", arguments = "string", actions = upper } implement { name = "lower", arguments = "string", actions = lower } diff --git a/tex/context/base/mkiv/syst-cmp.lua b/tex/context/base/mkiv/syst-cmp.lua new file mode 100644 index 000000000..67595d043 --- /dev/null +++ b/tex/context/base/mkiv/syst-cmp.lua @@ -0,0 +1,8 @@ +if not modules then modules = { } end modules ['syst-cmp'] = { + version = 1.001, + comment = "companion to syst-cmp.mkiv", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files" +} + diff --git a/tex/context/base/mkiv/syst-cmp.mkiv b/tex/context/base/mkiv/syst-cmp.mkiv new file mode 100644 index 000000000..a5ebdd8e3 --- /dev/null +++ b/tex/context/base/mkiv/syst-cmp.mkiv @@ -0,0 +1,22 @@ +%D \module +%D [ file=syst-cmp, +%D version=2018.12.05, +%D title=\CONTEXT\ System Macros, +%D subtitle=Compatibility, +%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 Some code that has been laying around for generic compatibility is (and will be) +%D moved here, for instance because tikz needs it. At some point I will make an +%D indirect interface for generic code (if needed). + +\registerctxluafile{syst-cmp}{} + +\unprotect + +\protect \endinput diff --git a/tex/context/base/mkiv/syst-ini.mkiv b/tex/context/base/mkiv/syst-ini.mkiv index f9f685f76..850b1fe6a 100644 --- a/tex/context/base/mkiv/syst-ini.mkiv +++ b/tex/context/base/mkiv/syst-ini.mkiv @@ -142,6 +142,8 @@ tex.enableprimitives("normal",texprimitives) tex.enableprimitives("normal",etexprimitives) tex.enableprimitives("normal",luatexprimitives) + + function tex.enableprimitives() end } \def\space{ } @@ -463,35 +465,35 @@ %D And even more: (todo: countdefs 60+) -%newcount \minusone \minusone -1 -\newcount \minustwo \minustwo -2 -%chardef \zerocount 0 -%chardef \plusone 1 -\chardef \plustwo 2 -\chardef \plusthree 3 -\chardef \plusfour 4 -\chardef \plusfive 5 -\chardef \plussix 6 -\chardef \plusseven 7 -\chardef \pluseight 8 -\chardef \plusnine 9 -\chardef \plusten 10 -\chardef \plussixteen 16 -\chardef \plusfifty 50 -\chardef \plushundred 100 -\chardef \plusonehundred 100 -\chardef \plustwohundred 200 -\chardef \plusfivehundred 500 -\chardef \pluscxxvii 127 -\chardef \pluscxxviii 128 -\chardef \pluscclv 255 -\chardef \pluscclvi 256 -\chardef \plusthousand 1000 -\chardef \plustenthousand 10000 -\chardef \plustwentythousand 20000 -\chardef \medcard 32768 -\chardef \maxcard 65536 % pdftex has less mathchars -\chardef \maxcardminusone 65535 +%newcount\minusone \minusone -1 +\newcount\minustwo \minustwo -2 +%chardef \zerocount 0 +%chardef \plusone 1 +\chardef \plustwo 2 +\chardef \plusthree 3 +\chardef \plusfour 4 +\chardef \plusfive 5 +\chardef \plussix 6 +\chardef \plusseven 7 +\chardef \pluseight 8 +\chardef \plusnine 9 +\chardef \plusten 10 +\chardef \plussixteen 16 +\chardef \plusfifty 50 +\chardef \plushundred 100 +\chardef \plusonehundred 100 +\chardef \plustwohundred 200 +\chardef \plusfivehundred 500 +\chardef \pluscxxvii 127 +\chardef \pluscxxviii 128 +\chardef \pluscclv 255 +\chardef \pluscclvi 256 +\chardef \plusthousand 1000 +\chardef \plustenthousand 10000 +\chardef \plustwentythousand 20000 +\chardef \medcard 32768 +\chardef \maxcard 65536 % pdftex has less mathchars +\chardef \maxcardminusone 65535 %D \macros %D {doubleexpandafter,tripleexpandafter,expanded,startexpanded} @@ -1142,7 +1144,6 @@ \edef\pdfpkmode {\pdfvariable pkmode} \edef\pdfsuppressoptionalinfo{\pdfvariable suppressoptionalinfo } -\let \pdfsuppressptexinfo \pdfsuppressoptionalinfo \edef\pdftrailerid {\pdfvariable trailerid } \edef\pdfinfoomitdate {\pdfvariable suppressoptionalinfo \numexpr32+64\relax} @@ -1158,10 +1159,6 @@ \normalpdfcompression -\ifdefined\outputmode \else - \newcount\outputmode -\fi - \outputmode \zerocount % we generate the format in this mode %D Basic status stuff. @@ -1203,22 +1200,27 @@ %D We get rid of the funny \TEX\ offset defaults of one inch by setting them to zero. -\voffset\zeropoint \let\voffset\relax \newdimen\voffset -\hoffset\zeropoint \let\hoffset\relax \newdimen\hoffset +\voffset\zeropoint \let\voffset\relax \newdimen\voffset \let\normalvoffset\voffset +\hoffset\zeropoint \let\hoffset\relax \newdimen\hoffset \let\normalhoffset\hoffset -\let\pageleftoffset \hoffset -\let\pagerightoffset \hoffset -\let\pagetopoffset \voffset -\let\pagebottomoffset\voffset +\let\pageleftoffset \hoffset \let\normalpageleftoffset \hoffset +\let\pagerightoffset \hoffset \let\normalpagerightoffset \hoffset +\let\pagetopoffset \voffset \let\normalpagetopoffset \voffset +\let\pagebottomoffset\voffset \let\normalpagebottomoffset\voffset %D Handy. -\suppresslongerror \plusone % \let\suppresslongerror \relax -\suppressoutererror \plusone % \let\suppressoutererror \relax -\suppressmathparerror \plusone % \let\suppressmathparerror \relax -\suppressifcsnameerror\plusone % \let\suppressifcsnameerror\relax +\suppresslongerror \plusone +\suppressoutererror \plusone +\suppressmathparerror \plusone +\suppressifcsnameerror\plusone -\matheqnogapstep \zerocount % fr now +\newcount\suppresslongerror \let\normalsuppresslongerror \suppresslongerror +\let \suppressoutererror \suppresslongerror \let\normalsuppressoutererror \suppresslongerror +\let \suppressmathparerror \suppresslongerror \let\normalsuppressmathparerror \suppresslongerror +\let \suppressifcsnameerror\suppresslongerror \let\normalsuppressifcsnameerror\suppresslongerror + +\matheqnogapstep\zerocount % for now %D While cleaning this code up a bit I was listening to Heather Nova's \CD\ Redbird. %D The first song on that \CD\ ends with a few lines suitable for ending this @@ -1265,34 +1267,4 @@ \let\normalstartdmath \Ustartdisplaymath \let\normalstopdmath \Ustopdisplaymath -\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 -\ifdefined\mathsurroundmode \else \newcount\mathsurroundmode \fi -\ifdefined\mathitalicsmode \else \newcount\mathitalicsmode \fi -\ifdefined\mathdelimitersmode \else \newcount\mathdelimitersmode \fi -\ifdefined\mathscriptboxmode \else \newcount\mathscriptboxmode \fi -\ifdefined\mathscriptcharmode \else \newcount\mathscriptcharmode \fi -\ifdefined\mathrulethicknessmode \else \newcount\mathrulethicknessmode \fi - -\ifdefined\hyphenpenaltymode \else \newcount\hyphenpenaltymode \fi -\ifdefined\automatichyphenpenalty \else \newcount\automatichyphenpenalty \fi -\ifdefined\automatichyphenmode \else \newcount\automatichyphenmode \fi -\ifdefined\explicithyphenpenalty \else \newcount\explicithyphenpenalty \fi - -\ifdefined\explicitdiscretionary \else \let\explicitdiscretionary \- \fi -\ifdefined\automaticdiscretionary \else \def\automaticdiscretionary{\Uchar\exhyphenchar} \fi - -\ifdefined\mathpenaltiesmode \else \newcount\mathpenaltiesmode \fi -\ifdefined\mathflattenmode \else \newcount\mathflattenmode \fi -\ifdefined\prebinoppenalty \else \newcount\prebinoppenalty \fi -\ifdefined\prerelpenalty \else \newcount\prerelpenalty \fi - -\ifdefined\breakafterdirmode \else \newcount\breakafterdirmode \fi -\ifdefined\exceptionpenalty \else \newcount\exceptionpenalty \fi -\ifdefined\luacopyinputnodes \else \newcount\luacopyinputnodes \fi -\ifdefined\fixupboxesmode \else \newcount\fixupboxesmode \fi - \protect \endinput diff --git a/tex/context/base/mkiv/trac-deb.lua b/tex/context/base/mkiv/trac-deb.lua index 03df86825..c9a05f238 100644 --- a/tex/context/base/mkiv/trac-deb.lua +++ b/tex/context/base/mkiv/trac-deb.lua @@ -220,7 +220,13 @@ function tracers.printerror(specification) else report_nl() if luaerrorline then - report("lua error on line %s in file %s:\n\n%s",linenumber,filename,lastluaerror) + if linenumber == 0 or not filename or filename == "" then + print("\nfatal lua error:\n\n",lastluaerror,"\n") + os.exit(1) + return + else + report("lua error on line %s in file %s:\n\n%s",linenumber,filename,lastluaerror) + end elseif lastmpserror then report("mp error on line %s in file %s:\n\n%s",linenumber,filename,lastmpserror) else diff --git a/tex/context/base/mkiv/typo-dir.mkiv b/tex/context/base/mkiv/typo-dir.mkiv index 23d02c507..25ff94626 100644 --- a/tex/context/base/mkiv/typo-dir.mkiv +++ b/tex/context/base/mkiv/typo-dir.mkiv @@ -156,21 +156,21 @@ % \tttf\ctxlua{documentdata.split_tokens([[\detokenize{#3}]])}}} % % \startbuffer[bidi-sample] -% \biditest\Arabic{LATIN BARA}{\textdir TLT\relax \LATIN\ \ARAB}\par -% \biditest\Arabic{BARA LATIN}{\textdir TRT\relax \LATIN\ \ARAB}\par -% \biditest\Arabic{LATIN ARAB}{\textdir TLT{\bidilro \LATIN\ \ARAB}}\par % right -> left -% \biditest\Arabic{LATIN ARAB}{\textdir TRT{\bidilro \LATIN\ \ARAB}}\par % right -> left -% \biditest\Arabic{BARA NITAL}{\textdir TLT{\bidirlo \LATIN\ \ARAB}}\par % left -> right -% \biditest\Arabic{BARA NITAL}{\textdir TRT{\bidirlo \LATIN\ \ARAB}}\par % left -> right +% \biditest\Arabic{LATIN BARA}{\lefttoright\relax \LATIN\ \ARAB}\par +% \biditest\Arabic{BARA LATIN}{\righttoleft\relax \LATIN\ \ARAB}\par +% \biditest\Arabic{LATIN ARAB}{\lefttoright{\bidilro \LATIN\ \ARAB}}\par % right -> left +% \biditest\Arabic{LATIN ARAB}{\righttoleft{\bidilro \LATIN\ \ARAB}}\par % right -> left +% \biditest\Arabic{BARA NITAL}{\lefttoright{\bidirlo \LATIN\ \ARAB}}\par % left -> right +% \biditest\Arabic{BARA NITAL}{\righttoleft{\bidirlo \LATIN\ \ARAB}}\par % left -> right % \stopbuffer % % \startbuffer[bidi-sample] -% \biditest\Arabic{LATIN BARA}{\textdir TLT\relax \LATIN\ \ARAB}\par -% \biditest\Arabic{BARA LATIN}{\textdir TRT\relax \LATIN\ \ARAB}\par -% \biditest\Arabic{LATIN ARAB}{\textdir TLT\bidilro \LATIN\ \ARAB}\par % right -> left -% \biditest\Arabic{LATIN ARAB}{\textdir TRT\bidilro \LATIN\ \ARAB}\par % right -> left -% \biditest\Arabic{BARA NITAL}{\textdir TLT\bidirlo \LATIN\ \ARAB}\par % left -> right -% \biditest\Arabic{BARA NITAL}{\textdir TRT\bidirlo \LATIN\ \ARAB}\par % left -> right +% \biditest\Arabic{LATIN BARA}{\lefttoright\relax \LATIN\ \ARAB}\par +% \biditest\Arabic{BARA LATIN}{\righttoleft\relax \LATIN\ \ARAB}\par +% \biditest\Arabic{LATIN ARAB}{\lefttoright\bidilro \LATIN\ \ARAB}\par % right -> left +% \biditest\Arabic{LATIN ARAB}{\righttoleft\bidilro \LATIN\ \ARAB}\par % right -> left +% \biditest\Arabic{BARA NITAL}{\lefttoright\bidirlo \LATIN\ \ARAB}\par % left -> right +% \biditest\Arabic{BARA NITAL}{\righttoleft\bidirlo \LATIN\ \ARAB}\par % left -> right % \stopbuffer % % \startbuffer[bidi-setup] diff --git a/tex/context/base/mkiv/util-deb.lua b/tex/context/base/mkiv/util-deb.lua index f396fcf7a..6932e8804 100644 --- a/tex/context/base/mkiv/util-deb.lua +++ b/tex/context/base/mkiv/util-deb.lua @@ -106,6 +106,9 @@ setmetatableindex(names,function(t,name) return v end) +local getinfo = nil +local sethook = nil + local function hook(where) local f = getinfo(2,"nSl") if f then @@ -237,9 +240,6 @@ function debugger.showstats(printer,threshold) -- table.save("luatex-profile.lua",names) end -local getinfo = nil -local sethook = nil - local function getdebug() if sethook and getinfo then return @@ -261,7 +261,6 @@ local function getdebug() end end - function debugger.savestats(filename,threshold) local f = io.open(filename,'w') if f then diff --git a/tex/context/base/mkiv/util-evo.lua b/tex/context/base/mkiv/util-evo.lua index e77b7963a..b6d058e39 100644 --- a/tex/context/base/mkiv/util-evo.lua +++ b/tex/context/base/mkiv/util-evo.lua @@ -772,10 +772,10 @@ local function off(presets,name) end end -local function on(presets,name) +local function on(presets,name,temperature) local zone = presets and getzonestate(presets,name) if zone then - setzonestate(presets,name,zone.highest) + setzonestate(presets,name,temperature or zone.highest) end end @@ -979,10 +979,10 @@ end evohome = { helpers = { - getaccesstoken = getaccesstoken, -- presets - getuserinfo = getuserinfo, -- presets - getlocationinfo = getlocationinfo, -- presets - getschedule = getschedule, -- presets, name + getaccesstoken = getaccesstoken, -- presets + getuserinfo = getuserinfo, -- presets + getlocationinfo = getlocationinfo, -- presets + getschedule = getschedule, -- presets, name -- geteverything = geteverything, -- presets, noschedules gettemperatures = gettemperatures, -- presets diff --git a/tex/context/interface/mkii/keys-cs.xml b/tex/context/interface/mkii/keys-cs.xml index 8e1e4a457..9d201386f 100644 --- a/tex/context/interface/mkii/keys-cs.xml +++ b/tex/context/interface/mkii/keys-cs.xml @@ -421,7 +421,7 @@ - + diff --git a/tex/context/interface/mkii/keys-en.xml b/tex/context/interface/mkii/keys-en.xml index a0a302d34..a3606e38b 100644 --- a/tex/context/interface/mkii/keys-en.xml +++ b/tex/context/interface/mkii/keys-en.xml @@ -140,6 +140,7 @@ + @@ -421,7 +422,7 @@ - + diff --git a/tex/context/interface/mkii/keys-fr.xml b/tex/context/interface/mkii/keys-fr.xml index c5da3adca..452f3316a 100644 --- a/tex/context/interface/mkii/keys-fr.xml +++ b/tex/context/interface/mkii/keys-fr.xml @@ -140,6 +140,7 @@ + @@ -421,7 +422,7 @@ - + diff --git a/tex/context/interface/mkii/keys-nl.xml b/tex/context/interface/mkii/keys-nl.xml index d00978a6c..1104e14c1 100644 --- a/tex/context/interface/mkii/keys-nl.xml +++ b/tex/context/interface/mkii/keys-nl.xml @@ -140,6 +140,7 @@ + diff --git a/tex/context/interface/mkii/keys-ro.xml b/tex/context/interface/mkii/keys-ro.xml index 8bef643de..5ff18dc48 100644 --- a/tex/context/interface/mkii/keys-ro.xml +++ b/tex/context/interface/mkii/keys-ro.xml @@ -140,6 +140,7 @@ + @@ -421,7 +422,7 @@ - + diff --git a/tex/context/interface/mkiv/context-en.xml b/tex/context/interface/mkiv/context-en.xml index d0e93c410..b29d35c1c 100644 --- a/tex/context/interface/mkiv/context-en.xml +++ b/tex/context/interface/mkiv/context-en.xml @@ -13801,6 +13801,7 @@ + diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf index 7cf012add..ae92c7a6b 100644 Binary files a/tex/context/interface/mkiv/i-context.pdf and b/tex/context/interface/mkiv/i-context.pdf differ diff --git a/tex/context/interface/mkiv/i-framed.xml b/tex/context/interface/mkiv/i-framed.xml index a4667dd2e..cf9ffda0a 100644 --- a/tex/context/interface/mkiv/i-framed.xml +++ b/tex/context/interface/mkiv/i-framed.xml @@ -89,6 +89,7 @@ + @@ -627,4 +628,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf index 83fffc41a..f06288b82 100644 Binary files a/tex/context/interface/mkiv/i-readme.pdf and b/tex/context/interface/mkiv/i-readme.pdf differ diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index f467d02e3..d339e9bff 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 : 12/01/18 13:20:11 +-- merge date : 12/07/18 19:37:06 do -- begin closure to overcome local limits and interference @@ -34961,9 +34961,6 @@ function resolvers.name(specification) features.normal=normal end normal.instance=instance - if not callbacks.supported.glyph_stream_provider then - normal.variableshapes=true - end end local suffix=lower(suffixonly(resolved)) if fonts.formats[suffix] then @@ -35821,7 +35818,7 @@ do -- begin closure to overcome local limits and interference if not modules then modules={} end modules ['font-imp-effects']={ version=1.001, - comment="companion to font-ini.mkiv and hand-ini.mkiv", + comment="companion to font-ini.mkiv", author="Hans Hagen, PRAGMA-ADE, Hasselt NL", copyright="PRAGMA ADE / ConTeXt Development Team", license="see context related readme files" -- cgit v1.2.3