From d04b4e27d9dcfe3a245b83b2ea7885c95e57b2ca Mon Sep 17 00:00:00 2001 From: Context Git Mirror Bot Date: Fri, 21 Aug 2015 20:15:06 +0200 Subject: 2015-08-21 19:59:00 --- tex/context/base/attr-eff.mkiv | 2 +- tex/context/base/back-exp.lua | 16 +++--- tex/context/base/back-exp.mkiv | 13 ++++- tex/context/base/chem-str.mkiv | 6 +- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4207 -> 4208 bytes tex/context/base/context.mkiv | 2 +- tex/context/base/font-gds.lua | 26 ++++----- tex/context/base/font-ots.lua | 1 - tex/context/base/lpdf-mis.lua | 52 +++++++++++------ tex/context/base/luat-cbk.lua | 2 +- tex/context/base/mult-def.mkiv | 5 ++ tex/context/base/page-lay.mkiv | 8 +++ tex/context/base/scrn-pag.lua | 4 ++ tex/context/base/scrn-pag.mkvi | 64 +++++++++++++++++++++ tex/context/base/status-files.pdf | Bin 24443 -> 24435 bytes tex/context/base/status-lua.pdf | Bin 255545 -> 255521 bytes tex/context/base/strc-con.mkvi | 4 +- tex/context/base/strc-des.mkvi | 2 - tex/context/base/strc-not.mkvi | 2 + tex/context/base/type-imp-libertine.mkiv | 17 +++--- tex/context/base/typo-bld.lua | 25 +++++--- tex/context/base/typo-mar.lua | 1 - tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 24 files changed, 186 insertions(+), 70 deletions(-) (limited to 'tex') diff --git a/tex/context/base/attr-eff.mkiv b/tex/context/base/attr-eff.mkiv index bec8687ea..859814ebc 100644 --- a/tex/context/base/attr-eff.mkiv +++ b/tex/context/base/attr-eff.mkiv @@ -29,7 +29,7 @@ \appendtoks \edef\p_method{\effectparameter\c!method}% - \ifx\p_method\v!method + \ifx\p_method\v!command \setuxvalue{\e!start\currenteffect}{\starteffect[#1]}% \setuxvalue{\e!stop \currenteffect}{\stopeffect}% \fi diff --git a/tex/context/base/back-exp.lua b/tex/context/base/back-exp.lua index 24b1d9457..23940d2ee 100644 --- a/tex/context/base/back-exp.lua +++ b/tex/context/base/back-exp.lua @@ -750,13 +750,13 @@ end do - -- is this referencing still needed? - local descriptions = { } local symbols = { } local linked = { } - function structurestags.setdescription(tag,n) -- needs checking (is tag needed) + -- we could move the notation itself to the first reference (can be an option) + + function structurestags.setnotation(tag,n) -- needs checking (is tag needed) -- we can also use the internals hash or list local nd = structures.notes.get(tag,n) if nd then @@ -765,7 +765,7 @@ do end end - function structurestags.setdescriptionsymbol(tag,n) -- needs checking (is tag needed) + function structurestags.setnotationsymbol(tag,n) -- needs checking (is tag needed) local nd = structures.notes.get(tag,n) -- todo: use listdata instead if nd then local references = nd.references @@ -3658,14 +3658,14 @@ implement { } implement { - name = "settagdescription", - actions = structurestags.setdescription, + name = "settagnotation", + actions = structurestags.setnotation, arguments = { "string", "integer" } } implement { - name = "settagdescriptionsymbol", - actions = structurestags.setdescriptionsymbol, + name = "settagnotationsymbol", + actions = structurestags.setnotationsymbol, arguments = { "string", "integer" } } diff --git a/tex/context/base/back-exp.mkiv b/tex/context/base/back-exp.mkiv index 9a932043f..6a8177faf 100644 --- a/tex/context/base/back-exp.mkiv +++ b/tex/context/base/back-exp.mkiv @@ -159,17 +159,24 @@ \fi}% \to \everyenableelements +% \appendtoks +% \unexpanded\def\dotagsetdescription +% {\iftrialtypesetting\else +% \clf_settagdescription{\currentdescription}\currentdescriptionnumberentry\relax +% \fi}% +% \to \everyenableelements + \appendtoks - \unexpanded\def\dotagsetdescription + \unexpanded\def\dotagsetnotation {\iftrialtypesetting\else - \clf_settagdescription{\currentdescription}\currentdescriptionnumberentry\relax + \clf_settagnotation{\currentnote}\currentnotenumber\relax \fi}% \to \everyenableelements \appendtoks \unexpanded\def\dotagsetnotesymbol {\iftrialtypesetting\else - \clf_settagdescriptionsymbol{\currentnote}\currentnotenumber\relax + \clf_settagnotationsymbol{\currentnote}\currentnotenumber\relax \fi}% \to \everyenableelements diff --git a/tex/context/base/chem-str.mkiv b/tex/context/base/chem-str.mkiv index f18b422f2..cdbba6e2a 100644 --- a/tex/context/base/chem-str.mkiv +++ b/tex/context/base/chem-str.mkiv @@ -54,9 +54,11 @@ \installcorenamespace{chemicalframed} \installcorenamespace{chemicalsize} -\installsimplecommandhandler \??chemical {chemical} \??chemical % no \define... +% \installsimplecommandhandler \??chemical {chemical} \??chemical % no \define... +\installcommandhandler \??chemical {chemical} \??chemical % no \define... -\let\setupchemicals\setupchemical +\let\setupchemicals \setupchemical +\let\definechemicals\definechemical %D We use a dedicated framed macro instead of inheriting one. This is both %D a historical and practical reason (like shared keys with different meaning diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index 79f735968..6da086f23 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{2015.08.13 19:33} +\newcontextversion{2015.08.21 19:57} %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 6d45b9ee1..978bb525b 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 42e1268f8..e161d8055 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -39,7 +39,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2015.08.13 19:33} +\edef\contextversion{2015.08.21 19:57} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/font-gds.lua b/tex/context/base/font-gds.lua index 7e53ef049..9fbe1e844 100644 --- a/tex/context/base/font-gds.lua +++ b/tex/context/base/font-gds.lua @@ -784,23 +784,21 @@ function fontgoodies.designsizes.register(name,size,specification) end function fontgoodies.designsizes.filename(name,spec,size) -- returns nil of no match - if spec and spec ~= "" then - local data = designdata[lower(name)] - if data then - if spec == "default" then - return data.default - elseif spec == "auto" then - local ranges = data.ranges - if ranges then - for i=1,#ranges do - local r = ranges[i] - if r[1] >= size then -- todo: rounding so maybe size - 100 - return r[2] - end + local data = designdata[lower(name)] + if data then + if not spec or spec == "" or spec == "default" then + return data.default + elseif spec == "auto" then + local ranges = data.ranges + if ranges then + for i=1,#ranges do + local r = ranges[i] + if r[1] >= size then -- todo: rounding so maybe size - 100 + return r[2] end end - return data.default or (ranges and ranges[#ranges][2]) end + return data.default or (ranges and ranges[#ranges][2]) end end end diff --git a/tex/context/base/font-ots.lua b/tex/context/base/font-ots.lua index 1f6153e63..01a4b7c24 100644 --- a/tex/context/base/font-ots.lua +++ b/tex/context/base/font-ots.lua @@ -2808,7 +2808,6 @@ local function featuresprocessor(head,font,attr) end if a then local char = getchar(start) - local lookupcache = step.coverage for i=1,nofsteps do local step = steps[i] local lookupcache = step.coverage diff --git a/tex/context/base/lpdf-mis.lua b/tex/context/base/lpdf-mis.lua index a1b12d8c0..e4f5055a4 100644 --- a/tex/context/base/lpdf-mis.lua +++ b/tex/context/base/lpdf-mis.lua @@ -257,6 +257,7 @@ local pagespecs = { } local pagespec, topoffset, leftoffset, height, width, doublesided = "default", 0, 0, 0, 0, false +local cropoffset, bleedoffset, trimoffset, artoffset = 0, 0, 0, 0 local pdfpaperheight = tex.pdfpageheight local pdfpaperwidth = tex.pdfpagewidth @@ -273,11 +274,17 @@ function codeinjections.setupcanvas(specification) texset('global','pdfpagewidth',paperwidth) pdfpaperwidth = paperwidth end - pagespec = specification.mode or pagespec - topoffset = specification.topoffset or 0 - leftoffset = specification.leftoffset or 0 - height = specification.height or pdfpaperheight - width = specification.width or pdfpaperwidth + pagespec = specification.mode or pagespec + topoffset = specification.topoffset or 0 + leftoffset = specification.leftoffset or 0 + height = specification.height or pdfpaperheight + width = specification.width or pdfpaperwidth + -- + cropoffset = specification.cropoffset or 0 + trimoffset = cropoffset - (specification.trimoffset or 0) + bleedoffset = trimoffset - (specification.bleedoffset or 0) + artoffset = bleedoffset - (specification.artoffset or 0) + -- if paperdouble ~= nil then doublesided = paperdouble end @@ -332,24 +339,33 @@ end -- temp hack: the mediabox is not under our control and has a precision of 4 digits -local factor = number.dimenfactors.bp +local factor = number.dimenfactors.bp +local f_value = formatters["%0.4F"] local function boxvalue(n) -- we could share them - return pdfverbose(formatters["%0.4F"](factor * n)) + return pdfverbose(f_value(factor * n)) end local function pagespecification() - local pageheight = pdfpaperheight - local box = pdfarray { -- can be cached - boxvalue(leftoffset), - boxvalue(pageheight+topoffset-height), - boxvalue(width-leftoffset), - boxvalue(pageheight-topoffset), - } - addtopageattributes("CropBox",box) -- mandate for rendering - addtopageattributes("TrimBox",box) -- mandate for pdf/x - -- addtopageattributes("BleedBox",box) - -- addtopageattributes("ArtBox",box) + local llx = leftoffset + local lly = pdfpaperheight + topoffset - height + local urx = width - leftoffset + local ury = pdfpaperheight - topoffset + -- boxes can be cached + local function extrabox(WhatBox,offset,always) + if offset ~= 0 or always then + addtopageattributes(WhatBox, pdfarray { + boxvalue(llx + offset), + boxvalue(lly + offset), + boxvalue(urx - offset), + boxvalue(ury - offset), + }) + end + end + extrabox("CropBox",cropoffset,true) -- mandate for rendering + extrabox("TrimBox",trimoffset,true) -- mandate for pdf/x + extrabox("BleedBox",bleedoffset) -- optional + extrabox("ArtBox",artoffset) -- optional end lpdf.registerpagefinalizer(pagespecification,"page specification") diff --git a/tex/context/base/luat-cbk.lua b/tex/context/base/luat-cbk.lua index 65319c333..5e2d0e0cb 100644 --- a/tex/context/base/luat-cbk.lua +++ b/tex/context/base/luat-cbk.lua @@ -254,7 +254,7 @@ if trace_calls then t[#t+1] = format("%s -> %s",name,n) end end - return t + return concat(t," ") end) end diff --git a/tex/context/base/mult-def.mkiv b/tex/context/base/mult-def.mkiv index 058bc68db..8e51eb03e 100644 --- a/tex/context/base/mult-def.mkiv +++ b/tex/context/base/mult-def.mkiv @@ -73,6 +73,11 @@ \def\c!keeptogether {keeptogether} \def\c!viewerprefix {viewerprefix} +\def\c!cropoffset {cropoffset} % bah +\def\c!trimoffset {trimoffset} % bah bah +\def\c!bleedoffset {bleedoffset} % bah bah +\def\c!artoffset {artoffset} % bah bah bah bah + \def\c!index {index} % not a register but a number (of a glyph) \def\c!character {character} diff --git a/tex/context/base/page-lay.mkiv b/tex/context/base/page-lay.mkiv index d1328bb6b..9fb60401d 100644 --- a/tex/context/base/page-lay.mkiv +++ b/tex/context/base/page-lay.mkiv @@ -868,32 +868,40 @@ \appendtoks \page_layouts_check_next \to \everyaftershipout \newconditional\c_page_layouts_location_is_set +\newconditional\c_page_layouts_location_is_middle \def\page_layouts_location_reset % we start in the left top and mirror right pages {\setfalse\c_page_layouts_location_is_set + \setfalse\c_page_layouts_location_is_middle \let\v_page_target_left_fill \relax \let\v_page_target_right_fill \hss % ? \relax \let\v_page_target_top_fill \relax \let\v_page_target_bottom_fill\vss} % \relax} \setvalue{\??layoutlocation\v!right }{\settrue\c_page_layouts_location_is_set + \setfalse\c_page_layouts_location_is_middle \let\v_page_target_left_fill \hss \let\v_page_target_right_fill \relax} \setvalue{\??layoutlocation\v!left }{\settrue\c_page_layouts_location_is_set + \setfalse\c_page_layouts_location_is_middle \let\v_page_target_left_fill \relax \let\v_page_target_right_fill \hss} \setvalue{\??layoutlocation\v!bottom }{\settrue\c_page_layouts_location_is_set + \setfalse\c_page_layouts_location_is_middle \let\v_page_target_top_fill \vss \let\v_page_target_bottom_fill\relax} \setvalue{\??layoutlocation\v!top }{\settrue\c_page_layouts_location_is_set + \setfalse\c_page_layouts_location_is_middle \let\v_page_target_top_fill \relax \let\v_page_target_bottom_fill\vss} \setvalue{\??layoutlocation\v!middle }{\settrue\c_page_layouts_location_is_set + \settrue\c_page_layouts_location_is_middle \let\v_page_target_left_fill \hss \let\v_page_target_right_fill \hss \let\v_page_target_top_fill \vss \let\v_page_target_bottom_fill\vss} \setvalue{\??layoutlocation\empty }{\setfalse\c_page_layouts_location_is_set % default also signal to scrn_ + \setfalse\c_page_layouts_location_is_middle \let\v_page_target_right_fill \hss \let\v_page_target_bottom_fill\hss} \setvalue{\??layoutlocation\v!doublesided}{\settrue \c_page_target_print_doublesided} diff --git a/tex/context/base/scrn-pag.lua b/tex/context/base/scrn-pag.lua index 4d7b388ee..dba5b4786 100644 --- a/tex/context/base/scrn-pag.lua +++ b/tex/context/base/scrn-pag.lua @@ -36,6 +36,10 @@ implement { { "height", "dimen" }, { "paperwidth", "dimen" }, { "paperheight", "dimen" }, + { "cropoffset", "dimen" }, + { "bleedoffset", "dimen" }, + { "artoffset", "dimen" }, + { "trimoffset", "dimen" }, } } } diff --git a/tex/context/base/scrn-pag.mkvi b/tex/context/base/scrn-pag.mkvi index 3dfcd65c5..a16b90c6d 100644 --- a/tex/context/base/scrn-pag.mkvi +++ b/tex/context/base/scrn-pag.mkvi @@ -30,6 +30,10 @@ \newdimen\canvastopoffset \newdimen\canvasmaxwidth \newdimen\canvasmaxheight +\newdimen\canvascropoffset +\newdimen\canvastrimoffset +\newdimen\canvasbleedoffset +\newdimen\canvasartoffset \newconditional\c_scrn_canvas_tight_page @@ -39,9 +43,11 @@ \edef\currentinteractionscreenheight{\interactionscreenparameter\c!height}% \canvasbackoffset\backspace \canvastopoffset\topspace + \donetrue \ifx\currentinteractionscreenwidth\v!max \global\canvaswidth\printpaperwidth \else\ifx\currentinteractionscreenwidth\v!fit + \donefalse \global\canvaswidth\dimexpr \leftcombitotal + \makeupwidth @@ -52,6 +58,7 @@ \relax \relax \else\ifx\currentinteractionscreenwidth\v!tight + \donefalse \ifdim\backspace>\canvaswidth \ifdim\backspace>\zeropoint\relax \global\advance\canvasbackoffset -\canvaswidth @@ -66,11 +73,13 @@ \relax \relax \else + \donefalse \global\canvaswidth\currentinteractionscreenwidth \fi\fi\fi \ifx\currentinteractionscreenheight\v!max \global\canvasheight\printpaperheight \else\ifx\currentinteractionscreenheight\v!fit + \donefalse \global\canvasheight\dimexpr \topheight + \topdistance @@ -83,6 +92,7 @@ \relax \relax \else\ifx\currentinteractionscreenheight\v!tight + \donefalse \global\canvasheight\dimexpr\topheight+\topdistance\relax \ifdim\topspace>\canvasheight \ifdim\topspace>\zeropoint\relax @@ -99,6 +109,7 @@ \relax \relax \else + \donefalse \global\canvasheight\currentinteractionscreenheight \fi\fi\fi \ifconditional\c_page_layouts_location_is_set @@ -111,8 +122,57 @@ \global\canvasmaxwidth \printpaperwidth \global\canvasmaxheight\printpaperheight \fi + % new: + \ifdone + \global\canvascropoffset \layoutcropoffset + \global\canvastrimoffset \layouttrimoffset + \global\canvasbleedoffset\layoutbleedoffset + \global\canvasartoffset \layoutartoffset + \else + \global\canvascropoffset \zeropoint + \global\canvastrimoffset \zeropoint + \global\canvasbleedoffset\zeropoint + \global\canvasartoffset \zeropoint + \fi \endgroup} +\newdimen\layoutcropoffset +\newdimen\layouttrimoffset +\newdimen\layoutbleedoffset +\newdimen\layoutartoffset + +\appendtoks + \edef\p_cropoffset{\layoutparameter\c!cropoffset}% + \ifx\p_cropoffset\v!auto + \ifconditional\c_page_layouts_location_is_middle + \scratchheight\dimexpr(\printpaperheight-\paperheight)/2\relax + \scratchwidth \dimexpr(\printpaperwidth -\paperwidth )/2\relax + \layoutcropoffset\ifdim\scratchheight>\scratchwidth\scratchheight\else\scratchwidth\fi + \layouttrimoffset \layoutparameter\c!trimoffset + \layoutbleedoffset\layoutparameter\c!bleedoffset + \layoutartoffset \layoutparameter\c!artoffset + \else + \writestatus\m!system{auto crop etc only supported when location=middle}% + \layoutcropoffset \zeropoint + \layouttrimoffset \zeropoint + \layoutbleedoffset\zeropoint + \layoutartoffset \zeropoint + \fi + \else + \layoutcropoffset \layoutparameter\c!cropoffset + \layouttrimoffset \layoutparameter\c!trimoffset + \layoutbleedoffset\layoutparameter\c!bleedoffset + \layoutartoffset \layoutparameter\c!artoffset + \fi + \relax +\to \everysetuplayout + +\setuplayout + [\c!cropoffset=\zeropoint, + \c!trimoffset=\zeropoint, + \c!bleedoffset=\zeropoint, + \c!artoffset=\zeropoint] + % test the next when something is changed here: % % \setuppapersize[A5][A3] \showframe @@ -152,6 +212,10 @@ height \canvasheight paperwidth \canvasmaxwidth paperheight \canvasmaxheight + cropoffset \canvascropoffset + trimoffset \canvastrimoffset + bleedoffset \canvasbleedoffset + artoffset \canvasartoffset \relax %\global\let\scrn_canvas_synchronize_simple \relax \global\let\scrn_canvas_synchronize_complex\relax} diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 9fd48c870..c75d2d3ec 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.pdf b/tex/context/base/status-lua.pdf index ce53e6064..d2eb6d76b 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ diff --git a/tex/context/base/strc-con.mkvi b/tex/context/base/strc-con.mkvi index 36ca5314f..9686903fc 100644 --- a/tex/context/base/strc-con.mkvi +++ b/tex/context/base/strc-con.mkvi @@ -184,7 +184,7 @@ %D Also, passing the title as argument has some history so we need to keep that as %D well. -\ifdefined\dotagsetconstruction \else \let\dotagsetconstruction\relax \fi +% \ifdefined\dotagsetconstruction \else \let\dotagsetconstruction\relax \fi \newtoks\everyconstruction @@ -271,7 +271,7 @@ \unexpanded\setvalue{\??constructionstarthandler\v!construction}% this will be redone (reorganized) .. too much boxing {\dostarttaggedchained\t!construction\currentconstruction\currentconstructionhash - \dotagsetconstruction +% \dotagsetconstruction \constructionparameter\c!before \begingroup \edef\currentconstructionalternative{\constructionparameter\c!alternative}% diff --git a/tex/context/base/strc-des.mkvi b/tex/context/base/strc-des.mkvi index 3557000f9..83daba0fe 100644 --- a/tex/context/base/strc-des.mkvi +++ b/tex/context/base/strc-des.mkvi @@ -92,8 +92,6 @@ % start-stop one. Also, passing the title as argument has some % history so we need to keep that as well. -\ifdefined\dotagsetdescription \else \let\dotagsetdescription\relax \fi - % \startdescription [reference] text \stopdescription % \startdescription [reference]{title} text \stopdescription % \startdescription [title=,title=,reference=] text \stopdescription diff --git a/tex/context/base/strc-not.mkvi b/tex/context/base/strc-not.mkvi index 57ca672d0..761dec0f5 100644 --- a/tex/context/base/strc-not.mkvi +++ b/tex/context/base/strc-not.mkvi @@ -22,6 +22,7 @@ % todo: see if we can now use \insertpenalties (>0 == some left) \ifdefined\dotagsetnotesymbol \else \let\dotagsetnotesymbol\relax \fi +\ifdefined\dotagsetnotation \else \let\dotagsetnotation \relax \fi \unexpanded\def\unvboxed {\ifvmode\unvbox \else\box \fi} % will change or used more often \unexpanded\def\unvcopied{\ifvmode\unvcopy\else\copy\fi} % will change or used more often @@ -599,6 +600,7 @@ % a criterium % \strc_notes_interaction_check_display \strc_notes_set_reference_attribute_number + \dotagsetnotation \strc_notes_set_style_color_display\c!headstyle\c!headcolor \strc_enumerations_text \endgroup} diff --git a/tex/context/base/type-imp-libertine.mkiv b/tex/context/base/type-imp-libertine.mkiv index be92c27c7..4620995b9 100644 --- a/tex/context/base/type-imp-libertine.mkiv +++ b/tex/context/base/type-imp-libertine.mkiv @@ -11,15 +11,17 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. +% Linux Libertine O Italic + \starttypescriptcollection[libertine] \starttypescript [\s!serif] [libertine] \definefontsynonym [Libertine-Regular] [\s!file:linlibertiner] - \definefontsynonym [Libertine-Italic] [\s!file:linlibertineri] - \definefontsynonym [Libertine-Slanted] [\s!file:linlibertinearl] + \definefontsynonym [Libertine-Italic] [\s!file:linlibertineri] % z + \definefontsynonym [Libertine-Slanted] [\s!file:linlibertineri] \definefontsynonym [Libertine-Bold] [\s!file:linlibertinerb] - \definefontsynonym [Libertine-BoldItalic] [\s!file:linlibertinerbi] - \definefontsynonym [Libertine-BoldSlanted] [\s!file:linlibertineabl] + \definefontsynonym [Libertine-BoldItalic] [\s!file:linlibertinerbi] % zi + \definefontsynonym [Libertine-BoldSlanted] [\s!file:linlibertinerbi] \stoptypescript \starttypescript [\s!serif] [libertine] [\s!name] @@ -36,10 +38,11 @@ \starttypescript [\s!sans] [biolinum] \setups[\s!font:\s!fallback:\s!sans] \definefontsynonym [Biolinum-Regular] [\s!file:linbiolinumr] - \definefontsynonym [Biolinum-Bold] [\s!file:linbiolinumrb] \definefontsynonym [Biolinum-Italic] [\s!file:linbiolinumri] - \definefontsynonym [Biolinum-Slanted] [\s!file:linbiolinumarl] - \definefontsynonym [Biolinum-BoldSlanted] [\s!file:linbiolinumabl] + \definefontsynonym [Biolinum-Slanted] [\s!file:linbiolinumri] + \definefontsynonym [Biolinum-Bold] [\s!file:linbiolinumrb] + \definefontsynonym [Biolinum-BoldItalic] [\s!file:linbiolinumrbo] + \definefontsynonym [Biolinum-BoldSlanted] [\s!file:linbiolinumrbo] \stoptypescript \starttypescript [\s!sans] [biolinum] [\s!name] diff --git a/tex/context/base/typo-bld.lua b/tex/context/base/typo-bld.lua index 4d0f28d9a..bc3fe6911 100644 --- a/tex/context/base/typo-bld.lua +++ b/tex/context/base/typo-bld.lua @@ -217,16 +217,26 @@ end -- use tex.[sg]etlist +-- check why box is called before after_linebreak .. maybe make categories and +-- call 'm less + +local build_par_codes = { + pre_box = true, + box = true, + pre_adjust = true, + adjust = true, +} + function builders.buildpage_filter(groupcode) - -- -- this needs checking .. gets called too often - -- if group_code ~= "after_output" then - -- if trace_page_builder then - -- report(groupcode) - -- end - -- return nil, false - -- end + -- the next check saves 1% runtime on 1000 tufte pages + if build_par_codes[groupcode] then + -- also called in vbox .. we really need another callback for these four + return nil, false -- can be another action set .. like anchoring for box + end + -- local head, done = texlists.contrib_head, false if head then + -- called quite often ... maybe time to remove timing starttiming(builders) if trace_page_builder then report(groupcode,head) @@ -239,6 +249,7 @@ function builders.buildpage_filter(groupcode) -- tex.setlist("contrib_head",head,head and nodes.tail(head)) return done and head or true -- no return value needed else + -- happens quite often if trace_page_builder then report(groupcode) end diff --git a/tex/context/base/typo-mar.lua b/tex/context/base/typo-mar.lua index 39ac9e140..9808c55c7 100644 --- a/tex/context/base/typo-mar.lua +++ b/tex/context/base/typo-mar.lua @@ -681,7 +681,6 @@ local function inject(parent,head,candidate) end setfield(box,"shift",shift) setfield(box,"width",0) --- print(head) if not head then head = box elseif getid(head) == whatsit_code and getsubtype(head) == localpar_code then diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 5a92ee804..cc522eb5c 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 : 08/13/15 19:33:02 +-- merge date : 08/21/15 19:57:22 do -- begin closure to overcome local limits and interference -- cgit v1.2.3