From e677a7fb12047017595fb29e212463dcb1cb2fa6 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Fri, 2 Dec 2016 10:51:35 +0100 Subject: 2016-12-02 10:19:00 --- tex/context/base/mkii/cont-new.mkii | 2 +- tex/context/base/mkii/context.mkii | 2 +- tex/context/base/mkiv/cont-new.mkiv | 2 +- tex/context/base/mkiv/context.mkiv | 2 +- tex/context/base/mkiv/font-oto.lua | 4 +-- tex/context/base/mkiv/grph-inc.lua | 11 ++++++--- tex/context/base/mkiv/math-ini.mkiv | 4 ++- tex/context/base/mkiv/mlib-pps.lua | 17 +++++++------ tex/context/base/mkiv/status-files.pdf | Bin 25675 -> 25618 bytes tex/context/base/mkiv/status-lua.pdf | Bin 368575 -> 368575 bytes tex/context/base/mkiv/type-set.mkiv | 2 ++ tex/context/fonts/mkiv/stix-two-math.lfg | 27 +++++++++++++++++++++ tex/context/interface/mkiv/i-context.pdf | Bin 803704 -> 803574 bytes tex/context/interface/mkiv/i-readme.pdf | Bin 60766 -> 60766 bytes tex/generic/context/luatex/luatex-fonts-merged.lua | 4 +-- 15 files changed, 56 insertions(+), 21 deletions(-) create mode 100644 tex/context/fonts/mkiv/stix-two-math.lfg (limited to 'tex') diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii index d995f06c7..aadba04f8 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{2016.11.28 13:30} +\newcontextversion{2016.12.02 10:13} %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 11f36726e..6a800c93c 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{2016.11.28 13:30} +\edef\contextversion{2016.12.02 10:13} %D For those who want to use this: diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index 3f2c6f62d..6b1defa95 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{2016.11.28 13:30} +\newcontextversion{2016.12.02 10:13} %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 ba9036a15..554d63830 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -39,7 +39,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2016.11.28 13:30} +\edef\contextversion{2016.12.02 10:13} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/mkiv/font-oto.lua b/tex/context/base/mkiv/font-oto.lua index 177382f58..13568799b 100644 --- a/tex/context/base/mkiv/font-oto.lua +++ b/tex/context/base/mkiv/font-oto.lua @@ -237,12 +237,12 @@ local function preparesubstitutions(tfmdata,feature,value,validlookups,lookuplis if kind == "gsub_single" then for i=1,#steps do for unicode, data in next, steps[i].coverage do - if not changed[unicode] then + -- if not changed[unicode] then -- fails for multiple subs in some math fonts if trace_singles then report_substitution(feature,sequence,descriptions,unicode,data) end changed[unicode] = data - end + -- end end end elseif kind == "gsub_alternate" then diff --git a/tex/context/base/mkiv/grph-inc.lua b/tex/context/base/mkiv/grph-inc.lua index e9bf17bf0..d948d9ad8 100644 --- a/tex/context/base/mkiv/grph-inc.lua +++ b/tex/context/base/mkiv/grph-inc.lua @@ -1249,9 +1249,14 @@ function figures.done(data) local box = texgetbox(nr) ds.width = box.width ds.height = box.height - ds.xscale = ds.width /(du.width or 1) - ds.yscale = ds.height/(du.height or 1) - ds.page = ds.page or du.page or dr.page -- sort of redundant but can be limited + -- somehow this fails on some of tacos files + -- ds.xscale = ds.width /(du.width or 1) + -- ds.yscale = ds.height/(du.height or 1) + -- so we add some extra safeguards + ds.xscale = ds.width /(du.width and du.width>0 and du.width or du.xsize) or 1 + ds.yscale = ds.height/(du.height and du.height>0 and du.height or du.ysize) or 1 + -- sort of redundant but can be limited + ds.page = ds.page or du.page or dr.page return data end diff --git a/tex/context/base/mkiv/math-ini.mkiv b/tex/context/base/mkiv/math-ini.mkiv index cf8dbf625..fbaac052c 100644 --- a/tex/context/base/mkiv/math-ini.mkiv +++ b/tex/context/base/mkiv/math-ini.mkiv @@ -373,12 +373,14 @@ % sense now so we have commands to deal with it \unexpanded\def\mathaltcalligraphic{\math_set_font_alternate{calligraphic}\cal} % set via goody file +\unexpanded\def\mathaltitalic {\math_set_font_alternate{italic}} % set via goody file \unexpanded\def\mathslashedzero {\begingroup\math_set_font_alternate{zero}∅\endgroup} % set via goody file or automatic \unexpanded\def\mathdotless {\math_set_font_alternate{dotless}} % set via goody file or automatic \unexpanded\def\mathdotlessi {\begingroup\mathdotless i\endgroup} \unexpanded\def\mathdotlessj {\begingroup\mathdotless j\endgroup} \let\mathaltcal\mathaltcalligraphic +\let\mathaltit \mathaltitalic %let\textslashedzero\slashedzero \unexpanded\def\autoslashedzero{\mathortext\mathslashedzero\textslashedzero} \let\textdotlessi \dotlessi \unexpanded\def\autodotlessi {\mathortext\mathdotlessi \textdotlessi} @@ -398,7 +400,7 @@ \let\setmathfontstylealternate \math_set_font_style_alternate \let\setmathfontstylealternative\math_set_font_style_alternate -\let\mathalternate \math_set_font_alternate +\let\mathalternate \math_set_font_alternate \unexpanded\def\mathupright {\math_set_attribute\s!regular\s!tf\math_set_font_style_alternate\s!tf} \unexpanded\def\mathitalic {\math_set_attribute\s!regular\s!it\math_set_font_style_alternate\s!it} diff --git a/tex/context/base/mkiv/mlib-pps.lua b/tex/context/base/mkiv/mlib-pps.lua index 883e2d5fb..efafb99fd 100644 --- a/tex/context/base/mkiv/mlib-pps.lua +++ b/tex/context/base/mkiv/mlib-pps.lua @@ -933,15 +933,16 @@ local function cm(object) local op = object.path if op then local first, second, fourth = op[1], op[2], op[4] - local tx, ty = first.x_coord , first.y_coord - local sx, sy = second.x_coord - tx, fourth.y_coord - ty - local rx, ry = second.y_coord - ty, fourth.x_coord - tx - if sx == 0 then sx = 0.00001 end - if sy == 0 then sy = 0.00001 end - return sx, rx, ry, sy, tx, ty - else - return 1, 0, 0, 1, 0, 0 -- weird case + if fourth then + local tx, ty = first.x_coord , first.y_coord + local sx, sy = second.x_coord - tx, fourth.y_coord - ty + local rx, ry = second.y_coord - ty, fourth.x_coord - tx + if sx == 0 then sx = 0.00001 end + if sy == 0 then sy = 0.00001 end + return sx, rx, ry, sy, tx, ty + end end + return 1, 0, 0, 1, 0, 0 -- weird case end -- color diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf index a452c1190..e53b08be3 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 0695b4d0f..ecc21a8c9 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/type-set.mkiv b/tex/context/base/mkiv/type-set.mkiv index 47d6e3257..1ef137d39 100644 --- a/tex/context/base/mkiv/type-set.mkiv +++ b/tex/context/base/mkiv/type-set.mkiv @@ -127,4 +127,6 @@ \definefilesynonym [type-imp-coloredsheep.mkiv] [type-imp-koeielettersot.mkiv] \definefilesynonym [type-imp-koeieletters.mkiv] [type-imp-koeielettersot.mkiv] +\definefilesynonym [type-imp-stixtwo.mkiv] [type-imp-stix.mkiv] + \protect \endinput diff --git a/tex/context/fonts/mkiv/stix-two-math.lfg b/tex/context/fonts/mkiv/stix-two-math.lfg new file mode 100644 index 000000000..ded97f92e --- /dev/null +++ b/tex/context/fonts/mkiv/stix-two-math.lfg @@ -0,0 +1,27 @@ +return { + name = "stix-two-math", + version = "1.00", + comment = "Goodies that complement stix two opentype.", + author = "Hans Hagen", + copyright = "ConTeXt development team", + mathematics = { + -- these tags are suggestions and can still change + alternates = { + calligraphic = { feature = 'ss01', value = 1, comment = "Mathematical Alternative Calligraphic Characters" }, + italic = { feature = 'ss02', value = 1, comment = "Mathematical Alternative Lowercase Italic" }, + barred = { feature = 'ss03', value = 1, comment = "Mathematical Alternative Barred Characters" }, -- hbar, lambdabar etc + primes = { feature = 'ss04', value = 1, comment = "Mathematical Alternative Primes" }, -- larger/lower primes, minute etc + arrow = { feature = 'ss05', value = 1, comment = "Mathematical Alternative Smaller Arrows" }, + narrower = { feature = 'ss06', value = 1, comment = "Mathematical Alternative Narrower Elements" }, -- narrower/shorter element etc + small = { feature = 'ss07', value = 1, comment = "Mathematical Alternative Smaller Operators" }, + upright = { feature = 'ss08', value = 1, comment = "Mathematical Alternative Upright Symbols" }, -- upright integrals etc. + negated = { feature = 'ss09', value = 1, comment = "Mathematical Alternative Negated Symbols" }, + relation = { feature = 'ss10', value = 1, comment = "Mathematical Alternative Relations" }, + negatedset = { feature = 'ss09', value = 1, comment = "Mathematical Alternative Negated Set Symbols" }, + -- todo = { feature = 'ss14', value = 1, comment = "" }, + circled = { feature = 'ss16', value = 1, comment = "Mathematical Alternative Circled Operators" }, + }, + }, +} + + diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf index 67f49ef4a..f915404b9 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-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf index afdf58c3b..d67885e35 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 d2c032c5b..f6060cfce 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 : 11/28/16 13:30:27 +-- merge date : 12/02/16 10:13:47 do -- begin closure to overcome local limits and interference @@ -16382,12 +16382,10 @@ local function preparesubstitutions(tfmdata,feature,value,validlookups,lookuplis if kind=="gsub_single" then for i=1,#steps do for unicode,data in next,steps[i].coverage do - if not changed[unicode] then if trace_singles then report_substitution(feature,sequence,descriptions,unicode,data) end changed[unicode]=data - end end end elseif kind=="gsub_alternate" then -- cgit v1.2.3