summaryrefslogtreecommitdiff
path: root/tex/context
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2021-11-18 17:33:54 +0100
committerContext Git Mirror Bot <phg@phi-gamma.net>2021-11-18 17:33:54 +0100
commit4a439fa6665c12aac6219acc8c148c5c1d091116 (patch)
treedd5411b7efc3f2915090a552135076ea9652e4ac /tex/context
parent91379fa891f786d5e25909680b0d62933e581bd0 (diff)
downloadcontext-4a439fa6665c12aac6219acc8c148c5c1d091116.tar.gz
2021-11-18 16:35:00
Diffstat (limited to 'tex/context')
-rw-r--r--tex/context/base/mkii/cont-new.mkii2
-rw-r--r--tex/context/base/mkii/context.mkii2
-rw-r--r--tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/l-math.lua2
-rw-r--r--tex/context/base/mkiv/mult-prm.lua6
-rw-r--r--tex/context/base/mkiv/node-typ.lua2
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin24773 -> 24772 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin256660 -> 256680 bytes
-rw-r--r--tex/context/base/mkiv/type-set.mkiv4
-rw-r--r--tex/context/base/mkxl/cont-new.mkxl2
-rw-r--r--tex/context/base/mkxl/context.mkxl2
-rw-r--r--tex/context/base/mkxl/font-ini.mklx187
-rw-r--r--tex/context/base/mkxl/lpdf-pde.lmt11
-rw-r--r--tex/context/base/mkxl/math-act.lmt97
-rw-r--r--tex/context/base/mkxl/node-par.lmt18
-rw-r--r--tex/context/base/mkxl/trac-vis.lmt12
-rw-r--r--tex/context/base/mkxl/trac-vis.mkxl10
-rw-r--r--tex/context/base/mkxl/type-set.mkxl4
-rw-r--r--tex/context/base/mkxl/typo-lbx.lmt2
-rw-r--r--tex/context/fonts/mkiv/ebgaramond.lfg42
21 files changed, 305 insertions, 104 deletions
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii
index f6aaf8f9b..060f187b9 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{2021.11.16 22:33}
+\newcontextversion{2021.11.18 16:33}
%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 d28904c5d..48d7f3965 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{2021.11.16 22:33}
+\edef\contextversion{2021.11.18 16:33}
%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 9f2246e2a..ea1e6836c 100644
--- a/tex/context/base/mkiv/cont-new.mkiv
+++ b/tex/context/base/mkiv/cont-new.mkiv
@@ -13,7 +13,7 @@
% \normalend % uncomment this to get the real base runtime
-\newcontextversion{2021.11.16 22:33}
+\newcontextversion{2021.11.18 16:33}
%D This file is loaded at runtime, thereby providing an excellent place for hacks,
%D patches, extensions and new features. There can be local overloads in cont-loc
diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index bfb631798..4138533e6 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -49,7 +49,7 @@
%D {YYYY.MM.DD HH:MM} format.
\edef\contextformat {\jobname}
-\edef\contextversion{2021.11.16 22:33}
+\edef\contextversion{2021.11.18 16:33}
%D Kind of special:
diff --git a/tex/context/base/mkiv/l-math.lua b/tex/context/base/mkiv/l-math.lua
index e5668a5db..69f0a19e9 100644
--- a/tex/context/base/mkiv/l-math.lua
+++ b/tex/context/base/mkiv/l-math.lua
@@ -141,7 +141,7 @@ if not math.ult then
local floor = math.floor
- function math.tointeger(m,n)
+ function math.ult(m,n)
-- not ok but i'm not motivated to look into it now
return floor(m) < floor(n) -- unsigned comparison needed
end
diff --git a/tex/context/base/mkiv/mult-prm.lua b/tex/context/base/mkiv/mult-prm.lua
index ce983bde3..3bde86c49 100644
--- a/tex/context/base/mkiv/mult-prm.lua
+++ b/tex/context/base/mkiv/mult-prm.lua
@@ -324,7 +324,12 @@ return {
"flushmarks",
"fontid",
"fontmathcontrol",
+ "fontspecdef",
+ "fontspecid",
"fontspecifiedsize",
+ "fontspecscale",
+ "fontspecxscale",
+ "fontspecyscale",
"fonttextcontrol",
"formatname",
"frozen",
@@ -451,7 +456,6 @@ return {
"matheqnogapstep",
"mathflattenmode",
"mathfontcontrol",
- "mathitalicsmode",
"mathlimitsmode",
"mathnolimitsmode",
"mathpenaltiesmode",
diff --git a/tex/context/base/mkiv/node-typ.lua b/tex/context/base/mkiv/node-typ.lua
index d1e788d62..46494fef3 100644
--- a/tex/context/base/mkiv/node-typ.lua
+++ b/tex/context/base/mkiv/node-typ.lua
@@ -37,6 +37,8 @@ local fontparameters = fonts.hashes.parameters
-- when attrid == true then take from glyph or current else use the given value
+-- todo: glyphscale etc
+
local function tonodes(str,fontid,spacing,templateglyph,attrid) -- quick and dirty
local head, prev = nil, nil
if not fontid then
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index 51963794b..21b3cb86b 100644
--- a/tex/context/base/mkiv/status-files.pdf
+++ b/tex/context/base/mkiv/status-files.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf
index e71ef63f0..c4f320fb5 100644
--- a/tex/context/base/mkiv/status-lua.pdf
+++ b/tex/context/base/mkiv/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/type-set.mkiv b/tex/context/base/mkiv/type-set.mkiv
index c7910ac62..25186b290 100644
--- a/tex/context/base/mkiv/type-set.mkiv
+++ b/tex/context/base/mkiv/type-set.mkiv
@@ -138,4 +138,8 @@
\definefilesynonym [type-imp-newcomputermodern-book.mkiv] [type-imp-newcomputermodern.mkiv]
+\definefilesynonym [type-imp-kpfonts-light.mkiv] [type-imp-kpfonts.mkiv]
+\definefilesynonym [type-imp-kpfonts-bold.mkiv] [type-imp-kpfonts.mkiv]
+\definefilesynonym [type-imp-kpfonts-sans.mkiv] [type-imp-kpfonts.mkiv]
+
\protect \endinput
diff --git a/tex/context/base/mkxl/cont-new.mkxl b/tex/context/base/mkxl/cont-new.mkxl
index 67637b1a4..7ccad2f83 100644
--- a/tex/context/base/mkxl/cont-new.mkxl
+++ b/tex/context/base/mkxl/cont-new.mkxl
@@ -13,7 +13,7 @@
% \normalend % uncomment this to get the real base runtime
-\newcontextversion{2021.11.16 22:33}
+\newcontextversion{2021.11.18 16:33}
%D This file is loaded at runtime, thereby providing an excellent place for hacks,
%D patches, extensions and new features. There can be local overloads in cont-loc
diff --git a/tex/context/base/mkxl/context.mkxl b/tex/context/base/mkxl/context.mkxl
index f02e0eac8..ba38b44c7 100644
--- a/tex/context/base/mkxl/context.mkxl
+++ b/tex/context/base/mkxl/context.mkxl
@@ -29,7 +29,7 @@
%D {YYYY.MM.DD HH:MM} format.
\immutable\edef\contextformat {\jobname}
-\immutable\edef\contextversion{2021.11.16 22:33}
+\immutable\edef\contextversion{2021.11.18 16:33}
%overloadmode 1 % check frozen / warning
%overloadmode 2 % check frozen / error
diff --git a/tex/context/base/mkxl/font-ini.mklx b/tex/context/base/mkxl/font-ini.mklx
index 0e2ddb3f7..db90bc79c 100644
--- a/tex/context/base/mkxl/font-ini.mklx
+++ b/tex/context/base/mkxl/font-ini.mklx
@@ -919,29 +919,42 @@
\else
\c_font_future_glyph_scale
\fi
- \ifempty\somefontsizex\else
- \edef\somefontsizex{\glyphxscale\somefontsizex\relax}% todo: inserts relax
- \fi
- \ifempty\somefontsizey\else
- \edef\somefontsizey{\glyphyscale\somefontsizey\relax}%
- \fi
+% \ifempty\somefontsizex\else
+% \edef\somefontsizex{\glyphxscale\somefontsizex\relax}% todo: inserts relax
+% \fi
+% \ifempty\somefontsizey\else
+% \edef\somefontsizey{\glyphyscale\somefontsizey\relax}%
+% \fi
\expandafter\let\expandafter\lastrawfontcall\csname#csname\endcsname
\ifrelax\lastrawfontcall
- \let\somefontspec\empty
+ \let\somefontspec\empty
\else
-% \ifempty\fontclass\else\global\fi
-% \mutable\protected\edefcsname#csname\endcsname
-% {\setfontid\the\fontid\csname#csname\endcsname\relax
-% \glyphscale\the\glyphscale\relax
-% \somefontsizex
-% \somefontsizey}%
-% \expandafter\let\expandafter\lastrawfontcall\csname#csname\endcsname
- \mutable\protected\edef\lastrawfontcall
- {\setfontid\the\fontid\csname#csname\endcsname\relax
- \glyphscale\the\glyphscale\relax
- \somefontsizex
- \somefontsizey}%
- \ifempty\fontclass\letcsname\else\gletcsname\fi#csname\endcsname\lastrawfontcall
+ %
+ % \ifempty\fontclass\else\global\fi
+ % \mutable\protected\edefcsname#csname\endcsname
+ % {\setfontid\the\fontid\csname#csname\endcsname\relax
+ % \glyphscale\the\glyphscale\relax
+ % \somefontsizex
+ % \somefontsizey}%
+ % \expandafter\let\expandafter\lastrawfontcall\csname#csname\endcsname
+ %
+ % \mutable\protected\edef\lastrawfontcall
+ % {\setfontid\the\fontid\csname#csname\endcsname\relax
+ % \glyphscale\the\glyphscale\relax
+ % \somefontsizex
+ % \somefontsizey}%
+ % \mutable\ifempty\fontclass\letcsname\else\gletcsname\fi#csname\endcsname\lastrawfontcall
+ %
+ \mutable\fontspecdef\lastrawfontcall
+ \lastnamedcs
+ % scale \glyphscale
+ % xscale \glyphxscale
+ % yscale \glyphyscale
+ all \glyphscale \glyphxscale \glyphyscale
+ \relax
+ \mutable\ifempty\fontclass\letcsname\else\gletcsname\fi#csname\endcsname\lastrawfontcall
+ %
+ \the\everydefinefont
\fi
\fi
\c_font_feature_inheritance_mode\c_font_feature_inheritance_default}
@@ -2151,7 +2164,7 @@
\newconditional\c_font_inherit_scale
-\def\font_scale_inherit#1%
+\def\font_scale_inherit_normal#1%
{\begingroup
\scratchcounterone\fontid\font\relax
\currentxfontsize\plusone
@@ -2162,32 +2175,91 @@
\scratchcounterthree\fontid\font\relax
% parent -> x -> xx
% parent -> xx
- %
- % this can become \integerdef
- %
- \global\expandafter\chardef\csname\??fontscalex \number\scratchcounterone\endcsname\scratchcountertwo
- \global\expandafter\chardef\csname\??fontscalexx\number\scratchcounterone\endcsname\scratchcounterthree
- \global\expandafter\chardef\csname\??fontscalex \number\scratchcountertwo\endcsname\scratchcounterthree
- \global\expandafter\chardef\csname\??fontscalexx\number\scratchcountertwo\endcsname\scratchcounterthree
+ \global\expandafter\integerdef\csname\??fontscalex \number\scratchcounterone\endcsname\scratchcountertwo
+ \global\expandafter\integerdef\csname\??fontscalexx\number\scratchcounterone\endcsname\scratchcounterthree
+ \global\expandafter\integerdef\csname\??fontscalex \number\scratchcountertwo\endcsname\scratchcounterthree
+ \global\expandafter\integerdef\csname\??fontscalexx\number\scratchcountertwo\endcsname\scratchcounterthree
\endgroup
\setfontid\csname#1\number\fontid\font\endcsname}
-\def\font_scale_inherit_x
+\def\font_scale_inherit_normal_x
{\ifcsname\??fontscalex\number\fontid\font\endcsname
\setfontid\lastnamedcs
\else
- \font_scale_inherit\??fontscalex
+ \font_scale_inherit_normal\??fontscalex
\fi
\ifskipfontcharacteristics
\the\everyfont % \setfontcharacteristics
\the\everyfontswitch
\fi}
-\def\font_scale_inherit_xx
+\def\font_scale_inherit_normal_xx
{\ifcsname\??fontscalexx\number\fontid\font\endcsname
\setfontid\lastnamedcs
\else
- \font_scale_inherit\??fontscalexx
+ \font_scale_inherit_normal\??fontscalexx
+ \fi
+ \ifskipfontcharacteristics
+ \the\everyfont % \setfontcharacteristics
+ \the\everyfontswitch
+ \fi}
+
+\def\font_scale_inherit_compact#1%
+ {\begingroup
+ \scratchcounterone\fontid\font\relax
+ \currentxfontsize\plusone
+ \scratchcountertwo\numericscale\font_currentfontscale
+ \currentxfontsize\plustwo
+ \scratchcounterthree\numericscale\font_currentfontscale
+ % parent -> x -> xx
+ % parent -> xx
+ \global\expandafter\fontspecdef\csname\??fontscalex \number\scratchcounterone:\number\glyphscale\endcsname
+ \scratchcounterone
+ scale \numexpr\glyphscale*\scratchcountertwo/1000\relax
+ % scale \glyphscale
+ % xscale \scratchcountertwo
+ % yscale \scratchcountertwo
+ \relax
+ \global\expandafter\fontspecdef\csname\??fontscalexx\number\scratchcounterone:\number\glyphscale\endcsname
+ \scratchcounterone
+ scale \numexpr\glyphscale*\scratchcounterthree/1000\relax
+ % scale \glyphscale
+ % xscale \scratchcounterthree
+ % yscale \scratchcounterthree
+ \relax
+ \global\expandafter\fontspecdef\csname\??fontscalex \number\scratchcountertwo:\number\glyphscale\endcsname
+ \scratchcounterone
+ scale \numexpr\glyphscale*\scratchcounterthree/1000\relax
+ % scale \glyphscale
+ % xscale \scratchcounterthree
+ % yscale \scratchcounterthree
+ \relax
+ \global\expandafter\fontspecdef\csname\??fontscalexx\number\scratchcountertwo:\number\glyphscale\endcsname
+ \scratchcounterone
+ scale \numexpr\glyphscale*\scratchcounterthree/1000\relax
+ % scale \glyphscale
+ % xscale \scratchcounterthree
+ % yscale \scratchcounterthree
+ \relax
+ \endgroup
+ \csname#1\number\fontid\font:\number\glyphscale\endcsname}
+
+\def\font_scale_inherit_compact_x
+ {\ifcsname\??fontscalex\number\fontid\font:\number\glyphscale\endcsname
+ \lastnamedcs
+ \else
+ \font_scale_inherit_compact\??fontscalex
+ \fi
+ \ifskipfontcharacteristics
+ \the\everyfont % \setfontcharacteristics
+ \the\everyfontswitch
+ \fi}
+
+\def\font_scale_inherit_compact_xx
+ {\ifcsname\??fontscalexx\number\fontid\font:\number\glyphscale\endcsname
+ \lastnamedcs
+ \else
+ \font_scale_inherit_compact\??fontscalexx
\fi
\ifskipfontcharacteristics
\the\everyfont % \setfontcharacteristics
@@ -2211,7 +2283,11 @@
\ifmmode
\scriptstyle
\orelse\ifconditional\c_font_inherit_scale
- \font_scale_inherit_x
+ \ifconditional\c_font_compact
+ \font_scale_inherit_compact_x
+ \else
+ \font_scale_inherit_normal_x
+ \fi
\else
\font_scale_defined_x
\fi
@@ -2222,7 +2298,11 @@
\ifmmode
\scriptscriptstyle
\orelse\ifconditional\c_font_inherit_scale
- \font_scale_inherit_xx
+ \ifconditional\c_font_compact
+ \font_scale_inherit_compact_xx
+ \else
+ \font_scale_inherit_normal_xx
+ \fi
\else
\font_scale_defined_xx
\fi
@@ -2234,7 +2314,11 @@
\ifmmode
\scriptstyle
\else
- \font_scale_inherit_x
+ \ifconditional\c_font_compact
+ \font_scale_inherit_compact_x
+ \else
+ \font_scale_inherit_normal_x
+ \fi
\fi
\enforced\let\tx\txx
\enforced\let\sx\sxx}
@@ -2244,7 +2328,11 @@
\ifmmode
\scriptscriptstyle
\else
- \font_scale_inherit_xx
+ \ifconditional\c_font_compact
+ \font_scale_inherit_compact_xx
+ \else
+ \font_scale_inherit_normal_xx
+ \fi
\fi
\enforced\let\tx \empty
\enforced\let\txx\empty
@@ -2606,23 +2694,28 @@
\protected\def\font_basics_predefined#1%
{\font_basics_predefine{\??predefinedfont#1}{#1}}
-%D Handy helper:
-
-\permanent\protected\def\savedefinedfont[#1]% hm, how about scales
- {\bgroup
- \definedfont[#1]%
- \xdef\saveddefinedfontid {\number\fontid\font}%
- \xdef\saveddefinedfontname{\fontname\font}%
- \egroup}
-
-\mutable\def\saveddefinedfontid {\number\fontid\font}
-\mutable\def\saveddefinedfontname{\fontname\font}
+% %D Handy helper:
+%
+% % not used and also not okay wrt scales
+%
+% \permanent\protected\def\savedefinedfont[#1]% hm, how about scales
+% {\bgroup
+% \definedfont[#1]%
+% \xdef\saveddefinedfontid {\number\fontid\font}%
+% \xdef\saveddefinedfontname{\fontname\font}%
+% \egroup}
+%
+% \mutable\def\saveddefinedfontid {\number\fontid\font}
+% \mutable\def\saveddefinedfontname{\fontname\font}
%D Ugly helper:
\permanent\protected\def\saverunningstyleandcolor
{\enforced\permanent\protected\edef\restorerunningstyleandcolor
{\setfontid \number\fontid\font
+ \glyphscale \the\glyphscale
+ \glyphxscale \the\glyphxscale
+ \glyphyscale \the\glyphyscale
\c_attr_colormodel \the\c_attr_colormodel
\c_attr_color \the\c_attr_color
\c_attr_transparency\the\c_attr_transparency
diff --git a/tex/context/base/mkxl/lpdf-pde.lmt b/tex/context/base/mkxl/lpdf-pde.lmt
index 0732529dd..bb5830735 100644
--- a/tex/context/base/mkxl/lpdf-pde.lmt
+++ b/tex/context/base/mkxl/lpdf-pde.lmt
@@ -364,12 +364,11 @@ some_reference = function(r,document)
elseif kind == stream_object_code then
-- optionally not cached
cached = some_stream(object,b,document)
- else -- if kind == string_object_code then
- return object
--- return some_string(object[2],object[3])
--- else
--- cached = { kind, object, b, c }
--- -- really cache this?
+ elseif kind == string_object_code then
+ cached = some_string(object,document)
+ else
+ cached = { kind, object, b, c }
+ -- really cache this?
end
document.__cache__[objnum] = cached
document.__xrefs__[cached] = objnum
diff --git a/tex/context/base/mkxl/math-act.lmt b/tex/context/base/mkxl/math-act.lmt
index 96057ec02..374b5d73a 100644
--- a/tex/context/base/mkxl/math-act.lmt
+++ b/tex/context/base/mkxl/math-act.lmt
@@ -287,27 +287,27 @@ do
if count == 1 then
lastprivate = private
end
- local olddata = targetcharacters[lastprivate]
if keep then
if trace_tweaking then
- report_tweak("keeping primt %U",target,original,charcode)
+ report_tweak("keeping prime %U",target,original,charcode)
end
- elseif olddata then
- local oldheight = scale * olddata.height
- local oldwidth = scale * olddata.width
- local yoffset = (newheight - oldheight) / scale
- local unicode = olddata.unicode
- local newwidth = oldwidth
- if fake and count > 1 then
+ return
+ end
+ if fake and count > 1 then
+ local olddata = targetcharacters[lastprivate]
+ if olddata then
-- todo: when keep
- local xoffset = fake * oldwidth
- local newwidth = newwidth + (count - 1) * xoffset
+ local oldheight = scale * olddata.height
+ local oldwidth = scale * olddata.width
+ local yoffset = (newheight - oldheight) / scale
+ local xoffset = fake * oldwidth
+ local newwidth = oldwidth + (count - 1) * xoffset
targetcharacters[charcode] = {
yoffset = yoffset,
width = newwidth,
height = newheight,
smaller = smaller,
- unicode = unicode,
+ unicode = olddata.unicode,
commands = {
{ "offset", 0, 0, lastprivate, scale, scale },
{ "offset", xoffset, 0, lastprivate, scale, scale },
@@ -318,22 +318,30 @@ do
if trace_tweaking then
report_tweak("faking %U with %i primes",target,original,charcode,count)
end
- else
- targetcharacters[charcode] = {
- yoffset = yoffset,
- width = newwidth,
- height = newheight,
- smaller = smaller,
- unicode = unicode,
- commands = {
- { "offset", 0, 0, lastprivate, scale, scale }
- },
- }
- if trace_tweaking then
- report_tweak("fixing prime %U",target,original,charcode)
- end
+ return
+ end
+ end
+ local olddata = targetcharacters[private]
+ if olddata then
+ local oldheight = scale * olddata.height
+ local oldwidth = scale * olddata.width
+ local yoffset = (newheight - oldheight) / scale
+ targetcharacters[charcode] = {
+ yoffset = yoffset,
+ width = oldwidth,
+ height = newheight,
+ smaller = smaller,
+ unicode = olddata.unicode,
+ commands = {
+ { "offset", 0, 0, private, scale, scale }
+ },
+ }
+ if trace_tweaking then
+ report_tweak("fixing prime %U",target,original,charcode)
end
- elseif trace_tweaking then
+ return
+ end
+ if trace_tweaking then
report_tweak("unable to fix prime %U",target,original,charcode)
end
end
@@ -542,6 +550,41 @@ do
end
+-- do
+--
+-- local list = {
+-- { 0x00AF, 1 },
+-- }
+--
+-- local minint = -2147483647 - 1
+--
+-- local function fix(target,original,targetcharacters,unicode,factor)
+-- local chardata = targetcharacters[unicode]
+-- if chardata and factor then
+-- local accent = chardata.top_accent
+-- if not accent then
+-- local width = chardata.width or 0
+-- local accent = (tonumber(factor) and factor * width) or (factor and minint)
+-- chardata.top_accent = accent
+-- if trace_tweaking then
+-- report_tweak("fixing accent %U",target,original,unicode)
+-- end
+-- end
+-- end
+-- end
+--
+-- function mathtweaks.fixaccents(target,original,parameters)
+-- local targetcharacters = target.characters
+-- for i=1,#list do
+-- local entry = list[i]
+-- if entry then
+-- fix(target,original,targetcharacters,entry[1],entry[2])
+-- end
+-- end
+-- end
+--
+-- end
+
do
function mathtweaks.version(target,original,parameters)
diff --git a/tex/context/base/mkxl/node-par.lmt b/tex/context/base/mkxl/node-par.lmt
index fb492b84b..7f2560f03 100644
--- a/tex/context/base/mkxl/node-par.lmt
+++ b/tex/context/base/mkxl/node-par.lmt
@@ -98,19 +98,19 @@ end
-- These are node handlers but fit it the overall paragraph handling so we
-- hook it into the callback here.
-do
+-- do
- local localboxactions = nodes.tasks.actions("localboxes")
+-- local localboxactions = nodes.tasks.actions("localboxes")
- function localboxfilter(...)
- starttiming(builders)
- localboxactions(...)
- stoptiming(builders)
- end
+-- function localboxfilter(...)
+-- starttiming(builders)
+-- localboxactions(...)
+-- stoptiming(builders)
+-- end
- callbacks.register("local_box_filter",localboxfilter,"process local boxes")
+-- callbacks.register("local_box_filter",localboxfilter,"process local boxes")
-end
+-- end
-- This means that we now have most callbacks in use, even the ones that I'm not sure
-- about. It also means that with the above enabled we might have performance now at
diff --git a/tex/context/base/mkxl/trac-vis.lmt b/tex/context/base/mkxl/trac-vis.lmt
index d08f3c282..f8aecbf12 100644
--- a/tex/context/base/mkxl/trac-vis.lmt
+++ b/tex/context/base/mkxl/trac-vis.lmt
@@ -376,6 +376,18 @@ directives.register("visualizers.fraction", function(v) fraction = (v and tonumb
-- we can just paste verbatim together .. no typesetting needed
+-- experiment ... we can move the font definition away too
+
+ local expandmacro = token.expand_macro
+ local takebox = tex.takebox
+
+ local function hpack_string(str)
+ expandmacro("syst_v_p",true,str)
+ return tonut(takebox("scratchbox"))
+ end
+
+-- ... if okay it will replace the current hpack_string in node_typ
+
local function sometext(str,layer,color,textcolor,lap,variant)
local text = hpack_string(str,usedfont)
local size = getwidth(text)
diff --git a/tex/context/base/mkxl/trac-vis.mkxl b/tex/context/base/mkxl/trac-vis.mkxl
index f98b84f00..655374abb 100644
--- a/tex/context/base/mkxl/trac-vis.mkxl
+++ b/tex/context/base/mkxl/trac-vis.mkxl
@@ -105,6 +105,8 @@
\permanent\protected\def\showglyphdata {\showglyphs\showfontkerns\showfontitalics}
\permanent\protected\def\showfontexpansion{\clf_setvisual{expansion}}
+% lmmonoltcond10regular 4pt
+
\permanent\tolerant\protected\def\setvisualizerfont[#1]% somename at 4pt
{\begingroup
\iftok{#1}\emptytoks
@@ -115,6 +117,14 @@
\clf_setvisualfont\fontid\font
\endgroup}
+\def\syst_v_p_indeed#1%
+ {\setbox\scratchbox\hpack{\visualizerfont#1}}
+
+\def\syst_v_p
+ {\definefrozenfont[visualizerfont][lmmonoltcond10regular @ 4pt]%
+ \let\syst_v_p\syst_v_p_indeed
+ \syst_v_p_indeed}
+
\permanent\protected\def\resetvisualizers
{\c_attr_visual\attributeunsetvalue}
diff --git a/tex/context/base/mkxl/type-set.mkxl b/tex/context/base/mkxl/type-set.mkxl
index ed282a140..adbd9a17a 100644
--- a/tex/context/base/mkxl/type-set.mkxl
+++ b/tex/context/base/mkxl/type-set.mkxl
@@ -138,4 +138,8 @@
\definefilesynonym [type-imp-newcomputermodern-book.mkiv] [type-imp-newcomputermodern.mkiv]
+\definefilesynonym [type-imp-kpfonts-light.mkiv] [type-imp-kpfonts.mkiv]
+\definefilesynonym [type-imp-kpfonts-bold.mkiv] [type-imp-kpfonts.mkiv]
+\definefilesynonym [type-imp-kpfonts-sans.mkiv] [type-imp-kpfonts.mkiv]
+
\protect \endinput
diff --git a/tex/context/base/mkxl/typo-lbx.lmt b/tex/context/base/mkxl/typo-lbx.lmt
index 99d593d46..8bf744440 100644
--- a/tex/context/base/mkxl/typo-lbx.lmt
+++ b/tex/context/base/mkxl/typo-lbx.lmt
@@ -239,6 +239,4 @@ function builders.local_box_filter(...)
stoptiming(builders)
end
--- we register the function elsewhere
-
callbacks.register("local_box_filter", builders.local_box_filter, "process local boxes")
diff --git a/tex/context/fonts/mkiv/ebgaramond.lfg b/tex/context/fonts/mkiv/ebgaramond.lfg
index 83459c68d..763df652d 100644
--- a/tex/context/fonts/mkiv/ebgaramond.lfg
+++ b/tex/context/fonts/mkiv/ebgaramond.lfg
@@ -2,7 +2,7 @@ return {
name = "ebgaramond",
version = "1.00",
comment = "Goodies that complement ebgaramond.",
- author = "Hans Hagen",
+ author = "Hans Hagen & Mikael Sundqvist",
copyright = "ConTeXt development team",
mathematics = {
tweaks = {
@@ -10,13 +10,45 @@ return {
{
tweak = "dimensions",
list = {
- [0x1D453] = { 0, 1, .2 }, -- offset width italic
+ -- offset width italic
+ [0x00393] = { 0.05, 1.05, 0.075 }, -- \Gamma
+ [0x003A8] = { 0.05, 1.05, 0.075 }, -- \Psi
+ [0x02113] = { 0, 1, 0.075 }, -- \ell
+ [0x1D436] = { 0, 1, 0.05 }, -- C
+ [0x1D43D] = { 0.3, 1.3, 0.2 }, -- J
+ [0x1D44B] = { 0, 1, 0.05 }, -- X
+ [0x1D451] = { 0, 1, 0.05 }, -- d
+ [0x1D453] = { 0.15, 1.05, 0.2 }, -- f
+ [0x1D454] = { 0.2, 1.05, 0.25 }, -- g
+ [0x1D457] = { 0.2, 1.05, 0.25 }, -- j
+ [0x1D459] = { 0, 1, 0.05 }, -- l
+ [0x1D45D] = { 0.15, 1.15, 0 }, -- p
+ [0x1D461] = { 0, 1, 0.1 }, -- t
+ [0x1D465] = { 0.05, 1.1, 0.05 }, -- x
+ [0x1D466] = { 0.2, 1.15, 0 }, -- y
+ [0x1D6FD] = { 0.1, 1.1, 0.05 }, -- \beta
+ [0x1D6FE] = { 0.05, 1.05, 0.05 }, -- \gamma
+ [0x1D6FF] = { 0, 1, 0.1 }, -- \delta
+ [0x1D701] = { 0, 1, 0.15 }, -- \zeta
+ [0x1D703] = { 0, 1, 0.1 }, -- \theta
+ [0x1D705] = { 0, 1, 0.1 }, -- \kappa
+ [0x1D706] = { 0.1, 1.2, 0 }, -- \lambda
+ [0x1D707] = { 0.1, 1.1, 0.1 }, -- \mu
+ [0x1D708] = { 0, 1, 0.1 }, -- \nu
+ [0x1D709] = { 0, 1.1, 0 }, -- \xi
+ [0x1D70B] = { 0.05, 1.05, 0.1 }, -- \pi
+ [0x1D70C] = { 0.2, 1.2, 0 }, -- \rho
+ [0x1D70E] = { 0.05, 1.1, 0.1 }, -- \sigma
+ [0x1D70F] = { 0.05, 1.05, 0.1 }, -- \tau
+ [0x1D712] = { 0.2, 1.25, 0.05 }, -- \chi
+ [0x1D713] = { 0.1, 1.05, 0.1 }, -- \psi
},
},
{
- tweak = "fixprimes",
- -- smaller = true,
- factor = 0.85,
+ tweak = "fixprimes",
+ scale = 0.7,
+ smaller = true,
+ factor = 0.75,
},
{
tweak = "checkspacing",