From 1dd041ae12429b1c1e5d22a5df43f8aea72769b4 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Mon, 7 Oct 2013 22:06:00 +0200 Subject: beta 2013.10.07 22:06 --- tex/context/base/catc-def.mkiv | 2 + tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4112 -> 4109 bytes tex/context/base/context.mkiv | 4 +- tex/context/base/font-syn.lua | 5 +- tex/context/base/font-trt.lua | 7 +- tex/context/base/node-aux.lua | 19 +++++ tex/context/base/node-ref.lua | 15 ++-- tex/context/base/s-inf-03.pdf | Bin 1981 -> 0 bytes tex/context/base/status-files.pdf | Bin 24695 -> 24520 bytes tex/context/base/status-lua.log | 79 --------------------- tex/context/base/status-lua.pdf | Bin 0 -> 224671 bytes tex/context/base/strc-not.mkvi | 2 +- tex/context/base/typo-tal.mkiv | 2 +- tex/context/fonts/treatments.lfg | 36 ++++++++-- tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 16 files changed, 75 insertions(+), 100 deletions(-) delete mode 100644 tex/context/base/s-inf-03.pdf delete mode 100644 tex/context/base/status-lua.log create mode 100644 tex/context/base/status-lua.pdf (limited to 'tex') diff --git a/tex/context/base/catc-def.mkiv b/tex/context/base/catc-def.mkiv index cfbaed171..bf794f045 100644 --- a/tex/context/base/catc-def.mkiv +++ b/tex/context/base/catc-def.mkiv @@ -142,4 +142,6 @@ \normalprotected\def\unprotect{\pushcatcodetable\setcatcodetable\prtcatcodes} \normalprotected\def\protect {\popcatcodetable} +% \prependtoks \catcodetable\ctxcatcodes \to \everyjob + \endinput diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index 5c1d3dfab..03c066abb 100644 --- a/tex/context/base/cont-new.mkiv +++ b/tex/context/base/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2013.10.07 12:02} +\newcontextversion{2013.10.07 22:06} %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/context-version.pdf b/tex/context/base/context-version.pdf index 300e54312..3b273abfa 100644 Binary files a/tex/context/base/context-version.pdf and b/tex/context/base/context-version.pdf differ diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index 6bf94d34b..920e03081 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -25,7 +25,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2013.10.07 12:02} +\edef\contextversion{2013.10.07 22:06} \edef\contextkind {beta} %D For those who want to use this: @@ -91,6 +91,8 @@ \loadmarkfile{cldf-ini} +% \tracecatcodetables + % From here on we have \unexpanded being \normalprotected, as we already had % \unexpanded long before etex came around. diff --git a/tex/context/base/font-syn.lua b/tex/context/base/font-syn.lua index ead571938..18da4f2e1 100644 --- a/tex/context/base/font-syn.lua +++ b/tex/context/base/font-syn.lua @@ -56,6 +56,9 @@ fonts.names = names local filters = names.filters or { } names.filters = filters +local treatments = names.treatments or { } +names.treatments = treatments + names.data = names.data or allocate { } names.version = 1.123 @@ -828,7 +831,7 @@ local function analyzefiles(olddata) local oldindices = olddata and olddata.indices or { } local oldspecifications = olddata and olddata.specifications or { } local oldrejected = olddata and olddata.rejected or { } - local treatmentdata = fonts.treatments and fonts.treatments.data or { } -- when used outside context + local treatmentdata = treatments.data or { } -- when used outside context local function identify(completename,name,suffix,storedname) local pathpart, basepart = splitbase(completename) nofread = nofread + 1 diff --git a/tex/context/base/font-trt.lua b/tex/context/base/font-trt.lua index 319863fa3..ebe8007b7 100644 --- a/tex/context/base/font-trt.lua +++ b/tex/context/base/font-trt.lua @@ -17,14 +17,17 @@ something in a manual). It's one of the few places where an lfg file gets loaded outside the goodies manager.

--ldx]]-- -local treatments = utilities.storage.allocate() +local treatments = fonts.treatments or { } fonts.treatments = treatments -local treatmentdata = { } + +local treatmentdata = treatments.data or utilities.storage.allocate() treatments.data = treatmentdata + treatments.filename = "treatments.lfg" local trace_treatments = false trackers.register("fonts.treatments", function(v) trace_treatments = v end) local report_treatment = logs.reporter("fonts","treatment") + treatments.report = report_treatment function treatments.trace(...) diff --git a/tex/context/base/node-aux.lua b/tex/context/base/node-aux.lua index 16e6d55a0..443c78547 100644 --- a/tex/context/base/node-aux.lua +++ b/tex/context/base/node-aux.lua @@ -369,3 +369,22 @@ local function locate(start,wantedid,wantedsubtype) end nodes.locate = locate + +-- I have no use for this yet: +-- +-- \skip0=10pt plus 2pt minus 2pt +-- \cldcontext{"\letterpercent p",tex.stretch_amount(tex.skip[0],1000)} -- 14.30887pt +-- +-- local gluespec_code = nodes.nodecodes.gluespec +-- +-- function tex.badness_to_ratio(badness) +-- return (badness/100)^(1/3) +-- end +-- +-- function tex.stretch_amount(skip,badness) +-- if skip.id == gluespec_code then +-- return skip.width + (badness and (badness/100)^(1/3) or 1) * skip.stretch +-- else +-- return 0 +-- end +-- end diff --git a/tex/context/base/node-ref.lua b/tex/context/base/node-ref.lua index baece6e50..aa864fb1c 100644 --- a/tex/context/base/node-ref.lua +++ b/tex/context/base/node-ref.lua @@ -498,13 +498,16 @@ local function makedestination(width,height,depth,reference) nofdestinations = nofdestinations + 1 for n=1,#name do local annot = nodeinjections.destination(width,height,depth,name[n],view) - if not result then - result = annot - else - current.next = annot - annot.prev = current + if annot then + -- probably duplicate + if not result then + result = annot + else + current.next = annot + annot.prev = current + end + current = find_node_tail(annot) end - current = find_node_tail(annot) end if result then -- some internal error diff --git a/tex/context/base/s-inf-03.pdf b/tex/context/base/s-inf-03.pdf deleted file mode 100644 index 30df291ed..000000000 Binary files a/tex/context/base/s-inf-03.pdf and /dev/null differ diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 054703a76..13ebd5715 100644 Binary files a/tex/context/base/status-files.pdf and b/tex/context/base/status-files.pdf differ diff --git a/tex/context/base/status-lua.log b/tex/context/base/status-lua.log deleted file mode 100644 index c65fcd67e..000000000 --- a/tex/context/base/status-lua.log +++ /dev/null @@ -1,79 +0,0 @@ -(cont-yes.mkiv - -ConTeXt ver: 2013.10.07 12:02 MKIV beta fmt: 2013.10.7 int: english/english - -system > 'cont-new.mkiv' loaded -(cont-new.mkiv) -system > 'cont-loc.mkiv' loaded -(c:/data/develop/context/sources/cont-loc.mkiv -!!!! > testing prevdepth across page -) -system > 'cont-exp.mkiv' loaded -interface > macros > processed mkvi file 'c:/data/develop/context/sources/cont-exp.mkiv', delta 0 -interface > macros > processed mkvi file 'c:/data/develop/context/sources/cont-exp.mkiv', delta 0 -(c:/data/develop/context/sources/cont-exp.mkiv) -system > files > jobname 's-inf-03', input './s-inf-03.mkiv', result 'status-lua.pdf' -fonts > latin modern fonts are not preloaded -languages > language 'en' is active -(c:/data/develop/context/texmf/tex/context/base/s-inf-03.mkiv (c:/data/develop/context/sources/type-loc.mkiv) (type-imp-dejavu.mkiv) (type-imp-xits.mkiv (type-imp-texgyre.mkiv)){c:/data/develop/tex-context/tex/texmf-context/fonts/map/pdftex/context/mkiv-base.map} (virtual://buffer.noname.1 -references > unknown reference '[][]' -references > unknown reference '[][attributes]' -references > unknown reference '[][backends]' -references > unknown reference '[][bibtex]' -references > unknown reference '[][bit32]' -references > unknown reference '[][blobs]' -references > unknown reference '[][boolean]' -references > unknown reference '[][buffers]' -references > unknown reference '[][builders]' -references > unknown reference '[][caches]' -references > unknown reference '[][callback]' -references > unknown reference '[][callbacks]' -references > unknown reference '[][catcodes]' -references > unknown reference '[][characters]' -references > unknown reference '[][chemistry]' -references > unknown reference '[][commands]' -references > unknown reference '[][containers]' -references > unknown reference '[][context]' -references > unknown reference '[][converters]' -references > unknown reference '[][coroutine]' -references > unknown reference '[][ctxrunner]' -references > unknown reference '[][debug]' -references > unknown reference '[][dir]' -references > unknown reference '[][directives]' -references > unknown reference '[][document]' -references > unknown reference '[][documentdata]' -references > unknown reference '[][environment]' -references > unknown reference '[][epdf]' -references > unknown reference '[][experiments]' -references > unknown reference '[][figures]' -references > unknown reference '[][file]' -references > unknown reference '[][floats]' -references > unknown reference '[][font]' -references > unknown reference '[][fontloader]' -references > unknown reference '[][fonts]' -references > unknown reference '[][functions]' -references > unknown reference '[][graphics]' -references > unknown reference '[][gzip]' -references > unknown reference '[][img]' -references > unknown reference '[][interactions]' -references > unknown reference '[][interfaces]' -references > unknown reference '[][io]' -references > unknown reference '[][job]' -references > unknown reference '[][lang]' -references > unknown reference '[][languages]' -references > unknown reference '[][layouts]' -references > unknown reference '[][lfs]' -references > unknown reference '[][libraries]' -references > unknown reference '[][lmx]' -references > unknown reference '[][logs]' -references > unknown reference '[][lpdf]' -references > unknown reference '[][lpeg]' -references > unknown reference '[][ltn12]' -references > unknown reference '[][lua]' -references > unknown reference '[][luatex]' -references > unknown reference '[][lxml]' -references > unknown reference '[][math]' -references > unknown reference '[][mathematics]' -references > unknown reference '[][mbox]' -references > unknown reference '[][md5]' -references > unknown reference '[][metapost \ No newline at end of file diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf new file mode 100644 index 000000000..c5d63ed66 Binary files /dev/null and b/tex/context/base/status-lua.pdf differ diff --git a/tex/context/base/strc-not.mkvi b/tex/context/base/strc-not.mkvi index d2c916daa..cf1735da8 100644 --- a/tex/context/base/strc-not.mkvi +++ b/tex/context/base/strc-not.mkvi @@ -1200,7 +1200,7 @@ % as we can have collected notes (e.g. in tables) we need to recover % \currentdescriptionattribute and \currentdescriptionsynchronize % - %\reinstateconstructionnumberentry\currentconstructionlistentry % we could store the number in the entry + \reinstateconstructionnumberentry\currentconstructionlistentry % we could store the number in the entry (e.g. needed when local notes in table) % \dontcomplain % \begingroup diff --git a/tex/context/base/typo-tal.mkiv b/tex/context/base/typo-tal.mkiv index f67eadc49..a34cb8bb6 100644 --- a/tex/context/base/typo-tal.mkiv +++ b/tex/context/base/typo-tal.mkiv @@ -109,4 +109,4 @@ \def\setfirstpasscharacteralign {\let\checkcharacteralign\gobbleoneargument} \def\setsecondpasscharacteralign{\let\checkcharacteralign\firstofoneargument} -\endinput +\protect \endinput diff --git a/tex/context/fonts/treatments.lfg b/tex/context/fonts/treatments.lfg index 54f35d535..18a43525b 100644 --- a/tex/context/fonts/treatments.lfg +++ b/tex/context/fonts/treatments.lfg @@ -8,14 +8,16 @@ -- applied at runtime. An experimental auto-loaded goodie approach is not yet -- enabled and will never be if treatments can do the job. -local unifraktur = { +local report = fonts.treatments.report + +local fix_unifraktur = { comment = "suspicious x height", fixes = function(data) local pfminfo = data.metadata.pfminfo if pfminfo then local os2_xheight = pfminfo.os2_xheight if os2_xheight and os2_xheight < 350 then - fonts.treatments.report("suspicious x-height %a, nilling",os2_xheight) + report("suspicious x-height %a, nilling",os2_xheight) pfminfo.os2_xheight_original = os2_xheight pfminfo.os2_xheight = nil end @@ -23,6 +25,25 @@ local unifraktur = { end, } +local fix_lmmonoregular = { + comment = "wrong widths of some glyphs", + fixes = function(data) + report("fixing some wrong widths") + local unicodes = data.resources.unicodes + local descriptions = data.descriptions + local defaultwidth = descriptions[unicodes["zero"]].width + descriptions[unicodes["six"] ].width = defaultwidth + descriptions[unicodes["nine"] ].width = defaultwidth + descriptions[unicodes["caron"] ].width = defaultwidth + descriptions[unicodes["perthousand"] ].width = defaultwidth + descriptions[unicodes["numero"] ].width = defaultwidth + descriptions[unicodes["caron.cap"] ].width = defaultwidth + descriptions[unicodes["six.taboldstyle"] ].width = defaultwidth + descriptions[unicodes["nine.taboldstyle"]].width = defaultwidth + descriptions[unicodes["dollar.oldstyle" ]].width = defaultwidth + end +} + return { name = "treatments", version = "1.00", @@ -43,10 +64,11 @@ return { comment = "a text file with suffix ttf", -- used in test file ignored = true, }, - ["latinmodern-math.otf"] = { - comment = "experimental", - }, - ["unifrakturcook.ttf"] = unifraktur, - ["unifrakturmaguntia.ttf"] = unifraktur, + -- ["latinmodern-math.otf"] = { + -- comment = "experimental", + -- }, + ["lmmono12regular.otf"] = fix_lmmonoregular, + ["unifrakturcook.ttf"] = fix_unifraktur, + ["unifrakturmaguntia.ttf"] = fix_unifraktur, }, } diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 103249c29..1a5fd0a34 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 : luatex-fonts-merged.lua -- parent file : luatex-fonts.lua --- merge date : 10/07/13 12:02:11 +-- merge date : 10/07/13 22:06:08 do -- begin closure to overcome local limits and interference -- cgit v1.2.3